⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lab4_a1.a51

📁 Digital Clock in Assembly 我的一个大学满分VHDL作品
💻 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 + -