hzh.asm

来自「本程序以单片机为核心设计一个多功电子表」· 汇编 代码 · 共 151 行

ASM
151
字号
  Z8279 EQU 0FF82H          
   D8279 EQU 0FF80H            
   LEDMOD EQU 00H            
   LEDFEQ EQU 2FH           
   LEDCLS EQU 0C1H           
   LEDWR0 EQU 80H           
   ORG 0000H
   LJMP MAIN 
   ORG 000BH                 
   LJMP INT0
   ORG 0030H
MAIN:
   LCALL INT8279               
   MOV TMOD, #01H           
   MOV TH0, #3CH       
   MOV TL0, #0B0H
   SETB EA
   SETB ET0            
   MOV R1,#2             
   MOV 21H,#0             
   MOV 22H,#0            
   MOV 41H,#0           
   MOV P1,#0FFH           
   SETB TR0              
TP:
    JNB P1.0,WATCH       
    MOV 23H,#0            
    MOV 24H,#0
TING:
    LCALL PAOBIAO            
    JNB P1.1,TING         
    JNB P1.2,$           
WATCH:
    MOV 35H,21H
    MOV 36H,22H
    LCALL DIVID
    MOV A,50H
    ADD A,#10   
    MOV 50H,A      
    LCALL DSPLAY
    LJMP TP          

PAOBIAO:                         
    MOV A,00H            
    CJNE A,#0FFH,XIAN       
    MOV 00H,#0
    INC 23H               
    MOV A,23H
    CJNE A,#100,XIAN        
    MOV 23H,#0
    INC 24H
    MOV A,24H
    CJNE A,#100,XIAN                
    MOV 23H,#0
    MOV 24H,#0
XIAN:
    MOV 35H,23H
    MOV 36H,24H
    LCALL DIVID           
    MOV A,53H             
    ADD A,#10
    MOV 53H,A
    LCALL DSPLAY         
    RET                  

INT0:                   
    PUSH ACC                 
    MOV TH0,#3CH              
    MOV TL0,#0B0H 
    DJNZ R1,RTN                 
    MOV R1,#2               
    MOV 00H,#0FFH            
    INC 41H                   
    MOV A,41H
    CJNE A,#10,RTN           
    MOV 41H,#0             
    INC 21H                      
    MOV A,21H
    CJNE A,#60,RTN           
    MOV 21H,#0
    INC 22H
    MOV A,22H
    CJNE A,#60,RTN                       
    MOV 22H,#0
    MOV 21H,#0
RTN:
    POP ACC             
    RETI                     
 
INT8279:                    
    MOV DPTR,#Z8279           
    MOV A,#LEDMOD             
    MOVX @DPTR,A
    MOV A,#LEDFEQ              
    MOVX @DPTR,A
    MOV A,#LEDCLS               
    MOVX @DPTR,A
    RET                       

DIVID:                   
    PUSH ACC               
    MOV A,36H                 
    MOV B,#10
    DIV AB
    MOV 51H,A                
    MOV 50H,B                
    MOV A,35H                
    MOV B,#10
    DIV AB
    MOV 53H,A                 
    MOV 52H,B                                          
    POP ACC                  
    RET                      

DISLED:                  
    PUSH DPH                
    PUSH DPL
    PUSH ACC
    MOV A,#LEDWR0            
    ADD A,R3                  
    MOV DPTR,#Z8279       
    MOVX @DPTR,A             
    MOV DPTR,#LEDSEG         
    MOV A,R4
    MOVC A,@A+DPTR           
    MOV DPTR,#D8279
    MOVX @DPTR,A             
    POP ACC                 
    POP DPL
    POP DPH
    RET                     

DSPLAY:                            
    MOV R4,50H
    MOV R3,#2
    LCALL DISLED             
    MOV R4,51H
    MOV R3,#3
    LCALL DISLED            
    MOV R4,52H
    MOV R3,#0
    LCALL DISLED            
    MOV R4,53H
    MOV R3,#1
    LCALL DISLED            
    RET                    

LEDSEG:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH    ;1,2,3,4,5,6,7,8,9
       DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH  
    END                      

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?