资源描述
毕业设计论文基于51单片机的流水线产品计数器设计班 级: 31001班 学 号:1 姓 名: 唐树春 专 业: 应用电子技术 指导老师:周晓红老师 二零一二年六月十日摘要本系统采用的是以单片机STC89c52为核心的光电计数器。其工作原理是采用单片机的外部中断0来进行计数,数据采集部分采用反射式光电传感器,将红外发光管与光电接收管相邻安放,每当物体通过一次,红外光就被物体反射,光电接收管接收一次,光电接收管的输出电压就产生一个变化,这个变化的电压信号通过放大和处理后,形成计数脉冲,输入至STC89c52单片机的P3.2口,通过软件控制和硬件控制并用LED加以显示,便可实现对物体的计数统计。本计数器可将机械或人工计数方式变为电子计数,并且采用LED数码管显示,可适用于诸多行业,以满足现代生产、生活方式的需求。所谓的光电式传感器是将光信号转化为电信号的一种传感器。光电式传感器是以光电器件作为转换组件的传感器,光电检测方法具有精度高、应用快、非接触等优点,而可测参数多,光电传感器的结构简单,形式灵活多变因此,光电式传感器在检测和控制中应用非常广泛。关键词:计数器;光电传感器;单片机;LED数码管AbstractThis system USES is with STC89c52 single chip microcomputer as the core of the photoelectric counter. The working principle of adopting SCM external interruption 0 to count, the data acquisition of the reflecting photoelectric sensor, the infrared light tube and photoelectric receiving tube adjacent put, whenever the object through a, infrared light is object reflective, photoelectric tube receiving a receiving, photoelectric receiving tube is the output voltage of produce a change, the changes of the voltage signal through the amplifier and processing, form count pulse, the input to STC89c52 SCM P3.2 mouth, through the control software and hardware control and that LED to, can realize the object counting statistics. This counter can or mechanical artificial count way into electronic counted, and using LED digital display tube, can be used in many industries, to meet the modern production, the way of life of demand.The so-called photoelectric sensor is light signals are converted to electrical signals a sensor. Photoelectric sensor is based on photoelectric device as a conversion of components of the sensor, photoelectric detection method has high accuracy, application, the advantages of fast contact, and can be measured parameters, the structure of the photoelectric sensor is simple, flexible in form so, photoelectric sensor in the detection and control is widely used.Keywords: counter; Photoelectric sensor; microcomputer; LED digital tube目录摘要IABSTRACTII第1章绪论11.1、本论文的背景和意义11.2、主要方法和研究进展11.3、主要容11.4、结构安排1第2章整体设计方案22.1、设计方案选择22.2、设计方框图2第3章硬件设计及功能33.1、基本介绍33.2、AT89C52引脚功能43.3、STC89c52系统结构图53.4、STC89c52的复位与时钟63.5、STC89c52单片机的基本工作电路63.6、本次设计的部分电路73.7、74HC573芯片73.8、显示电路8第4章软件设计104.1、Proteus软件104.2、Keil C51软件104.3、软件设计流程图:11致11结论13参考文献14附录 1 电气原理图15附录 2 PCB图与3D视图16附录3 源程序17附录4 仿真效果图1920 / 27第1章 绪论1.1、本论文的背景和意义随着计数器技术的不断发展与进步,计数器的种类越来越多,应用的围越来越广,随之而来的竞争也越来越激烈。过硬的技术也成为众多生产厂商竞争的焦点之一。厂商为了在竞争中处于不败之地,从而不断地改进技术,增加产品的种类。现在计数器的种类以增加到:电磁计数器、电子计数器、机械计数器拉动机械计数器、转动机械计数器、按动机械计数器、测长机械计数器、液晶计数器等。计数器的应用围也遍布印刷、纺织、印染、针织、电缆、电讯、军工、轻工、机械、开关、断路器、矿山、实行多班制的纺织行业的织布机、织带机、制线、制带、造纸、制革、薄膜、高压开关电器产品、试验设备,印刷设备、短路器、医疗、纺织、机械、仓库和码头的货运、行人及车辆过往的数量计数、冶金、食品、国防、包装、配料、石油、化工、发电、机床、仪表、自动化控制等行业。1.2、主要方法和研究进展主要方法是通过自己所学的知识来设计的,利用单片机与外围电路来共同达到所要设计的目的,但是该电路还是有很大的升级空间与拓展。1.3、主要容主要容有方案的选择与设计,介绍了两款Keil uVision4软件与ISIS 7 Professional软件辅助软件,阐述AT89C52单片机部结构及其最小系统的组成,74HC573锁存器的使用与作用以及LED数码管的结构与驱动方法等。1.4、结构安排首先阐述了数字计数器在日常生活中的重要性,其次介绍硬件结构及其设计方法与软件的设计流程,最后根据硬件与流程图设计出相应的程序及代码。第2章整体设计方案2.1、设计方案选择方案一:采用多种数字逻辑电路来实现逻辑控制、主门、门控、计数单元的设计要求,这样设计的电路整体比较复杂,而且不宜完成发挥部分的功能要求。所以方案一不采用。方案二:可以采用FPGA来实现逻辑控制、主门、门控、计数单元的设计要求,并且设计方便,但由于对FPGA的技术原理掌握不够熟练,所以放弃方案二。方案三:系统采用AT89C52为核心的单片机控制系统,实现原理图中的逻辑控制、主门、门控、计数的设计要求。单片机计数器的方式控制寄存器TMOD中的GATE位=1时,可以很方便的进行INT0引脚的外部输入信号的时间间隔测量。且单片机的控制电路很容易实现扩展,比如语音模块、测温I2C模块、时钟模块、A/D模块等。故采用方案三。74HC573驱动AT89C52单片机2.2、设计方框图电源电路LED显示数据采集电路复位电路手动模拟计数按键清零键时钟源第3章硬件设计及功能3.1、基本介绍AT89C52是一个低电压,高性能CMOS 8位单片机,片含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器RAM,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。其引脚排列与PDIP封装如下图所示。引脚排列 PDIP封装主要功能特性:1、兼容MCS51指令系统 2、8k可反复擦写大于1000次Flash ROM; 3、32个双向I/O口; 4、256x8bit部RAM; 5、3个16位可编程定时/计数器中断; 6、时钟频率0-24MHz; 7、2个串行中断,可编程UART串行通道; 8、2个外部中断源,共8个中断源; 9、2个读写中断口线,3级加密位; 10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能; 11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。3.2、AT89C52引脚功能VCC:单片机的供电电压4V-5.5V,最佳工作电压为5V。GND:单片机的接地引脚。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA / VPP:当/EA保持低电平时,则在此期间外部程序存储器0000H-FFFFH,不管是否有部程序存储器。XTAL1:反向振荡放大器的输入及部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。 P0端口P0.0-P0.7 P0是一个8位漏极开路型双向I/O端口,端口置1对端口写1时作高阻抗输入端。作为输出口时能驱动8个TTL。对部Flash程序存储器编程时,接收指令字节;校验程序时输出指令字节,要求外接上拉电阻。在访问外部程序和外部数据存储器时,P0口是分时转换的地址/数据总线,访问期间部的上拉电阻起作用。P1端口P1.0P1.7 P1是一个带有部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,部上拉电阻将端口拉到高电平,作输入用。对部Flash程序存储器编程时,接收低8位地址信息。 P2端口P2.0P2.7 P2是一个带有部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,部上拉电阻将端口拉到高电平,作输入用。对部Flash程序存储器编程时,接收高8位地址和控制信息。在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。而在访问8位地址的外部数据存储器时其引脚上的容在此期间不会改变。 P3端口P3.0P3.7 P2是一个带有部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,部上拉电阻将端口拉到高电平,作输入用。对部Flash程序存储器编程时,接控制信息。除此之外P3端口还用于一些专门功能,具体如表1-1所示。P3引脚兼用功能P3.0串行通讯输入RXDP3.1串行通讯输出TXDP3.2外部中断0 INT0P3.3外部中断1INT1P3.4定时器0输入P3.5定时器1输入P3.6外部数据存储器写选通WRP3.7外部数据存储器写选通RD表1-1P3端口引脚第二功能3.3、STC89c52系统结构图图1-1是MCS-52系列单片机的部结构示意图。图1-13.4、STC89c52的复位与时钟MCS-52单片机具有两种复位方式,如图1-2所示。上电复位手动复位图1-2MCS-52 单片机时钟信号源连接如图1-3所示。部时钟信号源外部时钟信号源图1-33.5、STC89c52单片机的基本工作电路单片机的基本工作电路也称为单片机的最小系统,如图1-4所示。图1-43.6、本次设计的部分电路本次设计的按键控制分为两部分,按键控制电路如图1-5所示。模拟计数控制计数清零控制图1-5本次设计的数据采集部分如图1-6所示。图1-63.7、74HC573芯片原理说明:74HC573的八个锁存器都是透明的D 型锁存器,当使能G为高时,Q 输出将随数据D输入而变。当使能为低时,输出将锁存在已建立的数据电平上。输出控制不影响锁存器的部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口。特别适用于缓冲寄存器,I/O 通道,双向总线驱动器和工作寄存器。74HC573特点: 三态总线驱动输出置数全并行存取缓冲控制输入使能输入有改善抗扰度的滞后作用PIN No 引脚号SYMBOL符号NAME AND FUNCTION名称及功能1OE3 State output Enable Input 3态输出使能输入低电平2, 3, 4, 5, 6, 7, 8, 9D0 to D7Data Inputs数据输入12,13,14,15,16,17,18,19Q0 to Q73 State Latch Outputs 3态锁存输出11LELatch Enable Input 锁存使能输入10GNDGround接地20VCCPositive Supply Voltage电源电压74Hc573引脚功能表3.8、显示电路显示器普遍地用于直观地显示数字系统的运行状态和工作数据,按照材料及产品工艺,单片机应用系统中常用的显示器有:发光二极管LED显示器、液晶LCD显示器、CRT显示器等。LED显示器是现在最常用的显示器之一,如下图所示。LED显示器的符号图 共阳式、共阴式LED数码管的符号图发光二极管LED由特殊的半导体材料砷化镓、磷砷化镓等制成,可以单独使用,也可以组装成分段式或点阵式LED显示器件半导体显示器。分段式显示器LED数码管由7条线段围成8字型,每一段包含一个发光二极管。外加正向电压时二极管导通,发出清晰的光。只要按规律控制各发光段亮、灭,就可以显示各种字形或符号。LED数码管有共阳、共阴之分。图是共阳式、共阴式LED数码管的原理图和符号.显示电路显示模块需要实时显示当前的时间,即时、分、秒,因此需要6个数码管,另需两个数码管来显示横。采用动态显示方式显示时间,硬件连接如下图所示,时的十位和个位分别显示在第一个和第二个数码管,分的十位和个位分别显示在第四个和第五个数码管,秒的十位和个位分别显示在第七个和第八个数码管,其余数码管显示横线。LED显示器的显示控制方式按驱动方式可分成静态显示方式和动态显示方式两种。对于多位LED显示器,通常都是采用动态扫描的方法进行显示,其硬件连接方式如下图所示。图3-6 数码管动态扫描的硬件连接示意图数码管使用条件:a、段及小数点上加限流电阻b、使用电压:段:根据发光颜色决定;小数点:根据发光颜色决定c、使用电流:静态:总电流 80mA每段 10mA;动态:平均电流 4-5mA 峰值电流 100mA数码管使用注意事项说明:数码管表面不要用手触摸,不要用手去弄引脚;焊接温度:260度;焊接时间:5s表面有保护膜的产品,可以在使用时撕下来。第4章软件设计4.1、Proteus软件Proteus软件是英国Labcenter electronics公司出版的EDA工具软件该软件中国总代理为风标电子技术。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具,从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,20XX又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。4.2、Keil C51软件Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在的完整开发方案,通过一个集成开发环境uVision将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。4.3、软件设计流程图:开始初始化等待INT0产生计数脉冲NOINT0产生计数脉冲了吗?YES对计数脉冲进行计数NO清零键按下了吗?YESNO对计数值清零YES对计数值清零计数值达到9999了吗?显示计数值结束致论文的完成标志着我的大专三年即将结束,也意味着,新的生活又将开始了。最近的半年则并行着找工作和写论文。其间的起起伏伏、悲喜得失,今天想来仍旧唏嘘不已。所幸我没有被失败击垮。自信、坚强、乐观的态度让我坚持到了最后,并且争取了最好的结局。通过悉心设计,在指导教师的耐心指导下,我完成了毕业设计的工作。此次的毕业设计是我们三年来专业知识的综合运用,是对我们能力的综合考核。这不仅涉及到对基本原理的理解,也涉及到对问题的分析能力。通过本次毕业设计,让我对我国电子软件有了新的认识。这也使我认识到了自己知识的匮乏和能力的有限。从而激励我在今后的学习和工作中更要努力的学习和不断的充实自己。在这里我尤其感老师。在您的耐心指导下,我才能成功的完成这次的毕业设计,在写论文时老师严格的要求我们,培养我们强烈的责任心和工作学习的积极性,并且耐心的解答论文中出现的问题。他还为我们指明了论文方向,校定论文方向。在他的要求下,我不仅完成了整个设计和论文,更重要的是锻炼了我分析问题和独立思考的能力。最后,我再一次表达我对领导以及教过我所有的老师最衷心的感,是你们在我前进的道路上给以引导,并无私的教给我许多专业知识以及做人的道理。再次,让我对所有的老师及所有帮助过我的同学们致以最崇高的敬意。长风破浪会有时,直挂云帆济沧海。这是我最喜欢的诗句。就用这话作为这篇论文的一个结尾,也是一段生活的结束。希望自己能够记取少年时的梦想,永不放弃。结论本设计介绍了一种基于AT89C2052单片机的智能化光电计数系统的设计,并已成功的用于实际系统中,需要指出的是,本课程设计利用软件编程、这样做不仅占用硬件资源少,而且成本较低,如果用于强磁强电的现场环境,考虑到要加以屏蔽。在项目设计的开始到结束本人一直认真对待,在制作的过程中遇到了很多困难,通过查阅相关资料和咨询斌老师已逐一解决问题的同时自己也增长了加深了关与光电转换,汇编语言的深化,单片机基础知识的认识理解领悟,到最后对光电计数系统的工作原理的掌握,最终设计出了自己理解的智能化光电计数系统。参考文献1 伟.单片机c语言程序设计实训100例:基于8051+Proteus仿真电子工业,20XX.2 郭天祥.新概念51单片机C语言教程:入门、提高、开发、拓展全攻略电子工业,20XX.3 喻宗泉.单片机原理与应用技术电子科技大学,20XX.4 松.金玲单片机技术与应用机械工业,20XX.5 于晓平.数字电子技术清华大学,20XX. 附录 1电气原理图本次设计的整体原理图如下图所示。附录 2 PCB图与3D视图PCB图PCB的3D视图附录3 源程序一、源程序代码#include #define uint unsigned int#define uchar unsigned charsbit K3=P34;/清零键sbit beep=P10;uchar code duan=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00;/共阴数码管编码uchar code wei=0x07,0x0b,0x0d,0x0e,;uchar data buffer_counts=0,0,0,0;uint count=0;/*延时函数*/void delayuint i,j;for0;i-for0;j-;/*显示函数*/void xianshiuchar a;buffer_counts3=count/1000;buffer_counts2=count%1000/100;buffer_counts1=count%100/10;buffer_counts0=count%10;fora=0;aP2=weia; /位码P0=duanbuffer_countsa; /段码delay; /延时/*主函数*/void mainEA=1; /开总中断IT0=1; /下降沿触发EX0=1; /开外部中断0whilexianshi;/调用显示函数if/如果产品达到10000个count=0;/将计数值清零if/如果K3按下count=0; /将计数值清零/*外部中断0处理服务程序*/void EX_INT0 interrupt 0count+;附录4 仿真效果图当前计数值为20个
展开阅读全文