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

📄 lcd_g7.asm

📁 国产变频器键盘源程序
💻 ASM
📖 第 1 页 / 共 5 页
字号:
 IE_END:        RETI  

                              
HD:             JNB     FLAG46,HD_START
                LCALL   TEST_HD
                LJMP    HD_END
HD_START:       MOV     R0,#37H
                MOV     R1,#48H
                MOV     R3,#02H  
HD_LOOP4:       MOV     A,@R0
                CLR     C
                SUBB    A,#30H
;                JC      HD_END     
                JNB     ACC.4,HD_NEXT3 
                SUBB    A,#07H
HD_NEXT3:       MOV     @R1,A
                INC     R0
                DEC     R1
                DJNZ    R3,HD_LOOP4 
                SWAP    A
                INC     R1
                INC     R1
                XCHD    A,@R1
                SWAP    A
                MOV     50H,A
                MOV     R0,#00H
                MOV     R3,#00H
                CLR     C 
HD_LOOP1:       SUBB    A,#64H
                JC      HD_NEXT1
                INC     R0
                AJMP    HD_LOOP1
HD_NEXT1:       ADD     A,#64H
                CLR     C
HD_LOOP2:       SUBB    A,#0AH
                JC      HD_NEXT2
                INC     R3
                AJMP    HD_LOOP2
HD_NEXT2:       ADD     A,#0AH 
                MOV     DPTR,#TAB1
                MOVC    A,@A+DPTR
                MOV     47H,A  
                MOV     A,R3               
                MOVC    A,@A+DPTR
                MOV     48H,A 
                MOV     A,R0
                CJNE    R0,#00H,HD_NEXT6
                MOV     49H,#0FFH
                AJMP    HD_NEXT9
HD_NEXT6:       MOVC    A,@A+DPTR
                MOV     49H,A
HD_NEXT9:       MOV     4AH,#8EH                  
                MOV     A,50H
                CJNE    A,#61H,HD_NEXT10
                MOV     A,BUFF13
                CJNE    A,#30H,HD_NEXT8
                CLR     FLAG33
                AJMP    HD_END
HD_NEXT8:       SETB    FLAG33
HD_NEXT10:      CJNE    A,#50H,HD_NEXT12                
                MOV     A,BUFF13
                CJNE    A,#30H,HD_NEXT11
                CLR     FLAG47
                AJMP    HD_END
HD_NEXT11:      SETB    FLAG47
                AJMP    HD_END
HD_NEXT12:      CJNE    A,#01H,HD_NEXT14                
HD_LOOP5:       MOV     R1,#9CH
                MOV     A,@R1
                JB      ACC.7,HD_NEXT13
                CLR     FLAG47
                AJMP    HD_END
HD_NEXT13:      SETB    FLAG47
                AJMP    HD_END
HD_NEXT14:      CJNE    A,#00H,HD_NEXT15
                AJMP    HD_LOOP5
HD_NEXT15:      CJNE    A,#14H,HD_NEXT17
                MOV     A,BUFF13
                CJNE    A,#35H,HD_NEXT16
                MOV     A,BUFF12
                CJNE    A,#36H,HD_NEXT16
                SETB    FLAG56     
                AJMP    HD_END
HD_NEXT16:      CLR     FLAG56
                AJMP    HD_END
HD_NEXT17:      JB      FLAG56,HD_END
                CLR     C
                SUBB    A,#62H
                JC      HD_END
                SETB    FLAG56
HD_END:         RET
                                               
                    
;====================================================================================               
                                
                
LCD_BRUSH :     PUSH    PSW
                MOV     PSW,#00H        ; BLOCK1 LCMDISPLAY
                SETB    RS0
                JNB     FLAG28,LCM_NEXT3
                MOV     A,5AH
                CJNE    A,#01H,LCM_NEXT3
                LCALL   ERROR
                INC     5AH                                   
                AJMP    LCM_NEXT5 
LCM_NEXT3:      JNB     FLAG27,LCM_NEXT0
                MOV     A,5AH
                CJNE    A,#00H,LCM_END
                INC     5AH                
                JB      FLAG2,LCM_NEXT1                             
                LCALL   LCM_FUNC_CODE                 
                AJMP    LCM_NEXT5
