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

📄 lcd_g7.asm

📁 国产变频器键盘源程序
💻 ASM
📖 第 1 页 / 共 5 页
字号:
               Baud     EQU     0FAH     ;byte (0F7H 16MHZ;0FAH 11.0592MHZ)
               Ltime    EQU     0CCH     ;timer  constant (95H 16MHZ; 0CCH)
               Htime    EQU     0F8H    ;timer  constant  (F5H 16MHZ; 0F8H)
               Counter  EQU     7FH     ;byte 
               FLAG1    EQU     02H     ;bit rxd flag
               FLAG2    EQU     03H     ;bit
               FLAG3    EQU     04H     ;bit
               FLAG4    EQU     05H     ;bit
               FLAG5    EQU     06H     ;bit "ST"
               FLAG6    EQU     07H     ;bit "DOWN"              
               FLAG7    EQU     08H     ;bit "UP"
               FLAG8    EQU     09H     ;bit "SET"
               FLAG9    EQU     0AH     ;bit  flag
               FLAG10   EQU     00H     ;bit  flag
               FLAG11   EQU     01H     ;bit  flag
               FLAG12   EQU     0BH     ;bit  flag
               FLAG13   EQU     0CH     ;bit  flag
               FLAG14   EQU     0DH     ;bit  flag
               FLAG15   EQU     0EH     ;bit  flag
               FLAG16   EQU     0FH     ;bit  flag
               FLAG17   EQU     10H     ;bit  flag
               FLAG18   EQU     11H     ;bit  flag
               FLAG19   EQU     12H     ;bit  flag
               FLAG20   EQU     13H     ;bit  flag
               FLAG21   EQU     14H     ;bit  flag
               FLAG22   EQU     15H     ;bit flag
               FLAG23   EQU     16H     ;bit flag
               FLAG24   EQU     17H     ;bit flag
               FLAG25   EQU     18H     ;bit flag
               FLAG26   EQU     19H     ;bit flag
               FLAG27   EQU     1AH     ;bit flag
               FLAG28   EQU     1BH     ;bit  flag
               FLAG29   EQU     1CH     ;bit flag
               FLAG30   EQU     1DH     ;bit flag
               FLAG31   EQU     1EH     ;bit flag
               FLAG32   EQU     1FH     ;bit flag
               FLAG33   EQU     20H     ;bit flag
               FLAG34   EQU     21H     ;bit flag
               FLAG35   EQU     22H     ;bit flag
               FLAG36   EQU     23H     ;bit flag
               FLAG37   EQU     24H     ;bit flag
               FLAG38   EQU     25H     ;bit flag
               FLAG39   EQU     26H     ;bit flag      ;select display 12*16 byte
               FLAG40   EQU     27H     ;bit flag
               FLAG41   EQU     28H     ;bit flag
               FLAG42   EQU     29H     ;bit flag
               FLAG43   EQU     2AH     ;bit flag
               FLAG44   EQU     2BH     ;bit flag
               FLAG45   EQU     2CH     ;bit flag
               FLAG46   EQU     2DH     ;bit flag
               FLAG47   EQU     2EH     ;bit flag
               FLAG48   EQU     2FH     ;bit flag
               FLAG49   EQU     30H     ;bit flag
               FLAG50   EQU     31H     ;bit flag
               FLAG51   EQU     32H     ;bit flag
               FLAG52   EQU     33H     ;bit flag
               FLAG53   EQU     34H     ;bit flag
               FLAG54   EQU     35H     ;bit flag
               FLAG55   EQU     39H     ;bit flag
               FLAG56   EQU     3AH     ;bit flag
               BUFF1    EQU     30H     ;byte  txd  data1
               BUFF2    EQU     31H     ;byte  txd  data2
               BUFF3    EQU     32H     ;byte  txd  data3
               BUFF4    EQU     33H     ;byte  txd  data4
               BUFF5    EQU     34H     ;byte  txd  data5
               BUFF6    EQU     35H     ;byte  txd  data6
               BUFF7    EQU     36H     ;byte  txd  data7
               BUFF8    EQU     37H     ;byte  txd  data8
               BUFF9    EQU     38H     ;byte  txd  data9
               BUFF10   EQU     39H     ;byte  txd  data10
               BUFF11   EQU     3AH     ;byte  txd  data11
               BUFF12   EQU     3BH     ;byte  txd  data12
               BUFF13   EQU     3CH     ;byte  txd  data13
               BUFF14   EQU     3DH     ;byte  txd  data14
               BUFF15   EQU     3EH     ;byte  txd  data15
               BUFF16   EQU     3FH     ;byte  txd  data16
               BUFF17   EQU     40H     ;byte  txd  data17
               BUFF18   EQU     41H     ;byte  txd  data18
