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

📄 sx1302.asm

📁 单片机例程打包 液晶 AD EEPROM LED 电机 BEEP 键盘等
💻 ASM
📖 第 1 页 / 共 2 页
字号:
         JNB  K1,K021A
         JNB  K2,K021B
         JNB  K3,K003
         JMP  K020

K021A:
         MOV  A,41H
         ADD  A,#01H
         DA A
         MOV  41H,A
         XRL  A,#60H
         JNZ  K022A
         MOV  41H,#00H
K022A:   MOV  R1,#82H           
         MOV  R0,41H
         LCALL WRITE
         CALL  TIME_DELAY
         JMP  K020
;---------------------------------------------------
K021B:
         MOV  A,41H
         XRL  A,#00H
         JZ  K022B
         SETB  C              
         CLR  A
         ADDC  A,#99H         
         SUBB  A,#01H         
         ADD   A,41H          
         DA A                 
         MOV 41H,A            
         XRL  A,#00H
         JNZ K022C
K022B:   MOV  41H,#59H
K022C:   MOV  R1,#82H           
         MOV  R0,41H
         LCALL WRITE
         CALL  TIME_DELAY
         JMP  K020
;---------------------------------------------------
K003:    CALL DATE_DELAY       
         JNB K3,K003            

K030:    CALL  CHULI
         JNB  0AH,KR01

         MOV  60H,7FH          
         MOV  61H,7FH
         JMP  KR02

 KR01:   MOV  60H,76H          
         MOV  61H,77H          
 KR02:   MOV  R0,#DATE_DATA
         CALL  DISP
         MOV  R0,#DATE_DATA
         CALL  TIME_DISPLAY
         JNB  K1,K031A
         JNB  K2,K031B
         JNB  K3,K004
         JMP  K030
K031A:
         MOV  A,43H
         ADD  A,#01H
         DA A
         MOV  43H,A
         XRL  A,#32H
         JNZ  K032A
         MOV  43H,#00H
K032A:    MOV  R1,#86H           
         MOV  R0,43H
         LCALL WRITE
         CALL  DATE_DELAY
         JMP  K030

K031B:
         MOV  A,43H
         XRL  A,#00H
         JZ  K032B
         SETB  C               
         CLR  A
         ADDC  A,#99H          
         SUBB  A,#01H           
         ADD   A,43H            
         DA A                   
         MOV 43H,A
         XRL  A,#00H
         JNZ K032C
K032B:   MOV  43H,#31H
K032C:   MOV  R1,#86H           
         MOV  R0,43H
         LCALL WRITE
         CALL  DATE_DELAY
         JMP  K030
;------------------------------------------------
K004:    CALL DATE_DELAY        
         JNB K3,K004            
K040:    CALL  CHULI
         JNB  0AH,KC01

         MOV  62H,7FH           
         MOV  63H,7FH
         JMP  KC02

 KC01:   MOV  62H,78H           
         MOV  63H,79H           
 KC02:   MOV  R0,#DATE_DATA
         CALL  DISP
         MOV  R0,#DATE_DATA
         CALL  TIME_DISPLAY
         JNB  K1,K041A
         JNB  K2,K041B
         JNB  K3,K005
         JMP  K040
K041A:
         MOV  A,44H
         ADD  A,#01H
         DA A
         MOV  44H,A
         XRL  A,#13H
         JNZ  K042A
         MOV  44H,#00H
K042A:   MOV  R1,#88H           
         MOV  R0,44H
         LCALL WRITE
         CALL  DATE_DELAY
         JMP  K040

K041B:
         MOV  A,44H
         XRL  A,#00H
         JZ  K042B
         SETB  C              
         CLR  A
         ADDC  A,#99H         
         SUBB  A,#01H         
         ADD   A,44H          
         DA A                 
         MOV 44H,A            
         XRL  A,#00H
         JNZ  K042C
K042B:   MOV  44H,#12H
K042C:   MOV  R1,#88H        
         MOV  R0,44H
         LCALL WRITE
         CALL  DATE_DELAY
         JMP  K040
;-----------------------------------------------
K005:     CALL DATE_DELAY       
         JNB K3,K005            

