📄 ir0_2gq.asm
字号:
;*************************************************
;* -------------
;* 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 + -