;=============================================================================
              ; A0      EQU     P3.7
              ; R/W     EQU     P3.6    ;"H" READ   "L"  WRITE
              ; E2      EQU     P3.5
              ; E1      EQU     P3.4
                COM     EQU     4BH     ;Commond
                DAT     EQU     4CH     ;Data
                Code1   EQU     4DH     ;Data   code
                Page1   EQU     4EH     ;Page   address
                COLUMN  EQU     4FH     ;Column address               
                PD1     EQU     2FH     ;size
                HCODE   EQU     51H     ;byte  16*16
                LCODE   EQU     52H     ;byte  16*16
                FCODE   EQU     58H     ;function buff
                length  EQU     57H     ;status size
                change  EQU     56H     ;view
                COEFF   EQU     5EH     ;byte
                LCDPC   EQU     5CH     ;byte
                DW1     EQU     2AH     ;byte
                DW2     EQU     2BH     ;byte
                DW3     EQU     2CH     ;byte
                AREA    EQU     36H     ;bit flag   "0" Area E1   "1" Area E2
                AREA2   EQU     37H     ;bit flag    16 byte  
                E2      EQU     38H     ;bit flag
               
;===============================================================================
                ORG     0000H
                LJMP    MAIN
                ORG     000BH
                LJMP    PTOMO
                ORG     0023H
                LJMP    IE_SLECTION
                ORG     002CH
  MAIN:         MOV     PSW,#00H        ;BLOCK2
                SETB    RS1
                MOV     R7,#12H
                MOV     PSW,#00H        ;BLOCK0
                MOV     R0,#00H 
                MOV     R3,#00H 
                MOV     SP,#68H
                MOV     4AH,#8EH        ;DISPLAY "F"      
                MOV     46H,#80H        ;DISPLAY "8"
                MOV     45H,#0C0H       ;DISPLAY "0"
                MOV     44H,#92H        ;DISPLAY "5"
                MOV     43H,#0F9H       ;DISPLAY "1"
                MOV     42H,#00H
                MOV     59H,#06H
                MOV     5AH,#00H
                MOV     BUFF1,#7EH
                MOV     BUFF2,#30H
                MOV     BUFF3,#31H                 
                MOV     BUFF4,#30H
                MOV     BUFF5,#31H
                MOV     BUFF6,#30H
                MOV     BUFF18,#0DH                               
                MOV     Counter,#00H
                MOV     LCDPC,#00H
                MOV     LENGTH,#00H
                MOV     51H,#00H
                MOV     52H,#00H
                MOV     62H,#12H
                MOV     63H,#80H
                MOV     65H,#00H
                MOV     66H,#00H
                MOV     56H,#00H
                MOV     57H,#00H 
                CLR     FLAG1
                CLR     FLAG3             
                CLR     FLAG4
                CLR     FLAG5
                CLR     FLAG6
                CLR     FLAG7
                CLR     FLAG8
                CLR     FLAG9
                CLR     FLAG10
                CLR     FLAG11
                CLR     FLAG13
                CLR     FLAG14
                CLR     FLAG15
                CLR     FLAG16
                CLR     FLAG17
                CLR     FLAG18
                CLR     FLAG19
                CLR     FLAG20
                CLR     FLAG21
                CLR     FLAG22
                CLR     FLAG23
                CLR     FLAG24
                CLR     FLAG25
                CLR     FLAG26
                CLR     FLAG27
                CLR     FLAG28
                CLR     FLAG29
                CLR     FLAG30
                CLR     FLAG31
                CLR     FLAG32                  
                SETB    FLAG33
                CLR     FLAG34
                CLR     FLAG35
                CLR     FLAG36
                CLR     FLAG37
                CLR     FLAG38
                CLR     FLAG39
                CLR     FLAG40
                CLR     FLAG41
                CLR     FLAG42
                CLR     FLAG43
                CLR     FLAG46
                CLR     FLAG47
                CLR     FLAG48
                CLR     FLAG49
                CLR     FLAG50
                CLR     FLAG51
                CLR     FLAG52
                CLR     FLAG53
                CLR     FLAG54
                CLR     FLAG55
                CLR     FLAG56
                CLR     AREA
                CLR     AREA2
                CLR     E2
                SETB    FLAG12
                SETB    FLAG2        
                SETB    ES
                SETB    EA
                SETB    ET0
                SETB    PS
                MOV     TMOD,#21H       ; Timer_1 work in mode 2 
                MOV     SCON,#50H               
                MOV     PCON,#80H
                MOV     TH1,#Baud
                MOV     TL1,#Baud 
                SETB    TR1
                PUSH    PSW                  
                MOV     PSW,#00H        ; BLOCK1 LCMDISPLAY
                SETB    RS0
                MOV     COM,#0E2H   ;reset
                LCALL   PRG0
                LCALL   PRG3
                MOV     COM,#0A1H
                LCALL   PRG3
                LCALL   PRG0
                LCALL   CLEAR        ;Clear View 
                MOV     COM,#0AFH    ;display on
                LCALL   PRG0
                LCALL   PRG3                  
                POP     PSW
                MOV     TL0,#Ltime      ; Timer_0 work in mode 1
                MOV     TH0,#Htime    
                SETB    TR0    
HERE:           AJMP    HERE
;***************************************************************************
                               
