




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一下程序是利用C51单片机实现电子钟的实用汇编程序: ORG 0000HBEGIN: LJMP INIT ORG 0003H ;INT0 RETI ORG 000BH ;T0 INTT0: LJMP T0INTSR RETI ORG 0013H ;1NT1 RETI ORG 001BH ;T1 INT RETI ORG 0023H ;S PORT INT RETI ORG 002BH ;T2 INT RETI ORG 0100H;=;8032 RAM 00H-FFH CLEAR 0INIT: MOV B,#0FFH MOV R0,#00H MOV A, #00HCLE0FFH:INC R0 MOV R0,A DJNZ B,CLE0FFH;SET STACK AREA 70H-7FH MOV SP,#70H;TIMER INIT MOV TMOD,#01H MOV TL0,#0B0H ;2 E+16 = 65536 = 15536 + 50000(0.05S) MOV TH0,#03CH ;3CB0H=15536;RAM INTI MOV 2FH,#3FH ;2FH IS FLASH TAG MOV 2EH,#00H ;2EH IS T0 INTERRUPT COUNTER MOV 2DH,#00H ;2DH IS THE SECOND COUNTER CLR P1.0 CLR P1.1;ENABLE INTERRUPT SETB EA SETB ET0;START UP T0 SETB TR0;SYSTEM NORMAL ,IDENTIFIER 0.0 MOV PSW,#00H;=ENTRK1: LCALL KEYSCAN;KEY SACN SUBRUTIN LCALL TICHANG;DISPLAY CHARACTER CHANGE LCALL DIFLASH;DISPLAY FLASHING LCALL DISPLAY;DISPLAY SUBRUTIN LCALL TIMECAL;TIME CALCULATE SJMP ENTRK1;=; 1. KEYSCAN.KEY SCAN SUBRUTIN; 2. TICHANG.TIME DATA CHARACTER CHANGE; 3. DIFLASH.DISPLAY FLASHING; 4. DISPLAY.DISPLAY SUBRUTIN; 5. TIMECAL.TIME CALCULATE; 6. DELAY60.DELAY 60mS; 7. DCCHANG.DISPLAY CHARACTER CHANGE;-;1. -;KEYSCAN:; KEY SCAN SUBRUTIN; 1. 8032 P1 PORT PIN DEFINITION; P3.2= +1 KEY BIT; P3.3=TIMESET KEY; 2. RAM BIT 00H -PRESS TIMESET KEY FLAG 1=PRESSED, 0=NOT; 02H -PRESS ADD 1 KEY PIN PONG FLAG; 03H -PRESS TIMESET KEY PIN PONG FLAG;-KEYSCAN:NOP PUSH PSW MOV PSW,#08H JB P3.2,KEYTIM0 LCALL DELAY60 ;DELAY 60mS JB P3.2,KEYTIM0 SETB 03H LJMP KEYSOUTKEYTIM0:JNB 03H,KEYJMP0 JB P3.2,TIMSET0 LCALL DELAY60 ;DELAY 60mS JB P3.2,TIMSET0 LJMP KEYSOUTKEYJMP0:LJMP KEYSCA0TIMSET0:NOP CLR 03H JB 00H,TIMESOK SETB 00H ;TIMESET KEY IS PRESSED CLR ET0 MOV 2DH,#00 MOV R0,#67H MOV R1,#6FH LJMP KEYSOUTTIMESOK:NOP DEC R0 ;TIMESET KEY IS PRESSED DEC R1 CJNE R0,#63H,TTTTT ;KEYSOUT CLR 00H SETB ET0TTTTT: LJMP KEYSOUTKEYSCA0:NOP JB P3.5,KEYP6H LCALL DELAY60 ;DELAY 60mS JB P3.5,KEYP6H SETB 02H LJMP KEYSOUTKEYP6H: JNB 02H,KEYJMP JB P3.5,ADD1PRS LCALL DELAY60 ;DELAY 60mS JB P3.5,ADD1PRSKEYJMP: LJMP KEYSOUTADD1PRS:CLR 02H JB 00H,ADD1IN JNB 01H,EQ67H1ADD1IN: MOV A,R0 ;+1 KEY IS PRESSED INC A MOV R0,A CJNE R0,#67H,LESS67H CJNE A,#03H,EQ67H0EQ67H0: JC EQ67H1 MOV R0,#0EQ67H1: LJMP KEYSOUTLESS67H:CJNE R0,#66H,LESS66H CJNE A,#0AH,EQ66H0EQ66H0: JC EQ66H1 MOV R0,#0EQ66H1: LJMP KEYSOUTLESS66H:CJNE R0,#65H,LESS65H CJNE A,#06H,EQ65H0EQ65H0: JC EQ65H1 MOV R0,#0EQ65H1: LJMP KEYSOUTLESS65H:CJNE R0,#64H,KEYSOUT CJNE A,#0AH,EQ64H0EQ64H0: JC KEYSOUT MOV R0,#0KEYSOUT:NOP POP PSW RET;-;2.-;TICHANG; TIME DATA CHARACTER CHANGE; 2. RAM BIT 00H -PRESS TIMESET KEY FLAG 1=PRESSED, 0=NOT;-TICHANG:NOP MOV R7,#4 MOV R0,#6FH MOV R1,#67HTCHANG0:MOV A,R1 LCALL DCCHANG ;DISPLAY CHARACTER CHANGE CPL A MOV R0,A DEC R0 DEC R1 DJNZ R7,TCHANG0TICHOUT:NOP RET;-;3.-;DIFLASH; DISPLAY FLASHING CHANGE; 1. RAM BIT 00H -PRESS TIMESET KEY FLAG 1=PRESSED, 0=NOT; 2. RAM 2FH IS FLASH TAG;-DIFLASH:NOP JB 00H,FLASHIN AJMP FLASOUTFLASHIN:MOV A,2FH RL A MOV 2FH,A ANL A,#03H CJNE A,#03H,FLASOUT PUSH PSW MOV PSW,#08H MOV R1,#0FFH POP PSWFLASOUT:RET NOP;-;4.-;DISPLAY:; DISPLAY SUBRUTIN; RAM:6FH CLOCK HORE 10 BIT; 6EH CLOCK HORE 1 BIT; 6DH CLOCK MIN 10 BIT; 6CH CLOCK MIN 1 BIT;-DISPLAY:NOP SETB P1.3 MOV P0,6FH CLR P1.0 LCALL DELAY60 ;DELAY 60MS LCALL DELAY60 ;DELAY 60MS SETB P1.0 MOV P0,6EH CLR P1.1 LCALL DELAY60 ;DELAY 60MS LCALL DELAY60 ;DELAY 60mS SETB P1.1 MOV P0,6DH CLR P1.2 LCALL DELAY60 ;DELAY 60MS LCALL DELAY60 ;DELAY 60MS SETB P1.2 MOV P0,6CH CLR P1.3 LCALL DELAY60 ;DELAY 60MS LCALL DELAY60 ;DELAY 60MS SETB P1.4 SETB P1.7 SETB P1.6 SETB P1.5 RET;-;5.-; TIMECAL:; TIME CALCULATE; 1. RAM BIT 00H -PRESS TIMESET KEY FLAG 1=PRESSED, 0=NOT; 2. RAM 2EH T0 INTERRUPT COUNTER; 3. RAM 2DH IS THE SECOND COUNTER; 4. RAM:6FH CLOCK HORE 10 BIT; 6EH CLOCK HORE 1 BIT; 6DH CLOCK MIN 10 BIT; 6CH CLOCK MIN 1 BIT;-TIMECAL:NOP JB 00H,TIMEOU1 MOV A,2EH ;HOUR DISPLAY FLASH CJNE A,#10,TIMECA1 ;TIMECA1:JNC TIMECA2 ; MOV A,66H ; CJNE A,#18H,TIMECA5 ;TIMECA5:JNC TIMEOU1 ; ADD A,#18H ; CLR P1.0 MOV 66H,A ; mov a,65h add a,#18h mov 65h,aTIMEOU1:LJMP TIMEOUT ;TIMECA2:CJNE A,#20,TIMECA3 ;TIMECA3:JNC TIMECAJ ; MOV A,66H ; CJNE A,#18H,TIMECA6 ;TIMECA6:JC TIMEOU2 ; SUBB A,#18H ; SETB P1.0 MOV 66H,A ; mov a,65h subb a,#18h mov 65h,aTIMEOU2:LJMP TIMEOUT ;HOUR DISPLAY FLASHTIMECAJ:MOV 2EH,#00H ;SECONDE ADD 1 MOV A,2DH ; CJNE A,#59,TIMECAF ;TIMECAF:JNC TIMECAG ; INC A ; MOV 2DH,A ; LJMP TIMEOUT ;SECONDE ADD 1TIMECAG:MOV 2DH,#00 ;MINIUT 0X ADD 1 MOV A,64H ; INC A ; JNB 06H,TIMEFAS DEC A CLR 06HTIMEFAS:CJNE A,#10,TIMECA7 ;TIMECA7:JNC TIMECA8 ; MOV 64H,A ; LJMP TIMEOUT ;MINIUTE 0X ADD 1TIMECA8:MOV 64H,#0 ;MINIUTE XO ADD 1 MOV A,65H ; INC A ; CJNE A,#6,TIMECA9 ;TIMECA9:JNC TIMECAA ; MOV 65H,A ; LJMP TIMEOUT ;MINIUTE X0 ADD 1TIMECAA:MOV 65H,#0 ;HOUR 0X ADD 1 MOV A,66H ; INC A ; CJNE A,#10,TIMECAB ;TIMECAB:JC TIMECAH ; LJMP TIMECAC ;TIMECAH:MOV 66H,A ;HOUR 0X ADD 1 MOV A,67H ;IF HOUR IS 24 CJNE A,#2,TIMEN24 ; MOV A,66H ; CJNE A,#4,TIMECAI ;TIMECAI:JNC TIME24H ;IF HOUR IS 24TIMEN24:LJMP TIMEOUTTIME24H:MOV 64H,#00 ;MIN 0X MOV 65H,#00 ;MIN X0 MOV 66H,#00 ;HOUR 0X MOV 67H,#00 ;HOUR X0 MOV 44H,#04 ;FIRST PROGRAM 1997-11-17 LJMP TIMEOUT ;NEW ONE DAYTIMECAC:MOV 66H,#0 ;HOUR X0 ADD 1 MOV A,67H ; INC A ; CJNE A,#3,TIMECAD ;TIMECAD:JNC TIMECAE ; MOV 67H,A ; LJMP TIMEOUT ;HOUR X0 ADD 1TIMECAE:MOV 67H,#0TIMEOUT:NOP RET;-;6.-;DELAY60:; DELAY 100mS FOR NEXT RANGING;-DELAY60:PUSH PSW MOV PSW,#00H MOV R3,#6 ;#10 0.5ms * 10 = 5ms 1997-9-3W60MS: MOV R4,#0FAH ;0FAH =250W500US1:DJNZ R4,W500US1 ;TIME = 2US 2 US * 250 = 0.5 MS DJNZ R3,W60MS POP PSW RET;-;7.-;DCCHANG:; DISPLAY CHARACTERS CHANGE ROUTINE; NOTE:; 1. ENTRY A-LOAD SETOFF; 2. RET A-DISPLAY CHARACTER;-DCCHANG:MOV DPTR,#CHARAL MOVC A,A+DPTR RET;CHARACTERS LISTCHARAL: DB 3FH,06H,5BH,4FH,66H,6DH;SETOFF : 00H,01H,02H,03H,04H,05H,;CHARACTERS: 0, 1, 2, 3, 4 , 5 DB 7DH,07H,7FH,6FH,77H,7CH; 06H,07H,08H,09H,0AH,0BH,; 6, 7, 8, 9, A, B, DB 39H,5EH,79H,71H,73H,3EH; 0CH,0DH,0EH,0FH,10H,11H,; C, D, E, F, P, U, DB 76H,38H,40H,6EH,0FFH,00H; 12H,13H,14H,15H,16H, 17H; H, L, -, Y, 8., DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH; 18H,19H, 1AH, 1BH, 1CH, 1DH,;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 体内主要微量元素的代谢生物化学07课件
- 水稻的生长发育
- 消防电源系统设计方案
- 水电站调压阀课件
- 正常人体解剖学椎骨的一般形态58课件
- 水电施工安全知识培训课件
- 2025版医疗卫生机构医护人员劳务派遣合作协议
- 二零二五年度大型工程项目爆破技术综合支持服务协议合同
- 二零二五年度生态农业建设项目分包协议书
- 二零二五年度房产过户离婚协议书及离婚后房产分割执行监督合同
- 去骨瓣减压术的护理
- 慈善机构的财务管理
- 《武汉大学分析化学》课件
- 医学影像学与辅助检查
- 电力工程竣工验收报告
- 双J管健康宣教
- 如何提高美术课堂教学的有效性
- 水电站新ppt课件 第一章 水轮机的类型构造及工作原理
- 护理查对制度课件
- 市政工程占道施工方案
- GB/T 39965-2021节能量前评估计算方法
评论
0/150
提交评论