LCM_NEXT1:      LCALL   LCM_FUNC_CONT               
                AJMP    LCM_NEXT5
LCM_NEXT0:      JNB     FLAG17,LCM_NEXT2     ;"RUN"        
                JNB     FLAG24,LCM_END
                MOV     A,5AH
                CJNE    A,#02H,LCM_END
                INC     5AH
                LCALL   LCM_RUN                 
                CLR     FLAG24
                AJMP    LCM_NEXT5
LCM_NEXT2:      JNB     FLAG18,LCM_NEXT4       ;"STOP"                     
                JNB     FLAG26,LCM_END
                MOV     A,5AH
                CJNE    A,#03H,LCM_END
                INC     5AH
                LCALL   LCM_STOP
                CLR     FLAG26               
                AJMP    LCM_NEXT5
LCM_NEXT4:      JNB     FLAG46,LCM_END                
                LCALL   TEST_LCD
LCM_NEXT5:      SETB    FLAG31
LCM_END:        POP     PSW
                RET

LCD_DISPLAY:    PUSH    PSW
                MOV     PSW,#00H        ; BLOCK1 LCMDISPLAY
                SETB    RS0                   
                MOV     A,LCDPC
                CJNE    A,#00H,LCD_NEXT1 
                MOV     R1,#0B0H     
                MOV     PD1,#08H  
                MOV     PAGE1,#0B8H
                MOV     COLUMN,#13H
LCD_LOOP0:      MOV     A,@R1
                MOV     CODE1,A  
                LCALL   WRITE_E1
                INC     R1            
                INC     LCDPC
                AJMP    LCD_END
LCD_NEXT1:      CJNE    A,#01H,LCD_NEXT2                
                AJMP    LCD_LOOP0
LCD_NEXT2:      CJNE    A,#02H,LCD_NEXT3
                AJMP    LCD_LOOP0
LCD_NEXT3:      CJNE    A,#03H,LCD_NEXT4
                JNB     FLAG33,ADD_NEXT0
                JNB     FLAG27,ADD_NEXT0                
                SETB    FLAG49             ;ADD
                MOV     R0,#0ECH
                MOV     R7,#01H              
ADD_NEXT0:      AJMP    LCD_LOOP0
LCD_NEXT4:      CJNE    A,#04H,LCD_NEXT5          
                AJMP    LCD_LOOP0
LCD_NEXT5:      CJNE    A,#05H,LCD_NEXT6                                 
                AJMP    LCD_LOOP0
LCD_NEXT6:      CJNE    A,#06H,LCD_NEXT7                          
                AJMP    LCD_LOOP0
LCD_NEXT7:      CJNE    A,#07H,LCD_NEXT8                           
                AJMP    LCD_LOOP0
LCD_NEXT8:      CJNE    A,#08H,LCD_NEXT9              
                MOV     COLUMN,#16H                               
LCD_LOOP1:      MOV     A,@R1
                MOV     CODE1,A
                LCALL   WRITE_E2
                INC     R1                 
                INC     LCDPC
                AJMP    LCD_END
LCD_NEXT9:      CJNE    A,#09H,LCD_NEXT10                                 
                AJMP    LCD_LOOP1
LCD_NEXT10:     CJNE    A,#0AH,LCD_NEXT11                                   
                AJMP    LCD_LOOP1
LCD_NEXT11:     CJNE    A,#0BH,LCD_NEXT12                                   
                AJMP    LCD_LOOP1
LCD_NEXT12:     CJNE    A,#0CH,LCD_NEXT13                                                                
                AJMP    LCD_LOOP1
LCD_NEXT13:     CJNE    A,#0DH,LCD_NEXT14                                  
                AJMP    LCD_LOOP1
LCD_NEXT14:     CJNE    A,#0EH,LCD_NEXT15                                
                AJMP    LCD_LOOP1
LCD_NEXT15:     CJNE    A,#0FH,LCD_NEXT16
                MOV     PAGE1,#0B9H
                MOV     COLUMN,#13H
                JNB     FLAG33,ADD_NEXT12
                CLR     FLAG49                 
