基于数字钟的课程设计-单片机电子钟的制作_第1页
基于数字钟的课程设计-单片机电子钟的制作_第2页
基于数字钟的课程设计-单片机电子钟的制作_第3页
基于数字钟的课程设计-单片机电子钟的制作_第4页
基于数字钟的课程设计-单片机电子钟的制作_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于数字钟的课程设计-单片机电子钟的制作2007-06-30 12:23;主程序(MAIN,如下:ORG 0000HAJMP MAINORG 000BHAJMP TIMEORG 0300HMAIN:mov 20h#00hMOV 21H#00HMOV 22H#00HMOV 23H#00HMOV IP#02H ;IPIE初始化MOV IE#82HMOV TMOD#01H ;设定定时器工作方式? MOV TL0#0B0HMOV TH0#3CHSETB TR0 ;启动定时?MOV SP#40H ;重设堆栈指针NEXT: LCALL DISP ;调用显示子程序? LCALL KEY ;调用按键检测子程序

2、JZ NEXT ;LCALL ANKEY ;调用按键处理子程序SJMP NEXT ;重新循环NOPNOPNOP;定时中断处理程序:TIME: PUSH ACC ;保护现场PUSH PSWMOV TL0#0B4H ;赋定时初值MOV TH0#3CHINC 20H ;MOV A20HCJNE A#20RETI1MOV 20H#00H ;一秒钟时间到MOV A21HADD A#01HDA AMOV 21HACJNE A#60HRETI1MOV 21H#00H ;一分钟时间到MOV A22HADD A#01HDA AMOV 22HACJNE A#60HRETI1MOV 22H#00H ;一小时时间到M

3、OV A23HADD A#01HDA AMOV 23HACJNE A#24HRETI1MOV 23H#00H ;到时间达到24小时清零. RETI1: POP PSW ;恢复现场POP ACCRETI ;中断返回?NOPNOP;显示子程序DISP: ANL 2FH#10H ;处理小数点>MOV A21H ;处理秒21H->2DH2EH ANL A#0FHORL A2FHMOV 2FHAMOV A21HANL A#0F0HSWAP AMOV 2EHAANL 2DH#10HMOV A22H ;处理分钟22H->2CH2DH ANL A#0FHORL A2DHMOV 2DHAMOV

4、 A22HANL A#0F0HSWAP AMOV 2CHAANL 2BH#10HMOV A23H ;处理小时23H->2AH2BH ANL A#0FHORL A2BHMOV 2BHAMOV A23HANL A#0F0HSWAP AMOV 2AHAMOV R0#2FH ;显示偏移量MOV R3#06HMOV DPTR#TABLEMOV A#0BFHLOOP1: MOV BA ;MOV P2aMOV AR0MOVC AA+DPTRMOV P0a ;送显示MOV R2#80H ;延时DJNZ R2$DEC R0MOV ABRR ADJNZ R3LOOP1 ;循环显示RETTABLE: db 2

5、8h7eh0a2h62h74h61h21h ;不带小数点DB 7ah20h60h000000000000DB 8H5eH82H42H54H41H1H5aH ;带小数点DB 00H40H000000000000NOPNOP;按键判断程序KEY: MOV P3#0FFH ;MOV AP3CPL AANL A#3CHJZ RETX ;无键按下则返回LCALL DISP ;LCALL DISPMOV AP3CPL AANL A#3CHJZ RETX ;键盘去抖动。MOV R6A ;将键值存入R6。LOOP2: LCALL DISP ;MOV AP3CPL AANL A#3CHJNZ LOOP2 ;等待

6、键释放MOV AR6RETX: RETNOPNOP;按键处理子程序ANKEY: CLR EA ;关中断LX: MOV AR6JB ACC.2L1 ;是功能键转L1JB ACC.3L2 ;是确认键转L2JB ACC.4L3 ;是减1键转L3JNB ACC.5L12 ;不是增1键,转L12JB 2BH.4L6 ;判断使哪一位(时、分、秒的值加1 JB 2DH.4L8JB 2FH.4L9L12: LCALL DISPLCALL DISPLCALL KEY ;判断有无键按下。JZ L12LJMP LXL2: MOV 25H#00H ;确认键处理程序CLR 2BH.4CLR 2DH.4CLR 2FH.4

7、SETB EARETL3: JB 2BH.4L61 ;增一键处理程序 JB 2DH.4L81 JB 2FH.4L91 AJMP L12 L1: MOV A25H ;功能键处理程序 JZ LB1 JB ACC.0LB2 JB ACC.1LB3 JNB ACC.2L12 LB1: MOV 25H#01H ;25H 单元是标志位, (25H)=01H 调节时单元的值 SETB 2BH.4 CLR 2DH.4 CLR 2FH.4 AJMP L12 LB3: MOV 25H#04H ;25H 单元是标志位, (25H)=01H 调节秒单元的值 SETB 2FH.4 CLR 2DH.4 CLR 2BH.4

8、 AJMP L12 LB2: MOV 25H#02H ;25H 单元是标志位, (25H)=01H 调节分单元的值 SETB 2DH.4 CLR 2BH.4 CLR 2F H.4 AJMP L12 L61: AJMP L611 ; L81: AJMP L811 ; L91: AJMP L911 L6: MOV A23H ;时加一 ADD A#01H DA A MOV 23HA CJNE A#24HL15 L15: JC L112 MOV 23H#00H L112: AJMP L12 L8: MOV A22H ;分加一 ADD A#01H DA A MOV 22HA CJNE A#60HL16 L16: JC L112 MOV 22H#00H AJMP L12 L9: MOV A21H ;秒加一 ADD A#01H DA A MOV 21HA CJNE A#60HL17 L17: JC L112 MOV 21H#00H AJMP L12 L611: MOV A23H ;时减一 ADD A#99H DA A MOV 23HA CJNE A#99HL112 MOV 23H#23H AJMP L12 L811: MOV A22H ;分减一 ADD A#99H DA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论