毕业设计(论文)-基于单片机的图像处理采集系统设计与实现.doc_第1页
毕业设计(论文)-基于单片机的图像处理采集系统设计与实现.doc_第2页
毕业设计(论文)-基于单片机的图像处理采集系统设计与实现.doc_第3页
毕业设计(论文)-基于单片机的图像处理采集系统设计与实现.doc_第4页
毕业设计(论文)-基于单片机的图像处理采集系统设计与实现.doc_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

内蒙古工业大学本科毕业设计说明书学校代码: 10128学 号: 本科毕业设计说明书(题 目:基于单片机的图像处理采集系统设计与实现学生姓名: 学 院: 系 别: 专 业: 班 级:指导教师:二 一 二 年 六 月2内蒙古工业大学本科毕业设计说明书摘 要传统的工业级图像处理采集系统大多是由CCD摄像头、图像采集卡和PC机组成,虽已得到了广泛的应用,但是它具有结构复杂,成本高,体积大,功耗大等缺点。随着单片机的迅速发展,开发一种智能控制及智能处理功能的微型图像处理采集系统成为可能,并且也克服了传统图像处理采集系统的诸多缺点。本设计提出了基于单片机的图像采集系统,该系统主要由四大模块组成:第一个是单片机控制模块,对摄像头进行控制;第二个是摄像头模块,即进行图像拍摄和取图;第三个是Zigbee无线传输模块,功能是将图像传送到上位机;最后是上位机,实现图像显示功能。其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高,使用环境广泛及成本低等。利用Proteus和Keil进行仿真调试,可以看到设计内容的运行结果,验证系统运的行正确及稳定性,并且实现了图像处理采集功能,所以具有一定的实用和参考价值。关键词:单片机;Proteus;图像采集AbstractThe traditional industrial image processing collection system by CCD camera, mostly image collection card and PC unit into, although already a wide range of applications, but it has the structure is complex, high cost, big volume and shortcomings, such as big power consumption. With the rapid development of the single chip microcomputer, the development of a kind of intelligent control and intelligent processing function of micro image processing collection system possible, and also overcome traditional image processing collection system of many of the faults.This design is put forward based on SCM image acquisition system, the system consists of four modules: the first one is the single chip microcomputer control module, the camera to control; The second is a camera module, the image shoot and take diagram; The third is Zigbee wireless transmission module, the function is will images to PC; Finally the PC, realize image display function. Its advantage is hardware circuit is simple, software perfect function, control system and reliable, high cost performance, use extensive and environment cost low status. Use Proteus and Keil simulation commissioning, can see the operation of the design content, as demonstrated the correct and do the system stability, and realize the image processing collection function, so has certain practical and reference value.Keywords:Single-Chip Microcomputer;Proteus; Image Capture目 录第一章 绪论11.1 课题研究现状11.2 课题研究目的意义11.3 本课题研究的主要内容1第二章 硬件设计22.1 系统设计方案22.2 硬件简介22.2.1 80C51简介22.2.2 I/O端口42.2.3 控制引脚52.3 摄像头62.3.1 波特率62.3.2 数据包62.3.3 摄像头控制指令62.4 Zigbee无线传输模块92.4.1 Zigbee简介92.4.2 Zigbee技术应用领域102.4.3 Zigbee 技术特点10第三章 软件设计及调试123.1 Keil调试123.1.1 Keil简介123.1.2 Keil调试过程123.2 程序设计193.3 电路图设计203.3.1 Proteus简介203.3.2 电路图设计过程233.4 Keil与Proteus联机调试27结 论30参考文献31附 录32程序清单32谢 辞34第一章 绪论1.1 课题研究现状随着现代电子信息技术的迅速发展,使得信息处理技术越来越重要,而图像处理采集技术在信息处理技术当中有着异常重要的位置。图像处理采集技术涉及诸多领域,如:工业检测,医疗设备,军事设施,电子产品等等1。在智能车、道路损害检测、航天及遥感、实时图像采集煤矿安全生产监控及电子眼中都用到了图像处理技术。现在基于DSP、matlab、OpenCV、FPGA、ARM及嵌入式等技术的图像处理采集系统是非常多见的。特别是matlab技术,它含有图形处理系统,可以很方便的图形化显示向量和矩阵,而且能对图形添加标注和打印。它包括强大的二维三维图形函数、图像处理和动画显示等函数。1.2 课题研究目的意义基于DSP、ARM、嵌入式等技术的图像处理采集系统虽然非常多见,但是它成本高,功耗大,且因为其体积较大,在某些特定的场合或环境下无法正常工作,所以设计一个成本低,体积小,功耗低,性能强的图像处理采集系统是非常有必要的。单片机依靠它体积小、功耗低、功能强、可靠性高以及灵活的应用性被人们所认识,并且已经融入到了现代人们的生活中。单片机具有强大的控制功能和灵活的编程实现特性,而且有着很丰富的调试软件,给设计带来很多的益处。所以开发一种由单片机为控制核心的图像处理采集系统,具有很高的研究意义。1.3 本课题研究的主要内容 本设计采用Intel公司的80C51单片机,以80C51为控制核心,结合摄像头、Zigbee无线传输模块及上位机构成一个图像处理采集系统。主要内容:(1)研究80C51单片机结构,各引脚功能及工作原理。(2)研究摄像头TJ传输协议及摄像头相关命令代码。(3)利用Proteus软件,设计图像处理采集系统硬件电路并进行软件仿真。(4)利用Keil软件和C编程,并对其程序进行编译。(5)熟练掌握Keil和Proteus的联机调试。第二章 硬件设计2.1 系统设计方案为了获得成本低,性价比高的设计方案,在满足其性能指标的前提下,设计应尽量简单,不宜太过于复杂。本设计系统主要由四大模块组成,即单片机控制模块、摄像头拍摄模块、Zigbee无线传输模块和上位机显示模块。 80C51单片机对摄像头发送一系列有效指令,但在发送指令前必须设置单片机的波特率,使单片机与摄像头的波特率相一致,这样才能让单片机与摄像头得到的数据同步。摄像头收到单片机发送的有效指令后进行拍图、取图以及上传等作业,摄像头再把拍摄的JPEG图像发送到Zigbee无线通信模块,利用Zigbee的特性,在短距离内无线传输到上位机上,再由上位机显示出所拍摄的图像,来实现图像的采集处理。下图2-1为图像处理采集系统设计框图:摄像头80C51单片机Zigbee模块上位机 图2-1 图像处理采集系统框图2.2 硬件简介2.2.1 80C51简介 80C51单片机属于美国Intel 公司的MCS-51系列 产品中的一个型号,它采用CHMOS 工艺,功耗低,性能优良,其结构是8048单片机的延伸,改进了8048的缺点,增加了减(SUBB)、乘(MUL)、除(DIV)、比较(PUSH)、布尔代数运算等指令以及串行通信和5个中断源,采用40引脚双列直插式DIP。采用CHMOS工艺具有高速度、低功耗及高密度的特点,而且它的传输延时时间小于2ns。它内部集成了功能强大的中央处理器,包含了硬件乘除法器、21个专用控制寄存器、4kB的程序存储器、128字节的数据存储器、4组8位的并行口、两个16位的可编程定时/计数器、一个全双工的串行口以及布尔处理器。80C51单片机内部有时钟电路,但需要石英晶体和微调电容外接2。以下为80C51单片机引脚图如图2-2所示。图2-2 80C51单片机引脚图MCS-51具有比较大的寻址空间,地址线宽达16条,即外部数据存储器和程序存储器的寻址范围达216=64kB,这作为单片机控制来说已是比较大的,这同时具备对I/O口的访问能力。此外,MCS-51采用模块化结构,可方便地增删一个模块就可做出引脚和指令兼容的新产品,从而容易使产品形成系列化。MCS-51把微型计算机的主要部件都集成在一块心片上,使得数据传送距离大大缩短,可靠性更高,运行速度更块。由于属于芯片化的微型计算机,各功能部件在芯片中的布局和结构达最优化,抗干扰能力加强,工作亦相对稳定。MCS-51单片机的工作频率为2-12MHz,当振荡频率为12MHz时,一个机器周期为1us,这个速度应该说是比较快的。 80C51中集成了完善的各种中断源,用户可十分方便地控制和使用其功能,使得它的应用范围加大,可以说它可以满足绝大部分的应用场合。以下为80C51单片机的基本组成如图2-3所示图2-3 80C51单片机基本组成2.2.2 I/O端口在此次设计中,我们主要应用了P3口,所以在这我们只对P3口做介绍。 P3口除可作为通用I/O口使用外,还具有第二功能。当某些口线作第二功能使用时,不能再把它当作通用输入/输出口使用, 其它未用的口线仍可作通用输入/输出口线使用。P3口作通用I/O口使用时,不需要外接上拉电阻3。以下为P3口引脚第二功能:引脚 功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 (外部中断0输入口)P3.3 (外部中断1输入口)P3.4 T0(定时器0外部输入口)P3.5 T1(定时器1外部输入口)P3.6 (写选通输出口)P3.7 (读选通输出口)2.2.3 控制引脚控制引脚中包括ALE/、/Vpp、RST/Vpd。1.ALE/(30脚)地址锁存使能信号输出端。当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。2.(29脚)程序存储器输出使能端。外部程序存储器的选通信号,在由外部程序存储器取指期间,每个机器周期两次有效。但在访问外部数据存储器时,这两次有效的信号将不出现。3./Vpp片内程序存储器屏蔽控制端。当保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,将内部锁定为RESET;当端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。4.RST/Vpd复位信号复用脚。当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指钟写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态。5.XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出4。2.3 摄像头摄像头在接到到命令后对收到的指令代码进行判断,然后做出拍图、取图和上传图像等工作。摄像头接到开始命令后开始采集图像,并将图像压缩为JPEG格式,摄像头采取分包传递的方式,每传递一个包后,只有上位机得到确认命令后,摄像头才开始传下一个包,直到图像传递完成。以下为摄像头TJ传输协议5:2.3.1 波特率摄像头支持的波特率有57600、38400、19200、9600、2400。摄像头默认115200。2.3.2 数据包数据包的大小可以调整,可以一次传送一幅图片。2.3.3 摄像头控制指令1.编号指令代码每个摄像头都有一个编号,当摄像头收到的数据域内的摄像头编号与自己相一致时才响应该命令,但如果该数据域内的摄像头编号为0xFFFF,表示通用编号,任何摄像头都要响应该命令。摄像头收到该命令后将该编号存入非易失的存储器中,以后将只响应摄像头编号与新编号及通用编号相同的命令。该命令中的位置编号无实际意义。摄像头收到该命令后将该编号存入非易失的存储器中,以后将只响应摄像头编号与新编号及通用编号相同的命令。表2-1为编号指令代码。表2-1 编号代码包 头(2字节)命令码 (1字节)位置编号 (1字节)数据(4字节)包 尾 (2字节)摄像头编号(小端模式,2字节)该摄像头以后将要使用的编号0x40 0x400x600x5A0xFF 0xFF0xFF 0xFF0x0D 0x0A举例: 发送 0x40 0x40 0x60 0x5A 0xFF 0xFF 0x02 0x00 0x0D 0x0A 以上命令意思为任何收到此命令的视频模块的编号更改为0x00020x40 0x40 0x60 0x5A 0x01 0x00 0x02 0x00 0x0D 0x0A 以上命令意思为编号为0x0001的视频模块的编号更改为0x00022.开始拍摄指令代码当摄像头收到的数据域内的摄像头编号与自己相一致时才响应该命令,但如果该数据域内的摄像头编号为0xFFFF,表示通用编号,任何摄像头都要响应该命令。摄像头收到该命令后返回所拍图像数据的第一帧数据。表2-2为拍摄指令代码。表2-2 拍摄代码包 头(2字节)命令码 (1字节)照片大小 (1字节)数据(4字节)包 尾 (2字节)摄像头编号(小端模式)图像包大小 (小端模式)0x40 0x400x610x80(160*128)0x81(320*240)0x82(640*480)0xFF 0xFF0xFF 0xFF0x0D 0x0A举例: 0x40 0x40 0x61 0x82 0xFF 0xFF 0x00 0x03 0x0D 0x0A以上命令意思为任何收到此命令的视频模块拍640*480图, 图像数据以0x0300的长度分包0x40 0x40 0x61 0x82 0x02 0x00 0x12 003 0x0D 0x0A以上命令意思为编号为0x0002的视频模块拍640*480图, 图像数据以0x0312的长度分包3.取图指令代码当摄像头收到的数据域内的摄像头编号与自己相一致时才响应该命令,但如果该数据域内的摄像头编号为0xFFFF,表示通用编号,任何摄像头都要响应该命令。当数据域内的图像位置编号为0xFF 0xFF表示按顺序取图,摄像头每次传送某位置的数据后,会自动把位置编号加一(位置编号从0开始)。当数据域内的位置编号不为0xFF 0xFF表示取固定位置的图像数据,主机端每次索要某位置的数据后,主机端需自己把位置编号加一。照片大小字节无意义,但内容必须为0x81、0x82或0x83。表2-3为取图指令代码。表2-3 取图代码包 头(2字节)命令码 (1字节)照片大小 (1字节)数据(4字节)包 尾 (2字节)摄像头编号(小端模式)图像位置编号 (小端模式)0x40 0x400x620x80(160*128)0x81(320*240)0x82(640*480)0xFF 0xFF0xFF 0xFF0x0D 0x0A举例:0x40 0x40 0x62 0x81 0xFF 0xFF 0xFF 0xFF 0x0D 0x0A以上命令意思为任何收到此命令的视频模块按顺序传一包数据,实际每个视频模块中只能存一幅图,必须拍一幅图后并取完,方可拍下一幅0x40 0x40 0x62 0x81 0x01 0x00 0x00 0x00 0x0D 0x0A以上命令意思为编号为0x0001的模拟头视频模块上传第一包数据4.上传图像数据包格式表2-4为上传图像数据包格式。表2-4 上传图像数据包格式包头位置帧的大小256图像数据校验和结束40 40 6300 0000 02FFFF D8一个字节0D 0AXX XXFF D9小端小端所有数据累加 -校验和例如:0x40 0x40 0x63 0x00 0x00 0xXX 0xXX 0xFF 0xPP 0xVV 0x0D 0x0A(1)包头0x40 0x40 0x63(2)数据开始传送位置用两个字节表示:0x00 0x00 第一帧数据表示为0x00 0x00。上位机每发送一次0x40 0x40 0x62 0x81 0xFF 0xFF 0xFF 0xFF 0x0D 0x0A,摄像头位置加1,直到数据传送完毕。(3)数据帧的大小用两个字节表示:0xXX 0xXX 表示为0xXX 0Xxx 发送数据包;当数据包的大小不等于0xXX 0xXX 时,或图像数据的最后两个字节为0xFFD9时,说明数据传送到了最后一包数据,数据帧的大小和拍摄图片的大小有关。数据内容:开始标志: FF D8 结束标志:FF D9 。 数据传送模式FF D8 0xVV 0D 0A,FF D9 0xVV 0D 0A 。其中0xVV为校验和 。校验和的算法:图像数据累加和。应注意:每次传送数据时,必须发送取图指令,摄像头才会传送下一帧数据。如果在传送数据期间发送了拍图指令,摄像头将会重新取图。不会保留上一次所取图形。只有发送拍图指令时才能配置图片的大小。2.4 Zigbee无线传输模块2.4.1 Zigbee简介Zigbee技术是随着工业自动化对于无线通信和数据传输的需求而产生的,Zigbee网络省电、可靠、成本低、容量大、安全,可广泛应用于各种自动控制领域。图1-4为Zigbee模块框图: 图2-4 Zigbee模块框图Zigbee是一个由可多到65000个无线数传模块组成的一个无线数传网络平台,十分类似现有的移动通信的CDMA网或GSM网,每一个Zigbee网络数传模块类似移动网络的一个基站,在整个网络范围内,它们之间可以进行相互通信;每个网络节点间的距离可以从标准的75米,到扩展后的几百米,甚至几公里;另外整个Zigbee网络还可以与现有的其它的各种网络连接。例如,你可以通过互联网在北京监控云南某地的一个Zigbee控制网络。不同的是,Zigbee网络主要是为自动化控制数据传输而建立,而移动通信网主要是为语音通信而建立;每个移动基站价值一般都在百万元人民币以上,而每个Zigbee“基站”却不到1000元人民币;每个Zigbee 网络节点不仅本身可以与监控对对象,例如传感器连接直接进行数据采集和监控,它还可以自动中转别的网络节点传过来的数据资料; 除此之外,每一个Zigbee网络节点(FFD)还可在自己信号覆盖的范围内,和多个不承担网络信息中转任务的孤立的子节点(RFD)无线连接。每个Zigbee网络节点(FFD和RFD)可以可支持多到31个的传感器和受控设备,每一个传感器和受控设备终可以有8种不同的接口方式。可以采集和传输数字量和模拟量。2.4.2 Zigbee技术应用领域 Zigbee技术的目标就是针对工业,家庭自动化,遥测遥控,汽车自动化、农业自动化和医疗护理等,例如灯光自动化控制,传感器的无线数据采集和监控,油田,电力,矿山和物流管理等应用领域。另外它还可以对局部区域内移动目标例如城市中的车辆进行定位。通常,符合如下条件之一的应用,就可以考虑采用Zigbee技术做无线传输: 1.需要数据采集或监控的网点多; 2.要求传输的数据量不大,而要求设备成本低; 3.要求数据传输性高,安全性高; 4.设备体积很小,不便放置较大的充电电池或者电源模块; 5.电池供电; 6.地形复杂,监测点多,需要较大的网络覆盖; 7.现有移动网络的覆盖盲区; 8.使用现存移动网络进行低数据量传输的遥测遥控系统; 9.使用GPS效果差,或成本太高的局部区域移动目标的定位应用。2.4.3 Zigbee 技术特点l 省电:两节五号电池支持长达6个月到2年左右的使用时间;l 可靠:采用了碰撞避免机制,同时为需要固定带宽的通信业务预留了专用时隙,避免了发送数据时的竞争和冲突;节点模块之间具有自动动态组网的功能,信息在整个Zigbee网络中通过自动路由的方式进行传输,从而保证了信息传输的可靠性;l 时延短:针对时延敏感的应用做了优化,通信时延和从休眠状态激活的时延都非常短;l 网络容量大:可支持达65000个节点;l 安全:ZigBee提供了数据完整性检查和鉴权功能,加密算法采用通用的AES-128;l 高保密性:64位出厂编号和支持AES-128加密。第三章 软件设计及调试软件设计包括Keil程序调试,Proteus电路图设计和Keil与Proteus联机调试。3.1 Keil调试3.1.1 Keil简介Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起7。图3-1为Keil界面: 图3-1 Keil界面3.1.2 Keil调试过程1.首先点击图标打开Keil软件,在工具栏中点击Project选择New uVision Project来新建一个工程,如图3-2所示。图3-2 新建工程2.因为我们用到了单片机的串口,所以我们将工程取名为sbuf保存在相应的文件夹中,如图3-3所示。图3-3 工程取名3.选择CPU,我们在这里选择Intel公司的80C51GB,如图3-4所示。 图3-4 选择CPU选好芯片确定后,弹出提示框,问是否添加一些文件,在这里选择“否”。4.新建文本文档,用来编写源程序。按下界面上的图标进行建立,就会出现如下图3-5所示的窗口。图3-5 新建文件5.按下保存图标,将文件以“sbuf.c”文件名与新建的sbuf工程保存在一个文件夹中,如图3-6所示。 图3-6 保存文件 6.将新建的文件加入工程中。在Source Group 1上点击鼠标右键,在弹出的菜单栏中选择Add Files to Group.选项,如图3-7所示。 图3-7 文件加入到工程在弹出的对话框中选择工程文件夹下刚才新建的“sbuf.c”文件。点击Add,再点击Close关闭对话框,如图3-8所示。 图3-8 选择文件在下图中可以看到sbuf.c文件已经加入到了Source Group 1中,如图3-9所示。 图3-9 确定文件是否加入到工程7.设置工程,让其编译时输出十六进制可执行文件。如图3-10所示,在Target1上点击右键,在弹出的菜单栏中选中Options for Target.选项进行设置。图3-10 设置文件如图3-11所示,在弹出的找到Output选项点击,从中找到Create HEX File选项选中,然后点击确定退出。 图3-11 设置输出文件格式8.将源程序(程序见附录)写入新建文件subf.c中89,如图3-12所示。图3-12 编程9.对源程序进行编译,按下界面上的编译键进行编译程序如图3-13所示。 图3-13 编译源程序10.如果程序没有错误,点击编译键后系统会自动生成hex可执行文件,并且该文件会存储在工程文件夹下10,如图3-14所示。图3-14 构建输出3.2 程序设计C语言是一种计算机程序设计语言,它既有高级语言的特点,又具有汇编语言的特点。C语言应用广泛,具备很强的数据处理能力,不仅在软件开发上,各类科研都需要应用C语言,适于编写系统软件,三维,二维图形和动画。具体应用为单片机和嵌入式等。C语言书写的程序具有简洁紧凑、灵活方便、书写格式自由等特点。它不仅具有非常丰富的运算符,而且还具有非常丰富的数据类型。C语言是结构式语言,即代码及数据的分隔化,程序的各个部分除了必要的信息交流外彼此都是独立的。这样的结构层次清晰,便于使用、维护及调试11。在此次设计中,我的程序比较简单,就是利用C语言将摄像头TJ协议相应的指令代码发送到摄像头输入端,但在编写程序前必须要熟悉单片机串口通信相关问题。程序流程图如图3-15所示,编写程序将摄像头编号、拍摄、取图的指令代码依次发送出去,再做循环来实现实时图像处理采集功能。开始初始化发送摄像头编号指令发送摄像头拍摄指令发送摄像头取图指令图像传送到Zigbee模块 图3-15 程序流程图3.3 电路图设计电路图设计包括单片机最小系统和显示系统,使用Proteus软件实现此电路图设计。3.3.1 Proteus简介 Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件12。它是目前最好的仿真单片机及外围器件的工具。 虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。所以我们应用Proteus来进行仿真,图3-16为硬件电路图,因在Proteus中没有摄像头模块,所以我们就应用一个虚拟终端来观察发出去的指令是否正确。图3-16 硬件电路图1.时钟电路和时序(1)时钟电路 在MCS-51单片机内有一个高增益的反相放大器,他的输入和输出端分别为XTAL1和XTAL2,由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式。根据硬件电路的不同,分为内部时钟方式和外部时钟方式13。此设计中使用了内部时钟方式,所以只介绍内部时钟电路。 内部时钟电路如图3-17所示,在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路就产生自激振荡。定时元件通常由石英晶体和电容组成的并联谐振回路,晶体振荡器选择11.0592MHZ,电容采用22pF。图3-17 内部时钟电路在内部方式时钟电路中,必须在XTAL1和XTAL2引脚两端跨接石英晶体振荡器和两个微调电容构成振荡电路,通常C1和C2一般取30pF,晶振的频率取值在1.2MHz12MHz之间。晶体振荡器的振荡信号从XTAL2端送入内部时钟电路,它将该振荡信号二分频,产生一个两相时钟信号P1和P2供单片机使用。时钟信号的周期称为状态时间S,它是振荡周期的2倍,P1信号在每个状态的前半周期有效,在每个状态的后半周期P2信号有效。CPU就是以两相时钟P1和P2为基本节拍协调单片机各部分有效工作的。(2)指令时序我们将单片机的基本操作周期称作机器周期,一个机器周期由6个状态组成,每个状态由两个时相P1和P2构成,故一个机器周期可依次表示为S1P1,S1P2,S6P1,S6P2,即一个机器共有12个振荡脉冲。为了大家便于分析CPU的时序,在此先对以下几个概念作一介绍。振荡周期振荡周期指为单片机提供定时信号的振荡源的周期或外部输入时钟的周期。时钟周期时钟周期又称作状态周期或状态时间,他是振荡周期的两倍。机器周期 一个机器周期由6个状态组成,如果把一条指令的执行过程分作几个基本操作,则将完成一个基本操作所需的时间称作机器周期。单片机的单周期指令执行时间就为一个机器周期。指令周期指令周期即执行一条指令所占用的全部时间,通常为14个机器周期。2.复位电路单片机的复位方法有以下两种14:(1)上电复位打开电源后利用RC充电自动完成,如图3-18所示。(2)手动复位 利用按键闭合使单片机复位引脚保持2个周期以上的高电平完成手动复位功能他,如图3-19所示。 图3-18 上电复位 图3-19 手动复位3.显示电路 因为在Proteus中没有摄像头模块,所以我们应用虚拟终端来检查摄像头是否接收到正确的指令,图3-20为显示电路。图3-20 显示电路虚拟终端(VT)是一种提供类似于Internet的Telnet协议的远程终端仿真的国际标准化组织(ISO)协议。3.3.2 电路图设计过程1.首先选择要用的器件。如图3-21,按下图标进行元器件选择15。图3-21 Proteus界面输入单片机芯片名80C51,器件便会出现在右侧列表中,如图3-22所示。 图3-22 芯片选择双击列表中的芯片名,芯片便会加入到主界面的器件表中。用同样的方法,我们找到振荡器、电阻、电容和有极性电容加入到器件表中,如图3-23所示。图3-23 芯片加入器件表此外我们还需要接地、电源和虚拟终端,点击图标,在Terminals Mode(终端模式)中找到接地(GROUND)和电源(POWER)。点击图标可以找到虚拟终,如图3-24和3-25所示。 图3-24 电源和接地 图3-25 虚拟终端2.开始画电路图。首先选中器件列表中的80C51,然后在设计区点鼠标左键,该器件就会出现,如图3-26所示。 图3-26 加入芯片同样,选择电阻、电容、有极性电容、晶体振荡器、接地和电源加入到电路图中,用鼠标连线,绘制单片机最小系统电路,如图3-27。 图3-27 单片机最小系统连接完成以后,要对元器件赋值,在这里,电容选择22pF,晶体振荡器的频率调成11.0592MHz,有极性电容为22uF,电阻为1K。单片机最小系统完成以后,我们就把虚拟终端输入口RXD与单片机串行输出口TXD连接在一起,如图3-28所示,这样电路设计就完成了。图3-28 硬件电路3.4 Keil与Proteus联机调试1.在Proteus中双击单片机,会弹出图3-29的编辑窗口。图3-29 单片机编辑窗户口点击Program File后的打开文件夹图标,将生成的可执行文件subf.hex加入到单片机芯片中,选好后点击OK键,如图3-30所示。图3-30 选择可执行文件2.加入文件成功后点击左下角的运行按键,这样我们就可以看到运行结果了,如图3-31所示。 图3-31 播放演示下图为运行结果,可以看出,输出结果正是我们要发送的十六进制代码,如图3-32所示。图3-32 演示输出由上图可知,我们已经成功将正确的指令发送了出去。结 论本课题利用单片机的灵活性、可靠性以及稳定性等特点,设计了一个图像处理采集系统。此系统主要包括四大模块:单片机控制模块、摄像头模块、无线传输模块以及上位机。摄像头接到单片机发送过来的有效指令后开始工作,对周围进行拍摄取图,对诸多领域都有着很高的实用性,特别是在工业领域,有着很高的实用价值。它可以在许多恶劣的环境下正常工作,对设备进行实时监控作用,其成本低、性价比高,具有较高的研究意义。参考文献1 徐慧娟.数字图像处理研究现状.吉林省教育学院学报.2008年第9期第24卷2 李升.单片机原理与接口技术.北京大学出版社.2011.2-43 张文祥.单片机系统设计与开发教程.电子工业出版社.2011.77-824 邹久朋.80C51单片机实用技术.北京航空航天大学出版社.20085 TJ传输协议.百度文库. 6 Zigbee.百度百科. /view/117166.htm7 文桦.单片机教学与应用平台的研究.万方数据.同济大学硕士学位论文.2009.20-238 彭伟. 单片机C语言程序设计实训100例基于8051+Proteus仿真. 电子工业出版社.2009.53-569 钟睿.M

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论