ADD_NEXT12:     AJMP    LCD_LOOP0                 
LCD_NEXT16:     CJNE    A,#10H,LCD_NEXT17
                AJMP    LCD_LOOP0                  
LCD_NEXT17:     CJNE    A,#11H,LCD_NEXT18
                AJMP    LCD_LOOP0
LCD_NEXT18:     CJNE    A,#12H,LCD_NEXT19
                JNB     FLAG33,ADD_NEXT13
                JNB     FLAG27,ADD_NEXT13                
                SETB    FLAG49
                MOV     R0,#0ECH
ADD_NEXT13:     AJMP    LCD_LOOP0
LCD_NEXT19:     CJNE    A,#13H,LCD_NEXT20                 
                AJMP    LCD_LOOP0
LCD_NEXT20:     CJNE    A,#14H,LCD_NEXT21                                   
                AJMP    LCD_LOOP0
LCD_NEXT21:     CJNE    A,#15H,LCD_NEXT22                                  
                AJMP    LCD_LOOP0
LCD_NEXT22:     CJNE    A,#16H,LCD_NEXT23                                  
                AJMP    LCD_LOOP0
LCD_NEXT23:     CJNE    A,#17H,LCD_NEXT24
                MOV     COLUMN,#16H                                   
                AJMP    LCD_LOOP1
LCD_NEXT24:     CJNE    A,#18H,LCD_NEXT25                                  
                AJMP    LCD_LOOP1
LCD_NEXT25:     CJNE    A,#19H,LCD_NEXT26                                  
                AJMP    LCD_LOOP1
LCD_NEXT26:     CJNE    A,#1AH,LCD_NEXT27                                  
                AJMP    LCD_LOOP1
LCD_NEXT27:     CJNE    A,#1BH,LCD_NEXT28                                 
                AJMP    LCD_LOOP1
LCD_NEXT28:     CJNE    A,#1CH,LCD_NEXT29                                  
                AJMP    LCD_LOOP1
LCD_NEXT29:     CJNE    A,#1DH,LCD_NEXT30                                 
                AJMP    LCD_LOOP1
LCD_NEXT30:     CJNE    A,#1EH,LCD_NEXT31
                MOV     PAGE1,#0BAH
                MOV     COLUMN,#13H
                JNB     FLAG33,ADD_NEXT26                
                CLR     FLAG49
                SETB    FLAG51                 
ADD_NEXT26:     AJMP    LCD_LOOP0
LCD_NEXT31:     CJNE    A,#1FH,LCD_NEXT32 
                AJMP    LCD_LOOP0
LCD_NEXT32:     CJNE    A,#20H,LCD_NEXT33 
                AJMP    LCD_LOOP0
LCD_NEXT33:     CJNE    A,#21H,LCD_NEXT34                
                JNB     FLAG33,ADD_NEXT27                 
                JB      FLAG2,ADD_NEXT27
                SETB    FLAG49
                MOV     R0,#0F2H
                MOV     R7,#01H
ADD_NEXT27:     AJMP    LCD_LOOP0
LCD_NEXT34:     CJNE    A,#22H,LCD_NEXT35                                 
                AJMP    LCD_LOOP0
LCD_NEXT35:     CJNE    A,#23H,LCD_NEXT36
                JNB     FLAG33,ADD_NEXT30
                JNB     FLAG2,ADD_NEXT30                  
                MOV     R0,#0F8H               
                MOV     R6,#01H                                          
                SETB    FLAG50                                            
ADD_NEXT30:     AJMP    LCD_LOOP0
LCD_NEXT36:     CJNE    A,#24H,LCD_NEXT37                
                AJMP    LCD_LOOP0
LCD_NEXT37:     CJNE    A,#25H,LCD_NEXT38                
                AJMP    LCD_LOOP0
LCD_NEXT38:     CJNE    A,#26H,LCD_NEXT39
                MOV     COLUMN,#16H                
                AJMP    LCD_LOOP1
LCD_NEXT39:     CJNE    A,#27H,LCD_NEXT40             
                AJMP    LCD_LOOP1
