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

📄 ir0_2gq.asm

📁 液晶显示模块:CV9018A(98X64 点阵) 模块驱动芯片:S6B0724(KS0724) MCU驱动口: SID------P1.7 SCLK-----P1.6 RS----
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;*************************************************
;*                        -------------
;*                   RESET|RST     Vcc|Vcc
;*                     TXD|P3.0   P1.7|DATA
;                      RXD|P3.1   P1.6|CLK
;                         |       P1.5|RS
;                         |       P1.4|LCM_RESET
;                 IR_RESET|P3.2   P1.3|BEEP
;                 BAT_TEST|P3.3   P1.2|KEY1
;                 IIC_DATA|P3.4   P1.1|KEY2
;                 IIC_CLK |P3.5   P1.0|KEY3
;                         |GND    P3.7|KEY4
;*                        -------------
;*************************************************
;液晶显示模块:CV9018A  98X64 点阵
;模块驱动芯片:S6B0724(KS0724)
;MCU驱动口:
;         SID------P1.7
;         SCLK-----P1.6
;         RS-------P1.5 1=显示数据 0=控制指令
;         /RESET---P1.4
;         /CS1B----P1.3
;         R1=PAGE NO.
;         R2=COLOUM NO.
;         R3=DATA
;
INSTRUCT           EQU          20H   ;
HZ_DOT             EQU          21H
SIR_DATA           EQU          97H   ;LCM串行数据口
SIR_CLK            EQU          96H   ;LCM串行时钟口
INSTR_DATA         EQU          95H   ;数据/指令选择口
LCM_RESET          EQU          94H   ;LCM复位口
LCM_CS             EQU          93H
IR_RESET           EQU         0B2H
BAT_TEST           EQU         0B3H
IIC_DATA           EQU         0B4H
IIC_CLK            EQU         0B5H
COUNT              EQU         030H
DOT_FLAG           EQU         031H
DELAY_T            EQU         032H
;**********************************
           ORG    0000H
           LJMP   MAIN
           ORG    0013H
           ;LJMP   I1SP
           ORG    0030H
MAIN:
           MOV    R3,  #00000011B          ;REFERENCE VOLTAGE REGISTER
           MOV    SP,  #40H
           CLR    EA
           MOV    DOT_FLAG,#0
           ;CLR    EX1
           ;SETB   PX1
           CLR    IT1
;-----------初始化LCM
           ;SETB   LCM_CS        ;P1.3  初始化各控制口
           SETB   INSTR_DATA    ;P1.5
           SETB   SIR_CLK       ;P1.6
           SETB   LCM_RESET     ;P1.4
           LCALL  DELAY
           CLR    LCM_RESET     ;|----P1.4
           LCALL  DELAY         ;|
           LCALL  DELAY         ;|<---复位
           LCALL  DELAY         ;|
           SETB   LCM_RESET     ;|----P1.4复位拉高
           LCALL  DELAY
           ;CLR    LCM_CS        ;P1.3  片选
           CLR    SIR_CLK       ;P1.6
;-------------------------
           MOV A, #10100000B    ;横向正常显示 ADC SELECT (S0-S129)
           LCALL  WCMD
           LCALL  DELAY
           MOV A, #10100010B    ;偏置  SET BIAS=1/9
           LCALL  WCMD
           LCALL  DELAY
           MOV A, #11001111B    ;纵向正常显示 COM SCAN DIRECTION(C0-C63)
           LCALL  WCMD
           LCALL  DELAY
           MOV A, #00101100B    ;设置电压变换开POWER CONTROL1
           LCALL  WCMD
           LCALL  DELAY
           LCALL  DELAY
           MOV A, #00101110B    ;设置电压调整开 POWER CONTROL2
           LCALL  WCMD
           LCALL  DELAY
           LCALL  DELAY
           MOV A, #00101111B    ;设置电压跟随开 POWER CONTROL3
           LCALL  WCMD
           LCALL  DELAY
           LCALL  DELAY
           MOV A, #00100110B    ;REGULATOR RESISOR SELECT=6.0 R0-2
           LCALL  WCMD
           LCALL  DELAY
           LCALL  DELAY
           MOV A, #10000001B    ; |--- SET REFERENCE VOLTAGE MODE
           LCALL  WCMD          ; |
           LCALL  DELAY         ; <-----|设置对比度(底色)
           LCALL  DELAY         ; |
           MOV A, #00000000B    ; |--- SET REFERENCE VOLTAGE REGISTER
           LCALL  WCMD
           LCALL  DELAY
           LCALL  DELAY
           MOV A, #10100100B    ;ENTIRE DISPLAY OFF,
           LCALL  WCMD
           LCALL  DELAY
           MOV A, #10100110B    ;REVERSE DISPLAY OFF,反相显示关
           LCALL  WCMD
           LCALL  DELAY
