基于单片机的光电计数器.doc

上传人:文库蛋蛋多 文档编号:4148520 上传时间:2023-04-07 格式:DOC 页数:47 大小:862KB
返回 下载 相关 举报
基于单片机的光电计数器.doc_第1页
第1页 / 共47页
基于单片机的光电计数器.doc_第2页
第2页 / 共47页
基于单片机的光电计数器.doc_第3页
第3页 / 共47页
基于单片机的光电计数器.doc_第4页
第4页 / 共47页
基于单片机的光电计数器.doc_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《基于单片机的光电计数器.doc》由会员分享,可在线阅读,更多相关《基于单片机的光电计数器.doc(47页珍藏版)》请在三一办公上搜索。

1、摘 要计数器对某物件进行自动计数,在实际生产生活中具有广泛的应用,对通过的物体进行计数,实现统计数据的搜集,如在生产流水线包装数量控制等领域的应用,能节省劳动力有能高效地完成任务。光电计数器采用光电传感器构成的广电门实现对通过光电门的物体进行计数,是一种非接触式计数,在部分场合有着其无比的优越性,从而使其广泛应用于工业生产、实时监测、自动化控制等领域。本作品为实现光电计数器的功能,采用模数结合的电路,以光敏电阻传感器为传感器件。电路主要分为信号采集电路、单片机电路、数码显示电路、复位电路四个模块,分别实现对通过光敏传感器正对面产生的阴影的物体感应,计数,显示,并可随时进行复位,计数范围为99。

2、本作品电路主要采用常用分立元件和小规模集成电路,结构简单可靠,能够提供准确的统计值,成本低廉,实用性强,二次开发性高关键词:单片机 计数器 光敏传感器 数码显示 ABSTRACTCounter automatically count on an article, has broad application in the actual production, to count the number of objects through to achieve statistical data collection, such as in control applications in areas

3、such as production line size, saving labor to effectively fulfil its mandate. Photoelectric Counter constitute broadcasting achieved through using photoelectric sensor photoelectric counts the number of objects, is a non-contact counting, on some occasions has its advantages, making it widely used i

4、n industrial production, real time monitoring, automation and other fields.This work is the ability to photoelectric counter for, the use of modulus combination circuits, photosensitive resistance sensors to sensors. Circuit can be divided into signal acquisition circuit, monolithic integrated circu

5、its, digital display circuits, reset circuit of four modules, respectively, through induction of photosensitive sensors directly across from shadow of the objects, the count, display, and can be reset at any time, count to 99.This circuit works mainly uses the standard discrete components and SSI, t

6、he structure is simple and reliable, and can provide accurate statistics, low cost, practicality, high secondary developmentkeywords: Microcontroller Unit counter transducer numerical cod目 录第一章 绪 论11.1 概述11.2 光电计数的现状及发展前景11.3 数字单片机的技术发展21.3.1 内部结构的变化21.3.2 功耗、封装及电源电压的发展21.4 此次设计研究的主要内容应解决问题31.5 本研究课

7、题的发展趋势3第二章 光电计数器的方案设计52.1 系统的设计要求52.2 系统的组成与结构52.3 中断方式计数62.4 串行通信接口6第三章 光电计数器的硬件电路设计93.1 光敏电阻93.1.1 光敏电阻的组成93.1.2 光敏电阻的作用93.1.3 光敏电阻的规格型号93.2 AT89S52单片机103.3 LM393芯片113.3.1 LM393特性(Features)113.3.2 LM393主要参数123.3.3 LM393内部结构123.4 单片机最小系统设计133.5 总电路原理图15第四章 光电计数器系统软件设计174.1 系统控制主程序设计174.2 系统初始化子程序设计

8、174.3 显示子程序设计184.4 光电计数处理子字程序设计184.5 C语言介绍204.6 软件的程序设计214.7 keil软件调试234.7.1 软件介绍234.7.2 系统概述244.7.3 Keil C51单片机软件开发系统的整体结构24第五章 光电计数器的系统仿真及调试255.1 Proteus简介255.2电路仿真27第六章 PCB板及Protel的介绍316.1 PCB板简介316.2 PCB板制作326.2 Protel简介35第七章 焊接调试377.1 电路的优缺点377.2 电路的改进方法377.3 电路调试过程中出现的问题及解决办法37第八章 总 结39致 谢41参考

