打印

简易的图像采集系统的实现

[复制链接]
1880|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
拿起书本|  楼主 | 2012-4-3 22:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
图像采集需要进行同步信号的处理,比通常的A/D数据采集过程复杂,电路的设计也较为困难。51本身速度及程序存储器和数据存储器的寻址空间的限制,要读取并存储每秒30帧。640*480像素大小的一幅图像,是相当困难的,因此,51用于图像采集系统,主要利用单片机作为一个智能控制器,起协调图像采集系统各部分之间工作的作用。

C程序如下
******************************************************************************
51单片机主程序用于对CMOS图像传感器芯片OV7620的初始化设置,程序设计的关键是用单片机的普通I/O口模拟OV7620的SCCB总线操作
SCCB总线的特点是数据信号端SDA在SCK的高电平期间需要保持不变,SCK的低电平期间允许改变状态
******************************************************************************
SDA  BIT  P1.0                     //数据线
SCK  BIT  P1.1                     //时钟线
SBB  BIT  P1.2                     //片选
ORG   0000H
LJMP   MAIN
MAIN:MOV  SP,#70H
       MOV   IE,#00H
       MOV   P1,#0FFH              //SCCB总线悬浮
       CLR   SBB                     //SCCB总线准备工作
       LCALL  START                 //启动SCCB总线
       MOV  A,#00H
       LCALL  SENDCODE            //发送ID号
       MOV  A,#28H
       LCALL   SENDCODE           //发送模式寄存器地址
       MOV  A,#20H
       LCALL   SENDCODE           //发送你是控制字
       LCALL  END
SJMP    $
//启动SCCB总线
START:SETB   SCK                 //启动信号
        CLR    SDA
        RET
//结束SCCB总线
END : CLR    SDA                 //停止信号
SETB   SCK
        SETB   SDA
        RET
//通过SCCB总线发送一个字节数据
SENDCODE:MOV  R7,#08H         //发送一个字节数据
LOOP0:RLC   A
        MOV  SDA,C
        SETB  SCK
        CLR    SCK
        DJNZ   R7,LOOP0
        RET
//通过SCCB总线接收一个字节数据
RECODE:MOV  R7,#08H           //读一个字节
LOOP1:SETB  SCK
MOV  C, SDA
        RLC   A
        LCALL  DELAY
        CLR    SCK
        DJNZ   R7,LOOP1
        RET
//延时子程序
DELAY:NOP          //延时程序,用于调整SCCB总线速率
        NOP
        NOP
        RET
//检查应答位
ACKC: SETB  SCL           //时钟上升沿
        ACALL  DELAY
        MOV  C,SDA        //读取数据线状态
        CLR    SCL
        RET                  //返回
//发送一个应答位
ACKS: SETB  SCL
        ACALL  DELAY
        MOV  SDA,C       //发送应答位,应答位通过进位位C传递
        CLR    SCL
        RET

相关帖子

沙发
tianli1980| | 2012-4-3 22:29 | 只看该作者
讲解的很详细,学习了,其实个人觉得在图像数据采集,核心处理器选择ARM比较好。:loveliness:

使用特权

评论回复
板凳
jxmzzr| | 2012-4-4 15:53 | 只看该作者
2# tianli1980
一般来说,单片机属于低端的控制器,而ARM属于高端的处理器。
所以前者比后者便宜。

使用特权

评论回复
地板
aass1| | 2012-4-8 10:40 | 只看该作者
我觉得便宜很多呢

使用特权

评论回复
5
aass1| | 2012-4-8 10:40 | 只看该作者
很有启发看过后

使用特权

评论回复
6
vivilzb1985| | 2012-4-8 10:49 | 只看该作者
看过之后有点小怀疑,用51来处理这图像的,资源够用么,比如采集频率上,,,求赐教,谢谢!

使用特权

评论回复
7
拿起书本|  楼主 | 2012-4-8 12:34 | 只看该作者
6# vivilzb1985
51单片机只是完成CMOS图像传感器芯片OV7620的初始设置,外加了CPLD作为一个高速数据传输存储控制系统。
单片机作为微控制器主要应于于一些功能并不很复杂的领域。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:好好学习,天天向上!

519

主题

4194

帖子

31

粉丝