资源描述:
《具有整点报时功能的数字电子钟设计报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、成都航空职业技术学院《电子钟实训报告》专业:应用电子班级:210341姓名:周洪指导教师:邱寄帆完成日期:2012年6月8日一、设计题目:具有整点报时功能的数字电子钟二、设计目的:利用89S51芯片及相关芯片构成电子时钟,在数码管上显示相应的时间三、设计要求:1、完成时钟的正常运行与显示2、具有整点报时功能3、具有校时功能四、设计方案:1、实现时钟计时的基本方法利用单片机的可编程定时/计数器、中断系统来实现时钟计数。(1)把定时器设为工作方式1,定时时间为125ms,则计数溢出8次即得时钟计时最小单位秒。TL1=0CDH,TH1=0BH(2
2、)采用中断方式进行溢出次数累计,计满8次为秒计时(1秒);(3)从秒到分和从分到时的计时是通过累加和数值比较实现。2、电子钟的时间显示电子钟的时钟时间在六位数码管上进行显示,因此,在内部RAM中设置显示缓冲区共8个单元。LED6LED5LED4LED3LED2LED17EH7DH7CH7BH7AH79H时十位时个位分十位分个位秒十位秒个位五、设计程序LJMPMAINORG0003HLJMPINT_0ORG001BHLJMPINTORG0030HMAIN:MOVR0,#79H;显示缓冲区首地址MOVR7,#06HML1:MOV@R0,#00H
3、INCR0DJNZR7,ML1MOVTMOD,#10H;初始化定时器MOVTL1,#0CDHMOVTH1,#0BHSETBEASETBEX0SETBET1SETBTR1MOV30H,#08HML0:LCALLSMXS;调用显示函数SJMPML0;====================================INT_0:MOV79H,#00H;中断服务程序------校时秒个位MOV7AH,#00H;中断服务程序------校时秒十位ML00:LCALLSMXSJNBP1.5,RETTJBP1.1,NNN;INCSJMPIINNCC
4、NNN:JBP1.2,QQ;DECSJMPDDEECCQQ:JBP1.3,WWSJMPQQWWEEWW:JBP1.4,ML00SJMPWWEERRIINNCC:MOVR4,7BHCJNER4,#9,INC11MOV7BH,#00H;中断服务程序------校时分个位MOVR4,7CH;中断服务程序------校时分个位CJNER4,#5,INC22MOV7CH,#00HSJMPML00INC11:INC7BHSJMPNN1INC22:INC7CHNN1:MOVR6,#60AAAA:LCALLSMXSDJNZR6,AAAARETT:RETI;
5、====================================DDEECC:MOVR4,7BHCJNER4,#0,INC33MOV7BH,#9MOVR4,7CHCJNER4,#0,INC44MOV7CH,#05SJMPNN2INC33:DEC7BHSJMPNN2INC44:DEC7CHNN2:MOVR6,#60BBBB:LCALLSMXSDJNZR6,BBBBRETI;====================================QQWWEE:MOVR4,7DHCJNER4,#9,INC55MOV7DH,#00HMOVR
6、4,7EHCJNER4,#2,INC66MOV7EH,#00HSJMPNN3INC55:INC7DHSJMPNN3INC66:INC7EHNN3:MOVR6,#60CCCC:LCALLSMXSDJNZR6,CCCCRETI;====================================WWEERR:MOVR4,7DHCJNER4,#0,INC77MOV7DH,#9MOVR4,7EHCJNER4,#0,INC88MOV7EH,#02SJMPNN4INC77:DEC7DHSJMPNN4INC88:DEC7EHNN4:MOVR6,#60
7、DDDD:LCALLSMXSDJNZR6,DDDDRETI;====================================INT:PUSHPSWPUSHACCMOVTL1,#0CDHMOVTH1,#0BHMOVA,30H;秒加1DECAMOV30H,AJNZRET0MOV30H,#08HMOVR0,#7AHLCALLDAAD1MOVA,R2;分加1XRLA,#60HJNZRET0LCALLBEEP_BL;跳转到音频子程序(每分钟报时一次)LCALLCLR0MOVR0,#7CH;时加1LCALLDAAD1MOVA,R2XRLA,#6
8、0HJNZRET0LCALLCLR0MOVR0,#7EHLCALLDAAD1MOVA,R2XRLA,#24HJNZRET0LCALLCLR0RET0:POPACCPOPPSWRE