9、文献43第一章 绪 论1.1 概述工业生产中常常需要自动统计产品的数量,计数器在这里有其用武之地。光电计数器采用光电传感器利用光学原理实现对物件的数目统计。光电式传感器是将光信号转化为电信号的一种传感器。它的理论基础是光电效应。这类效应大致可分为三类。第一类是外光电效应,即在光照射下,能使电子逸出物体表面。利用这种效应所做成的器件有真空光电管、光电倍增管等。第二类是内光电效应,即在光线照射下,能使物质的电阻率改变。这类器件包括各类半导体光敏电阻。第三类是光生伏特效应,即在光线作用下,物体内产生电动势的现象,此电动势称为光生电动势。这类器件包括光电池、光电晶体管等。光电效应都是利用光电元件受光照

10、后,电特性发生变化。敏感的光波长是在可见光附近,包括红外波长和紫外波长。市场上的光电计数器采用的光电传感器有摄像头、光电管等,采用的光的种类有普通光和激光,可见光和不可见光等。1.2 光电计数的现状及发展前景随着科学技术的发展,电子计数器的辅助功能也逐渐增加,现在已经出现了多功能计数器,多功能计数器产品的响应度较高,交直、流电两用、耗能低、价格低、无机械碰撞、无磨损、使用寿命长,既可计数,又可计算。例如在毛衣编织机上运用,除可计数和计算外,还可实现断线报警。通用计数器不仅可测频率、周期还可以测多周期平均、时间间隔、频率比和累计等。频率计数器专门用于测量高频和微波频率的计数器。微波计数器是以通用

11、计数器和频率计数器为主配以测频扩展器而组成的微波频率计。它的测频上限已进入毫米波段,有手动、半自动、全自动3类。系列化微波计数器是电子计数器发展的一个重要方面。1.3数字单片机的技术发展1.3.1 内部结构的变化单片机在内部已集成了越来越多的部件,这些部件包括一般常用的电路,例如:定时器,A/D转换器,D /A转换器,串行通信接口,Watchdog电路,LCD控制器等。 有的单片机为了构成控制网络或形成局部网,内部含有局部网络控制模块CAN。例如,Infineon公司的C 505C,C515C,C167CR,C167CS-32FM,81C90。因此,这类单片机十分容易构成网络。特别是在控制,系

12、统较为复杂时,构成一个控制网络十分有用。为了能在变频控制中方便使用单片机,形成最具经济效益的嵌入式控制系统。有的单片机内部设置了专门用于变频控制的脉宽调制控制电路这些单片机有Fujitsu公司的MB89850系列、MB89860系列;Motorola 公司的MC68HC08MR16、MR24等。在这些单片机中,脉宽调制电路有6个通道输出,可产生三相脉宽调制交流电压,并内部含死区控制等功能。特别引人注目的是:现在有的单片机已采用所谓的三核(TrCore)结构。这是一种建立在系统级芯片(System on a chip)概念上的结构。这种单片机由三个核组成:一个是微控制器和DSP核,一个是数据和程

13、序存储器核,最后一个是外围专用集成电路(ASIC)。这种单片机的最大特点在于把DSP和微控制器同时做在一个片上。把它和传统单片机结合集成大大提高了单片机的功能。这是目前单片机最大的进步之一。这种单片机最典型的有Infineon公司的TC10GP;Hitachi公司的SH7410,SH7612等。1.3.2 功耗、封装及电源电压的发展现在新的单片机的功耗越来越小,特别是很多单片机都设置了多种工作方式,这些工作方式包括等待,暂停,睡眠,空闲,节电等工作方式。现在单片机的封装水平已大大提高,随着贴片工艺的出现,单片机也大量采用了各种合符贴片工艺的封装方式出现,以大量减少体积。扩大电源电压范围以及在较

14、低电压下仍然能工作是今天单片机发展的目标之一。目前,一般单片机都可以在3.35.5V的条件下工作。而一些厂家,则生产出可以在2.26V的条件下工作的单片机。1.4此次设计研究的主要内容应解决问题基于单片机构成的产品自动计数研究的主要内容包括:如果构成检测电路、AT89C单片机用何种方式对外部计数脉冲进行计数进行计数显示控制、LED显示驱动模块的选择、AT89C单片机的扩展。在这个设计中主要需要解决的问题是如何提高整体电路的抗干扰能力以及稳定性。1.5 本研究课题的发展趋势自单片机出现至今,单片机技术已走过了近20年的发展路程。纵观20年来单片机发展历程可以看出,单片机技术的发展以微处理器(MP

15、U)技术及超大规模集成电路技术的发 展为先导,以广泛的应用领域拉动,表现出较微处理器更具个性的发展趋势。单片机的应用在后PC时代得到了前所未有的发展,但对处理器的综合性能要求也越来越高。综观单片机的发展,以应用需求为目标,市场越来越细化,充分突出以“单片”解决问题,而不像多年前以MCS51/96等处理器为中心,外扩各种接口构成各种应用系统。单片机系统作为嵌入式系统的一部分,主要集中在中、低端应用领域(嵌入式高端应用主要由DSP、ARM、MIPS等高性能处理器构成),在这些应用中,目前也出现了一些新的需求,主要体现在以下几个方面(1)以电池供电的应用越来越多,而且由于产品体积的限制,很多是用钮扣

16、电池供电,要求系统功耗尽可能低,如手持式仪表、水表、玩具等。(2)随着应用的复杂,对处理器的功能和性能要求不断提高。既要外设丰富、功能灵活,又要有一定的运算能力,能做一些实时算法,而不仅仅做一些简单的控制。(3)产品更新速度快,开发时间短,希望开发工具简单、廉价、功能完善。特别是仿真工具要有延续性,能适应多种MCU,以免重复投资,增加开发费用。(4)产品性能稳定,可靠性高,既能加密保护,又能方便升级。第二章 光电计数器的方案设计2.1 系统的设计要求设计光控电路,当有物体通过光电传感器正对面,产生一个阴影,通过LM393比较器出输一个数字信号,单片机采集信号,通过数码管显示。计数器的最大计数容

17、量是99。硬件电路图如图2-1所示:复位电路单片机信号处理LM393比较电路光电传感器显示电路图2-1 光电计数器系统结构图2.2 系统的组成与结构整个光电计数器系统是由光电传感电路、运算比较电路、STC89C52RC单片机系统电路、显示计数电路、报警电路五个部分组成的,如图2-1所示。光电传感电路把被计数的物体的变化转换成电信号,由显示计数电路计数,再由数码显示管显示,当达到设定的报警值时,报警电路发出报警。2.3 中断方式计数由于光电技术电路需要在数码管上显示进入电影院的人数,因此可以在内部存储器空间定义它的显示缓存区,用来暂存数码管显示的当前值。系统在初始化程序之中,分别设置外部中断0和

18、外部中断1产生中断的中断标志T0和T1,并初始化值为0。当有外部中产生时,相应的中断置1。当外部中断0产生中断时,在中断服务程序之中将中断标志T1置1,并屏蔽外部中断1,然后在主程序中扫描T0是否为1。当T0为1时,调用光电计数子程序,将显示暂存变量加1,同时开外部中断1。当电影院中的人数达到99人时,系统发出声光警报,直至按复位键为止。当外部中断1产生中断时,在中断服务程序之中将中断标志T1置1,并屏蔽外部中断0,然后在主程序之中扫描T1是否为1。当T1为1时调用光电计数子程序,将显示暂存变量减1,同时开外部中断0。2.4 串行通信接口串行通信与并行通信不同,并行通信是一次性传送8位数据,传

19、输快捷方便,但硬件较复杂,远距离传输成本较高,串行通信是一位一位的传送,一个字节的八位二进制数至少需要传送8次,结构也比较简单,串行通信是通过串行口来实现的,MCS-51单片机有一个全双工的异步串行接口可以用于串行数据的数据通信,串行通信的两种基本方式有异步传送方式和同步传送方式。MCS-51单片机采用异步通信的串行通信方式,有一个全双工的串行接口电路,整个串行通信可以通过编制的程序设定,串行接口电路的内部结构如图2-2所示。TXD(P3.1)内部总线RITI串行口中断发送SBUF门定时器1接收SBUF输入移位寄存器发送控制器1接收控制器串行控制寄存器SCONRXD(P3.0)图2-2 串行口

20、内部结构SBUF是独立的两个缓冲器,主要功能存放接收到的数据和存放将要发送的数据,起缓冲作用,TXD是发送引脚,数据从TXD一位一位的向外设发送,RXD是接收引脚,数据从RXD一位一位的接收到单片机内。 第三章 光电计数器的硬件电路设计3.1光敏电阻光敏电阻又称光导管,常用的制作材料为硫化镉,另外还有硒、硫化铝、硫化铅和硫化铋等材料。这些制作材料具有在特定波长的光照射下,其阻值迅速减小的特性。这是由于光照产生的载流子都参与导电,在外加电场的作用下作漂移运动,电子奔向电源的正极,空穴奔向电源的负极,从而使光敏电阻器的阻值迅速下降。3.1.1 光敏电阻的组成光敏电阻器是利用半导体的光电导效应制成的

21、一种电阻值随入射光的强弱而改变的电阻器,又称为光电导探测器;入射光强,电阻减小,入射光弱,电阻增大。3.1.2光敏电阻的作用光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。常用的光敏电阻器硫化镉光敏电阻器,它是由半导体材料制成的。光敏电阻器对光的敏感性(即光谱特性)与人眼对可见光(0.40.76)m的响应很接近,只要人眼可感受的光,都会引起它的阻值变化。设计光控电路时,都用白炽灯泡(小电珠)光线或自然光线作控制光源,使设计大为简化。3.1.3光敏电阻的规格型号通常,光敏电阻器都制成薄片结构,以便吸收更多的光能。当它受到光的照射时,半导体片(光敏层)内 就激发出电子空

22、穴对,参与导电,使电路中电流增强。为了获得高的灵敏度,光敏电阻的电极常采用梳状图案,它是在一定的掩膜下向光电导薄膜上蒸镀金或铟等金属形成的。一般光敏电阻器结构如图所示。 3-1 光敏结构图光敏电阻器通常由光敏层、玻璃基片(或树脂防潮膜)和电极等组成。光敏电阻器在电路中用字母“R”或“RL”、“RG”表示光敏电阻常用硫化镉(CdS)制成。它分为环氧树脂封装和金属封装两款,同属于导线型(DIP型),环氧树脂封装光敏电阻按陶瓷基板直径分为3mm、4mm、5mm、7mm、11mm、12mm、20mm、25mm 。3.2 AT89S52单片机AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含

23、8k Bytes ISP的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS -51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S52具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个 全双工串行通信口,看门狗(WDT)电

24、路,片内时钟振荡器。此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断 系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三 种封装形式,以适应不同产品的需求,AT89S52的引脚图如图3-2所示。主要功能特性:兼容MCS-51指令系统、8k可反复擦写(1000次)ISP Flash ROM、32个双向I/O口、4.5-5.5V工作电压、3个16位可编程定时/计数器、时钟频率0-33MHz、全双工UART串行中断口线

25、、256x8bit内部RAM、2个外部中断源、低功耗空闲和省电模式、中断唤醒省电模式、3级加密位、看门狗(WDT)电路、软件设置空闲和省电功能、灵活的ISP字节和分页编程、双数据寄存器指针。图3-2 AT89S52引脚图3.3 LM393芯片LM393内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工 作条件下,电源电流与 电源电压无关。它的使用范围包括传感放大器、直流增益模组,音频放大器、工业控制、DC增益部件和其他所有可用单电源供电的使用运算放大器的场合。 3.3.1 LM393特性(Features) 内部频率

26、补偿。 直流电压增益高(约100dB) 。 单位增益频带宽(约1MHz) 。 电源电压范围宽:单电源(330V);双电源(1.515V) 。 低功耗电流,适合于电池供电。 低输入偏流。 低输入失调电压和失调电流。 共模输入电压范围宽,包括接地。 差模输入电压范围宽,等于电源电压范围。 输出电压摆幅大(0至Vcc-1.5V) 。 3.3.2 LM393主要参数输入偏置电流45 nA输入失调电流50 nA输入失调电压2.9mV输入共模电压最大值VCC1.5 V共模抑制比80dB电源抑制比100dB 3.3.3 LM393内部结构图3-3 LM393内部结构图 3.4 单片机最小系统设计图3-4 单

27、片机最小系统基本电路图单片机的最小系统是由电源、复位、晶振、/EA=1组成,下面介绍一下每一个组成部分。1.电源引脚Vcc40电源端GND20接地端工作电压为5V,另有STC89S52工作电压则是2.7-6V,引脚功能一样。2.外接晶体引脚图3-5 晶振连接的内部、外部方式图XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。晶振的频率可以在1MHz-24MHz内选择。电容取30PF左右。系统的时钟电路设计是采用的内部方式,即利用芯

28、片内部的振荡电路。单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为22F。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作3.5 总电路原

29、理图3-6 总电路图第四章 光电计数器系统软件设计系统上电初始化之后,主程序不断地扫描键盘和显示程序;同时判断外部中断标志是否有效。如果外部中断标志有效,则调用光电计数处理子程序,刷新数码管的显示值4.1系统控制主程序设计定义蜂鸣器接口P3.6,初始状态为0,蜂鸣器不报警,当有高电平触发P3.6是,蜂鸣器开始报警。当下一个脉冲是1时外部中断T0则产生中断,计数器停止加计数,同样若外部中断T1也是高电平则T1产生中断,计数器停止减计数。4.2 系统初始化子程序设计设定外部中断T0、T1的标志位置0即中断处于关闭状态,蜂鸣器控制标志位也置0,处于关闭状态,系统初始化流程图如图4-1所示。图4-1

30、系统初始化流程图4.3 显示子程序设计定义数码管的段码表、位选码,定义计数器的显示缓存区,在统计过程中,当一个信号传到单片机中,系统调用延时子程序进行延时,计数器对十位和个位进行计数判断,将数据通过数码管显示出来,显示子程序的电路图如图4-2所示。图4-2 动态显示电路流程图4.4 光电计数处理子字程序设计外部中断T0和T1初始化后都处于关闭状态,当其中断标志有效时进行加计数,当外部中断T0处于关闭时,外部中断T1进行加计数且判断计数器是否达到计满值99,若大于等于99则KEYBOARD=1蜂鸣器报警。外部中断T1关闭,开外部中断T0,则减计数,再开外部中断T0。最后将计数值通过数码管显示,其

31、流程图如图4-3所示。开始系统初始化外部中断初始化显示是否有外部中断键盘处理返回调用光电计数处理程序是否有按键键盘扫描图4-3 光电计数处理子程序流程图4.5 C语言介绍C语言是一种面向过程的计算机程序设计语言,它是目前举世公认的优秀的结构程序设计语言之一。它由美国贝尔研究所的D.M.Ritchie于1972年推出。1978后,C语言已先后被移植到大、中、小及微型机上。 C语言发展如此迅速,而且成为最受欢迎的语言之一,主要因为它具有强大的功能。许多著名的系统软件,如DBASE 都是由C 语言编写的。用C 语言加上一些汇编语言子程序,就更能显示C 语言的优势了,像PC- DOS 、WORDSTA

32、R等就是用这种方法编写的。C语言是一种成功的系统描述语言,用C语言开发的UNIX操作系统就是一个成功的范例;同时C语言又是一种通用的程序设计语言,在国际上广泛流行。世界上很多著名的计算公司都成功的开发了不同版本的C语言,很多优秀的应用程序也都使用C语言开发的,它是一种很有发展前途的高级程序设计语言。 1.C是中级语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。 2.C是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次

33、清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。 3.C语言功能齐全。具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。而且计算功能、逻辑判断功能也比较强大,可以实现决策目的的游戏。4.C语言适用范围大。适合于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。 C语言对编写需要硬件进行操作的场合,明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。 C语言具有较好的可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值

34、计算的高级语言。4.6软件的程序设计#include #include #define uchar unsigned char#define uint unsigned intuchar code table=0x3f,0x06,0x5b,0x4F,0x66,0x6D,0x7d,0x07,0x7f,0x6f,0x00,0x40;sbit Shiwei=P21;sbit Gewei=P20;sbit In=P10; /输入int TK,flag;/*函数名称:Delay_Nms功 能:延时约Nms的时间参 数:uint n返回值 :无*/void delay(uint n) uint i;whi

35、le(n-)for(i=0;i125;i+); /*显示*/ void Display(void) Shiwei=0; P0=tableTK/10; delay(1); Shiwei=1; P0=0x00; Gewei=0; P0=tableTK%10; delay(1); Gewei=1; P0=0x00; void delay1(uint n) uint i;while(n-) for(i=0;i125;i+); Display(); /*/ void main(void) while(1) if(In=1) delay1(100); if(In=1) flag=1; if(In=0&fl

36、ag=1) TK+; flag=0; if(TK=100) TK=99; Display(); 4.7 keil软件调试4.7.1 软件介绍Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列

37、单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。4.7.2 系统概述目前流行的51系列单片机开发软件是德国Keil公司推出的Keil C51软件,Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能

38、体现高级语言的优势。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势。下面详细介绍Keil C51开发系统各部分功能和使用。 4.7.3 Keil C51单片机软件开发系统的整体结构 C51工具包的整体结构,uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。

39、ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。第五章 光电计数器的系统仿真及调试5.1 Proteus 简介Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片

40、机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也

41、支持IAR、Keil和MPLAB等多种编译器。 功能特点:Proteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是: (1)原理布图 (2)PCB自动或人工布线 (3)SPICE电路仿真 革命性的特点: (1)互动的电路仿真 用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。 (2)仿真处理器及其外围电路 可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立

42、了完备的电子设计开发环境。 功能模块:能原理图设计(ISIS)丰富的器件库:超过27000种元器件,可方便地创建新元件; 智能的器件搜索:通过模糊搜索可以快速定位所需要的器件; 智能化的连线功能:自动连线功能使连接导线简单快捷,大大缩短绘图时间; 支持总线结构:使用总线器件和总线布线使电路设计简明清晰; 可输出高质量图纸:通过个性化设置,可以生成印刷质量的BMP图纸,可以方便地供WORD、POWERPOINT等多种文档使用完善的电路仿真功能(Prospice)PROSPICE混合仿真:基于工业标准SPICE3F5,实现数字/模拟电路的混合仿真; 多样的激励源:包括直流、正弦、脉冲、分段线性脉冲

43、、音频(使用wav文件)、指数信号、单频FM、数字时钟和码流,还支持文件形式的信号输入; 丰富的虚拟仪器:13种虚拟仪器,面板操作逼真,如示波器、逻辑分析仪、信号发生器、直流电压/电流表、交流电压/电流表、数字图案发生器、频率计/计数器、逻辑探头、虚拟终端、SPI调试器、I2C调试器等;生动的仿真显示:用色点显示引脚的数字电平,导线以不同颜色表示其对地电压大小,结合动态器件(如电机、显示器件、按钮)的使用可以使仿真更加直观、生动; 高级图形仿真功能(ASF):基于图标的分析可以精确分析电路的多项指标,包括工作点、瞬态特性、频率特性、传输特性、噪声、失真、傅立叶频谱分析等,还可以进行一致性分析;

44、独特的单片机协同仿真功能(VSM)。PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。 它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。 课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平

45、台 随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTEUS也能获得愈来愈广泛的应用。使用Proteus 软件进行单片机系统仿真设计, 是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;在单片机课程设计和全国大学生电子设计竞赛中,我们使用 Proteus 开发环境对学生进行培训,在不需要硬件投入的条件下,学生普遍反映,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。实践证明,在使用 Proteus 进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计。5.2电路仿真在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:*.DSN,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。 1、建立光电计数器项目点击菜单:FileNewDesign,选择设计模板。一般选择A4图纸即可,点击OK,关闭对话框,完成设计图纸的模板选择,出现一个空白的设计空间。这时设计名称为UNTITLED(未命名),点击菜单filesavedesign来给设计命名。也可以在设计的过程中任何时候命名。2、调入元件对话框左上

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号