PTOMO:          MOV     TH0,#Htime
                MOV     TL0,#Ltime
                ACALL   DISPLAY
                JNB     FLAG31,PTOMO_NEXT4
                LCALL   LCD_DISPLAY
PTOMO_NEXT4:    JNB     FLAG1,PTOMO_NEXT0                 
                JNB     FLAG12,PTOMO_NEXT2
                JNB     FLAG1,PTOMO_NEXT0
                LCALL   TX_DATA 
                AJMP    PTOMO_NEXT2 
PTOMO_NEXT0:    JNB     FLAG13,PTOMO_NEXT1
                ACALL   CRX_DATA 
PTOMO_NEXT1:    JB      FLAG31,PTOMO_NEXT5
                LCALL   LCD_BRUSH
PTOMO_NEXT5:    ACALL   KEY_NUM
PTOMO_NEXT3:    MOV     A,59H
                CJNE    A,#06H,PTOMO_NEXT6
                CJNE    R6,#00H,PTOMO_NEXT7
                JNB     FLAG9,PTOMO_NEXT7
                MOV     A,BUFF5
                CJNE    A,#31H,PTOMO_NEXT9
                MOV     A,BUFF7
                CJNE    A,#34H,PTOMO_NEXT10
                SETB    FLAG3
                AJMP    PTOMO_NEXT9
PTOMO_NEXT10:   CJNE    A,#35H,PTOMO_NEXT9
                SETB    FLAG3
PTOMO_NEXT9:    MOV     A,5BH
                AJMP    PTOMO_NEXT7 
PTOMO_NEXT6:    JNB     FLAG9,PTOMO_NEXT7
                MOV     A,5BH
                CJNE    A,59H,PTOMO_NEXT8
                CLR     FLAG3
PTOMO_NEXT8:    MOV     A,#06H                 
PTOMO_NEXT7:    CLR     C
                RL      A
                MOV     DPTR,#FTAB               
                JMP     @A+DPTR 
  FTAB:         AJMP     FUN0           ;STOP/RESET                            
                AJMP     FUN1           ;DOWN     
                AJMP     FUN2           ;PRG      
                AJMP     FUN3           ;RUN     
                AJMP     FUN4           ;UP     
                AJMP     FUN5           ;SET
                AJMP     PTOMO_NEXT2 
PTOMO_NEXT2:    RETI  

                     
  FUN0:         JNB     FLAG5,FUN0_0      
                MOV     BUFF7,#31H
                JNB     FLAG16,FUN0_5
                MOV     A,BUFF5
                CJNE    A,#31H,FUN0_8
                SETB    FLAG3
  FUN0_8:       AJMP    FUN0_6             
  FUN0_5:       SETB    FLAG1 
  FUN0_6:       CLR     FLAG5
                CLR     FLAG9
                AJMP    FUN0_END
  FUN0_0:       MOV     A,BUFF5 
                ANL     A,#0FH
                CJNE    A,#01H,FUN0_1
                JNB     FLAG16,FUN0_7
                CLR     FLAG16
                CLR     FLAG3
  FUN0_7:       JB      FLAG2,FUN0_2
                JB      FLAG15,FUN0_END 
                MOV     BUFF7,#38H
                CLR     FLAG3
                AJMP    FUN0_4
  FUN0_2:       MOV     BUFF7,#37H          
                CLR     FLAG3
                CLR     FLAG15
                AJMP    FUN0_4                   
  FUN0_1:       CJNE    A,#02H,FUN0_3
;                JNB     FLAG20,FUN0_3     ;ADD
                MOV     BUFF5,#33H          
                MOV     BUFF7,#32H
                SETB    FLAG16
                SETB    FLAG2
                SETB    FLAG21
                CLR     FLAG20               
                AJMP    FUN0_4                                    
  FUN0_3:       CJNE    A,#04H,FUN0_9                
                MOV     BUFF7,#34H
                CLR     FLAG28
                SETB    FLAG16
                SETB    FLAG3
                AJMP    FUN0_4
  FUN0_9:       CJNE    A,#05H,FUN0_10        ;TEST        
                JNB     FLAG2,FUN0_END
                MOV     A,BUFF9
                CJNE    A,#31H,FUN0_11               
                MOV     44H,#92H
                MOV     43H,#8CH                
                AJMP    FUN0_END
  FUN0_11:      CJNE    A,#33H,FUN0_12
                JNB     FLAG2,FUN0_END
                MOV     BUFF7,#37H
                AJMP    FUN0_4
  FUN0_12:      CJNE    A,#35H,FUN0_END
                JNB     FLAG2,FUN0_END
                MOV     BUFF7,#37H
                AJMP    FUN0_4
  FUN0_10:      CJNE    A,#06H,FUN0_END
                MOV     BUFF7,#34H
                SETB    FLAG16
  FUN0_4:       SETB    FLAG5
                SETB    FLAG1
                SETB    FLAG9
  FUN0_END:     RETI

⌨️ 快捷键说明

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