课程设计(论文)说明书题目:计数器院(系):信息与通信学院专业:电子信息工程学生姓名:*******学号:************指导教师:唐**职称:讲师2013年12月24日注:论文附有原理图和PCB图。点击下载桂林电子科技大学课程设计(论文)报告用纸_________________________________________________________________________________________________2摘要随着计数器技术的不断发展与进步,计数器的种类越来越多,应用的范围越来越广,现计数器的种类以增加到:电磁计数器、电子计数器、机械计数器(拉动机械计数器、转动机械计数器、按动机械计数器、测长机械计数器)、液晶计数器等。本课设设计的是由AT89S52单片机控制的计数器.通过驱动电路驱动两个共阴数码管进行显示数字。另外,在计数的方式上通过两个轻触开关进行控制是手动计数还是自动计数。在计数过程中可以通过复位按键进行复位,然后在进行下一次的计数。计数范围00~59,进行软件编程是本课设设计的是手动计数时从59开始,没按一次P3^7所接的轻触开关就减一,直到减到00又跳回59依次进行。而当P3^6外接的轻触开关按下一次就进行自动从00~59的加一计数。再按一次数值停止自动,保持显示原数,再按下接着进行自动计数。关键词:单片机;计数器;数码管;桂林电子科技大学课程设计(论文)报告用纸_________________________________________________________________________________________________3AbstractAstechnologycontinuestocounterthedevelopmentandprogress,thetypeofthecountermoreandmoreincreasinglywiderangeofapplications,inordertocounterthekindnow:electromagneticcounters,electroniccounters,mechanicalcounters(pullingmechanicalcounter,counterrotatingmachinery,pressingthemechanicalcounter,lengthmeasuringmechanicalcounter),LCDcounters.ThiscourseisdesignedtosetupcontrolledbythemicrocontrollerAT89S52counterthroughthedrivecircuittodrivetwocommoncathodeLEDdisplaynumbers.Further,thecountmodeswitchviatwotouchcontrolsarecountedmanuallyorautomaticallycounting.Inthecountingprocesscanberesetbyaresetbutton,andthenduringthenextcount.Countrange00to59,isasoftwareprogramdesignedforthiscourseissetupfromthe59tostartthemanualcount,nottheconnectedbyaP3^7touchswitchonminusone,untilreducedto00and59tojumpbackinturn.WhenP3^6externaltouchswitchispressedonceautomaticallyfrom00to59plusonecount.Pressagaintostoptheautomaticvalue,maintainingtheoriginalnumberisdisplayed,pressfollowedbyautomaticcounting.Keywords:microcontroller;counters;digital;桂林电子科技大学课程设计(论文)报告用纸_________________________________________________________________________________________________4目录1硬件电路的设计………………………………………………………………11.1设计原理图……………………………………………………………………11.2主控部分的选择……………………………………………………………12系统的功能要求及方案选择…………………………………………………12.1系统功能要求…………………………………………………………………12.2方案选择……………………………………………………………………23硬件系统设计介绍……………………………………………………………23.1系统芯片介绍………………………………………………………………23.1.1单片机AT89S52功能介绍………………………………………………23.1.2数码管的介绍………………………………………………………………53.2硬件设计……………………………………………………………………63.2.1复位电路…………………………………………………………………63.2.2晶振电路…………………………………………………………………83.2.3最小系统电路……………………………………………………………93.2.4数码管显示电路…………………………………………………………103.2.5数码管驱动电路…………………………………………………………103.2.6单片机P0I/O上拉………………………………………………………104系统软件设计………………………………………………………………114.1主程序流程图………………………………………………………………114.2计数器程序…………………………………………………………………124.3Proteus仿真………………………………………………………………145总结……………………………………………………………………………15谢辞…………………………………………………………………………16参考文献…………………………………………………………………………17附录……………………………………………………………………………18桂林电子科技大学课程设计(论文)报告用纸_________________________________________________________________________________________________11硬件电路的设计1.1设计原理图图(1)电路原理图1.2主控部分的选择本设计采用的主控部分是常见的单片机AT89S52,实现控制与处理的功能。单片机具有资源丰富、速度快、编程容易等优点。利用单片机内部的随机存储器(RAM)和只读存储器(ROM)及其引脚资源,外接数码管,通过轻触开关接地输入到P3^7实现计数脉冲的传输;另外,利用P3^6的高低电平和软件编程启动或停止定时器零进行00~59的计数。每隔一秒记一次;2系统的功能要求及方案选择2.1系统功能要求要求:1.计数范围:00~592.精确显示数字应解决问题:桂林电子科技大学课程设计(论文)报告用纸_________________________________________________________________________________________________2基于单片机构成的产品自动计数器研究的主要内容包括:如果构成检测电路、51单片机用何种方式对外部计数脉冲进行计数显示控制、LED显示驱动模块的选择、51单片机的扩展。在这个设计中主要需要解决的问题便是如何提高51单片机的抗干扰能力以及稳定性。2.2方案选择方案一:采用多种数字逻辑电路来实现逻辑控制、主门、门控、计数单元的设计要求,这样设计的电路整体比较复杂,而且不宜完成发挥部分的功能要求。所以方案一不采用。方案二:可以采用FPGA来实现逻辑控制、主门、门控、计数单元的设计要求,并且设计方便,但由于对FPGA的技术原理掌握不够熟练,所以放弃方案二。方案三:系统采用8051为核心的单片机控制系统,实现原理图中的逻辑控制、主门、门控、计数的设计要求单片机计数器的方式控制寄存器TMOD中的GATE位=1时,可以很方便的进行INT0引脚的外部输入信号的时间间隔测量。且单片机的控制电路很容易实现扩展。故采用方案三。3硬件系统设计介绍3.1系统芯片介绍3.1.1单片机AT89S52功能介绍AT89S52是Atmel公司生产的一种低功耗、高性能CMOS8位微控制器,具有8位在系统可编程Flash存储器。AT89S52使用Atme公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,也适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。其主要功能列举如下:1、拥有灵巧的8位CPU和在系统可编程Flash2、晶片内部具时钟振荡器(传统最高工作频率可至12MHz)3、内部程序存储器(ROM)为8KB桂林电子科技大学课程设计(论文)报告用纸_________________________________________________________________________________________________34、内部数据存储器(RAM)为256字节5、32个可编程I/O口线6、8个中断向量源7、三个16位定时器/计数器8、三级加密程序存储器9、全双工UART串行通道下面简单介绍AT89S52所用到引脚的功能:图(2)AT89S52芯片AT89S52管脚图VCC:AT89S52电源正端输入,接+5V。GND:接地。XTAL1:单芯片系统时钟的反相放大器输入端。XTAL2:系统时钟的反相放大器输出端,一般在设计上只要在XTAL1和XTAL2上接上一只石英振荡晶体系统就可以工作了,此外可以在两引脚与地之间加入一30PF的小电容,可以使系统更稳定,避免噪声干扰而死机。RESET:AT89S52的复位引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S52便能完成系统重置的各项动作,使得桂林电子科技大学课程设计(论文)报告用纸_________________________________________________________________________________________________4内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。EA/Vpp:寻址外部ROM控制端。低有效片内有ROM时应当接高电平。故此课设中接高电平(VCC)P0.0~P0.7:端口0是一个8位宽的开路汲极(OpenDrain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当做I/O用时可以推动8个LS的TTL负载。如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0~A7)及数据总线(D0~D7)。设计者必须外加一锁存器将端口0送出的地址栓锁住成为A0~A7,再配合端口2所送出的A8~A15合成一完整的16位地址总线,而定址到64K的外部存储器空间。此处外接上拉电阻,供代表十位的数码管使用;P2.0~P2.7:端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个L