单片机电子时钟汇编语言程序 下载本文

内容发布更新时间 : 2024/5/5 11:33:22星期一 下面是文章的全部内容请认真阅读。

; 变量定义 ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SEC EQU 42H MIN EQU 41H HOUR EQU 40H C100 EQU 43H NZHOUR EQU 44H NZMIN EQU 45H TEMP EQU 46H TEMP2 EQU 47H TEMP3 EQU 48H LEDBUF EQU 60H OUTBIT EQU 8001H OUTSEG EQU 8000H IN EQU 8002H ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ORG 0000H LJMP START ORG 000BH LJMP INT00 ;::;::::::::::::::::::::::::::::;::::::

; 主程序 ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ORG 0070H START: MOV SP,#70H

MOV DPTR,#8003H MOV A,#89H MOV NZHOUR,#12

MOV NZMIN,#1FH ;闹钟初始值 8.30 MOVX @DPTR,A MOV TMOD,#01H MOV TH0,#0ECH MOV TL0,#78H MOV IE,#10000010B MOV TEMP,#00000001B MOV TEMP2,#1 MOV TEMP3,#200 CLR P1.0

MAIN_LP:MOV DPTR,#OUTBIT MOV A ,#00000001B MOVX @DPTR,A

MOV DPTR,#OUTSEG MOV A,#0F9H MOVX @DPTR,A

;段 MOV R6,#1 LCALL DELAY

MOV DPTR,#OUTBIT MOV A ,#00000010B MOVX @DPTR,A

MOV DPTR,#OUTSEG MOV A,#0F9H MOVX @DPTR,A MOV R6,#1 LCALL DELAY

MOV DPTR,#OUTBIT MOV A ,#00000100B MOVX @DPTR,A

MOV DPTR,#OUTSEG MOV A,#0F9H MOVX @DPTR,A MOV R6,#1 LCALL DELAY

MOV DPTR,#OUTBIT MOV A ,#00001000B MOVX @DPTR,A

MOV DPTR,#OUTSEG MOV A,#0F9H MOVX @DPTR,A MOV R6,#1 LCALL DELAY

MOV DPTR,#OUTBIT MOV A ,#00010000B MOVX @DPTR,A

MOV DPTR,#OUTSEG MOV A,#0F9H MOVX @DPTR,A MOV R6,#1 LCALL DELAY

MOV DPTR,#OUTBIT MOV A ,#00100001B MOVX @DPTR,A

MOV DPTR,#OUTSEG MOV A,#0F9H MOVX @DPTR,A MOV R6,#1 LCALL DELAY LCALL TESTKEY JB Acc.0,MAIN_LP

MOV R6,#10 LCALL DELAY LCALL TESTKEY JB Acc.0,MAIN_LP LCALL MAIN_KEY SJMP MAIN_LP

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; 判断按键程序 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

TESTKEY:MOV DPTR ,#OUTBIT MOV A,#00H MOVX @DPTR,A MOV DPTR,#IN MOVX A,@DPTR RET

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; 1ms延时 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

DELAY:MOV R7,#0

DELAY1:DJNZ R7,DELAY1 DJNZ R6,DELAY1 RET

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; 获取按键并跳转程序 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; MAIN_KEY:MOV DPTR,#OUTBIT MOV A,#11111110B MOVX @DPTR,A MOV DPTR ,#IN MOVX A,@DPTR JNB Acc.0,MAIN_K1 MOV DPTR,#OUTBIT MOV A,#11111101B MOVX @DPTR,A MOV DPTR ,#IN MOVX A,@DPTR JNB Acc.0,MAIN_K2 MOV DPTR,#OUTBIT

; ; ;