📄 cog12864a.asm
字号:
; COG LCD MOBI2006
; CONTROLLER upd16682A
; 8031+10M system
RES EQU P2.4
CS EQU P2.3
RS EQU P2.5 ;A0
SCL EQU P2.6
SDAT EQU P2.7
;PS1 EQU P1.1
COLUMN EQU 30H
PA1 EQU 31H ; 页地址寄存器 D1,D0: 页地址
; D7: 字符体 D7=0为6x8点阵
; D7=1为8x8点阵
COD1 EQU 32H ; 字符代码寄存器
COUN1 EQU 33H
coun0 equ 35h
dat2 equ 34h
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN: clr res
lcall delay
setb res
clr cs
clr scl
clr sdat
;
LCALL INT
LOP: mov dat2,#0aah
lcall Tcla
lcall delay
lcall delay
mov dat2,#055h
lcall Tcla
lcall delay
mov dat2,#00 ;TEST DOT
LCALL CLA
lcall delay
mov dat2,#0ffh
LCALL CLA
lcall delay
; LCALL DELAY
;;
mov dat2,#00h
lcall cla
MOV PA1,#05H ; 6x8点阵字体, 第4页
MOV COLUMN,#1AH ; 起始列为第4列
MOV COD1,#34H ; 字符代码
LCALL CW_PR
MOV PA1,#05H
MOV COLUMN,#22H
MOV COD1,#45H
LCALL CW_PR
MOV PA1,#05H
MOV COLUMN,#2AH
MOV COD1,#4CH
LCALL CW_PR
MOV PA1,#05H
MOV COLUMN,#32H
MOV COD1,#1AH
LCALL CW_PR
MOV R7,#00H
MOV R6,#3BH
LOOP: MOV A,R7
MOV DPTR,#TAB1
MOVC A,@A+DPTR
MOV COD1,A
MOV PA1,#85H ; 8X8点阵字体, 第4页
MOV COLUMN,R6
LCALL CW_PR
INC R7
MOV A,#06H
ADD A,R6
MOV R6,A
CJNE R7,#08H,LOOP
;;
MOV PA1,#01H ;显示汉字
MOV COLUMN,#25H
MOV COD1,#00H
LCALL CCW_PR
MOV PA1,#01H
MOV COLUMN,#35H
MOV COD1,#01H
LCALL CCW_PR
MOV PA1,#01H
MOV COLUMN,#45H
MOV COD1,#02H
LCALL CCW_PR
MOV PA1,#01H
MOV COLUMN,#55H
MOV COD1,#03H
LCALL CCW_PR
LCALL DELAY
LCALL DELAY
LJMP LOP
;
delay: mov r7,#00h
mov r6,#00h
MOV R5,#08H
del1: NOP
DJNZ R6,DEL1
DJNZ R7,DEL1
DJNZ R5,DEL1
RET
TAB1: DB 16H,12H,10H,15H,11H,12H,10H,19H
;初始化子程序
INT: MOV A,#0A3H ; LCD BIAS SET ( A2 1/8;A3 1/65DUTY)
LCALL PR0
MOV A,#0A0H ; ADC SELECT
LCALL PR0
;
MOV A,#0AFH ; DISPLAY ON/OFF
LCALL PR0
;
MOV A,#2FH ; POWER CONTROL
LCALL PR0
MOV A,#023H ; VOLT REGULATOR RADIO SET #023H
; MOV A,#028H ; VOLT REGULATOR RADIO SET #023H
LCALL PR0
MOV A,#81H ; REFERENCE VOLT MODE set
LCALL PR0
MOV A,#2cH ; REFERENCE VOLT REG set
; MOV A,#3FH ; REFERENCE VOLT REG set
LCALL PR0
MOV A,#0C0H ; SHL SELECT
LCALL PR0
MOV A,#0AFH ; DISPLAY ON/OFF
LCALL PR0
MOV A,#40H ; DISPLAY START LINE SET
LCALL PR0
RET
; CLA RAM
CLA: MOV R4,#00H ; 页面地址暂存器设置
CLA1: MOV A,R4
ORL A,#0B0H ; "或"页面地址设置代码
LCALL PR0
MOV A,#10H
LCALL PR0
MOV A,#00H ; 列地址设置为"0"
LCALL PR0
MOV R3,#128 ; 一页清80个字节
CLA2: MOV A,dat2 ; 显示数据为"0"
LCALL PR1
DJNZ R3,CLA2 ; 页内字节清零循环
INC R4 ; 页地址暂存器加1
CJNE R4,#09H,CLA1 ; RAM 区清零循环
RET
;
; test dot
TCLA: MOV R4,#00H ; 页面地址暂存器设置
TCLA1: MOV A,R4
ORL A,#0B0H ; "或"页面地址设置代码
LCALL PR0
MOV A,#10H
LCALL PR0
MOV A,#00H ; 列地址设置为"0"
LCALL PR0
MOV R3,#128 ; 一页清80个字节
TCLA2: MOV A,dat2 ; 显示数据为"0"
LCALL PR1
MOV A,DAT2
CPL A
MOV DAT2,A
DJNZ R3,TCLA2 ; 页内字节清零循环
INC R4 ; 页地址暂存器加1
CJNE R4,#09H,TCLA1 ; RAM 区清零循环
RET
;==============================
PR1: SETB RS ;WRITE DATA
PR11: MOV COUN0,#08H ;COUN1ER
; clr cs
PR12: RLC A
MOV SDAT,C ;DATA->SDAT
SETB SCL ;WRITE PLUS
CLR SCL
DJNZ COUN0,PR12
; setb cs
RLC A
RET
;
PR0: CLR RS ;WRITE COMMAND
PR01: MOV COUN0,#08H ;COUN1ER
; setb cs
PR02: RLC A
MOV SDAT,C ;DATA->SDAT
SETB SCL ;WRITE PLUS
CLR SCL
DJNZ COUN0,PR02
RLC A
; clr cs
RET
; 西文字符写入子程序
;--------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -