amoBBS 阿莫电子论坛

 找回密码
 注册
搜索
bottom↓
查看: 22503|回复: 113

OV7670摄像头,无线NRF24L01,2.8寸TFT彩屏,STC单片机组合的低端无线小相机完成!上程序了(

  [复制链接]
发表于 2011-4-17 11:00:30 | 显示全部楼层 |阅读模式
首先声明一点!我也是个单片机菜鸟,连C语言都不会写(虽然看得懂!)
但我个人认为汇编能挖掘出51系列单片机的最大处理速度,紧此而已!
其中的包括OV7670摄像头驱动,无线NRF24L01,2.8寸TFT彩屏等都是汇编写的

因为这礼拜比较有空,OV7670摄像头也网购到了!所以决定利用这礼拜时间搞定从小就渴望实现的小愿望,既无线视频传输,
并显示在无线可移动的显示设备上!因为这之前就做过FAT32文件系统下BMP图片读取显示,和无线模块NRF24L01的应用,所以
我想单是用一个礼拜的时间调试OV7670是没问题的!
我粗略的估算了下,无线传输一张320X240的16位彩色图大概要2秒钟(毕竟是51单片机,还无线),再估算一下,要是只传输
黑白图,且大小为160X120的图片在一秒中就能传输4到5张!连贯性一般般,玩玩可以!
图象采集端用的是24M晶振,接受显示端用的是33M的!MCU是和STC12LE5A32AD,1T的51单片机

我调试的时候其他一切都正常!但让我疑惑的是我不知道为什么VO7670拍出来的图片中红色的会变绿色!绿色的会变红的!其他颜色就基本上是无彩色!
我的输出格式是RGB565,我试着更改了很多有可能影响的寄存器配置,但结果还是那样!
所以我有点开始怀疑我是不是局域性色盲了!认为眼睛没问题的同志帮看下啊.呵呵..............
但我想说的是不是TFT显示或干扰的问题!应该是OV7670配置的问题
只是我不知道是哪个寄存器配置错了!有知道的高人望指导下!
另外我用PS模拟了下,发现能出现以上现象的是色相没调好,也就是说有可能是OV7670的色相配置寄存器没配好,可我没发现OV7670配置中有色相
调整的寄存器!.......高人知道的指导下小弟啊!!感激不尽了!!!!!!!



先上图吧:
这是一个废手机锂电池独立供电的图象采集模块

(原文件名:8彩带.jpg)


(原文件名:图象采集模块1.jpg)


(原文件名:图象采集模块2.jpg)


(原文件名:图象采集模块3.jpg)


下面是TFT接收显示模块。这也是一个废手机锂电池独立供电的:



(原文件名:图象接收模块1.jpg)


(原文件名:微距.jpg)



其他一切都正常!但让我疑惑的是我不知道为什么VO7670拍出来的图片中红色的会变绿色!绿色的会变红的!其他颜色就基本上是无彩色!
我的输出格式是RGB565,我试着更改了很多有可能影响的寄存器配置,但结果还是那样!
所以我有点开始怀疑我是不是局域性色盲了!认为眼睛没问题的同志帮看下啊.呵呵..............
但我想说的是不是TFT显示或干扰的问题!应该是OV7670配置的问题
只是我不知道是哪个寄存器配置错了!有知道的高人望指导下!
另外我用PS模拟了下,发现能出现以上现象的是色相没调好,也就是说有可能是OV7670的色相配置寄存器没配好,可我没发现OV7670配置中有色相
调整的寄存器!.......高人知道的指导下小弟啊!!感激不尽了!!!!!!!

下面就是我说的绿色的会变红:(黑人牙膏本来是绿色的!)


这是用OV7670拍的图片!为什么绿的会变成红的呢? (原文件名:OV_牙膏.jpg)


图片的原图 (原文件名:药膏.jpg)



下面是我的汇编程序!高手就绕道了,...不过里面有多有用的子程序,包括一些OV的驱动,SCCB总线,NRF24L01驱动,TFT驱动!
程序有点乱,我没优化,没时间了!注释也是随便写的!

点击此处下载 ourdev_631509JX70MC.rar(文件大小:7K) (原文件名:OV7670_调试无线.rar)
 楼主| 发表于 2011-4-17 11:09:01 | 显示全部楼层
自己顶了!有知道原因的大哥大姐大叔大妈帮分析下嘛...小第感激不尽了
发表于 2011-4-23 21:17:53 | 显示全部楼层
楼主猛男,不过一直对汇编不感兴趣
发表于 2011-4-23 22:17:24 | 显示全部楼层
调整TFT  RGB顺序,是BGR了
发表于 2011-4-23 22:44:33 | 显示全部楼层
汇编啊。。。。高手啊。。。膜拜。。。一直不敢碰汇编
发表于 2011-4-23 23:33:57 | 显示全部楼层
mark
 楼主| 发表于 2011-4-24 08:04:21 | 显示全部楼层
回复【3楼】wangguanfu  
-----------------------------------------------------------------------

谢谢王老师教导,我再调试看看!
发表于 2011-4-24 22:18:27 | 显示全部楼层
Mark
发表于 2011-4-25 14:54:46 | 显示全部楼层
在图像处理中,有不同的图像显示模型,你需要确定一下你的图像处理模型,确定摄像头采集进来的图像是RGB,BGR还是其他的?我之前在做一个摄像头的上层应用(windows directx)开发的时候,也碰到过这样的问题。
发表于 2011-4-25 21:05:32 | 显示全部楼层
ju niu!
发表于 2011-4-25 23:36:46 | 显示全部楼层
好东西   期待原理图
发表于 2011-4-27 07:38:29 | 显示全部楼层
哇....汇编耶,一直很敬佩更敬畏的东东........给楼主藏一个       
发表于 2011-4-28 23:06:22 | 显示全部楼层
吼吼!!!跟楼主一样,我对汇编也情有独钟啊,哈哈
主要是一见到C语言就果断绕开,我觉得C语言很复杂。
发表于 2011-4-28 23:54:26 | 显示全部楼层
回复【12楼】mahong123  
-----------------------------------------------------------------------

我和你一样啊,一直用汇编,觉得很好用,呵呵
发表于 2011-4-29 08:10:45 | 显示全部楼层
实现无线视频也是我小时侯的小愿望,可是一直没研究过这方面的东东,先学习一下!请LZ多指教!
 楼主| 发表于 2011-4-29 20:11:06 | 显示全部楼层
回复【14楼】chchg  
-----------------------------------------------------------------------
呵呵,其实只要你会最基本的51 89C51就能搞定了!像什么TFT彩屏、摄像头、FIFO、无线模块都是纸老虎!就是找资料,看协议!各个击破、再有机的结合!一个相机就出来了!再说咱这个也是玩玩!要真完全商业,那还差远呢。那就要考虑图片的存储、视频存储和处理等!那才境界高啊!哎…走的路还老长老长呢!
 楼主| 发表于 2011-4-29 20:47:32 | 显示全部楼层
回复【12楼】mahong123  
-----------------------------------------------------------------------

我想我们用汇编也是暂时的!我承认我是因为不想接触新事物而对C产生畏惧!但不经历蜕变怎能腾飞!所以我最近也开始用C了!我准备将我之前所有汇编的程序转为C!发现对汇边熟悉后再用C时你会一直想着怎样写程序才能让编译出代码更高效!
不过话又说回来,你要是问一个从不用汇编只用高级语言的人51和AVR在硬件结构上有什么不同,我相信他也不会知道,要知道也是道听途说的,而不是自己体会出来的!因为C为达成你能快速上手的心愿而狠心地将你和硬件隔阂开来!
所以我就纳闷了,要是没有高速发展的硬件处理速度做后盾,又怎能编写出要求实时性高、精简高效的属于嵌入微控最本质的程序呢!
发表于 2011-4-29 20:56:38 | 显示全部楼层
回复【15楼】lxl_lxl
回复【14楼】chchg  
-----------------------------------------------------------------------
呵呵,其实只要你会最基本的51 89c51就能搞定了!像什么tft彩屏、摄像头、fifo、无线模块都是纸老虎!就是找资料,看协议!各个击破、再有机的结合!一个相机就出来了!再说咱这个也是玩玩!要真完全商业,那还差远呢。那就要考虑图片的存储、视频存储和处理等!那才境界高啊!哎…走的路还老长老长呢!
-----------------------------------------------------------------------

后来的朋友有资料可参考 那是很幸运!
 楼主| 发表于 2011-4-30 10:45:51 | 显示全部楼层
回复【17楼】wangguanfu
-----------------------------------------------------------------------
哈哈,还得谢谢你们这些前辈!我的OV7670配置也是参照您的配置来的!
发表于 2011-4-30 11:04:16 | 显示全部楼层
mark
发表于 2011-5-2 17:20:51 | 显示全部楼层
高手啊!顶一个!
发表于 2011-5-3 13:55:24 | 显示全部楼层
这个要mark
发表于 2011-5-5 00:04:28 | 显示全部楼层
希望可以把原理图共享一下,大家共同学习,那就非常感谢了!!!!!!!!!!!
发表于 2011-5-9 15:56:52 | 显示全部楼层
lz能给个联系方式吗?我现在在做这个项目,想向你请教请教
我的QQ是769463268
发表于 2011-5-9 16:20:49 | 显示全部楼层
cam mark
发表于 2011-5-9 20:13:46 | 显示全部楼层
你好,请问在你那个汇编程序中,怎样确实当前的数据是TFT显示器那个位置的点色。我看过了一下你的汇编程序,你有没有在产生帧同步信号时发送起始码啊?
发表于 2011-5-15 20:04:44 | 显示全部楼层
呵呵,再请问一下,除了AL422B,你的另一块芯片是什么?谢谢啦
发表于 2011-5-17 23:01:26 | 显示全部楼层
楼主很棒啊,我请两天也在做7660,但是请问你是怎么将数据过的单片机啊,还有你的视频板子上是什么芯片啊
 楼主| 发表于 2011-5-20 19:51:47 | 显示全部楼层
回复【25楼】Tak_shing
你好,请问在你那个汇编程序中,怎样确实当前的数据是tft显示器那个位置的点色。我看过了一下你的汇编程序,你有没有在产生帧同步信号时发送起始码啊?

-----------------------------------------------------------------------
你的第二个问题就是第一个问题的答案!  那芯片是74LS00, 我手头上没有3V的与非门,就勉强用5V的了!还能用...
发表于 2011-5-20 20:00:50 | 显示全部楼层
这个可以参考。
发表于 2011-5-20 23:51:21 | 显示全部楼层
记号
发表于 2011-5-22 21:51:33 | 显示全部楼层
嗯嗯,感谢啦,我最近在搞一下用FPGA板做一个无线视频传送,也用NRF24L01,速度应该可以快点。TFT屏,NRF的SPI程序,摄像头驱动等的Verilog HDL驱动程序写好了,还在调试中,不过,我想接收部份还是用单片机搞,但我对STC不怎么熟,以前搞得都是AT89S52,我最近买了两块STC12C5A60S2,还在看资料,到时可能要你指点一下哦!
发表于 2011-5-27 19:18:29 | 显示全部楼层
我的QQ:443946400.不介意的话希望你能指点一下
发表于 2011-6-1 12:25:29 | 显示全部楼层
嘿嘿,你好,好久不见回复了哦,在忙嘛?
现在我发现一个问题哦,就是0V7670的SCCB,我发现,有些寄存器能写,有写不能写哦,因为我是用FPGA的,当写完一寄存器后,我就会拉高甘一输出脚电平,指示灯就会灭!但同一个时序,有些能写,有些不能写!
 楼主| 发表于 2011-6-2 08:40:44 | 显示全部楼层
回复【34楼】Tak_shing
嘿嘿,你好,好久不见回复了哦,在忙嘛?
现在我发现一个问题哦,就是0v7670的sccb,我发现,有些寄存器能写,有写不能写哦,因为我是用fpga的,当写完一寄存器后,我就会拉高甘一输出脚电平,指示灯就会灭!但同一个时序,有些能写,有些不能写!
-----------------------------------------------------------------------


哇,FPGA 高速的东西!

1:会不会是SCCB速度太快了!  要求是小于400KHZ的!我是用100K的

2:SCCB一定要加上拉电阻,这个非常重要!

3:FPGA的编程我不懂,软件方面的再检查下喽,特别是时序
发表于 2011-6-2 22:41:12 | 显示全部楼层
SCCB我用分频了200KHZ而已,而且,我每写完8个bit就延时100us了,我也已经上拉4.7K电阻了,这两天的结果还是一样,发现有些能写,有些不能写。很头痛。
发表于 2011-6-3 00:18:28 | 显示全部楼层
记号
发表于 2011-6-3 00:32:04 | 显示全部楼层
mark~~~
发表于 2011-6-3 05:50:55 | 显示全部楼层
顶一下,想仿一个
发表于 2011-6-3 12:16:51 | 显示全部楼层
能加一下我的Q吗,我想问问一些关于摄像头的事情。麻烦了
发表于 2011-6-3 14:18:18 | 显示全部楼层
给力
发表于 2011-6-10 07:39:59 | 显示全部楼层
楼主太厉害了,我也正在用OV7670 单片机用的是STC12C5A60S2 不过上网查了许久,还是没有头绪,甚至电路都不知道怎么连,摄像头里面的寄存器又太多了,怎么设置又是个问题,问题多多,只想初步实现摄像头的拍摄功能,,,,,,,,迫切,期待指导。。。。。。。。。。。。。。。。。。。。。。。。。能给小弟指点指点吗,感激不尽。。。。
发表于 2011-7-14 17:12:35 | 显示全部楼层
楼主 ,麻烦你问下 你的摄像头模组带 fifo吗?自带晶振吗,我的ov7670不带晶振  普通单片机都给不了10M的 时钟信号
发表于 2011-7-14 17:17:13 | 显示全部楼层
学习!!
发表于 2011-8-9 03:53:46 | 显示全部楼层
请问关于电平不兼容如何解决的
发表于 2011-8-9 07:26:23 | 显示全部楼层
貌似挺好玩的
发表于 2011-8-9 09:29:10 | 显示全部楼层
不错,标记一下,可惜看不懂汇编.
发表于 2011-8-9 10:42:20 | 显示全部楼层
mark
发表于 2011-8-18 18:20:29 | 显示全部楼层
mark!!不过我看不懂汇编啊
发表于 2011-8-19 08:34:14 | 显示全部楼层
我喜欢汇编码,一直用汇编。
发表于 2011-8-25 23:30:01 | 显示全部楼层
可以给点资料吗 电路图 和ov7670的资料
发表于 2011-8-26 17:02:47 | 显示全部楼层
顶一下
发表于 2011-8-26 17:13:37 | 显示全部楼层
顶一下
发表于 2011-8-26 17:18:45 | 显示全部楼层
mark
发表于 2011-8-26 17:50:00 | 显示全部楼层
OV7670+AL422的模块


(原文件名:1.jpg)


(原文件名:2.jpg)


(原文件名:3.jpg)
发表于 2011-8-30 11:45:54 | 显示全部楼层
好东东
发表于 2011-8-31 01:53:32 | 显示全部楼层
汇编。。。。楼主威武
发表于 2011-9-28 14:00:34 | 显示全部楼层
顶起,加个小车遥控拍摄就更带劲了
发表于 2011-11-9 16:54:41 | 显示全部楼层
mark!!!!谢谢楼主分享!!!看看!!!!
发表于 2011-11-9 18:51:27 | 显示全部楼层
mark````
发表于 2011-11-9 19:22:08 | 显示全部楼层
发表于 2011-11-10 17:07:27 | 显示全部楼层
mark
发表于 2012-2-2 20:15:41 | 显示全部楼层
mark一下
发表于 2012-2-17 10:47:55 | 显示全部楼层
请问有用c改写过吗?求教。。。
发表于 2012-6-10 22:53:25 | 显示全部楼层
暑假打算做这个,用STM8,努力去做出点好东西~楼主这个就参考参考啦~可惜还没能下载……
发表于 2012-6-10 23:07:31 | 显示全部楼层
楼主猛人。当时还单纯的时候,不经计算,直接做无线传输图像失败了。速度太慢了。。
发表于 2012-6-11 21:37:25 | 显示全部楼层
高手,膜拜膜拜
发表于 2012-6-14 12:21:08 | 显示全部楼层
我也是FPGA做的,现在彩条有些错位,本来黑条在最顶我的则在中间,还有采集头像黑白的,也错位了
发表于 2012-6-19 16:12:06 | 显示全部楼层
             mark
发表于 2012-6-19 16:59:00 | 显示全部楼层
好象不错,顶一下!
发表于 2012-6-24 23:36:05 | 显示全部楼层
用GC0308做了一个,但是发现图像有很多噪点,尤其是颜色过渡比较明显的地方,能看到有一条条虚线,各位高手有没有好办法去掉的?
发表于 2012-6-24 23:59:07 | 显示全部楼层
楼主强!
我也学汇编的,后来也用C,感觉C不如汇编精确,不过做大型程序还是用C好点
发表于 2012-6-25 13:33:21 | 显示全部楼层
m a r k  !!!
发表于 2012-6-26 21:54:35 | 显示全部楼层
强,顶一下
发表于 2012-6-28 21:03:39 | 显示全部楼层
您好,楼主,方便留个联系方式吗?我的QQ是2238951245,我对楼主的帖子非常感兴趣,希望楼主能发一份资料给我,万分感谢!
发表于 2012-7-9 17:52:52 | 显示全部楼层
好东西 刚学51汇编 有时间也要做一下
发表于 2012-8-21 12:56:02 | 显示全部楼层
汇编啊,头疼啊!
发表于 2012-8-23 17:39:49 | 显示全部楼层
好厉害 帮顶了
发表于 2012-8-24 13:26:50 | 显示全部楼层
cool                                                                                                                                                                                                                                                                              
发表于 2012-8-24 14:34:01 | 显示全部楼层
如果是c的就好了
发表于 2012-8-24 19:40:31 | 显示全部楼层
太酷了~~
发表于 2012-9-20 11:13:32 | 显示全部楼层
Tak_shing 发表于 2011-6-2 22:41
SCCB我用分频了200KHZ而已,而且,我每写完8个bit就延时100us了,我也已经上拉4.7K电阻了,这两天的结果还 ...

请问问题解决了吗   我也加了上拉电阻  但是写7670 的寄存器还是失败
发表于 2012-9-20 20:43:17 | 显示全部楼层
我以前也是只会汇编,都是以前买的教材闹的,那时基本上都是51汇编。不过现在已经转到c了。不要求效率还是c爽。
发表于 2012-9-21 09:29:04 | 显示全部楼层
马克                           
发表于 2012-9-27 16:45:29 | 显示全部楼层
mark               
发表于 2012-9-28 20:44:40 | 显示全部楼层
好帖啊  ,MARK
发表于 2012-10-21 10:47:56 | 显示全部楼层
学习一下
发表于 2012-10-28 17:02:15 | 显示全部楼层
单片机貌似不很够用啊
发表于 2013-1-11 09:31:31 | 显示全部楼层
mark!!mark!!
发表于 2013-1-11 12:39:54 | 显示全部楼层
厉害啊  汇编         
发表于 2013-3-6 09:57:05 | 显示全部楼层
顶一个啊,楼主给力啊
发表于 2013-3-6 10:24:13 | 显示全部楼层
汇编啊!好久不用了多忘光了LZ厉害了
发表于 2013-3-21 07:23:16 | 显示全部楼层
C写的才好,汇编看不懂啊。。。。。。。。。。。。。。。
发表于 2013-7-29 20:48:19 | 显示全部楼层
mark!!!给力我还以为51不可能做出来呢
发表于 2013-7-29 20:52:43 | 显示全部楼层
高手、膜拜
友情提示:标题不合格、重复发帖,将会被封锁ID。详情请参考:论坛通告:封锁ID、获得注册邀请码、恢复被封ID、投诉必读
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|阿莫电子论坛(原ourAVR/ourDEV) ( 公安备案:44190002001997(交互式论坛) 工信部备案:粤ICP备09047143号 )

GMT+8, 2019-9-22 12:44

阿莫电子论坛, 原"中国电子开发网"

© 2004-2018 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表