K050:    CALL  CHULI
         JNB  0AH,KY01

         MOV  64H,7FH         
         MOV  65H,7FH
         JMP  KY02

 KY01:   MOV  64H,7AH          
         MOV  65H,7BH          
 KY02:   MOV  R0,#DATE_DATA
         CALL  DISP
         MOV  R0,#DATE_DATA
         CALL  TIME_DISPLAY
         JNB  K1,K051A
         JNB  K2,K051B
         JNB  K3,K008
         JMP  K050
K051A:
         MOV  A,45H
         ADD  A,#01H
         DA A
         MOV  45H,A
         XRL  A,#9AH
         JNZ  K052A
         MOV  45H,#00H
K052A:   MOV  R1,#8CH         
         MOV  R0,45H
         LCALL WRITE
         CALL  DATE_DELAY
         JMP   K050

K051B:
         MOV  A,45H
         XRL  A,#00H
         JZ  K052B
         SETB  C              
         CLR  A
         ADDC  A,#99H         
         SUBB  A,#01H         
         ADD   A,45H          
         DA A                 
         MOV  45H,A           
         XRL  A,#00H
         JNZ  K052C
K052B:   MOV  45H,#99H
K052C:   MOV  R1,#8CH         
         MOV  R0,45H
         LCALL WRITE
         CALL  DATE_DELAY
         JMP   K050
;-------------------------------------------------
K008:    JNB K3,K008
         MOV  R1,#80H          
         MOV  R0,#00H         
         LCALL WRITE

         MOV  R1,#8EH          
         MOV  R0,#80H          
         LCALL WRITE

         CALL  DATE_DELAY
         CLR  0AH
         CLR  TR0
         CALL  BEEP_BL
         RET

DSSET:
         SETB  TR0
DS01:    LCALL DS_DELAY        
         JNB  K4,$

DS010:   CALL  DS_CHULI
         JNB  0AH,DS01_1
         MOV  58H,7FH          
         MOV  59H,7FH
         JMP  DS01_2

DS01_1:  MOV  58H,70H         
         MOV  59H,71H         
DS01_2:  MOV  R0,#58H
         LCALL  DS_SP
         MOV  R0,#58H
         LCALL  DS_DISPLAY
         JNB  K1,DS01A        
         JNB  K2,DS01B        
         JNB  K3,DS02
         JMP  DS010

DS01A:                       
          MOV  A,48H
          ADD A,#01H
          DA A
          MOV 48H,A
          XRL  A,#60H
          JNZ DS011
          MOV  48H,#00H
DS011:    LCALL DS_DELAY
          JMP  DS010

DS01B:    MOV  A,48H          
          XRL  A,#00H
          JZ  DS012
          SETB  C              
         CLR  A               
         ADDC  A,#99H         
         SUBB  A,#01H         
         ADD   A,48H          
         DA A                 
         MOV 48H,A            
         XRL  A,#00H
         JNZ  DS013
DS012:   MOV  48H,#59H
DS013:   CALL  DS_DELAY
         JMP  DS010
;----------------------------------------------
DS02:     LCALL DS_DELAY      
          JNB  K3,$
DS020:
         CALL  DS_CHULI
         JNB  0AH,DS02_1

         MOV  5AH,7FH          
         MOV  5BH,7FH
         JMP  DS02_2

DS02_1:  MOV  5AH,72H          
         MOV  5BH,73H          
DS02_2:  MOV  R0,#58H
         LCALL  DS_SP
         MOV  R0,#58H
         LCALL  DS_DISPLAY
         JNB  K1,DS02A
         JNB  K2,DS02B
         JNB  K3,DS03
         JMP  DS020

DS02A:    MOV  A,49H          
          ADD  A,#01H
          DA A
          MOV  49H,A
          XRL  A,#24H
          JNZ  DS021
          MOV  49H,#00H
DS021:    LCALL DS_DELAY
          JMP  DS020

DS02B:    MOV  A,49H           
          XRL  A,#00H
          JZ  DS022
          SETB  C              
          CLR  A               
          ADDC  A,#99H         
          SUBB  A,#01H         
          ADD   A,49H          
          DA A                 
          MOV 49H,A            
          XRL  A,#00H
          JNZ  DS023
DS022:    MOV  49H,#23H
DS023:    CALL  DS_DELAY
          JMP  DS020
;-------------------------------------------
DS03:     CALL DS_DELAY
          JNB  K3,$

DS030:    CALL  DS_CHULI
          JNB  0AH,DS03_1
          MOV  5CH,7FH         
          JMP  DS03_2
