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

📄 240128.asm

📁 ST7529顯示驅動程序
💻 ASM
字号:
;version NO:0
;ST7529
;Test for 240*128
;******************************************************************************
DBUS    REG     P1
CSB     REG     P3.1                    ;define LCM /Chip select pin
RESETB  REG     P3.0                    ;define LCM /Reset pin
RS      REG     P3.2                    ;define LCM Register select pin
RDB     REG     P3.4                    ;define LCM Enable pin
WRB     REG     P3.3                    ;define LCM Read/Write pin
CON_H   REG     P0.6
CON_L   REG     P0.7

WORD1   EQU     70H
WORD2   EQU     71H
WORD3   EQU     72H
XS      EQU     73H
XE      EQU     74H
YS      EQU     75H
YE      EQU     76H
COMMON  EQU     77H
CONS86  EQU     78H
CONS50  EQU     79H
C00     EQU     7AH
C01     EQU     7BH
C02     EQU     7CH
C03     EQU     7DH
;******************************************************************************
        ORG     0000H
        JMP     START                   ;Power ON jump to start address

START:
        CLR     RESETB
        MOV     R3,#1FH
        CALL    DELAY

        SETB    RESETB
        MOV     R3,#1FH
        CALL    DELAY

        CLR     RS
        SETB    WRB
        SETB    CSB
        SETB    RDB

;initial ST7529
INI_ST7529
                MOV     A,#00110000B    ;EXT=0 SET
                CALL    WRITE_COM

                MOV     A,#11010001B    ;INTERNAL OSCILLATION ON
                CALL    WRITE_COM

                MOV     A,#10010100B    ;SLEEP OUT
                CALL    WRITE_COM

                MOV     A,#11001010B    ;DISPLAY CONTROL(CL,DUTY,FR)
                CALL    WRITE_COM
                MOV     A,#00000000B    ;CL DIVIDING RATIO(CLD=0)
                CALL    WRITE_DATA
                MOV     A,#00100111B    ;DRIVE DUTY(1/160 = 160/4 -1=39)
                CALL    WRITE_DATA
                MOV     A,#00000000B    ;FR INVERSE-SET VALUE
                CALL    WRITE_DATA

                MOV     A,#10111011B    ;COMMON SCAN DIRECTON
                CALL    WRITE_COM
                MOV     A,#00000001B    ;SET COM0->COM79,COM159->COM80
                CALL    WRITE_DATA

                MOV     A,#10000001B    ;ELECTRONIC VOLUME CONTROL
                CALL    WRITE_COM
                MOV     A,#00011110B    ;SETTING VOLUME VALUE
                CALL    WRITE_DATA
                MOV     A,#00000011B    ;SETTING BUILT-IN RESISTANCE VALUE
                CALL    WRITE_DATA
 ;               MOV     CONS50,#00110000B
 ;               MOV     CONS86,#00000011B

                MOV     A,#00100000B    ;POWER CONTROL SET
                CALL    WRITE_COM
               MOV     A,#00001011B    ;VR=1,VF=1,VB=1 Internal VLCD
;                MOV     A,#00000011B    ;VR=1,VF=1,VB=0 External VLCD
                CALL    WRITE_DATA

;               MOV     A,#10100110B    ;NORMAL DISPLAY
;               CALL    WRITE_COM

                MOV     A,#10100111B    ;INVERSE DISPLAY
                CALL    WRITE_COM

;               MOV     A,#10101000B    ;PARTIAL IN
;               CALL    WRITE_COM

                MOV     A,#10101001B    ;PARTIAL OUT
                CALL    WRITE_COM

;               MOV     A,#10101010B    ;AREA SCROLL SET
;               CALL    WRITE_COM
;               MOV     A,#B           ;TOP BLOCK ADDRESS
;               CALL    WRITE_DATA
;               MOV     A,#B           ;BOTTOM BLOCK ADDRESS
;               CALL    WRITE_DATA
;               MOV     A,#B           ;NUMBER OF SPECIFIED BLOCKS
;               CALL    WRITE_DATA
;               MOV     A,#00000000B    ;AREA SCROLL MODE
;               CALL    WRITE_DATA

;               MOV     A,#10101011B     ;SCROLL START ADDRESS SET
;               CALL    WRITE_COM
;               MOV     A,#B             ;START BLOCK ADDRESS
;               CALL    WRITE_DATA
;
                MOV     A,#10111100B     ;DATA SCAN DIRECTION
                CALL    WRITE_COM
                MOV     A,#00000010B     ;NORMAL/INVERSE DISPLAY OF (THE LINE
                CALL    WRITE_DATA       ;AND ADDRESS SCAN DIRECTION
                MOV     A,#00000001B     ;NOT USED,D0 MUST BE 0
                CALL    WRITE_DATA
                MOV     A,#00000100B     ;GRAY-SCALE SETUP(3B3P MODE)
                CALL    WRITE_DATA

                MOV     A,#01110101B     ;LINE ADDRESS SET
                CALL    WRITE_COM
                MOV     A,#00000000B     ;START LINE SET 00
                CALL    WRITE_DATA
                MOV     A,#159           ;END LINE SET   159
                CALL    WRITE_DATA

                MOV     A,#00010101B     ;COLUMN ADDRESS SET
                CALL    WRITE_COM
                MOV     A,#5             ;START COLUMN SET  00
                CALL    WRITE_DATA
                MOV     A,#84            ;END COLUMN SET    255/3=85
                CALL    WRITE_DATA


                MOV     A,#00110001B    ;EXT=1 SET
                CALL    WRITE_COM

                MOV     A,#00110010B    ;Analog circuit set
                CALL    WRITE_COM
                MOV     A,#00000000B    ;OSC Frequency
                CALL    WRITE_DATA
                MOV     A,#00000001B    ;Booster Set
                CALL    WRITE_DATA
                MOV     A,#00000100B    ;Bias Set 1/10
                CALL    WRITE_DATA

                MOV     A,#00110100B    ;Dithering OFF
                CALL    WRITE_COM
            
                MOV     A,#00110000B    ;EXT=0 SET
                CALL    WRITE_COM

                MOV     A,#10101111B     ;DISPLAY ON
                CALL    WRITE_COM
;*****************************************************************************
START1:
               ;SHOW PICTURE1
                MOV     A,#01011100B
                CALL    WRITE_COM

                MOV     DPTR,#PIC1
                MOV     C00,#64
PIC1_U_1        MOV     C01,#80
PIC1_U_0        MOV     A,#0
                MOVC    A,@A+DPTR
                MOV     B,#8
                DIV     AB
                CLR     C
                RL      A
                RL      A
                RL      A
                CPL     A
                MOV     WORD1,A
                INC     DPTR
                MOV     A,#0
                MOVC    A,@A+DPTR
                MOV     B,#8
                DIV     AB
                CLR     C
                RL      A
                RL      A
                RL      A
                CPL     A
                MOV     WORD2,A
                INC     DPTR
                MOV     A,#0
                MOVC    A,@A+DPTR
                MOV     B,#8
                DIV     AB
                CLR     C
                RL      A
                RL      A
                RL      A
                CPL     A
                MOV     WORD3,A
                INC     DPTR
                CALL    WRITE_PIXEL
                DJNZ    C01,PIC1_U_0
                DJNZ    C00,PIC1_U_1

                MOV     C00,#32                         ;Empty data
NC_PIC1_0       MOV     C01,#80
                MOV     WORD1,#00000000B
                MOV     WORD2,#00000000B
                MOV     WORD3,#00000000B
NC_PIC1_1       CALL    WRITE_PIXEL
                DJNZ    C01,NC_PIC1_1
                DJNZ    C00,NC_PIC1_0

                MOV     C00,#64
PIC1_D_1        MOV     C01,#80
PIC1_D_0        MOV     A,#0
                MOVC    A,@A+DPTR
                MOV     B,#8
                DIV     AB
                CLR     C
                RL      A
                RL      A
                RL      A
                CPL     A
                MOV     WORD1,A
                INC     DPTR
                MOV     A,#0
                MOVC    A,@A+DPTR
                MOV     B,#8
                DIV     AB
                CLR     C
                RL      A
                RL      A
                RL      A
                CPL     A
                MOV     WORD2,A
                INC     DPTR
                MOV     A,#0
                MOVC    A,@A+DPTR
                MOV     B,#8
                DIV     AB
                CLR     C
                RL      A
                RL      A
                RL      A
                CPL     A
                MOV     WORD3,A
                INC     DPTR
                CALL    WRITE_PIXEL
                DJNZ    C01,PIC1_D_0
                DJNZ    C00,PIC1_D_1
;*****************************************
                CALL    PAUSE; 陪ボ纒
;*****************************************
MOV     A,#00100000B    ;POWER CONTROL SET
 CALL    WRITE_COM
 MOV     A,#00001011B    ;VR=1,VF=1,VB=1 Internal VLCD
CALL    WRITE_DATA
 MOV     A,#10000001B    ;ELECTRONIC VOLUME CONTROL
 CALL    WRITE_COM
 MOV     A,#00100100B    ;SETTING VOLUME VALUE
 CALL    WRITE_DATA
 MOV     A,#00000011B    ;SETTING BUILT-IN RESISTANCE VALUE
 CALL    WRITE_DATA
;SHOW PICTURE2
                MOV     A,#01011100B
                CALL    WRITE_COM

                MOV     DPTR,#PIC2
                MOV     C00,#64
PIC2_U_1        MOV     C01,#80
PIC2_U_0        MOV     A,#0
                MOVC    A,@A+DPTR
                MOV     B,#8
                DIV     AB
                CLR     C
                RL      A
                RL      A
                RL      A
                CPL     A
                MOV     WORD1,A
                INC     DPTR
                MOV     A,#0
                MOVC    A,@A+DPTR
                MOV     B,#8
                DIV     AB
                CLR     C
                RL      A
                RL      A
                RL      A
                CPL     A
                MOV     WORD2,A
                INC     DPTR
                MOV     A,#0
                MOVC    A,@A+DPTR
                MOV     B,#8
                DIV     AB
                CLR     C
                RL      A
                RL      A
                RL      A
                CPL     A
                MOV     WORD3,A
                INC     DPTR
                CALL    WRITE_PIXEL
                DJNZ    C01,PIC2_U_0
                DJNZ    C00,PIC2_U_1

                MOV     C00,#32                         ;Empty data
NC_PIC2_0       MOV     C01,#80
                MOV     WORD1,#00000000B
                MOV     WORD2,#00000000B
                MOV     WORD3,#00000000B
NC_PIC2_1       CALL    WRITE_PIXEL
                DJNZ    C01,NC_PIC2_1
                DJNZ    C00,NC_PIC2_0

                MOV     C00,#64
PIC2_D_1        MOV     C01,#80
PIC2_D_0        MOV     A,#0
                MOVC    A,@A+DPTR
                MOV     B,#8
                DIV     AB
                CLR     C
                RL      A
                RL      A
                RL      A
                CPL     A
                MOV     WORD1,A
                INC     DPTR
                MOV     A,#0
                MOVC    A,@A+DPTR
                MOV     B,#8
                DIV     AB
                CLR     C
                RL      A
                RL      A
                RL      A
                CPL     A
                MOV     WORD2,A
                INC     DPTR
                MOV     A,#0
                MOVC    A,@A+DPTR
                MOV     B,#8
                DIV     AB
                CLR     C
                RL      A
                RL      A
                RL      A
                CPL     A
                MOV     WORD3,A
                INC     DPTR
                CALL    WRITE_PIXEL
                DJNZ    C01,PIC2_D_0
                DJNZ    C00,PIC2_D_1
;*****************************************


                CALL    PAUSE;陪ボよ

⌨️ 快捷键说明

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