您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 99秒倒数计时器的设计与制作宋云云
明达职业技术学院毕业设计(论文)2009-2010学年度信息工程系系电子信息工程技术专业班级07电信(2)学号43073207课题名称:99秒倒数计时器的设计与制作学生姓名:宋云云指导教师:陈慕铭2009年12月25日199秒倒数计时器的设计与制作作者:宋云云【摘要】:本论文是设计99秒倒数计时器,它是采用芯片AT89C51的功能并通过74LS373锁存段码后经数码管显示,并通过键盘可以任意调整倒计时时间。它应用比较广泛,通常用于交通灯,体育场地,电子产品等各种领域。【关键词】AT89C5174LS373数码管键盘2计数电路显示电路时间秒脉冲产生第一章方案的论证与选择一.设计指标(1)该倒计时器应具有基本倒时功能;(2)具有暂停,复位功能;(3)时间可以任意调整;(4)时间用数码管显示,初始值为99S,扫描时间为1MS。二.方案论证方案一:该方案采用单片机程序设计制作,它是利用芯片AT89C51的特殊功能,P3口控制按键开关,当按下开关S1,两个数码管将显示99,然后通过P2.0和P2.1对控制数码管的两个三极管进行位选,P1口输出段码经74LS373锁存来驱动数码管进行倒计时,同时能实现复位、暂停、任意调整时间的功能。其系统框图如图1所示图图1方案一系统框图方案二:该方案采用数字电路设计,利用555定时器定时1S脉冲控制异步十进制计数器74LS192的CP脉冲,实现倒计时,并利用数码管显示。下图2为系统框图图2方案二系统框图3方案选择第一种方案的电路结构比较简单,时间精度比较高,而且在软件编程方面相对简单,第二种时间精确度不高并且电路复杂,综合比较,故选择第一种方案。第二章系统硬件电路设计一.单片机最小应用系统单片机最小系统是单片机在发挥具体测控功能时所必须的组成部分。单片机最小应用系统方框图,如图3所示图3单片机最小系统应用框图1.复位电路单片机在开机时都需要复位,以便CPU及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。单片机复位电路工作原理:当通电瞬间稳压电源给电容充电。RESET为复位输入端,当RESET引脚持续两个机器周期以上的高电平时,使单片机完成复位操作,随着电容充电结束,将使电容与电阻之间将呈现低电平,单片机复位结束。复位操作的主要功能是把PC初始化为0000H,使单片机程序存储器从0000H单元开始执行程序。本设计主要采用上电自动复位电路,其电路图如图4所示4图4复位电路2.时钟电路本篇论文选择的方案中采用的是内部振荡方式。采用内部方式时在XTAL1和XTAL2引脚上接石英晶体和微调电容可以构成振荡器,如图5所示。图中C1、C2起稳定振荡频率、快速起振的作用。内部振荡方式所得的时钟信号比较稳定,实用电路中使用较多。振荡频率的选择范围为1MHz~12MHz。图5振荡电路二.显示电路显示器件有很多种,常用的有发光二极管,数码管,液晶显示器等,本文采用通用型的LED数码管。1.数码管的结构和分类LED数码管根据LED的接法不同分为共阴和共阳两类,它们的发光原理是一样的,只是它们的电源极性不同而已,其结构图分别如图6所示,本设计使用共阳数码管。5(a)共阴结构(b)共阳结构图6数码管结构2.显示驱动方式数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。本文主要采用动态显示驱动。由于数码管要点亮需要3—10mA的电流,但单片机不能提供如此大的电流故需要加74LS373加以驱动,单片机输出端引脚的电压约为5V,如果直接加载到数码管上将烧坏数码管,因此在这部分电路中一并加限流电阻,根据理论计算和实际的经验限流电阻取100Ω,其电路图如图7所示图7显示驱动电路3.74LS373功能简介74LS373是8D触发器,同时具有锁存,传送,高阻三种工作状态的寄存器,一般常用6于锁存地址,其功能引脚图如图8所示,真值表如表1所示。表1真值表图874LS373引脚图三.键控电路键盘是微机应用系统中使用最广泛的一种数据输入设备,按照键盘按键的结构形式,可分为独立式键盘和矩阵式键盘。本文主要采用独立式键盘,此键盘控制电路主要是用于调整时间,其电路结构图如图9所示。图9键盘控制电路3.1独立式键盘的扫描识别原理独立式键盘就是各个按键是相互独立的,分别接一根输入线,各条输入线上的按键工7作状态不会影响其他输入线的工作状态。因此,通过检测输入线的电平状态,可以判断哪个按键被按下,若检测是低电平则键盘闭合。3.2独立式键盘的消抖原理一般采用触点式键盘,由于机械触点的弹性作用,在闭合及断开的瞬间,电压信号伴随有一点时间的抖动,抖动时间与按键的机械特性有关,一般在5-10ms。为保证CPU一次按键动作,必须消除抖动的影响,消除抖动的措施有硬件消除和软件消除。本文根据抖动信号特点,采用软件消抖的方法,主要是在程序中调用延时子程序,判断前后两次读值是否相等,相等则为键盘闭合,反之键盘断开。四.总电路图总电路图如图10所示图1099秒倒数计时器总电路图第三章软件程序设计8本次程序设计采用汇编语言,程序包括时间1S产生模块,时间显示模块,时间调整模块等。一.程序流程图系统程序流程图如图10所示。图10程序流程图二.单元程序设计91.时间产生该部分主要完成时间基本单位1S钟的产生,其方法主要通过定时/计数器工作于方式二产生。其对应程序如下。ORG000BHLJMPTIMERSTART:MOV53H,#10MOV54H,#10S12:MOVTMOD,#01HMOVTH0,#0BDHMOVTL0,#0C0HMOVIE,#82HTIMER:DJNZR7,A2MOVTH0,#0BDHMOVTL0,#0C0HMOVR7,#16DJNZ20H,A2MOV20H,#10DJNZ21H,A2MOV21H,#10A2:RETI2.时间显示该模块主要作用是完成时间通过数码管显示,实现人机相互交接,对应程序如下:MOVA,20HMOVDPTR,#TABLEMOVCA,@A+DPTRMOVP1,AMOVP2,#02HLCALLDELAYMOVA,21HMOVCA,@A+DPTR10MOVP1,AMOVP2,#01HLCALLDELAY3.时间调整该模块主要作用是完成通过键盘任意调整时间,使其实用性更广,对应程序如下:M1:JNBP3.3,M1JNBP3.6,M31LJMPM3M31:LCALLDELAY10MSJNBP3.6,M32LJMPM3M32:MOVR2,20HCJNER2,#1,L6MOV20H,#10SJMPM3L6:DEC20HMOV53H,20HM3:JNBP3.7,L81SJMPL8L81:LCALLDELAY10MSJNBP3.7,L82SJMPL8L82:MOVR3,21HCJNER3,#1,L7MOVR2,20HCJNER2,#1,L8MOV20H,#10MOV21H,#10SJMPL8H2:LJMPQ1L7:DEC21HMOV54H,21H11L8:JNBP3.3,M51LJMPM5M51:LCALLDELAY10MSLCALLDELAY10MSJNBP3.3,H2LJMPM5三.源程序系统总源程序见附录二第四章电路的安装与调试一、硬件调试按照附录一的电路图在面包板上连接好电路,接通电源,测得单片机40脚、31脚电压为+5V,20脚接地,对应的数码管也能显示相应的数值,则证明电路完好。二、软件调试1.显示调试对程序的显示模块单步分析调试,发现数码管有乱码的现象,经检查发现是使用了共阴数码管,解决方法是换成共阳数码管,则数码管能正常显示数值。2.控制调试程序运行时发现按调整时间的按键无效,按键按下发现数码管闪而不发生变化,经检查发现键盘去抖动时间较短,则在程序中加入更长的延时则按键恢复正常使用。三、记录实验结果,完成报告12心得体会经过一个月的努力,毕业设计基本完成了,在毕业设计的过程中,学到很多有用的知识。在本次毕业设计中,我深深体会到做一个电子成品是多么的不容易,它是需要付出很多的艰辛劳动。其中包括方案的比较,元器件价格的比较,成品性能的比较等等诸多因素。但再复杂的产品都是从简单而来的,我们只有现在打好基础,发挥创新能力,才能与时俱进。同时在这次毕业设计中,我发现毕业设计的内容都是我们平时我们书本里涉及到的知识,可是我发现自己掌握的并不扎实,自身存在太多问题了,幸好有指导老师和同学的帮助,才能顺利完成这次毕业设计。通过这次毕业设计我会在以后的学习和工作中不断地完善自己的不足。当今一个充满机遇与智慧的社会,要想占有一席之地,那么需要有付出艰辛的努力和不怕困难的心理准备。13致谢本论文的顺利完成,离不开各位老师、同学和朋友的关心和帮助。我非常感谢我的指导老师陈慕铭,老师渊博的专业知识,严谨的态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己,朴实无华、平易近人的人格魅力对我影响深远。不仅使我树立了远大的学术目标、掌握了基本的研究方法,更近一步熟练运用仪器仪表,熟练的调试技巧,还使我明白了许多待人接物与为人处世的道理。本论文从选题到完成,每一步都是在导师的指导下完成的,倾注了导师大量的心血。在此,谨向指导导师表示崇高的敬意和衷心的感谢!另外还要感谢系领导和学校,给我提供了良好的设计环境,为我们顺利完成毕业设计提供了一个良好的外界环境!【参考文献】:【1】《单片机原理及接口技术》主编:徐煜明韩雁电子工业出版社2005.1出版【2】《单片机原理与运用》主编:董少明中国铁道出版社2007.11出版.【3】《8051单片机实践与应用》主编:吴金戌沈庆阳;清华大学出版社2002年出版【4】《模拟电子技术》主编:杨毅德重庆大学出版社2004年出版14附录一:硬件电路图附录二:ORG0000HSJMPSTARTORG000BHLJMPTIMERSTART:MOV53H,#10MOV54H,#10S12:MOVTMOD,#01HMOVTH0,#0BDHMOVTL0,#0C0H15MOVIE,#82HMOVDPTR,#TABLEMOV20H,53HMOV21H,54HMOV30H,#0MOV31H,#0MOVR6,#0MOVR7,#16CLRTR0A4:MOVA,20HMOVCA,@A+DPTrMOVP1,AMOVP2,#02HLCALLDELAYMOVA,21HMOVCA,@A+DPTRMOVP1,AMOVP2,#01HLCALLDELAYJNBP3.3,Q11SJMPQ1Q11:LCALLDELAY10MSJNBP3.3,M1Q1:JBP3.0,A4SETBTR0A1:JBP3.2,A3LJMPSTARTA3:JBP3.1,A5CLRTR0Q2:MOVP1,30HMOVP2,#02HLCALLDELAY16MOVP1,31HMOVP2,#01HLCALLDELAYJBP3.1,Q2SETBTR0A5:MOVA,20HMOVDPTR,#TABLEMOVCA,@A+DPTRMOV30H,AMOVP1,AMOVP2,#02HLCALLDELAYMOVA,21HMOVCA,@A+DPTRMOV31H,AMOVP1,AMOVP2,#01HLCALLDELAYMOVA,#01CJNEA,21H,A1MOVA,#01CJNEA,20H,A1LJMPS12M1:JNBP3.3,M1M5:MOVR3,#1M2:MOVR4,#1M9:MOVA,20HMOVDPTR,#TABLEMOVCA,@A+DPTRMOVP1,AMOVP2,#02HLCALLDELAY17MOVA,21HMOVCA,@A+DPTRMOVP1,AMOVP2,#01HLCALLDELAYDJNZR4,M9DJNZR3,M2JNBP3.6,M31LJMPM3M31:LCALLDELAY10MSJNBP3.6,M32LJMPM3M32:MOVR2,20HCJNER2,#1,L6MOV20H,#10SJMPM3L6:DEC20HMOV53H,20HM3:JNBP3.7,L81SJMPL8L81:LCALLDEL
本文标题:99秒倒数计时器的设计与制作宋云云
链接地址:https://www.777doc.com/doc-2899076 .html