利用单片机设计电子时钟.doc

利用单片机设计电子时钟.doc

ID:61416363

大小:39.00 KB

页数:8页

时间:2021-01-27

利用单片机设计电子时钟.doc_第1页
利用单片机设计电子时钟.doc_第2页
利用单片机设计电子时钟.doc_第3页
利用单片机设计电子时钟.doc_第4页
利用单片机设计电子时钟.doc_第5页
资源描述:

《利用单片机设计电子时钟.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、单片机课程设计一、设计内容该课程设计是利用MCS-51单片机内部的定时/计数器、中断系统、以及外围的按键和LED显示器等部件,设计一个单片机电子时钟。设计的电子时钟通过数码管显示,并能通过按键实现设置时间和暂停、启动控制等。二、电子时钟设计思想:用定时/计数器T0,工作于定时,采用方式1,对12MHZ的系统时钟进行定时计数,初值设为XXYY(自己计算)。形成定时时间为50ms。用片内RAM的7BH单元对50ms计数,计20次1秒钟到,然后对秒计数器78H单元加1,秒计数器加到60后向分进位,则分计数器79H单

2、元加1而秒计数器78H单元清零;分计数器加到60后又向时进位,则时计数器7AH单元加1而分计数器79H单元清零;时计数器加到24则时计数器清零。然后把秒、分、时计数器分成十位和个位放到8个数码管的显示缓冲区,通过数码管显示出来。显示格式为小时十位、小时个位---分十位、分个位---秒十位、秒个位。在处理过程中加上了按键判断程序,能对按键处理。三、电子时钟硬件图四、软件程序:;采用8位LED软件译码动态显示程序;使用AT89C51单片机,12MHZ晶振,P0输出字段码,P2口输出位选码,用共阳;LED数码管,P

3、1.0为调时位选择按键,P1.1为加1键,P1.2为减1键。;片内RAM的70H到77H单元为LED数码管的显示缓冲区;78H,79H,7AH分别为秒、分、小时计数单元;7BH为50ms计数器,7CH为调时按键计数器ORG0000HLJMPSTARTORG000BH;定时器/计数器T0中断程序入口LJMPINTT0;主程序START:MOVR0,#70HMOVR7,#0CHINIT:MOV@R0,#00H;存储单元清零INCR0DJNZR7,INITMOV72H,#10;时、分、秒之间的短横显示MOV75H,

4、#10MOVTMOD,#01HMOVTL0,#0B0H;50ms定时初值MOVTH0,#03CHSETBEASETBET0SETBTR0START1:LCALLSCANLCALLKEYSCANSJMPSTART1;延时1MS子程序DL1MS:MOVR6,#14HDL1:MOVR7,#19HDL2:DJNZR7,DL2DJNZR6,DL1RET;延时20MS子程序DL20MS:ACALLSCANACALLSCANACALLSCANRET;数码管显示程序SCAN:MOVA,78H;秒计数值由二进制转十进制后MOV

5、B,#0AH;送入显示缓冲区相应位置DIVABMOV71H,AMOV70H,BMOVA,79H;分计数值由二进制转十进制后MOVB,#0AH;送入显示缓冲区相应位置DIVABMOV74H,AMOV73H,BMOVA,7AH;时计数值由二进制转十进制后MOVB,#0AH;送入显示缓冲区相应位置DIVABMOV77H,AMOV76H,BMOVR1,#70H;循环扫描显示MOVR5,#80H;显示秒个位的位码(LED共阳)MOVR3,#08HSCAN1:MOVA,R5MOVP2,A;位码从P2口送出MOVA,@R1

6、MOVDPTR,#TABMOVCA,@A+DPTRMOVP0,A;字段码从P0口送出MOVA,R5LCALLDL1MS;延时1msINCR1MOVA,R5RRAMOVR5,ADJNZR3,SCAN1MOVP2,#00HMOVP0,#0FFHRETTAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH;“0~9”,“-”的共阳极字段码;定时器/计数器T0中断服务程序INTT0:PUSHACCPUSHPSWCLRET0CLRTR0MOVTL0,#0B0HMO

7、VTH0,#03CHSETBTR0INC7BHMOVA,7BHCJNEA,#14H,OUTT0MOV7BH,#00INC78HMOVA,78HCJNEA,#3CH,OUTT0MOV78H,#00INC79HMOVA,79HCJNEA,#3CH,OUTT0MOV79H,#00INC7AHMOVA,7AHCJNEA,#18H,OUTT0MOV7AH,#00OUTT0:SETBET0poppswpopaccRETI;按键处理程序KEYSCAN:CLREAJNBP1.0,KEYSCAN0JNBP1.1,KEYSCAN

8、1JNBP1.2,KEYSCAN2KEYOUT:SETBEARETKEYSCAN0:LCALLDL20MSJBP1.0,KEYOUTWAIT0:JNBP1.0,WAIT0INC7CHMOVA,7CHCLRTR0CLRET0CJNEA,#03H,KEYOUTMOV7CH,#00SETBTR0;K0按3次后又恢复走时SETBET0SJMPKEYOUTKEYSCAN1:LCALLDL20MSJBP1.1,

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

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

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