LCD_NEXT40:     CJNE    A,#28H,LCD_NEXT41                
                AJMP    LCD_LOOP1
LCD_NEXT41:     CJNE    A,#29H,LCD_NEXT42                
                AJMP    LCD_LOOP1
LCD_NEXT42:     CJNE    A,#2AH,LCD_NEXT43                 
                AJMP    LCD_LOOP1
LCD_NEXT43:     CJNE    A,#2BH,LCD_NEXT44
                AJMP    LCD_LOOP1
LCD_NEXT44:     CJNE    A,#2CH,LCD_NEXT45                
                MOV     A,@R1
                MOV     CODE1,A
                LCALL   WRITE_E2               
                MOV     DAT,#00H
                LCALL   PRG1
                LCALL   PRG1
                INC     R1
                INC     LCDPC   
                AJMP    LCD_END
LCD_NEXT45:     CJNE    A,#2DH,LCD_NEXT46
                MOV     PAGE1,#0BBH
                MOV     COLUMN,#13H 
                JNB     FLAG2,LCD_NEXT61                                 
                JNB     FLAG17,LCD_NEXT60
LCD_RUN_LOOP2:  MOV     COM,PAGE1
                LCALL   PRG3
                MOV     COM,COLUMN
                LCALL   PRG3            
LCD_LOOP2:      LCALL   DRAW1
                INC     LCDPC
                AJMP    LCD_END
LCD_NEXT60:     JNB     FLAG18,LCD_NEXT61
                AJMP    LCD_RUN_LOOP2 
LCD_NEXT61:     JNB     FLAG33,ADD_NEXT40                 
                CLR     FLAG49
                CLR     FLAG50
ADD_NEXT40:     AJMP    LCD_LOOP0 
LCD_NEXT46:     CJNE    A,#2EH,LCD_NEXT47
                JNB     FLAG2,LCD_NEXT63
                JNB     FLAG17,LCD_NEXT62
                AJMP    LCD_LOOP2                      
LCD_NEXT62:     JNB     FLAG18,LCD_NEXT63
                AJMP    LCD_LOOP2
LCD_NEXT63:     AJMP    LCD_LOOP0
LCD_NEXT47:     CJNE    A,#2FH,LCD_NEXT48
                JNB     FLAG2,LCD_NEXT65
                JNB     FLAG17,LCD_NEXT64
                AJMP    LCD_LOOP2
LCD_NEXT64:     JNB     FLAG18,LCD_NEXT65  
                AJMP    LCD_LOOP2
LCD_NEXT65:     AJMP    LCD_LOOP0
LCD_NEXT48:     CJNE    A,#30H,LCD_NEXT49                 
                JNB     FLAG2,LCD_NEXT67
                JNB     FLAG17,LCD_NEXT66
                AJMP    LCD_LOOP2
LCD_NEXT66:     JNB     FLAG18,LCD_NEXT67
                AJMP    LCD_LOOP2  
LCD_NEXT67:     JNB     FLAG33,ADD_NEXT41              
                JB      FLAG2,ADD_NEXT41
                SETB    FLAG49
                MOV     R0,#0F2H                
ADD_NEXT41:     LJMP    LCD_LOOP0
LCD_NEXT49:     CJNE    A,#31H,LCD_NEXT50 
                JNB     FLAG2,ADD_NEXT42
                JNB     FLAG17,LCD_NEXT68
                AJMP    LCD_LOOP2
LCD_NEXT68:     JNB     FLAG18,ADD_NEXT42
                AJMP    LCD_LOOP2           
ADD_NEXT42:     AJMP    LCD_LOOP0
LCD_NEXT50:     CJNE    A,#32H,LCD_NEXT51
                JNB     FLAG2,ADD_NEXT44
                JNB     FLAG17,LCD_NEXT70
                AJMP    LCD_LOOP2
LCD_NEXT70:     JNB     FLAG18,ADD_NEXT71
                AJMP    LCD_LOOP2
ADD_NEXT71:     JNB     FLAG27,ADD_NEXT44
                MOV     R0,#0F8H
                SETB    FLAG50 

⌨️ 快捷键说明

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