单片机mcs-51数字时钟

单片机mcs-51数字时钟

ID:23232099

大小:104.00 KB

页数:12页

时间:2018-11-05

单片机mcs-51数字时钟_第1页
单片机mcs-51数字时钟_第2页
单片机mcs-51数字时钟_第3页
单片机mcs-51数字时钟_第4页
单片机mcs-51数字时钟_第5页
资源描述:

《单片机mcs-51数字时钟》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、单片机MCS-51数字时钟课程设计系别:专业:班级:姓名:学号:日期:一、课程设计的目的二、设计内容三、代码说明四、组件说明与图示五、MCS-51单片机系统简介六、MCS-51单片机内部定时器/计数器中断系统简介七、键盘和LED数码管显示器简介八、总结一、课程设计的目的本课程设计是自动化专业、电子信息技术专业学生在学完单片机原理及课程之后必修课程,它的教学目的和任务是综合利用所学单片机知识完成一个单片机应用系统设计并在实验室实现,从而加深对单片机软硬知识的理解,获得初步的应用经验,为走出校门从事单片机应用的相关工作打下基础。二、设计内容

2、利用单片机的定时/计数器,中断系统,以及阵列键盘和LED显示器进行设计。在数码管显示器上实现电子时钟,并且能进行设置时间和暂停、启动控制。用定时/计数器T0,工作于定时,采用方式1,对12MHZ的系统时钟进行定时计数,初值设为C34F。形成定时时间为50ms。用片内RAM的7BH单元对50ms计数,计20次产生秒计数器7BH单元加1,秒计数器加到60则分计数器79H单元加1,分计数器加到60则时计数器7AH单元加1,时计数器加到24则时计数器清0。然后把秒、分、时计数器分成十位和个位放到8个数码管的显示缓冲区,通过数码管显示出来。显示格

3、式为小时十位、小时个位---分十位、分个位---秒十位、秒个位。在处理过程中加上了按键判断程序,能对按键处理。三、代码说明;主程序START:MOVR0,#70HMOVR7,#04HINIT:MOV@R0,#78HINCR0DJNZR7,INIT;对78~7B初始化00MOV72H,#10MOV75H,#10;72H、75H=#10,这个是时钟间隔的段选码MOVTMOD,#01HMOVTL0,#0B0HMOVTH0,#03CH;定时T0初始化SETBEASETBET0;开启定时中断SETBTR0;定时开始START1:LCALLSCAN

4、;输出时间(动态显示)LCALLKEYSCAN;检测按键SJMPSTART1;延时1MS子程序DL1MS:MOVR6,#14HDL1:MOVR7,#19HDL2:DJNZR7,DL2DJNZR6,DL1RET;延时20MS子程序DL20MS:ACALLSCANACALLSCAN;实际上包括了对数码管的3次动态显示ACALLSCANRET;数码管显示程序SCAN:MOVA,78H;处理时间缓冲数据:将60进制化为两个十进制(开始)MOVB,#0AHDIVAB;处理秒MOV71H,AMOV70H,BMOVA,79HMOVB,#0AHDIVA

5、B;处理分钟MOV74H,AMOV73H,BMOVA,7AHMOVB,#0AHDIVAB;处理时钟MOV77H,AMOV76H,BMOVR1,#70H;R1是时间缓冲区首地址MOVR5,#80H;R5是位选码,实现数码动态显示MOVR3,#08HSCAN1:MOVA,R5MOVP2,A;位选码,R5实现数码动态显示MOVA,@R1;从时间缓冲区提取一位数MOVDPTR,#TAB;码表首地址TABMOVCA,@A+DPTR;将该位数译码输出MOVP0,A;;将该位数译码输出并显示MOVA,R5LCALLDL1MS;每位输出后延迟1ms,然

6、后进行下一位的输出显示INCR1;R1指向下一位时间缓冲区地址MOVA,R5RrAMOVR5,A;R5会选择下一位数码管DJNZR3,SCAN1MOVP2,#0fH;MOVP0,#0c0H;这两句是扫描程序SCAN没有执行时数字时钟的状态,当按键按下不放时,前4位会显示0,RETTAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH;"0~9","-"的共阳极字段码秒速五厘米;定时器/计数器T0中断服务程序INTT0:PUSHACCPUSHPSW;storethesceneCLRE

7、T0;停止定时时中断CLRTR0;停止定时MOVTL0,#0B0HMOVTH0,#03CHSETBTR0;restartTOINC7BH;MOVA,7BHCJNEA,#14H,OUTT0;counttheTF0for20timesMOV7BH,#00INC78H;increase1secondwhen(7BH)hascounted"TF0=1"for20times,thatis1Sintotal!MOVA,78HCJNEA,#3CH,OUTT0MOV78H,#00INC79H;increase1minutewhensecondisove

8、rflowMOVA,79HCJNEA,#3CH,OUTT0MOV79H,#00INC7AH;increase1hourwhenminuteisoverflowMOVA,7AHCJNEA,#18H,OUTT0

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。