lcd12864显示汉字程序【驰宇微】
12864液晶屏是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128X64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示4行,8个汉字,16*16点阵的汉字。 也可完成图形显示。低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
lcd12864基本特性:
(1)、低电源电压(VDD:+3.0--+5.5V)
(2)、显示分辨率:128*64点
(3)、内置汉字字库,提供8192个16×16点阵汉字(简繁体可选)
(4)、内置 128个16×8点阵字符
(5)、2MHZ时钟频率
(6)、显示方式:STN、半透、正显
(7)、驱动方式:1/32DUTY,1/5BIAS
(8)、视角方向:6点
(9)、背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5—1/10
(10)、通讯方式:串行、并口可选
(11)、内置DC-DC转换电路,无需外加负压
(12)、无需片选信号,简化软件设计
(13)、工作温度: -20℃ ~ +70℃ ,存储温度: -30℃ ~ +80℃
lcd12864显示汉字程序
;st7920 This program is for 12864-12
; RS--------P3.3
; R/W-------P3.1
; E---------P3.0
CS EQU P3.3
SID EQU P3.1
SCLK EQU P3.0
ORG 0000H
AJMP START
ORG 0080H
START:
mov SP, #67h
;LCALL DELAY
;LCALL DELAY
LCALL SETUP
LCALL DEF_CHAR
MOV A,#80H
LCALL WRITE_COM
MOV R3,#8
TEST11: MOV DPTR,#CGRAM1 ;CGRAM TEST
LCALL WRITE_CGRAM
DJNZ R3,TEST11
MOV A,#90H
LCALL WRITE_COM
MOV R3,#8
TEST12: MOV DPTR,#CGRAM1
LCALL WRITE_CGRAM
DJNZ R3,TEST12
MOV A,#88H
LCALL WRITE_COM
MOV R3,#8
TEST13: MOV DPTR,#CGRAM1
LCALL WRITE_CGRAM
DJNZ R3,TEST13
MOV A,#98H
LCALL WRITE_COM
MOV R3,#8
TEST14: MOV DPTR,#CGRAM1
LCALL WRITE_CGRAM
DJNZ R3,TEST14
LCALL DELAY
;LCALL DELAY
;LCALL DELAY
;LCALL DELAY
;LCALL DELAY
MOV A,#80H
LCALL WRITE_COM
MOV R3,#8
TEST21: MOV DPTR,#CGRAM2
LCALL WRITE_CGRAM
DJNZ R3,TEST21
MOV A,#90H
LCALL WRITE_COM
MOV R3,#8
TEST22: MOV DPTR,#CGRAM2
LCALL WRITE_CGRAM
DJNZ R3,TEST22
MOV A,#88H
LCALL WRITE_COM
MOV R3,#8
TEST23: MOV DPTR,#CGRAM2
LCALL WRITE_CGRAM
DJNZ R3,TEST23
MOV A,#98H
LCALL WRITE_COM
MOV R3,#8
TEST24: MOV DPTR,#CGRAM2
LCALL WRITE_CGRAM
DJNZ R3,TEST24
LCALL DELAY
;LCALL DELAY
;LCALL DELAY
;LCALL DELAY
;LCALL DELAY
MOV A,#80H
LCALL WRITE_COM
MOV R3,#8
TEST31: MOV DPTR,#CGRAM3
LCALL WRITE_CGRAM
DJNZ R3,TEST31
MOV A,#90H
LCALL WRITE_COM
MOV R3,#8
TEST32: MOV DPTR,#CGRAM3
LCALL WRITE_CGRAM
DJNZ R3,TEST32
MOV A,#88H
LCALL WRITE_COM
MOV R3,#8
TEST33: MOV DPTR,#CGRAM3
LCALL WRITE_CGRAM
DJNZ R3,TEST33
MOV A,#98H
LCALL WRITE_COM
MOV R3,#8
TEST34: MOV DPTR,#CGRAM3
LCALL WRITE_CGRAM
DJNZ R3,TEST34
LCALL DELAY
;LCALL DELAY
;LCALL DELAY
;LCALL DELAY
;LCALL DELAY
MOV A,#80H
LCALL WRITE_COM
MOV R3,#8
TEST41: MOV DPTR,#CGRAM4
LCALL WRITE_CGRAM
DJNZ R3,TEST41
MOV A,#90H
LCALL WRITE_COM
MOV R3,#8
TEST42: MOV DPTR,#CGRAM4
LCALL WRITE_CGRAM
DJNZ R3,TEST42
MOV A,#88H
LCALL WRITE_COM
MOV R3,#8
TEST43: MOV DPTR,#CGRAM4
LCALL WRITE_CGRAM
DJNZ R3,TEST43
MOV A,#98H
LCALL WRITE_COM
MOV R3,#8
TEST44: MOV DPTR,#CGRAM4
LCALL WRITE_CGRAM
DJNZ R3,TEST44
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
;LCALL DELAY
MOV A,#80H ;WORD TEST
LCALL WRITE_COM
MOV DPTR,#TABLE1
LCALL WRITE_ASCII
MOV A,#90H
LCALL WRITE_COM
MOV DPTR,#TABLE1
LCALL WRITE_ASCII
MOV A,#88H ;WORD TEST
LCALL WRITE_COM
MOV DPTR,#TABLE1
LCALL WRITE_ASCII
MOV A,#98H
LCALL WRITE_COM
MOV DPTR,#TABLE1
LCALL WRITE_ASCII
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
;LCALL DELAY
MOV A,#80H
LCALL WRITE_COM
MOV DPTR,#CHINESE
LCALL WRITE_HZ
MOV A,#90H
LCALL WRITE_COM
MOV DPTR,#chinese
LCALL WRITE_hz
MOV A,#88H
LCALL WRITE_COM
MOV DPTR,#CHINESE
LCALL WRITE_HZ
MOV A,#98H
LCALL WRITE_COM
MOV DPTR,#chinese
LCALL WRITE_hz
LCALL DELAY
LCALL DELAY
LCALL DELAY
AJMP START
;LCALL DELAY
AJMP START
SETUP:
;初始化
MOV DPTR,#0000H
LCALL DELAY1
LCALL DELAY1
LCALL DELAY1
MOV A,#30H
LCALL WRITE_COM
LCALL DELAY1
MOV A,#30H
LCALL WRITE_COM
MOV A,#0CH
LCALL WRITE_COM
MOV A,#01H
LCALL WRITE_COM
MOV A,#06H
LCALL WRITE_COM
RET
;WRITE_COM: ;WRIT///cv
;WRITE COMMANDS TO ST7920
;LCALL DELAY1 ;INSTEAD OF CHECKING BF STATE
;LCALL DELAY
;LCALL DELAY
WRITE_COM: SETB CS
SETB SID
CLR SCLK
NOP
SETB SCLK
CLR SCLK
NOP
SETB SCLK
CLR SCLK
NOP
SETB SCLK
CLR SCLK
NOP
SETB SCLK
CLR SCLK
NOP
SETB SCLK
CLR SCLK
CLR SID
NOP
SETB SCLK
CLR SCLK
CLR SID
NOP
SETB SCLK
CLR SCLK
CLR SID
NOP
SETB SCLK
CLR SCLK
MOV C,ACC.7
MOV SID,C
NOP
SETB SCLK
CLR SCLK
MOV C,ACC.6
MOV SID,C
NOP
SETB SCLK
CLR SCLK
MOV C,ACC.5
MOV SID,C
NOP
SETB SCLK
CLR SCLK
MOV C,ACC.4
MOV SID,C
NOP
SETB SCLK
CLR SCLK
CLR SID
NOP
SETB SCLK
CLR SCLK
CLR SID
NOP
SETB SCLK
CLR SCLK
CLR SID
NOP
SETB SCLK
CLR SCLK
CLR SID
NOP
SETB SCLK
CLR SCLK
MOV C,ACC.3
MOV SID,C
NOP
SETB SCLK
CLR SCLK
MOV C,ACC.2
MOV SID,C
NOP
SETB SCLK
CLR SCLK
MOV C,ACC.1
MOV SID,C
NOP
SETB SCLK
CLR SCLK
MOV C,ACC.0
MOV SID,C
NOP
SETB SCLK
CLR SCLK
CLR SID
NOP
SETB SCLK
CLR SCLK
CLR SID
NOP
SETB SCLK
CLR SCLK
CLR SID
NOP
SETB SCLK
CLR SCLK
CLR SID
NOP
SETB SCLK
CLR SCLK
CLR CS
LCALL DELAY1
LCALL DELAY1
LCALL DELAY1
RET
WRITE_DAT: SETB CS
SETB SID
CLR SCLK
NOP
SETB SCLK
CLR SCLK
NOP
SETB SCLK
CLR SCLK
NOP
SETB SCLK
CLR SCLK
NOP
SETB SCLK
CLR SCLK
NOP
SETB SCLK
CLR SCLK
CLR SID
NOP
SETB SCLK
CLR SCLK
SETB SID
NOP
SETB SCLK
CLR SCLK
CLR SID
NOP
SETB SCLK
CLR SCLK
MOV C,ACC.7
MOV SID,C
NOP
SETB SCLK
CLR SCLK
MOV C,ACC.6
MOV SID,C
NOP
SETB SCLK
CLR SCLK
MOV C,ACC.5
MOV SID,C
NOP
SETB SCLK
CLR SCLK
MOV C,ACC.4
MOV SID,C
NOP
SETB SCLK
CLR SCLK
CLR SID
NOP
SETB SCLK
CLR SCLK
CLR SID
NOP
SETB SCLK
CLR SCLK
CLR SID
NOP
SETB SCLK
CLR SCLK
CLR SID
NOP
SETB SCLK
CLR SCLK
MOV C,ACC.3
MOV SID,C
NOP
SETB SCLK
CLR SCLK
MOV C,ACC.2
MOV SID,C
NOP
SETB SCLK
CLR SCLK
MOV C,ACC.1
MOV SID,C
NOP
SETB SCLK
CLR SCLK
MOV C,ACC.0
MOV SID,C
NOP
SETB SCLK
CLR SCLK
CLR SID
NOP
SETB SCLK
CLR SCLK
CLR SID
NOP
SETB SCLK
CLR SCLK
CLR SID
NOP
SETB SCLK
CLR SCLK
CLR SID
NOP
SETB SCLK
CLR SCLK
CLR CS
LCALL DELAY1
LCALL DELAY1
LCALL DELAY1
RET
DELAY1:
MOV R7,#010H
D11: MOV R6,#010H
DJNZ R6,$
DJNZ R7,D11
RET
DELAY:
MOV R1,#00H
D2: MOV R2,#00H
DJNZ R2,$
DJNZ R1,D2
RET
DEF_CHAR: ;WRITE TO CGRAM
MOV A,#01000000B ;SET CGRAM ADDRESS
LCALL WRITE_COM
MOV R3,#8
DEF1:
MOV A,#000H
LCALL WRITE_DAT
LCALL WRITE_DAT
MOV A,#0FFH
LCALL WRITE_DAT
LCALL WRITE_DAT
DJNZ R3,DEF1
MOV R3,#8
DEF2:
MOV A,#0AAH
LCALL WRITE_DAT
LCALL WRITE_DAT
MOV A,#0AAH
LCALL WRITE_DAT
LCALL WRITE_DAT
DJNZ R3,DEF2
MOV R3,#8
DEF3:
MOV A,#055H
LCALL WRITE_DAT
LCALL WRITE_DAT
MOV A,#0AAH
LCALL WRITE_DAT
LCALL WRITE_DAT
DJNZ R3,DEF3
mov R3,#8
DEF4:
MOV A,#0FFH
LCALL WRITE_DAT
LCALL WRITE_DAT
LCALL WRITE_DAT
LCALL WRITE_DAT
DJNZ R3,DEF4
RET
WRITE_ASCII:
MOV R4,#16
DDDD: CLR A
MOVC A,@A+DPTR
LCALL WRITE_DAT
INC DPTR
DJNZ R4,DDDD
RET
WRITE_HZ: ;WRITE 8 CHINESE TO LCD
MOV R4,#8
DD: CLR A
MOVC A,@A+DPTR
INC DPTR
LCALL WRITE_DAT
CLR A
MOVC A,@A+DPTR
INC DPTR
LCALL WRITE_DAT
DJNZ R4,DD
RET
WRITE_CGRAM: ;CGRAM TESTING
CLR A
MOVC A,@A+DPTR
LCALL WRITE_DAT
INC DPTR
CLR A
MOVC A,@A+DPTR
LCALL WRITE_DAT
RET
TABLE1:
DB 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P'
DB 'R','S','T','U','V','W','1','2','3','4','5','6','7','8','9','0'
CGRAM1: DB 000H,000H
CGRAM2: DB 000H,002H
CGRAM3: DB 000H,004H
CGRAM4: DB 000H,006H
CHINESE:
DB 0D2H,0BAH,0BEH,0A7H,0D2H,0BAH,0BEH,0A7H ;液晶模块
DB 0B0H,0A1H,0B0H,0A2H,0B0H,0A1H,0B0H,0A2H ;液晶模块
TAB_BMP1:
END
______________________________________________________________________________
深圳驰宇微科技有限公司
Tel:+86-755-29446830
Mobile:13640934827(微信号)
http://www.cywlcd.com
Add:深圳市龙华新区大浪街道华宁路伟华达工业园C1栋七楼
驰宇微---11年专业研发、生产与销售【点阵液晶显示模块】和【段码液晶屏】,售前、售后技术支持,性能稳定可靠!
深圳驰宇微液晶模块厂家主要研发生产:
1. 单色液晶屏点阵式lcd,包括:12864液晶模块、12864液晶屏、320240液晶模块、320240液晶屏、240128液晶模块、240128液晶屏、160128液晶模块、160128液晶屏、24064液晶模块、24064液晶屏、19264液晶模块、19264液晶屏、16032液晶模块、16032液晶屏、12232液晶模块、12232液晶屏等点阵液晶显示模块和带中文字库液晶屏。
2. 单色液晶屏字符液晶模块,包括:0802液晶模块、1602液晶模块、1604lcd液晶模块、2002液晶模块、2004液晶模块等。
3. 段码液晶屏包括:VA LCD、 TN LCD、HTN LCD、STN LCD、FSTN LCD等笔段式LCD。
广泛应用于:医疗设备、仪器仪表、汽车电子、工控设备、电表、水表、温控器、智能家居等众多产品。不管是点阵液晶还是段式液晶,都可按要求定制液晶屏。
驰宇微首页 | 图形点阵液晶模块 | 中文字库液晶模块 | 字符型液晶模块 | 段码液晶模块 | 产品列表 | 站点地图 | 关于驰宇微
公司名称: 深圳驰宇微科技有限公司
备案号:粤ICP备14047421号
公司地址:深圳市龙华区大浪街道华昌路241号鸿源工业区E栋5层
公司电话:0755-29446830 13640934827
邮 箱:18926046819@163.com Q Q:577895076
版权归深圳驰宇微科技所有