为 六位数码管时钟程序倚天版直接使用

上传人:woxinch****an2018 文档编号:38640840 上传时间:2018-05-05 格式:DOC 页数:6 大小:25.50KB
返回 下载 相关 举报
为 六位数码管时钟程序倚天版直接使用_第1页
第1页 / 共6页
为 六位数码管时钟程序倚天版直接使用_第2页
第2页 / 共6页
为 六位数码管时钟程序倚天版直接使用_第3页
第3页 / 共6页
为 六位数码管时钟程序倚天版直接使用_第4页
第4页 / 共6页
为 六位数码管时钟程序倚天版直接使用_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《为 六位数码管时钟程序倚天版直接使用》由会员分享,可在线阅读,更多相关《为 六位数码管时钟程序倚天版直接使用(6页珍藏版)》请在金锄头文库上搜索。

1、为 六位数码管时钟程序倚天版直接使用,p3.2,p3.3,p3.4,p3.5 四键控制!转 载自 无线电杂志 2003 年第 10 期。强烈推荐,实测 24 小时误差 5 秒。详细说明见无 线电杂志 2003 年第 10 期(注意,有少许改动);实用单片机电子钟的制作;主程序(MAIN),如下:ORG 0000HAJMP MAINORG 000BHAJMP TIMEORG 0300HMAIN: mov 20h,#00h MOV 21H,#00HMOV 22H,#00HMOV 23H,#00H MOV IP,#02H ;IP,IE 初始化MOV IE,#82H MOV TMOD,#01H ;设定

2、定时器工作方式?MOV TL0,#0B0HMOV TH0,#3CH SETB TR0 ;启动定时?MOV SP,#40H ;重设堆栈指针NEXT: LCALL DISP ;调用显示子程序?LCALL KEY ;调用按键检测子程序JZ NEXT ; LCALL ANKEY ;调用按键处理子程序SJMP NEXT ;重新循环NOPNOPNOP ;定时中断处理程序:TIME: PUSH ACC ;保护现场PUSH PSW MOV TL0,#0B4H ;赋定时初值MOV TH0,#3CHINC 20H ;MOV A,20HCJNE A,#20,RETI1 MOV 20H,#00H ;一秒钟时间到MOV

3、 A,21HADD A,#01HDA AMOV 21H,ACJNE A,#60H,RETI1 MOV 21H,#00H ;一分钟时间到MOV A,22HADD A,#01HDA AMOV 22H,ACJNE A,#60H,RETI1 MOV 22H,#00H ;一小时时间到MOV A,23HADD A,#01HDA AMOV 23H,ACJNE A,#24H,RETI1 MOV 23H,#00H ;到时间达到 24 小时,清零.RETI1: POP PSW ;恢复现场POP ACC RETI ;中断返回?NOPNOP;显示子程序DISP: ANL 2FH,#10H ;处理小数点MOV A,21

4、H ;处理秒 21H2DH,2EHANL A,#0FHORL A,2FHMOV 2FH,AMOV A,21H ANL A,#0F0HSWAP AMOV 2EH,AANL 2DH,#10H MOV A,22H ;处理分钟 22H2CH,2DHANL A,#0FHORL A,2DHMOV 2DH,AMOV A,22HANL A,#0F0HSWAP AMOV 2CH,AANL 2BH,#10H MOV A,23H ;处理小时 23H2AH,2BHANL A,#0FHORL A,2BHMOV 2BH,AMOV A,23HANL A,#0F0HSWAP AMOV 2AH,A MOV R0,#2FH ;显

5、示偏移量MOV R3,#06HMOV DPTR,#TABLEMOV A,#0BFHLOOP1: MOV B,A ;MOV P2,aMOV A,R0MOVC A,A+DPTR MOV P0,a ;送显示MOV R2,#80H ;延时DJNZ R2,$DEC R0MOV A,BRR A DJNZ R3,LOOP1 ;循环显示RETTABLE: db 28h,7eh,0a2h,62h,74h,61h,21h ;不带小数点DB 7ah,20h,60h,00,00,00,00,00,00 DB 8H,5eH,82H,42H,54H,41H,1H,5aH ;带小数点DB 00H,40H,00,00,00,

6、00,00,00NOPNOP ;按键判断程序KEY: MOV P3,#0FFH ;MOV A,P3CPL AANL A,#3CH JZ RETX ;无键按下则返回LCALL DISP ;LCALL DISPMOV A,P3CPL AANL A,#3CH JZ RETX ;键盘去抖动。MOV R6,A ;将键值存入 R6。LOOP2: LCALL DISP ;MOV A,P3CPL AANL A,#3CH JNZ LOOP2 ;等待键释放MOV A,R6RETX: RETNOPNOP ;按键处理子程序ANKEY: CLR EA ;关中断LX: MOV A,R6 JB ACC.2,L1 ;是功能键

7、转 L1JB ACC.3,L2 ;是确认键转 L2JB ACC.4,L3 ;是减 1 键转 L3JNB ACC.5,L12 ;不是增 1 键,转 L12JB 2BH.4,L6 ;判断使哪一位(时、分、秒)的值加 1JB 2DH.4,L8JB 2FH.4,L9L12: LCALL DISP LCALL DISP LCALL KEY ;判断有无键按下。JZ L12LJMP LXL2: MOV 25H,#00H ;确认键处理程序CLR 2BH.4CLR 2DH.4CLR 2FH.4SETB EARETL3: JB 2BH.4,L61 ;增一键处理程序JB 2DH.4,L81JB 2FH.4,L91A

8、JMP L12L1: MOV A,25H ;功能键处理程序JZ LB1JB ACC.0,LB2JB ACC.1,LB3JNB ACC.2,L12 LB1: MOV 25H,#01H ;25H 单元是标志位,(25H)=01H 调节时单元的值SETB 2BH.4 CLR 2DH.4CLR 2FH.4AJMP L12LB3: MOV 25H,#04H ;25H 单元是标志位,(25H)=01H 调节秒单元的值SETB 2FH.4CLR 2DH.4CLR 2BH.4AJMP L12LB2: MOV 25H,#02H ;25H 单元是标志位,(25H)=01H 调节分单元的值SETB 2DH.4CLR

9、 2BH.4CLR 2FH.4AJMP L12L61: AJMP L611 ; L81: AJMP L811 ;L91: AJMP L911 L6: MOV A,23H ;时加一ADD A,#01HDA AMOV 23H,ACJNE A,#24H,L15L15: JC L112MOV 23H,#00HL112: AJMP L12L8: MOV A,22H ;分加一ADD A,#01HDA AMOV 22H,ACJNE A,#60H,L16L16: JC L112MOV 22H,#00HAJMP L12L9: MOV A,21H ;秒加一ADD A,#01HDA AMOV 21H,ACJNE A,#60H,L17L17: JC L112MOV 21H,#00HAJMP L12L611: MOV A,23H ;时减一ADD A,#99HDA AMOV 23H,ACJNE A,#99H,L112MOV 23H,#23HAJMP L12L811: MOV A,22H ;分减一ADD A,#99HDA AMOV 22H,ACJNE A,#99H,L112MOV 22H,#59HAJMP L12L911: MOV A,21H ;秒减一ADD A,#99HDA AMOV 21H,ACJNE A,#99H,L112MOV 21H,#59HAJMP L12NOPNOP END

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 高中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号