📄 lab4_a1.a51
字号:
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/
;
; Course : EE2800 Aspect Of Electrical Engineering (PART B)
;
; Lab4 : Digital Clock in Assembly
;
; Group number : LAB4_A1
;
; Group Member : NAME: PANG YANG STUDENT ID : 3051364
; : NAME: YU TAO STUDENT ID : 3052730
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/
ORG 0000H ;Begin program at 0000H
LJMP INIT
ORG 0003H ;Begin program at 0003H
LJMP INT0_ISR ;call ISR
ORG 0013H ;Begin program at 0013H
LJMP INT1_ISR ;call ISR
MAIN: MOV R0, #00H ;clear R0
MOV R1, #00H ;clear R1
MOV R2, #00H ;clear R2
MOV R3, #00H ;clear R3
ORG 0100H ;starting address
INIT: MOV IE,#085H ;enbale interrupt
SETB TCON.0 ; edge sensitive
SETB TCON.2 ; edge sensitive
TMRUN: MOV P0, R0 ; copy content from R0 to P0
MOV P1, R1 ; copy content from R1 to P1
MOV P2, R2 ; copy content from R2 to P2
MOV P3, R3 ; copy content from R3 to P3
CALL DELAY1S ; call delay1s
INC R0 ; increase R0
CJNE R0, #0AH, TMRUN ; compare with 0AH, if not equal jump to TMRUN
MOV R0, #00H ; clear R0
INC R1 ; increase R1
CJNE R1, #06H, TMRUN ;compare with 06H, if not equal jump to TMRUN
MOV R1, #00H ; clear R1
INC R2 ; increase R2
CJNE R2, #0AH, TMRUN ;compare with 06H, if not equal jump to TMRUN
MOV R2, #00H ; clear R2
INC R3 ; increase R3
CJNE R3, #06H, TMRUN ;compare with 06H, if not equal jump to TMRUN
MOV R3, #00H ; clear R3
LJMP TMRUN
DELAY1S: MOV R4, #255 ; delay 1 seconds
LOOP1: MOV R5, #7 ; time simultion.....
LOOP2: NOP
LOOP3: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
DJNZ R6, LOOP3 ; Decrement desitination by one, jump to loop3 if result not 0
DJNZ R5, LOOP2
DJNZ R4, LOOP1
RET
INT0_ISR: MOV R1,#00H ; clear R1 (seconds)
MOV R0,#00H ; clear R0 (seconds)
RETI
INT1_ISR: MOV R3,#00H ; clear R0 (seconds)
MOV R2,#00H ; clear R0 (seconds)
RETI
END;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -