📄 hz12232a.asm
字号:
; SMG12232A接口程序(MCS51总线方式)
;***************************************************************************
;* Title : Accessing to LCD-CONTROLLER *
;* Date : 2000.11.3 *
;* Support telephone: 0731-4167806,4167808(CHANGSHA SUNMAN) *
;* Support fax :0731-4167807 Support E-mail:sunman@public.cs.hn.cn *
;* Create by :褚建军(chujianjun),朱长春(zhuchangchun) *
;* DESCRIPTION:This subroutine shows how to write data to LCD-CONTROLLER *
;***************************************************************************
;连线图: *LCM---8031* *LCM---8031* *LCM------------8031* *LCM----------8031*
; *DB0---P0.0* *DB4---P0.4* *A0-------------P2.0* *CS1----------P2.1*
; *DB1---P0.1* *DB5---P0.5* *RD-------------P3.7* *CS2----------P2.2*
; *DB2---P0.2* *DB6---P0.6* *WR-------------P3.6* *
; *DB3---P0.3* *DB7---P0.7* *RST------------GND (详见说明书) *
;注:8031的晶振频率为12MHz *
;***************************************************************************
CS1ADDR EQU 0FCFFH ;P2.1
CS2ADDR EQU 0FAFFH ;P2.2
A0ADDR EQU 0100H ;P2.0 COMMAND:0 DATA:1
XPOS EQU 20H
YPOS EQU 21H
ORG 0000H
JMP START
START: MOV SP,#60H
MAIN:
CALL LCDRESET
MOV A,#55H
CALL LCDFILL
MOV DPTR,#STRING1
CALL PUTSTR
CALL PUTSTR
JMP MAIN
DELAY400MS:
MOV R0,#20 ;延时子程序(400MS)
DL4_PA: MOV R1,#100
DL4_PB: MOV R2,#100
DJNZ R2,$
DJNZ R1,DL4_PB
DJNZ R0,DL4_PA
RET
DELAY:
MOV R6,#2
DLY_PA: MOV R5,#0
DLY_PB: MOV R4,#0
DJNZ R4,$
DJNZ R5,DLY_PB
DJNZ R6,DLY_PA
RET
GETSTRCHAR:
GSC_PA:
CLR A
MOVC A,@A+DPTR
INC DPTR
MOV B,A
INC A
CLR C
JZ GSC_LAX
CLR A
MOVC A,@A+DPTR
INC DPTR
SETB C
GSC_LAX:
RET
PUTSTR:
CALL DELAY
CALL GETSTRCHAR
PUSH DPL
PUSH DPH
JNC PSR_LAX
JNB B.7,PSR_LBY
;CHINESE:
CALL HZKPOS
CALL PUTCHARDOT
CALL PUTCHARDOT
JMP PSR_LBX
PSR_LBY:
;ENGLISH:
CALL HZKPOS
CALL PUTCHARDOT
PSR_LBX:
POP DPH
POP DPL
JMP PUTSTR
PSR_LAX:POP DPH
POP DPL
RET
PUTCHARDOT:
MOV R7,#8
PAC_PA:
CLR A
MOVC A,@A+DPTR
CALL LCDWRITE
INC YPOS
INC DPTR
CLR A
MOVC A,@A+DPTR
CALL LCDWRITE
DEC YPOS
INC DPTR
CALL CUSORNEXT
MOV A,XPOS
JNZ PAC_LAX
INC YPOS
PAC_LAX:
DJNZ R7,PAC_PA
RET
HZKPOS:
MOV R2,#5
HTP_PA:
CLR C
RLC A
XCH A,B
RLC A
XCH A,B
DJNZ R2,HTP_PA
MOV DPTR,#HZKDOT
ADD A,DPL
MOV DPL,A
MOV A,B
ADDC A,DPH
MOV DPH,A
RET
LCDFILL: ;LCD整屏显示A的内容
MOV R7,A
MOV YPOS,#0
LFL_PB: MOV XPOS,#0
LFL_PA: MOV A,R7
CALL LCDWRITE ;定位并写数据
CALL CUSORNEXT
MOV A,XPOS
JNZ LFL_PA
MOV A,YPOS
JNZ LFL_PB
RET
LCDWRITE: ;定位并写数据子程序
CALL LCDPOS ;内部写数指针定位
CALL LCDWD ;写数据
RET
CUSORNEXT:
INC XPOS
MOV A,XPOS
CJNE A,#128,CNT_LAX
MOV XPOS,#0
INC YPOS
ANL YPOS,#3H
CNT_LAX:
RET
LCDWD:
MOV B,A
MOV A,XPOS
CJNE A,#61,$+3
JNC LWD_LA1
MOV A,B
CALL LCDWD1
JMP LWD_LAX
LWD_LA1:CJNE A,#122,$+3
JNC LWD_LA2
MOV A,B
CALL LCDWD2
JMP LWD_LAX
LWD_LA2:
LWD_LAX:
RET
LCDPOS:
PUSH ACC
MOV A,YPOS
ANL A,#3
ADD A,#0B8H
MOV B,A
MOV A,XPOS
CJNE A,#61,$+3
JNC LPS_LA1
ANL A,#3FH
CALL LCDWC1
MOV A,B
CALL LCDWC1
JMP LPS_LAX
LPS_LA1:CJNE A,#122,$+3
JNC LPS_LA2
CLR C
SUBB A,#61
CALL LCDWC2
MOV A,B
CALL LCDWC2
JMP LPS_LAX
LPS_LA2:
LPS_LAX:
POP ACC
RET
LCDRESET: ;LCD控制器复位
MOV A,#0C0H ;设置显示初始行
CALL LCDWC1
CALL LCDWC2
MOV A,#0A0H ;设置列序方向为正向
CALL LCDWC1
CALL LCDWC2
MOV A,#0A4H ;设置显示模式为正常显示
CALL LCDWC1
CALL LCDWC2
MOV A,#0A9H ;设置显示占空比为1/32
CALL LCDWC1
CALL LCDWC2
MOV A,#0AFH ;开显示
CALL LCDWC1
CALL LCDWC2
RET
LCDWC1:
PUSH DPL
PUSH DPH
;送片1控制字子程序
CALL WAITIDLE1
MOV DPTR,#CS1ADDR ;CS1=0 CS2=1 A0=0
MOVX @DPTR,A
POP DPH
POP DPL
RET
LCDWC2: ;送片2控制字子程序
PUSH DPL
PUSH DPH
CALL WAITIDLE2
MOV DPTR,#CS2ADDR ;CS1=1 CS2=0 A0=0
MOVX @DPTR,A
POP DPH
POP DPL
RET
LCDWD1: ;片1写数据子程序
PUSH DPL
PUSH DPH
CALL WAITIDLE1
MOV DPTR,#CS1ADDR+A0ADDR ;CS1=0 CS2=1 A0=1
MOVX @DPTR,A
POP DPH
POP DPL
RET
LCDWD2: ;片2写数据子程序
PUSH DPL
PUSH DPH
CALL WAITIDLE2
MOV DPTR,#CS2ADDR+A0ADDR ;CS1=1 CS2=0 A0=1
MOVX @DPTR,A
POP DPH
POP DPL
RET
WAITIDLE1: ;片1"忙"检测
PUSH ACC
MOV DPTR,#CS1ADDR ;CS1=0 CS2=1 A0=0
WT_PA: MOVX A,@DPTR
JB ACC.7,WT_PA
POP ACC
RET
WAITIDLE2: ;片2"忙"检测
PUSH ACC
MOV DPTR,#CS2ADDR ;CS1=1 CS2=0 A0=0
WT1_PA: MOVX A,@DPTR
JB ACC.7,WT1_PA
POP ACC
RET
HZKDOT:
INCLUDE "12232A\HZKLIB.ASM" ;汉字库文件
INCLUDE "12232A\HZKSTR.ASM" ;汉字字符串文件
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -