基于单片机的光电计数器.doc_第1页
基于单片机的光电计数器.doc_第2页
基于单片机的光电计数器.doc_第3页
基于单片机的光电计数器.doc_第4页
基于单片机的光电计数器.doc_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

摘要摘 要计数器对某物件进行自动计数,在实际生产生活中具有广泛的应用,对通过的物体进行计数,实现统计数据的搜集,如在生产流水线包装数量控制等领域的应用,能节省劳动力有能高效地完成任务。光电计数器采用光电传感器构成的广电门实现对通过光电门的物体进行计数,是一种非接触式计数,在部分场合有着其无比的优越性,从而使其广泛应用于工业生产、实时监测、自动化控制等领域。本作品为实现光电计数器的功能,采用模数结合的电路,以光敏电阻传感器为传感器件。电路主要分为信号采集电路、单片机电路、数码显示电路、复位电路四个模块,分别实现对通过光敏传感器正对面产生的阴影的物体感应,计数,显示,并可随时进行复位,计数范围为99。本作品电路主要采用常用分立元件和小规模集成电路,结构简单可靠,能够提供准确的统计值,成本低廉,实用性强,二次开发性高关键词:单片机 计数器 光敏传感器 数码显示 ABSTRACTABSTRACTCounter 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 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 in 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 circuits, 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, the structure is simple and reliable, and can provide accurate statistics, low cost, practicality, high secondary developmentkeywords: Microcontroller Unit counter transducer numerical cod目录 i目 录第一章 绪 论11.1 概述11.2 光电计数的现状及发展前景11.3 数字单片机的技术发展21.3.1 内部结构的变化21.3.2 功耗、封装及电源电压的发展21.4 此次设计研究的主要内容应解决问题31.5 本研究课题的发展趋势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 系统初始化子程序设计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参考文献435第一章 绪论第一章 绪 论1.1 概述工业生产中常常需要自动统计产品的数量,计数器在这里有其用武之地。光电计数器采用光电传感器利用光学原理实现对物件的数目统计。光电式传感器是将光信号转化为电信号的一种传感器。它的理论基础是光电效应。这类效应大致可分为三类。第一类是外光电效应,即在光照射下,能使电子逸出物体表面。利用这种效应所做成的器件有真空光电管、光电倍增管等。第二类是内光电效应,即在光线照射下,能使物质的电阻率改变。这类器件包括各类半导体光敏电阻。第三类是光生伏特效应,即在光线作用下,物体内产生电动势的现象,此电动势称为光生电动势。这类器件包括光电池、光电晶体管等。光电效应都是利用光电元件受光照后,电特性发生变化。敏感的光波长是在可见光附近,包括红外波长和紫外波长。市场上的光电计数器采用的光电传感器有摄像头、光电管等,采用的光的种类有普通光和激光,可见光和不可见光等。1.2 光电计数的现状及发展前景随着科学技术的发展,电子计数器的辅助功能也逐渐增加,现在已经出现了多功能计数器,多功能计数器产品的响应度较高,交直、流电两用、耗能低、价格低、无机械碰撞、无磨损、使用寿命长,既可计数,又可计算。例如在毛衣编织机上运用,除可计数和计算外,还可实现断线报警。通用计数器不仅可测频率、周期还可以测多周期平均、时间间隔、频率比和累计等。频率计数器专门用于测量高频和微波频率的计数器。微波计数器是以通用计数器和频率计数器为主配以测频扩展器而组成的微波频率计。它的测频上限已进入毫米波段,有手动、半自动、全自动3类。系列化微波计数器是电子计数器发展的一个重要方面。1.3数字单片机的技术发展1.3.1 内部结构的变化单片机在内部已集成了越来越多的部件,这些部件包括一般常用的电路,例如:定时器,A/D转换器,D /A转换器,串行通信接口,Watchdog电路,LCD控制器等。 有的单片机为了构成控制网络或形成局部网,内部含有局部网络控制模块CAN。例如,Infineon公司的C 505C,C515C,C167CR,C167CS-32FM,81C90。因此,这类单片机十分容易构成网络。特别是在控制,系统较为复杂时,构成一个控制网络十分有用。为了能在变频控制中方便使用单片机,形成最具经济效益的嵌入式控制系统。有的单片机内部设置了专门用于变频控制的脉宽调制控制电路这些单片机有Fujitsu公司的MB89850系列、MB89860系列;Motorola 公司的MC68HC08MR16、MR24等。在这些单片机中,脉宽调制电路有6个通道输出,可产生三相脉宽调制交流电压,并内部含死区控制等功能。特别引人注目的是:现在有的单片机已采用所谓的三核(TrCore)结构。这是一种建立在系统级芯片(System on a chip)概念上的结构。这种单片机由三个核组成:一个是微控制器和DSP核,一个是数据和程序存储器核,最后一个是外围专用集成电路(ASIC)。这种单片机的最大特点在于把DSP和微控制器同时做在一个片上。把它和传统单片机结合集成大大提高了单片机的功能。这是目前单片机最大的进步之一。这种单片机最典型的有Infineon公司的TC10GP;Hitachi公司的SH7410,SH7612等。1.3.2 功耗、封装及电源电压的发展现在新的单片机的功耗越来越小,特别是很多单片机都设置了多种工作方式,这些工作方式包括等待,暂停,睡眠,空闲,节电等工作方式。现在单片机的封装水平已大大提高,随着贴片工艺的出现,单片机也大量采用了各种合符贴片工艺的封装方式出现,以大量减少体积。扩大电源电压范围以及在较低电压下仍然能工作是今天单片机发展的目标之一。目前,一般单片机都可以在3.35.5V的条件下工作。而一些厂家,则生产出可以在2.26V的条件下工作的单片机。1.4此次设计研究的主要内容应解决问题基于单片机构成的产品自动计数研究的主要内容包括:如果构成检测电路、AT89C单片机用何种方式对外部计数脉冲进行计数进行计数显示控制、LED显示驱动模块的选择、AT89C单片机的扩展。在这个设计中主要需要解决的问题是如何提高整体电路的抗干扰能力以及稳定性。1.5 本研究课题的发展趋势自单片机出现至今,单片机技术已走过了近20年的发展路程。纵观20年来单片机发展历程可以看出,单片机技术的发展以微处理器(MPU)技术及超大规模集成电路技术的发 展为先导,以广泛的应用领域拉动,表现出较微处理器更具个性的发展趋势。单片机的应用在后PC时代得到了前所未有的发展,但对处理器的综合性能要求也越来越高。综观单片机的发展,以应用需求为目标,市场越来越细化,充分突出以“单片”解决问题,而不像多年前以MCS51/96等处理器为中心,外扩各种接口构成各种应用系统。单片机系统作为嵌入式系统的一部分,主要集中在中、低端应用领域(嵌入式高端应用主要由DSP、ARM、MIPS等高性能处理器构成),在这些应用中,目前也出现了一些新的需求,主要体现在以下几个方面(1)以电池供电的应用越来越多,而且由于产品体积的限制,很多是用钮扣电池供电,要求系统功耗尽可能低,如手持式仪表、水表、玩具等。(2)随着应用的复杂,对处理器的功能和性能要求不断提高。既要外设丰富、功能灵活,又要有一定的运算能力,能做一些实时算法,而不仅仅做一些简单的控制。(3)产品更新速度快,开发时间短,希望开发工具简单、廉价、功能完善。特别是仿真工具要有延续性,能适应多种MCU,以免重复投资,增加开发费用。(4)产品性能稳定,可靠性高,既能加密保护,又能方便升级。9第二章 光电计数器的方案设计第二章 光电计数器的方案设计2.1 系统的设计要求设计光控电路,当有物体通过光电传感器正对面,产生一个阴影,通过LM393比较器出输一个数字信号,单片机采集信号,通过数码管显示。计数器的最大计数容量是99。硬件电路图如图2-1所示:复位电路单片机信号处理LM393比较电路光电传感器显示电路图2-1 光电计数器系统结构图2.2 系统的组成与结构整个光电计数器系统是由光电传感电路、运算比较电路、STC89C52RC单片机系统电路、显示计数电路、报警电路五个部分组成的,如图2-1所示。光电传感电路把被计数的物体的变化转换成电信号,由显示计数电路计数,再由数码显示管显示,当达到设定的报警值时,报警电路发出报警。2.3 中断方式计数由于光电技术电路需要在数码管上显示进入电影院的人数,因此可以在内部存储器空间定义它的显示缓存区,用来暂存数码管显示的当前值。系统在初始化程序之中,分别设置外部中断0和外部中断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位数据,传输快捷方便,但硬件较复杂,远距离传输成本较高,串行通信是一位一位的传送,一个字节的八位二进制数至少需要传送8次,结构也比较简单,串行通信是通过串行口来实现的,MCS-51单片机有一个全双工的异步串行接口可以用于串行数据的数据通信,串行通信的两种基本方式有异步传送方式和同步传送方式。MCS-51单片机采用异步通信的串行通信方式,有一个全双工的串行接口电路,整个串行通信可以通过编制的程序设定,串行接口电路的内部结构如图2-2所示。TXD(P3.1)内部总线RITI串行口中断发送SBUF门定时器1接收SBUF输入移位寄存器发送控制器1接收控制器串行控制寄存器SCONRXD(P3.0)图2-2 串行口内部结构SBUF是独立的两个缓冲器,主要功能存放接收到的数据和存放将要发送的数据,起缓冲作用,TXD是发送引脚,数据从TXD一位一位的向外设发送,RXD是接收引脚,数据从RXD一位一位的接收到单片机内。 99第三章 主要芯片元器件引脚图及功能介绍1313第三章 主要芯片元器件引脚图及功能介绍第三章 光电计数器的硬件电路设计3.1光敏电阻光敏电阻又称光导管,常用的制作材料为硫化镉,另外还有硒、硫化铝、硫化铅和硫化铋等材料。这些制作材料具有在特定波长的光照射下,其阻值迅速减小的特性。这是由于光照产生的载流子都参与导电,在外加电场的作用下作漂移运动,电子奔向电源的正极,空穴奔向电源的负极,从而使光敏电阻器的阻值迅速下降。3.1.1 光敏电阻的组成光敏电阻器是利用半导体的光电导效应制成的一种电阻值随入射光的强弱而改变的电阻器,又称为光电导探测器;入射光强,电阻减小,入射光弱,电阻增大。3.1.2光敏电阻的作用光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。常用的光敏电阻器硫化镉光敏电阻器,它是由半导体材料制成的。光敏电阻器对光的敏感性(即光谱特性)与人眼对可见光(0.40.76)m的响应很接近,只要人眼可感受的光,都会引起它的阻值变化。设计光控电路时,都用白炽灯泡(小电珠)光线或自然光线作控制光源,使设计大为简化。3.1.3光敏电阻的规格型号通常,光敏电阻器都制成薄片结构,以便吸收更多的光能。当它受到光的照射时,半导体片(光敏层)内 就激发出电子空穴对,参与导电,使电路中电流增强。为了获得高的灵敏度,光敏电阻的电极常采用梳状图案,它是在一定的掩膜下向光电导薄膜上蒸镀金或铟等金属形成的。一般光敏电阻器结构如图所示。 3-1 光敏结构图光敏电阻器通常由光敏层、玻璃基片(或树脂防潮膜)和电极等组成。光敏电阻器在电路中用字母“R”或“RL”、“RG”表示光敏电阻常用硫化镉(CdS)制成。它分为环氧树脂封装和金属封装两款,同属于导线型(DIP型),环氧树脂封装光敏电阻按陶瓷基板直径分为3mm、4mm、5mm、7mm、11mm、12mm、20mm、25mm 。3.2 AT89S52单片机AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含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)电路,片内时钟振荡器。此外,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串行中断口线、256x8bit内部RAM、2个外部中断源、低功耗空闲和省电模式、中断唤醒省电模式、3级加密位、看门狗(WDT)电路、软件设置空闲和省电功能、灵活的ISP字节和分页编程、双数据寄存器指针。图3-2 AT89S52引脚图3.3 LM393芯片LM393内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工 作条件下,电源电流与 电源电压无关。它的使用范围包括传感放大器、直流增益模组,音频放大器、工业控制、DC增益部件和其他所有可用单电源供电的使用运算放大器的场合。 3.3.1 LM393特性(Features) 内部频率补偿。 直流电压增益高(约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内部结构图 17第三章 主要芯片元器件引脚及功能介绍3.4 单片机最小系统设计图3-4 单片机最小系统基本电路图单片机的最小系统是由电源、复位、晶振、/EA=1组成,下面介绍一下每一个组成部分。1.电源引脚Vcc40电源端GND20接地端工作电压为5V,另有STC89S52工作电压则是2.7-6V,引脚功能一样。2.外接晶体引脚图3-5 晶振连接的内部、外部方式图XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。晶振的频率可以在1MHz-24MHz内选择。电容取30PF左右。系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为22F。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作3.5 总电路原理图3-6 总电路图25第四章 光电计数器的系统软件设计第四章 光电计数器系统软件设计系统上电初始化之后,主程序不断地扫描键盘和显示程序;同时判断外部中断标志是否有效。如果外部中断标志有效,则调用光电计数处理子程序,刷新数码管的显示值4.1系统控制主程序设计定义蜂鸣器接口P3.6,初始状态为0,蜂鸣器不报警,当有高电平触发P3.6是,蜂鸣器开始报警。当下一个脉冲是1时外部中断T0则产生中断,计数器停止加计数,同样若外部中断T1也是高电平则T1产生中断,计数器停止减计数。4.2 系统初始化子程序设计设定外部中断T0、T1的标志位置0即中断处于关闭状态,蜂鸣器控制标志位也置0,处于关闭状态,系统初始化流程图如图4-1所示。图4-1 系统初始化流程图4.3 显示子程序设计定义数码管的段码表、位选码,定义计数器的显示缓存区,在统计过程中,当一个信号传到单片机中,系统调用延时子程序进行延时,计数器对十位和个位进行计数判断,将数据通过数码管显示出来,显示子程序的电路图如图4-2所示。图4-2 动态显示电路流程图4.4 光电计数处理子字程序设计外部中断T0和T1初始化后都处于关闭状态,当其中断标志有效时进行加计数,当外部中断T0处于关闭时,外部中断T1进行加计数且判断计数器是否达到计满值99,若大于等于99则KEYBOARD=1蜂鸣器报警。外部中断T1关闭,开外部中断T0,则减计数,再开外部中断T0。最后将计数值通过数码管显示,其流程图如图4-3所示。开始系统初始化外部中断初始化显示是否有外部中断键盘处理返回调用光电计数处理程序是否有按键键盘扫描图4-3 光电计数处理子程序流程图4.5 C语言介绍C语言是一种面向过程的计算机程序设计语言,它是目前举世公认的优秀的结构程序设计语言之一。它由美国贝尔研究所的D.M.Ritchie于1972年推出。1978后,C语言已先后被移植到大、中、小及微型机上。 C语言发展如此迅速,而且成为最受欢迎的语言之一,主要因为它具有强大的功能。许多著名的系统软件,如DBASE 都是由C 语言编写的。用C 语言加上一些汇编语言子程序,就更能显示C 语言的优势了,像PC- DOS 、WORDSTAR等就是用这种方法编写的。C语言是一种成功的系统描述语言,用C语言开发的UNIX操作系统就是一个成功的范例;同时C语言又是一种通用的程序设计语言,在国际上广泛流行。世界上很多著名的计算公司都成功的开发了不同版本的C语言,很多优秀的应用程序也都使用C语言开发的,它是一种很有发展前途的高级程序设计语言。 1.C是中级语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。 2.C是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。 3.C语言功能齐全。具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。而且计算功能、逻辑判断功能也比较强大,可以实现决策目的的游戏。4.C语言适用范围大。适合于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。 C语言对编写需要硬件进行操作的场合,明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。 C语言具有较好的可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。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;while(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&flag=1) TK+; flag=0; if(TK=100) TK=99; Display(); 27第四章 软件设计4.7 keil软件调试4.7.1 软件介绍Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。4.7.2 系统概述目前流行的51系列单片机开发软件是德国Keil公司推出的Keil C51软件,Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势。下面详细介绍Keil C51开发系统各部分功能和使用。 4.7.3 Keil C51单片机软件开发系统的整体结构 C51工具包的整体结构,uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以第五章 光电计数器的系统仿真及调试 29与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。第五章 光电计数器的系统仿真及调试5.1 Proteus 简介Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持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建立了完备的电子设计开发环境。 功能模块:能原理图设计(ISIS)丰富的器件库:超过27000种元器件,可方便地创建新元件; 智能的器件搜索:通过模糊搜索可以快速定位所需要的器件; 智能化的连线功能:自动连线功能使连接导线简单快捷,大大缩短绘图时间; 支持总线结构:使用总线器件和总线布线使电路设计简明清晰; 可输出高质量图纸:通过个性化设置,可以生成印刷质量的BMP图纸,可以方便地供WORD、POWERPOINT等多种文档使用完善的电路仿真功能(Prospice)PROSPICE混合仿真:基于工业标准SPICE3F5,实现数字/模拟电路的混合仿真; 多样的激励源:包括直流、正弦、脉冲、分段线性脉冲、音频(使用wav文件)、指数信号、单频FM、数字时钟和码流,还支持文件形式的信号输入; 丰富的虚拟仪器:13种虚拟仪器,面板操作逼真,如示波器、逻辑分析仪、信号发生器、直流电压/电流表、交流电压/电流表、数字图案发生器、频率计/计数器、逻辑探头、虚拟终端、SPI调试器、I2C调试器等;生动的仿真显示:用色点显示引脚的数字电平,导线以不同颜色表示其对地电压大小,结合动态器件(如电机、显示器件、按钮)的使用可以使仿真更加直观、生动; 高级图形仿真功能(ASF):基于图标的分析可以精确分析电路的多项指标,包括工作点、瞬态特性、频率特性、传输特性、噪声、失真、傅立叶频谱分析等,还可以进行一致性分析;独特的单片机协同仿真功能(VSM)。PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。 它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。 课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台 随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTEUS也能获得愈来愈广泛的应用。使用Proteus 软件进行单片机系统仿真设计, 是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;在单片机课程设计和全国大学生电子设计竞赛中,我们使用 Proteus 开发环境对学生进行培训,在不需要硬件投入的条件下,学生普遍反映,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。实践证明,在使用 Proteus 进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计。5.2电路仿真第五章 光电计数器的系统仿真及调试 33在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:*.DSN,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。 1、建立光电计数器项目点击菜单:FileNewDesign,选择设计模板。一般选择A4图纸即可,点击OK,关闭对话框,完成设计图纸的模板选择,出现一个空白的设计空间。这时设计名称为UNTITLED(未命名),点击菜单filesavedesign来给设计命名。也可以在设计的过程中任何时候命名。2、调入元件对话框左上角,有一个Keywords输入框,可以在此输入要用的元件名称(或名称的一部分),右边出现符合输入名称的元件列表。3、设计原理图3-1放置元件在对象选择器中的元件列表中,单击所用元件,再在设计窗口单击,出现所用元件的轮廓,并随鼠标移动,找到合适位置,单击,元件被放到当前位置。至此,一个元件放置好了。继续放置要用的其他元件。3-2移动元件如果要移动元件的位置,可以先右击元件,元件颜色变红,表示被选中,然后拖动到需要的位置放下即可。放下后仍然是红色,还可以继续拖动,直到位置合适,在空白处单击鼠标左键,取消选中。3-3移动多个元件如果几个元件要一起移动,可以先把它们都选中,然后移动。选中多个元件的方法是,在空白处开始,点击左键并拖动,出现一个矩形框,让矩形框包含需要选中的元件再放开。如果选择的不合适,可以在空白处单击,取消选中,然后重新选择。3-4连线就是把元件的引脚按照需要用导线连接起来。方法是,在开始连线的元件引脚处点击左键,移动光标到另一个元件引脚的端点,单击即可。移动过程中会有一根线跟随光标延长,直到单击才停住。在第一根线画完后,第二根线可以自动复制前一根线,在一个新的起点双击即可。3-5修改元件参数电阻电容等元件的参数可以根据需要修改。3-6添加电源和地在左边工具栏点击终端图标即可出现可用的终端,在对象选择器中的对象列表中,单击POWER,在预览窗口出现电源符号,在需要放置电源的地方单击,即可放置电源符号,放置之后,就可以连线了。放置接地符号(地线)的方法与放置电源类似,在对象选择列表中单击GROUND,然后在需要接地符号的地方单击,就可以了。4、添加程序单片机应用系统的原理图设计完成之后,还要设计和添加程序,否则无法仿真运行。实际的单片机也是这样。在Poteus的单片机仿真项目中添加源程序。5、编译程序利用program软件自带的编译器进行编译。6、仿真6-1一般仿真在原理图编辑窗口下面有一排按钮,利用它可以控制仿真的过程。点击第一个按钮开始仿真,开始以后按钮的小三角变成绿色,点击第二个按钮单步仿真,点击第三个按钮暂停和继续仿真切换,点击最后一个按钮停止仿真。6-2调试选项点击暂停按钮,出现暂停画面。由于我们是添加过源程序的,所以会出现源代码窗口。源代码窗口内容从左到右是:地址指令注释。在窗口内点击鼠标右键,在出现的选项中点击所需要的项目就可以了。另外单击一个元件,可以显示这个元件当时的状态,如逻辑电平和电流电压的具体值等。7、通过仿真实现功能 5-1 计数部分仿真图第六章 PCB板及Protel的介绍 39第六章 PCB板及Protel的介绍6.1 PCB板简介PCB(PrintedCircuitBoard),中文名称为印制电路板,又称印刷电路板、印刷线路板,简单的说就是置有集成电路和其他电子组件的薄板,是重要的电子部件,是电子元器件的支撑体,是电子元器件电气连接的提供者,是低能耗、低污染的,由于它是采用电子印刷术制作的,故被称为“印刷”电路板。印制电路板的设计是以电路原理图为根据,实现电路设计者所需要的功能。印刷电路板的设计主要指版图设计,需要考虑外部连接的布局、内部电子元件的优化布局、金属连线和通孔的优化布局、电磁保护、热耗散等各种因素。优秀的版图设计可以节约生产成本,达到良好的电路性能和散热性能。简单的版图设计可以用手工实现,复杂的版图设计需要借助计算机辅助设计(CAD)实现。根据电路层数分类:分为单面板、双面板和多层板。常见的多层板一般为4层板或6层板,复杂的多层板可达十几层。PCB板有以下三种主要的划分类型:1.单面板单面板(Single-Sided Boards) 在最基本的PCB上,零件集中在其中一面,导线则集中在另一面上。因为导线只出现在其中一面,所以这种PCB叫作单面板(Single-sided)。因为单面板在设计线路上有许多严格的限制(因为只有一面,布线间不能交叉而必须绕独自的路径),所以只有早期的电路才使用这类的板子。2.双面板双面板(Double-Sided Boards) 这种电路板的两面都有布线,不过要用两面的导线,必须要在两面间有适当的电路连接才行。这种电路间的“桥梁”叫做导孔(via)。导孔是在PCB上,充满或涂上金属的小洞,它可以与两面的导线相连接。因为双面板的面积比单面板大了一倍,而且因为布线可以互相交错(可以绕到另一面),它更适合用在比单面板更复杂的电路上。3.多层板多层板(Multi-Layer Boards) 为了增加可以布线的面积,多层板用上了更多单或双面的布线板。用一块双面作内层、二块单面作外层或二块双面作内层、二块单面作外层的印刷线路板,通过定位系统及绝缘粘结材料交替在一起且导电图形按设计要求进行互连的印刷线路板就成为四层、六层印刷电路板了,也称为多层印刷线路板。板子的层数就代表了有几层独立的布线层,通常层数都是偶数,并且包含最外侧的两层。大部分的主机板都是4到8层的结构,不过技术上理可以做到近100层的PCB板。不过因为这类计算机已经可以用许多普通计算机的集群代替,超多层板已经渐渐不被使用了。因为PCB中的各层都紧密的结合,一般不太容易看出实际数目,不过如果仔细观察主机板,还是可以看出来。6.2 PCB板制作一、电路版设计的先期工作 利用原理图设计工具绘制原理图,并且生成对应的网络表。当然,有些特殊情况下,如电路版比较简单,已经有了网络表等情况下也可以不进行原理图的设计,直接进入PCB设计系统,在PCB设计系统中,可以直接取用零件封装,人工生成网络表。二、画出自己定义的非标准器件的封装库 建议将自己所画的器件都放入一个自己建立的PCB 库专用设计文件。 三、设置PCB设计环境和绘制印刷电路的版框含中间的镂空等 1、进入PCB系统后的第一步就是设置PCB设计环境。 2、规划电路版四、打开所有要用到的PCB 库文件后,调入网络表文件和修改零件封装 这一步是非常重要的一个环节,网络表是PCB自动布线的灵魂,也是原理图设计与印象电路版设计的接口,只有将网络表装入后,才能进行电路版的布线。 在原理图设计的过程中,ERC检查不会涉及到零件的封装问题。因此,原理图设计时,零件的封装可能被遗忘,在引进网络表时可以根据设计情况来修改或补充零件的封装。 当然,可以直接在PCB内人工生成网络表,并且指定零件封装

温馨提示

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

评论

0/150

提交评论