DS03_1:   MOV  5CH,74H         
DS03_2:   MOV  R0,#58H         
          LCALL  DS_SP
          MOV  R0,#58H
          LCALL  DS_DISPLAY
          JNB K3,DS04
          JNB  K1,DS03A
          JMP  DS030

DS03A:    CPL  20H.1              
          JNB  20H.1,DS031
          MOV  4AH,#01H           
          AJMP  DS032
DS031:    MOV  4AH,#00H           
DS032:    LCALL DS_DELAY
          JMP  DS030
;--------------------------------------------
DS04:     CLR  TR0
          CLR  0AH
          CALL  BEEP_BL
          LCALL DS_DELAY
          RET


DS_CHULI:
          MOV A,48H               
          ANL A,#0FH
          MOV 58H,A
          MOV 70H,A
          MOV A,48H
          ANL A,#0F0H
          SWAP A
          MOV 59H,A
          MOV 71H,A

          MOV A,49H               
          ANL A,#0FH
          MOV 5AH,A
          MOV 72H,A
          MOV A,49H
          ANL A,#0F0H
          SWAP A
          MOV 5BH,A
          MOV 73H,A

          MOV A,4AH              
          ANL A,#01H
          MOV 5CH,A
          MOV  74H,A
          RET

DS_SP:    ;MOV R0,#58H
          MOV R3,#05H
DS_SP1:   MOV A,@R0
          MOV DPTR,#TAB_NU
          MOVC A,@A+DPTR
          MOV @R0,A
          INC R0
          DJNZ R3,DS_SP1
          RET

DS_DISPLAY:
          ;MOV  R0,#58H          
          MOV  R1,#07FH          
          MOV  R2,#07H           
DSPLAY:   MOV  P0,@R0            
          MOV  A,R1
          MOV  P2,A              
          JB  ACC.5,DSLP1        
          MOV  P0,#0BFH
          JMP  DSLP3
DSLP1:    JB  ACC.2,DSLP2        
          MOV  P0,#0BFH
          JMP  DSLP3
DSLP2:    INC  R0
DSLP3:    MOV  A,R1              
          RR  A                  
          MOV  R1,A              
          LCALL  DELAY
          DJNZ  R2,DSPLAY        
          RET                    

COMP:     JNB  20H.1,COMP1
          MOV  R0,#TIME_DATA
          LCALL  TIME_DISPLAY
          MOV  A,42H             
          CJNE  A,49H,COMP1      
          MOV A,41H
          CJNE  A,48H,COMP1
          JB   20H.0,COMP2       
          ;LCALL  BEEP_BL
          CLR  RELAY             
          JMP  COMP3
COMP1:    CLR  20H.0
COMP2:    SETB  RELAY
COMP3:    RET


DS_DELAY:
          MOV  R6,#0AH         
 DS_KK:
          LCALL  DS_CHULI
          MOV  R0,#DS_DATA
          LCALL  DS_SP
          MOV  R0,#DS_DATA
          LCALL  DS_DISPLAY
          DJNZ  R6,DS_KK
          RET

TIME_DELAY:                    
          MOV  R6,#0AH
TIME_KK:
          LCALL  CHULI
          MOV  R0,#TIME_DATA
          LCALL  DISP
          MOV  R0,#TIME_DATA
          CALL  TIME_DISPLAY
          DJNZ  R6,TIME_KK
          RET

DATE_DELAY:                    
          MOV  R6,#0AH
DATE_KK:
          LCALL  CHULI
          MOV  R0,#DATE_DATA
          LCALL  DISP
          MOV  R0,#DATE_DATA
          CALL  TIME_DISPLAY
          DJNZ  R6,DATE_KK
          RET


BEEP_BL:
         MOV  R6,#100
 BL2:    CALL  DEX1
         CPL  BEEP
         DJNZ  R6,BL2
         MOV  R5,#10
         CALL  DELAY_BL
         RET
 DEX1:   MOV  R7,#180
 DE2:    NOP
         DJNZ  R7,DE2
         RET
DELAY_BL:                    
         MOV  R6,#50
 DL1:    MOV  R7,#100
         DJNZ  R7,$
         DJNZ  R6,DL1
         DJNZ  R5,DELAY_BL
         RET
TAB_NU: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;0-9
        DB 0FFH 
        DB 88H,83H,0C6H,0A1H,86H,8EH ;A-F  
        END

⌨️ 快捷键说明

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