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

📄 cog12864a.asm

📁 杭州清达光电技术有限公司HGO12864A LCD 显示程序(汇编语言实现)
💻 ASM
📖 第 1 页 / 共 2 页
字号:
; 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 + -