LL:
           MOV A,#10110000B     ;设置页地址 PAGE 0
           LCALL WCMD
           LCALL DELAY
           MOV A,#01000000B     ;初始化起始行 INITIAL START LINE
           LCALL WCMD
           LCALL DELAY
           MOV A,#00010000B     ;设置列地址(高4位)SET COLUMN ADDR (H)
           LCALL WCMD
           LCALL DELAY
           MOV A,#00000000B     ;设置列地址(低4位)SET COLUMN ADDR (L)
           LCALL WCMD
           LCALL DELAY
           LCALL DELAY
           MOV A,#10101111B     ;显示开 DISPLAY ON
           LCALL WCMD
           LCALL DELAY
;-------------演示
DISP_GX_pattern:
           MOV   R6,     #00000000B    ;显示白屏
           LCALL DISP3
;----------显示商标
           CALL  DISP_GX
           MOV    DELAY_T, #50
           CALL   DELAY_1MS
;----------反相显示商标
           MOV A, #10100111B    ;REVERSE DISPLAY OFF,反相显示开
           LCALL  WCMD
           LCALL  DELAY
           MOV    DELAY_T, #50
           CALL   DELAY_1MS
;----------显示"公信"
           MOV    A, #10100110B    ;REVERSE DISPLAY OFF,反相显示关
           LCALL  WCMD
           LCALL  DELAY
           MOV    R6,#00000000B    ;显示白屏
           LCALL  DISP3
           MOV    DOT_FLAG, #0
           CALL   DISP_GXZN
           MOV    DELAY_T, #50
           CALL   DELAY_1MS
;----------显示反相"公信"
           MOV A, #10100111B    ;REVERSE DISPLAY OFF,反相显示开
           LCALL  WCMD
           LCALL  DELAY
           MOV    DELAY_T, #50
           CALL   DELAY_1MS
;----------------------------
           MOV A, #10100110B    ;REVERSE DISPLAY OFF,反相显示关
           LCALL  WCMD
           LCALL  DELAY
;----------显示"请签到"
           MOV    A, #10100110B    ;REVERSE DISPLAY OFF,反相显示关
           LCALL  WCMD
           LCALL  DELAY
           ;MOV    R6,#00000000B    ;显示白屏
           ;LCALL  DISP3
           MOV    DOT_FLAG, #0FFH
           CALL   DISP_GXZN
           MOV    DELAY_T, #50
           CALL   DELAY_1MS
;----------显示反相"请签到"
           MOV A, #10100111B    ;REVERSE DISPLAY OFF,反相显示开
           LCALL  WCMD
           LCALL  DELAY
           MOV    DELAY_T, #50
           CALL   DELAY_1MS
;----------------------------
           MOV A, #10100110B    ;REVERSE DISPLAY OFF,反相显示关
           LCALL  WCMD
           LCALL  DELAY

           LJMP   DISP_GX_pattern
;-------主程序结束
;*****************
;  延时子程序
;延时单位:100毫秒
;*****************
DELAY_1MS:
        MOV      R2,      #50
D1S_LOOP:       
        MOV      R1,      #249
WAIT_LOOP:
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        DJNZ     R1,      WAIT_LOOP
        DJNZ     R2,      D1S_LOOP
        DJNZ     DELAY_T,   DELAY_1MS   
        RET
;**************
;   清屏
;**************
DISP3:
           MOV   R1,      #0B0H                 ; R1--PAGE NO. 0
REX3:
           MOV   A,       R1
           LCALL WCMD
           MOV   A,       #10H;
           LCALL WCMD ;
           MOV   R2,      #00H                  ; COLOUM 0
           MOV   A,       R2 ;

           LCALL WCMD                   ; R2--COLUMN NO.
REY33:
           MOV   A,       R6
           LCALL WDAT                   ; DISPLAY 1 COLUMN
           INC   R2
           CJNE  R2,      #99,    REY33           ; 131 COLOUMN
           INC   R1
           CJNE  R1,      #0B9H,  REX3           ; PAGE 8
           RET
;*****************
;  向LCM发送指令
;入口:INSTRUCT
;*****************
WCMD:
           MOV    R4,#08H
           CLR    INSTR_DATA    ;P1.5
           CLR    C
LAP1:
           RLC    A
           JC     STC1
STC0:
           CLR    SIR_DATA      ;P1.7
           SJMP   LP1
STC1:
           SETB   SIR_DATA      ;P1.7
           SJMP   LP1
LP1:
           SETB   SIR_CLK       ;P1.6
           CLR    SIR_CLK       ;P1.6
           DJNZ   R4,   LAP1

⌨️ 快捷键说明

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