搜档网
当前位置:搜档网 › 12864中文字库

12864中文字库

12864中文字库
12864中文字库

梁国书for(;1;) study; FYD12864液晶中文显示模块

(一) (一)概述 (3)

(二)(二)外形尺寸

1 方框图 (3)

2 外型尺寸图 (4)

(三)(三)模块的接口 (4)

(四)(四)硬件说明 (5)

(五) 指令说明 (7)

(五)(五)读写操作时序 (8)

(六)(六)交流参数 (11)

(七)(七)软件初始化过程 (12)

(八)(八)应用举例 (13)

(九)(九)附录

1半宽字符表 (20)

2 汉字字符表 (21)

一、概述

FYD12864-0402B是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。

基本特性:

●●低电源电压(VDD:+3.0--+5.5V)

●●显示分辨率:128×64点

●●2MHZ时钟频率

●●显示方式:STN、半透、正显

●●驱动方式:1/32DUTY,1/5BIAS

●●视角方向:6点

●●背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5—1/10 ●●通讯方式:串行、并口可选

●●内置DC-DC转换电路,无需外加负压

●●无需片选信号,简化软件设计

●●工作温度: 0℃ - +55℃ ,存储温度: -20℃ - +60℃

二、方框图

3、外形尺寸图

三、模块接口说明

*注释1:如在实际应用中仅使用串口通讯模式,可将PSB接固定低电平,也可以将模块上的J8和“GND”用焊锡短接。

*注释2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。

*注释3:如背光和模块共用一个电源,可以将模块上的JA、JK用焊锡短接。

*注释1:如在实际应用中仅使用并口通讯模式,可将PSB接固定高电平,也可以将模块上的J8和“VCC”用焊锡短接。

*注释2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。

*注释3:如背光和模块共用一个电源,可以将模块上的JA、JK用焊锡短接。

四.模块主要硬件构成说明

控制器接口信号说明:

1、1、RS,R/W的配合选择决定控制界面的4种模式:

●忙标志:BF

BF标志提供内部工作情况.BF=1表示模块在进行内部操作,此时模块不接受外部指令和数据.BF=0时,模块为准备状态,随时可接受外部指令和数据.

利用STATUS RD 指令,可以将BF读到DB7总线,从而检验模块之工作状态.

●字型产生ROM(CGROM)

字型产生ROM(CGROM)提供8192个此触发器是用于模块屏幕显示开和关的控制。DFF=1为开显示(DISPLAY ON),DDRAM 的内容就显示在屏幕上,DFF=0为关显示(DISPLAY OFF)。

DFF 的状态是指令DISPLAY ON/OFF和RST信号控制的。

●显示数据RAM(DDRAM)

模块内部显示数据RAM提供64×2个位元组的空间,最多可控制4行16字(64个字)的中文字型显示,当写入显示数据RAM时,可分别显示CGROM与CGRAM的字型;此模块可显示三种字型,分别是半角英数字型(16*8)、CGRAM字型及CGROM的中文字型,三种字型的选择,由在DDRAM中写入的编码选择,在0000H—0006H的编码中(其代码分别是0000、0002、0004、0006共4个)将选择CGRAM的自定义字型,02H—7FH的编码中将选择半角英数字的字型,至于A1以上的编码将自动的结合下一个位元组,组成两个位元组的编码形成中文字型的编码BIG5(A140—D75F),GB(A1A0-F7FFH)。

●字型产生RAM(CGRAM)

字型产生RAM提供图象定义(造字)功能, 可以提供四组16×16点的自定义图象空间,使用者可以将内部字型没有提供的图象字型自行定义到CGRAM中,便可和CGROM中的定义一样地通过DDRAM显示在屏幕中。

●地址计数器AC

地址计数器是用来贮存DDRAM/CGRAM之一的地址,它可由设定指令暂存器来改变,之后只要读取或是写入DDRAM/CGRAM的值时,地址计数器的值就会自动加一,当RS为“0”时而R/W为“1”时,地址计数器的值会被读取到DB6——DB0中。

●●光标/闪烁控制电路

此模块提供硬体光标及闪烁控制电路,由地址计数器的值来指定DDRAM中的光标或闪烁位置。

五、指令说明

模块控制芯片提供两套控制命令,基本指令和扩充指令如下:

指令表2:(RE=1:扩充指令)

备注;当IC1在接受指令前,微处理器必须先确认其内部处于非忙碌状态,即读取BF标志时,BF需为零,方可接受新的指令;如果在送出一个指令前并不检查BF标志,那么在前一个指令和这个指令中间必须延长一段较长的时间,即是等待前一个指令确实执行完成。

六、读写时序图

6.1 数据传输过程

8位和4位数据线的传输过程

串口数据线模式数据传输过程

MPU写资料到ST7920(8位数据线模式)

MPU 从ST7920读资料(8位数据线模式)6.3 串口读写时序:

串口方式下MPU写数据到ST7920

交流参数(T A = 25o C, V DD = 4.5 V - 5.5 V)八、软件初始化

九.应用举例:

1 、使用前的准备

先给模块加上工作电压,再按照下图的连接方法调节LCD的对比度,使其显示出黑色的底影。

此过程亦可以初步检测LCD有无缺段现象。

FYD12864-0402B每屏可显示4行8列共32个16×16点阵的汉字,每个显示RAM可显示1个中

文字符或2个16×8点阵全高ASCII码字符,即每屏最多可实现32个中文字符或64个ASCII码字符的显示。FYD12864-0402B内部提供128×2字节的字符显示RAM缓冲区(DDRAM)。字符显示是通过将字符显示编码写入该字符显示RAM实现的。根据写入内容的不同,可分别在液晶屏上显示CGROM(中文字库)、HCGROM(ASCII码字库)及CGRAM(自定义字形)的内容。三种不同字符/字型的选择编码范围为:0000~0006H(其代码分别是0000、0002、0004、0006共4个)显示自定义字型,02H~7FH显示半宽ASCII码字符,A1A0H~F7FFH显示8192种GB2312中文字库字形。字符显示RAM在液晶模块中的地址80H~9FH。字符显示的RAM的地址与32个字符显

先设垂直地址再设水平地址(连续写入两个字节的资料来完成垂直与水平的坐标地址)

垂直地址范围AC5...AC0

水平地址范围AC3…AC0

绘图RAM 的地址计数器(AC)只会对水平地址(X 轴)自动加一,当水平地址=0FH 时会重新设为00H 但并不会对垂直地址做进位自动加一,故当连续写入多笔资料时,程序需自行判断垂直地址是否需重新设定。GDRAM的坐标地址与资料排列顺序如下图:

用FYD12864-0402B显示模块时应注意以下几点:

①欲在某一个位置显示中文字符时,应先设定显示字符位置,即先设定显示地址,再写入中文字符编码。

②显示ASCII字符过程与显示中文字符过程相同。不过在显示连续字符时,只须设定一次显示地址,由模块自动对地址加1指向下一个字符位置,否则,显示的字符中将会有一个空ASCII字符位置。

③当字符编码为2字节时,应先写入高位字节,再写入低位字节。

④模块在接收指令前,向处理器必须先确认模块内部处于非忙状态,即读取BF标志时BF需为“0”,方可接受新的指令。如果在送出一个指令前不检查BF标志,则在前一个指令和这个指令中间必须延迟一段较长的时间,即等待前一个指令确定执行完成。指令执行的时间请参考指令表中的指令执行时间说明。⑤“RE”为基本指令集与扩充指令集的选择控制位。当变更“RE”后,以后的指令集将维持在最后的状态,除非再次变更“RE”

位,否则使用相同指令集时,无需每次均重设“RE”位。

4、4、YD12864-0402B与单片机80C51的一种接口如图所示

5、5、编程参考(部分)

;*********************************************

;Controller:ST7920

;MCU:AT89C52 ,晶体频率:12MHz

;LCM:128*64

;LCM型号:FYD12864-0402

;LCM 接口:1:GND 2:VCC 3:V0 4.RS 5:RW 6:E 7--14:DB0-DB7 15:PSB 16:NC 17:RST 18:Vout

;**********************************************

RS EQU P1.3

RW EQU P1.4

E EQU P1.5

PSB EQU P1.6

RST EQU P2.7

COM EQU 20H

DAT EQU 21H

;******************************以上是接口定义

START:

ORG 0000H

MOV SP,#60H

ORG 0040H

DISP: CLR PSB

LCALL DELAY

SETB PSB ;将PSB置1,通信方式为8位数据并口

LCALL DELAY

MOV COM,#30H ;功能设置---8BIT控制界面,基本指令集 ACALL WRI ;调用写指令子程序

LCALL DELAY ;延迟39uS

MOV COM,#0CH ;显示打开,光标关,反白显示关

ACALL WRI ;调用写指令子程序

LCALL DELAY ;延迟39uS

MOV COM,#01H ;清除屏幕显示,将DDRAM的地址计数器归零 ACALL WRI ;调用写指令子程序

LCALL DELAY ;延迟39uS

MOV COM,#06H ;DDRAM的地址计数器(AC)加1

ACALL WRI ;调用写指令子程序

LCALL DELAY ;延迟39uS

;****************************************************

DISPLAY5A:

MOV R2,#64 ;DDRAM地址记数器设为最大值

MOV R1,#10H

MOV COM,#80H ;DD RAM 地址-----0000000

ACALL WRI

DISP5A: MOV DAT,R1

ACALL WRD ;写入第二字节数据

INC R1

DJNZ R2,DISP5A

LCALL DELAY1 ;1S延时子程序

;*************************************以上是写入半角字符

DISPLAY5:

MOV R2,#64 ;DDRAM地址记数器设为最大值

MOV R1,#0DEH

MOV COM,#80H ;DD RAM 地址-----0000000

ACALL WRI

DISP5: MOV DAT,#0B4H

ACALL WRD ;写入第一字节数据

MOV DAT,R1

ACALL WRD ;写入第二字节数据

INC R1

DJNZ R2,DISP5

LCALL DELAY1 ;1S延时子程序

;**********************************以上是从字库中“崔”字处开始显示

MOV COM,#01H ;清屏

ACALL WRI ;调用写指令子程序

LCALL DELAY

MOV COM,#32H ;功能设置---8BIT控制界面,绘图显示ON ACALL WRI ;调用写指令子程序

LCALL DELAY ;延迟39uS

MOV COM,#36H ;功能设置---8BIT控制界面,扩充指令集 ACALL WRI ;调用写指令子程序

LCALL DELAY ;延迟39uS

DISPLAY6:

MOV R3,#80H ;Y地址寄存器

DISP6: MOV COM,R3 ;设置绘图区的Y地址坐标

INC R3 ;Y地址加1

LCALL WRI

MOV COM,#80H ;设置绘图区的X地址坐标

LCALL WRI

MOV R1,#16 ;16*8列

DISP7: CLR A

MOVC A,@A+DPTR

MOV DAT,A

LCALL WRD

INC DPTR

DJNZ R1,DISP7

DJNZ R2,DISP6 ;写满全屏的16*8字节X64

MOV R2,#32 ;32行,(双屏结构的下半屏)

MOV R3,#80H ;Y地址寄存器

DISP8: MOV COM,R3 ;设置绘图区的Y地址坐标

INC R3 ;Y地址加1

LCALL WRI

MOV COM,#88H ;设置绘图区的X地址坐标

LCALL WRI

MOV R1,#16 ;16*8列

DISP9: CLR A

MOVC A,@A+DPTR

MOV DAT,A

LCALL WRD

INC DPTR

DJNZ R1,DISP9

DJNZ R2,DISP8 ;写满全屏的16*8字节X64

LCALL DELAY1 ;1S延时子程序

;*******************************************以上是写入一幅图画(电脑桌面图) DISPLAY6A:

MOV DPTR,#DAB3 ;图形数据入口地址

MOV R2,#32 ;32行,(双屏结构中上半屏)

MOV R3,#80H ;Y地址寄存器

DISP6A: MOV COM,R3 ;设置绘图区的Y地址坐标

INC R3 ;Y地址加1

LCALL WRI

MOV COM,#80H ;设置绘图区的X地址坐标

LCALL WRI

MOV R1,#16 ;16*8列

DISP7A: CLR A

MOVC A,@A+DPTR

MOV DAT,A

LCALL WRD

INC DPTR

DJNZ R1,DISP7A

DJNZ R2,DISP6A ;写满全屏的16*8字节X64

MOV R2,#32 ;32行,(双屏结构的下半屏)

MOV R3,#80H ;Y地址寄存器

DISP8A: MOV COM,R3 ;设置绘图区的Y地址坐标

INC R3 ;Y地址加1

LCALL WRI

MOV R1,#16 ;16*8列

DISP9A: CLR A

MOVC A,@A+DPTR

MOV DAT,A

LCALL WRD

INC DPTR

DJNZ R1,DISP9A

DJNZ R2,DISP8A ;写满全屏的16*8字节X64

LCALL DELAY1 ;1S延时子程序

LJMP START ;从开始处循环显示

;***************************************以上是写入一幅图画(电子制作实验室)WRI: PUSH ACC

CLR RS

SETB RW

WRI1: MOV P0,#0FFH

SETB E

MOV A,P0

CLR E

JB ACC.7,WRI1

CLR RW

MOV P0,COM

SETB E

CLR E

POP ACC

RET

;******************************************以上是写指令子程序

WRD: PUSH ACC

CLR RS

SETB RW

WRD1: MOV P0,#0FFH

SETB E

MOV A,P0

CLR E

JB ACC.7,WRD1

SETB RS

CLR RW

MOV P0,DAT

SETB E

CLR E

POP ACC

RET

;******************************************以上是写数据子程序

DELAY: MOV R7,#0FFH

DELAY4: MOV R6,#00FH

LOOP2: DJNZ R6,LOOP2

DJNZ R7,DELAY4

RET

DELAY1: MOV R4,#08H

DELAY11:MOV R7,#0FFH

DELAY41:MOV R6,#0FFH

DJNZ R6,$

DJNZ R7,DELAY41

DJNZ R4,DELAY11

RET

XX: MOV R5,#0FFH

DJNZ R5,XX1

RET

;******************************************以上是延时子程序

DAB2:

DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,03FH,0FFH,0F0H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,040H,000H,018H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,0BFH,0FFH,0DCH,000H,001H DB 080H,000H,01FH,0FFH,0FFH,000H,000H,000H,000H,000H,000H,0BFH,0FFH,0BCH,000H,001H DB 080H,000H,030H,000H,001H,080H,000H,000H,000H,000H,001H,07FH,0FFH,0B8H,000H,001H DB 080H,000H,030H,000H,000H,080H,000H,000H,000H,000H,001H,07FH,0FFH,078H,000H,001H DB 080H,000H,019H,0FFH,0FEH,0C0H,000H,000H,000H,000H,002H,0FFH,0FFH,070H,000H,001H DB 080H,000H,018H,000H,000H,040H,000H,000H,000H,000H,002H,0FFH,0FEH,0F0H,000H,001H DB 080H,000H,00CH,001H,0FFH,060H,000H,000H,000H,000H,005H,0FFH,0FEH,0E0H,000H,001H DB 080H,000H,00CH,07FH,0D0H,020H,000H,000H,000H,000H,005H,0FFH,0FDH,0E0H,000H,001H DB 080H,000H,006H,000H,00FH,0B0H,000H,000H,000H,000H,00BH,0FFH,0FDH,0C0H,000H,001H DB 080H,000H,006H,003H,0FCH,010H,000H,000H,000H,000H,00BH,0FFH,0FBH,0C0H,000H,001H DB 080H,000H,003H,01FH,000H,018H,000H,000H,000H,000H,017H,0FFH,0FBH,080H,000H,001H DB 080H,000H,003H,000H,000H,008H,000H,000H,000H,000H,017H,0FFH,0F7H,080H,000H,001H DB 080H,000H,001H,080H,000H,00CH,000H,000H,000H,000H,017H,0FFH,0F7H,000H,000H,001H DB 080H,000H,001H,080H,000H,004H,000H,000H,000H,000H,009H,0FFH,0EFH,000H,000H,001H DB 080H,000H,000H,0C0H,000H,0F6H,000H,000H,000H,000H,006H,07FH,0EEH,000H,000H,001H DB 080H,000H,000H,0C0H,003H,0C2H,000H,000H,000H,000H,001H,09FH,0DEH,000H,000H,001H DB 080H,000H,000H,060H,000H,03BH,000H,000H,000H,000H,000H,067H,0DFH,000H,000H,001H DB 080H,000H,000H,060H,000H,0E3H,000H,000H,000H,000H,000H,019H,0BFH,000H,000H,001H DB 080H,000H,000H,030H,003H,08EH,000H,000H,000H,000H,000H,006H,03FH,000H,000H,001H DB 080H,000H,000H,030H,006H,03CH,000H,000H,000H,000H,000H,001H,0FFH,000H,000H,001H DB 080H,000H,000H,018H,000H,0F0H,000H,000H,000H,000H,000H,000H,0FFH,000H,000H,001H DB 080H,000H,000H,018H,003H,0C0H,000H,000H,000H,000H,000H,00FH,07FH,080H,000H,001H DB 080H,000H,000H,00CH,00FH,000H,000H,000H,000H,000H,000H,030H,01FH,0C0H,000H,001H DB 080H,000H,000H,00CH,03CH,000H,000H,000H,000H,000H,000H,040H,007H,0E0H,000H,001H DB 080H,000H,000H,006H,0F0H,000H,000H,000H,000H,000H,000H,0E0H,01FH,0E0H,000H,001H DB 080H,000H,000H,007H,0C0H,000H,000H,000H,000H,000H,000H,0F8H,03FH,0C0H,000H,001H DB 080H,000H,000H,003H,000H,000H,000H,000H,000H,000H,000H,07EH,0FFH,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,01FH,0FCH,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,007H,0F0H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H,0C0H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,005H,040H,088H,004H,001H,008H,000H,000H,00AH,081H,010H,004H,000H,020H,001H DB 080H,079H,021H,008H,002H,021H,049H,000H,000H,0F2H,042H,010H,004H,047H,010H,001H DB 080H,009H,007H,0DFH,07FH,0F7H,0AAH,000H,000H,012H,00FH,0BEH,07FH,0E5H,0FEH,001H DB 080H,07FH,0F4H,051H,008H,081H,02CH,000H,000H,0FFH,0E8H,0A2H,044H,047H,000H,001H DB 080H,009H,004H,061H,008H,081H,07FH,000H,000H,012H,008H,0C2H,07FH,0C5H,04AH,001H DB 080H,00BH,024H,051H,008H,083H,081H,000H,000H,016H,048H,0A2H,044H,045H,06AH,001H DB 080H,01DH,047H,0C9H,005H,005H,001H,000H,000H,03AH,08FH,092H,044H,047H,052H,001H DB 080H,068H,084H,049H,005H,005H,07FH,000H,000H,0D1H,008H,092H,07FH,0C5H,06AH,001H DB 080H,009H,094H,041H,002H,001H,001H,000H,000H,013H,028H,082H,044H,005H,04AH,001H DB 080H,00EH,057H,0C1H,00DH,081H,001H,000H,000H,01CH,0AFH,082H,004H,029H,042H,001H DB 080H,038H,034H,04EH,070H,071H,07FH,000H,000H,070H,068H,09CH,003H,0EBH,07EH,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H

DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DAB3:

DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,030H,000H,00FH,0F0H,000H,060H,020H,004H,0C0H,000H,000H,000H,000H,000H,001H DB 084H,030H,080H,01FH,038H,003H,060H,030H,03CH,0C0H,000H,000H,000H,000H,000H,001H DB 087H,0FFH,0C0H,001H,0F8H,003H,0FBH,030H,0F9H,0FFH,0C0H,000H,000H,000H,000H,001H DB 086H,030H,080H,000H,0C0H,006H,061H,020H,05BH,061H,080H,000H,000H,000H,000H,001H DB 087H,0FFH,080H,07FH,0FFH,0CFH,0FDH,020H,01CH,060H,000H,000H,000H,000H,000H,001H DB 086H,030H,080H,0FCH,0DFH,09CH,061H,020H,018H,07FH,000H,000H,000H,000H,000H,001H DB 087H,0FFH,080H,080H,041H,083H,0F9H,020H,018H,060H,000H,000H,000H,000H,000H,001H DB 083H,0FFH,080H,000H,060H,003H,06BH,020H,018H,07FH,080H,000H,000H,000H,000H,001H DB 080H,030H,000H,000H,0C0H,003H,068H,020H,018H,060H,000H,000H,000H,000H,000H,001H DB 080H,01FH,0F8H,000H,0C0H,002H,068H,020H,018H,060H,000H,000H,000H,000H,000H,001H DB 080H,00FH,0F0H,00FH,0C0H,006H,069H,0E0H,018H,060H,000H,000H,000H,000H,000H,001H DB 080H,003H,0E0H,003H,000H,000H,040H,0C0H,000H,060H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,060H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,030H,000H,000H,0E0H,000H,070H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,038H,003H,0F8H,0E0H,000H,030H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,030H,060H,018H,0E0H,00FH,0FFH,0E0H,000H,001H DB 080H,000H,000H,000H,000H,000H,00FH,0FFH,0F0H,0D9H,0B0H,018H,000H,0C0H,000H,001H DB 080H,000H,000H,000H,000H,000H,01CH,018H,0C0H,0DBH,018H,018H,001H,080H,000H,001H DB 080H,000H,0FFH,0FFH,0FFH,000H,019H,0D8H,001H,0B3H,00CH,00FH,0FFH,0C0H,000H,001H DB 080H,000H,0FFH,0FFH,0FFH,000H,000H,0D8H,001H,0B6H,01FH,000H,0ECH,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,006H,018H,001H,0BFH,0FCH,001H,087H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,003H,098H,001H,0FCH,00CH,003H,001H,080H,000H,001H DB 080H,000H,000H,000H,000H,000H,001H,098H,001H,09EH,0CCH,007H,0FFH,080H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,018H,0E0H,01BH,0CCH,000H,039H,080H,000H,001H DB 080H,000H,001H,0FFH,0FFH,000H,01FH,0FFH,080H,0FBH,078H,000H,031H,080H,000H,001H DB 080H,000H,001H,0FFH,0FFH,000H,000H,030H,003H,09BH,078H,007H,0FFH,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,07EH,000H,01BH,030H,000H,030H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,0E3H,080H,018H,030H,000H,030H,060H,000H,001H DB 080H,000H,000H,000H,000H,000H,003H,081H,0C0H,0F0H,037H,01FH,0FFH,0F0H,000H,001H DB 080H,000H,000H,000H,000H,000H,01EH,000H,0C0H,007H,0FCH,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,003H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H

DB 080H,07EH,0FDH,0F8H,007H,0E7H,007H,03FH,01FH,039H,0F0H,0F8H,003H,0C7H,03EH,001H DB 080H,07EH,0FDH,0F8H,003H,0C3H,00DH,080H,036H,06CH,0D9H,0B0H,006H,0CDH,0BFH,001H DB 080H,03CH,078H,0F0H,001H,083H,00FH,080H,01CH,03CH,0D8H,0E0H,006H,00DH,0BFH,001H DB 080H,03CH,078H,0F0H,003H,0C3H,00CH,000H,030H,06CH,0D9H,080H,006H,00DH,0BFH,001H DB 080H,03CH,078H,0F1H,087H,0E7H,087H,080H,03EH,03FH,0FDH,0F3H,003H,0C7H,03FH,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,033H,000H,001H,098H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,01EH,000H,000H,0F0H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 080H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,001H DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH

END

十、附录部分

附录1:ASCII码表

16*8半宽字符表

附录2:汉字码址表

LCD12864汉字显示

//在12864液晶上显示汉字和英文字符 /***********************头文件*********************/ #include "regx52.h" typedef unsigned char uchar; typedef unsignedintuint; sbitlcdrs=P1^5; //12864:0写指令,1写数据 sbitlcdwr=P1^6; //12864读写信号 sbitlcden=P1^7; //12864片选信号 uchar code tab[]={" ATI-51S"}; uchari; /***********************1ms延时函数**********************/ void delay(uint z) { uint y; while(z--) { for(y=0;y<125;y++); } } /***********************LCD写指令写数据**********************/ voidwrite_comdata(uchara,uchardatas) { lcdrs=a; lcdwr=0; delay(1); P0=datas; lcden=1; delay(1); lcden=0; } /***********************光标位置*********************/ void cursor(uchar x, uchar y ) { uchar address; switch(x){ case 0: address=0x80+y;break; case 1: address=0x90+y;break;

带字库12864液晶详解

12864液晶 一、概述 带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。 基本特性: l 低电源电压(VDD:+3.0--+5.5V) l 显示分辨率:128×64点 l 内置汉字字库,提供8192个16×16点阵汉字(简繁体可选) l 内置 128个16×8点阵字符 l 2MHZ时钟频率 l 显示方式:STN、半透、正显 l 驱动方式:1/32DUTY,1/5BIAS l 视角方向:6点 l 背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5—1/10 l 通讯方式:串行、并口可选 l 内置DC-DC转换电路,无需外加负压 l 无需片选信号,简化软件设计 l 工作温度: 0℃ - +55℃ ,存储温度: -20℃ - +60℃ 模块接口说明

*注释1:如在实际应用中仅使用串口通讯模式,可将PSB接固定低电平,也可以将模块上的J8和“GND”用焊锡短接。 *注释2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。 *注释3:如背光和模块共用一个电源,可以将模块上的JA、JK用焊锡短接。 2.2并行接口 管脚号管脚名称电平管脚功能描述 1 VSS 0V 电源地 2 VCC 3.0+5V 电源正 3 V0 - 对比度(亮度)调整 RS=“H”,表示DB7——DB0为显示数据 4 RS(CS)H/L RS=“L”,表示DB7——DB0为显示指令数据 R/W=“H”,E=“H”,数据被读到DB7——DB0 5 R/W(SID) H/L R/W=“L”,E=“H→L”, DB7——DB0的数据被写到IR或DR 6 E(SCLK) H/L 使能信号 7 DB0 H/L 三态数据线 8 DB1 H/L 三态数据线 9 DB2 H/L 三态数据线 10 DB3 H/L 三态数据线 11 DB4 H/L 三态数据线 12 DB5 H/L 三态数据线 13 DB6 H/L 三态数据线 14 DB7 H/L 三态数据线 15 PSB H/L H:8位或4位并口方式,L:串口方式(见注释1) 16 NC - 空脚 17 /RESET H/L 复位端,低电平有效(见注释2) 18 VOUT - LCD驱动电压输出端 19 A VDD 背光源正端(+5V)(见注释3) 20 K VSS 背光源负端(见注释3)

12864中文资料及字库说明书

FYD12864液晶中文显示模块 一、概述 FYD12864-0402B是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。 基本特性: ●●低电源电压(VDD:+3.0--+5.5V) ●●显示分辨率:128×64点 ●●内置汉字字库,提供8192个16×16点阵汉字(简繁体可选) ●●内置 128个16×8点阵字符 ●●2MHZ时钟频率 ●●显示方式:STN、半透、正显 ●●驱动方式:1/32DUTY,1/5BIAS ●●视角方向:6点 ●●背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5—1/10 ●●通讯方式:串行、并口可选 ●●内置DC-DC转换电路,无需外加负压 ●●无需片选信号,简化软件设计 ●●工作温度: 0℃ - +55℃ ,存储温度: -20℃ - +60℃ 二、方框图

三、模块接口说明 *注释1:如在实际应用中仅使用串口通讯模式,可将PSB接固定低电平,也可以将模块上的J8和“GND”用焊锡短接。*注释2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。 *注释3:如背光和模块共用一个电源,可以将模块上的JA、JK用焊锡短接。 2.2并行接口

12864中文字库

梁国书for(;1;) study; FYD12864液晶中文显示模块

(一) (一)概述 (3) (二)(二)外形尺寸 1 方框图 (3) 2 外型尺寸图 (4) (三)(三)模块的接口 (4) (四)(四)硬件说明 (5) (五) 指令说明 (7) (五)(五)读写操作时序 (8) (六)(六)交流参数 (11) (七)(七)软件初始化过程 (12) (八)(八)应用举例 (13) (九)(九)附录 1半宽字符表 (20) 2 汉字字符表 (21) 一、概述 FYD12864-0402B是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。 基本特性: ●●低电源电压(VDD:+3.0--+5.5V) ●●显示分辨率:128×64点

●●2MHZ时钟频率 ●●显示方式:STN、半透、正显 ●●驱动方式:1/32DUTY,1/5BIAS ●●视角方向:6点 ●●背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5—1/10 ●●通讯方式:串行、并口可选 ●●内置DC-DC转换电路,无需外加负压 ●●无需片选信号,简化软件设计 ●●工作温度: 0℃ - +55℃ ,存储温度: -20℃ - +60℃ 二、方框图 3、外形尺寸图

LCD12864编码显示汉字

#include <> #include <> #define uint unsigned int #define uchar unsigned char #define DATA P0 //LCD12864数据线 sbit RS=P2^2; // 数据\指令选择 sbit RW=P2^1; // 读\写选择 sbit EN=P2^0; // 读\写使能 sbit CS1=P2^3; // 片选1 sbit CS2=P2^4; // 片选2 /********************************/ /* 定义中文字库*/ /********************************/ uchar code Hzk[]={ /*-- 文字: 各 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x00,0x20,0x20,0x10,0x08,0x8F,0xB4,0x44,0x44,0xA4,0x9C,0x04,0x00,0x00,0x00, 0x00, 0x02,0x02,0x02,0x01,0x7F,0x42,0x42,0x42,0x42,0x42,0x42,0x7F,0x01,0x03,0x01, 0x00, /*-- 文字: 位 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x00,0xC0,0x30,0xEC,0x03,0x2A,0xC8,0x09,0x0A,0x0E,0x08,0xE8,0x48,0x08,0x00, 0x00, 0x01,0x00,0x00,0x7F,0x20,0x20,0x20,0x27,0x20,0x30,0x2E,0x21,0x20,0x20,0x20, 0x00, /*-- 文字: 单 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x00,0x00,0xF8,0x28,0x29,0x2E,0x2A,0xF8,0x28,0x2C,0x2B,0x2A,0xF8,0x00,0x00, 0x00, 0x08,0x08,0x0B,0x09,0x09,0x09,0x09,0xFF,0x09,0x09,0x09,0x09,0x0B,0x08,0x08, 0x00, /*-- 文字: 机 --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/ 0x08,0x08,0xC8,0xFF,0x48,0x88,0x08,0x00,0xFE,0x02,0x02,0x02,0xFE,0x00,0x00, 0x00,

12864串行显示中文讲解

12864串行显示中文,按键选择显示页面,并且可调数值。 单片机P1口接矩阵按键,其它接口按程序中定义去接 只需要接12864LCD上GND VCC RS RW E PSB RST A K 程序如下 /********************************12864.h头文件*******************************/ #ifndef _12864_h #define _12864_h /*****包含头文件**************/ #include /********定义I/0口**********/ #define GPIO_KEY P1 sbit LCD12864_SCLK = P2^7; //E sbit LCD12864_SID = P2^5; //RW sbit LCD12864_CS = P2^6; //RS sbit LCD12864_RET= P2^0; sbit LCD12864_PSB =P2^2; /*声明全局变量*/ extern unsigned char keyvalue; /******声明全局函数*********/ void Delay1ms(unsigned int); //声明延时函数 unsigned char KeyDown(void); void LCD_sendbyte(unsigned char); void WrCom(unsigned char); void WrDat(unsigned char); void LcdInit(void); //void Print(unsigned char); void SetAddress( unsigned char,unsigned char ); void DisplayString(unsigned char x ,unsigned char y,unsigned char *add); #endif /********************************12864.C*************************************/ #include"12864.h" #include #include"string.h" //#define LCM_ST7920_FIRST_LINE_ADDRESS 0x80 //#define LCM_ST7920_SECOND_LINE_ADDRESS 0x90 //#define LCM_ST7920_THIRD_LINE_ADDRESS 0x88 //#define LCM_ST7920_FOURTH_LINE_ADDRESS 0x98

12864液晶显示程序(图案+文字)

#include sbit LCD12864_RS = P2^0; //RS控制引脚 sbit LCD12864_RW = P2^1; //RW控制引脚 sbit LCD12864_EN = P2^2; //EN控制引脚 sbit LCD12864_PSB = P2^3; //模式选择引脚,ST7920控制器,1为8位并行接口,0为串行接口 #define LCDPORT P0//数据引脚 void LCD12864_Init(void); //LCD12864初始化函数 void LCD12864_WriteInfomation(unsigned char ucData,bit bComOrData); //向LCD12864写入数据,bComOrData为1时写入的是数据,0时写入的是命令 void LCD12864_CheckBusy(void);//忙检测函数 void LCD12864_DisplayImage(unsigned char code *ucImage); void Delay(unsigned int uiCount); unsigned char code ucPic1[]={ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x06,0x30,0x01,0xE0,0x00,0x00,0x2A,0x00,0x00,0xD8,0x00,0x00,0x00,0x00,0x00, 0x00,0x0F,0x7B,0x63,0xE0,0x00,0x00,0x22,0x00,0x01,0x24,0x00,0x00,0x00,0x00,0x00, 0x00,0x0F,0xFB,0x63,0x07,0x34,0x00,0x14,0x00,0x01,0x04,0x00,0x00,0x00,0x00,0x00, 0x00,0x0D,0xDB,0x63,0x01,0xBC,0x00,0x08,0x00,0x00,0x88,0x00,0x00,0x00,0x00,0x00, 0x00,0x0C,0x1B,0x63,0x07,0xB0,0x00,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x00,0x00, 0x00,0x0C,0x1B,0x63,0xED,0xB0,0xDB,0x00,0x01,0x00,0x20,0x00,0x00,0x00,0x00,0x00, 0x00,0x0C,0x19,0xE1,0xE7,0xB0,0xDB,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x0C,0x19,0xE1,0xE7,0xB0,0xDB,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x03,0xC0,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x05,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x0A,0x80,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x0A,0x00,0x00,0xFF,0xF8,0xE0,0x05,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x06,0xC0,0x15,0x00,0x1F,0xFF,0xFF,0xC0,0x02,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x09,0x20,0x11,0x00,0xFB,0xFF,0xE1,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x08,0x20,0x0A,0x03,0x9F,0x00,0x9E,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x04,0x40,0x04,0x0E,0x70,0x00,0x81,0xC7,0x80,0x01,0x40,0x00,0x00,0x00,0x00, 0x00,0x02,0x80,0x00,0x1D,0x80,0x00,0xE0,0x61,0xE0,0x02,0xA0,0x00,0x00,0x00,0x00, 0x00,0x01,0x00,0x00,0x77,0x9F,0xFC,0xF0,0x18,0xF8,0x02,0x20,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x01,0xDF,0x00,0x00,0xF3,0x0C,0x3C,0x01,0x40,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x03,0x9E,0x00,0x00,0xF8,0x06,0x1E,0x00,0x80,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x07,0x0E,0x30,0x01,0xFC,0x7F,0x07,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x07,0x0E,0x30,0x01,0xFC,0x7F,0x07,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x7E,0xFF,0xFF,0xFF,0xFF,0xFF,0x83,0xC0,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x0F,0xFD,0xFF,0xFF,0xFF,0xFF,0xFC,0x01,0xF0,0x00,0x00,0x00,0x00,0x00,

51单片机12864显示汉字画图画点常用例程

//以下程序都是在VC++6.0 上调试运行过的程序,没有错误,没有警告。 //单片机是STC89C52RC,但是在所有的51 52单片机上都是通用的。51只是一个学习的基础平台,你懂得。 //程序在关键的位置添加了注释。 ////////////////////////////////画点例程////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////以下是主文件main.c 的内容 #include #include"lcd12864.h" //--声明全局函数--// void Delay10ms(unsigned int c); //延时10ms /****************************************************************************** * * 函数名: main * 函数功能: 主函数 * 输入: 无 * 输出: 无 ******************************************************************************* / void main() { while(1) { LCD12864_ClearScreen(); LCD12864_DrowPoint(127,63); while(1); } } /****************************************************************************** * * 函数名: Delay10ms * 函数功能: 延时函数,延时10ms * 输入: 无 * 输出: 无 ******************************************************************************* / void Delay10ms(unsigned int c) //误差0us

基于proteus的不带字库的12864的仿真程序(带仿真图)

基于proteus的不带字库的12864的仿真 程序(带仿真图) 作者:心如止水(武汉工程大学) /****************************************************** ****** 本程序为不带字库的12864汉字及英文字符的显示程序, 可以说此程序是所有12864显示程序中最简单最易懂的 显示程序。之所以写这个程序,是因为我看很多学单片 机的人(特别是初学者)对12864有一种恐惧感,觉得它 很难,看完这个程序,相信你能明白它的显示原理。 还要注意的是:带中文字库和不带中文字库的程序不一样, 不可混用。 ******************************************************* *****/ 先上图吧,哈哈

下面看程序吧,相信你一定能看懂,很简单的哟!!!#include #define uchar unsigned char #define uint unsigned int //sbit databus=P1; #define databus P1

//sbit Reset = P3^0; //复位 sbit rs = P3^7; //指令数据选择 sbit e = P3^5; //指令数据控制 sbit cs1 = P3^3; //左屏幕选择,低电平有效 sbit cs2 = P3^4; //右屏幕选择 sbit wr = P3^6; //读写控制 //sbit busy = P1^7; //忙标志 void SendCommand(uchar command); //写指令 void WriteData(uchar dat);//写数据 void LcdDelay(uint time); //延时 void SetOnOff(uchar onoff);//开关显示 void ClearScreen(uchar screen); //清屏 void SetLine(uchar line); //置页地址 void SetColum(uchar colum);//置列地址 void SetStartLine(uchar startline);//置显示起始行 void SelectScreen(uchar screen);//选择屏幕 void Show1616(uchar lin,uchar colum,uchar *address);//显示一个汉字 void InitLcd(); //初始化 void ResetLcd(); //复位 void Show_english(uchar lin,uchar colum,uchar *address); const uchar code hzk[] = { /*-- 文字: I --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/ 0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00, /*-- 文字: --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*-- 文字: c --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/ 0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00, /*-- 文字: a --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/ 0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x19,0x24,0x22,0x22,0x22,0x3F,0x20, /*-- 文字: n --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/ 0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20, /*-- 文字: --*/ /*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

SG12864-12带汉字库LCD显示器

中文字库液晶显示模块使用 手册 SG12864 深圳市显能实业有限公司 深圳市福田区上梅林越华路12号珠宝城大厦四楼电话:0755-******** 传真:0755-******** http://https://www.sodocs.net/doc/1c3506627.html, E-mail:shine@https://www.sodocs.net/doc/1c3506627.html,

一、液晶显示模块概述 1. 液晶显示模块是128×64点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置8192个中文 汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。可与CPU直接接 口,提供两种界面来连接微处理机:8-位并行及串行两种连接方式。具有多种功能:光标显示、画 面移位、睡眠模式等。 2. 外观尺寸:93×70×12.5mm 3. 视域尺寸:73×39mm 外形尺寸图 二、模块引脚说明 128X64 引脚说明 引脚名称方向说明引脚名称方向说明 1 VSS - GND(0V) 11 DB4 I 数据4 2 VDD - Supply Voltage For Logic (+5v) 12 DB5 I 数据5 3 VO - Supply Voltage For LCD (+5v) 13 DB6 I 数据6 4 RS (CS) O H: Data L: Instruction Code 14 DB7 I 数据7 5 R/W (SID) O H: Read L: Write 15 PSB O H: Parallel Mode L: Serial Mode 6 E (SCLK) O Enable Signal 16 NC - 空脚 7 DB0 I 数据0 17 /RST O Reset Signal 低电平有效 8 DB1 I 数据1 18 NC - 空脚 9 DB2 I 数据2 19 LEDA - 背光源正极(LED+5V) 10 DB3 I 数据3 20 LEDK - 背光源负极(LED-OV) 外形尺寸 ITEM NOMINAL DIMEN UNIT 模块体积 93×78×12.5 mm 视域 70.7×38.8 mm 行列点阵数 128×64 dots 点距离 0.52×0.52 mm 点大小 0.48×0.48 mm

LCD12864显示屏 带中文字库

蓝屏LCD12864显示屏带中文字库带背光12864-5V ST7920 需要用串口,请把 R9上的0欧电阻改到R10 带中文字库的,兰屏,白字 以下是在液晶模块的第二行第一个字符的位置显示字母“A”的程序: ORG 0000H RS EQU P3.7;确定具体硬件的连接方式 RW EQU P3.6 ;确定具体硬件的连接方式 E EQU P3.5 ;确定具体硬件的连接方式 MOV P1,#00000001B ;清屏并光标复位 ACALL ENABLE;调用写入命令子程序 MOV P1,#00111000B ;设置显示模式:8位2行5x7点阵 ACALL ENABLE ;调用写入命令子程序 MOV P1,#00001111B ;显示器开、光标开、光标允许闪烁 ACALL ENABLE ;调用写入命令子程序 MOV P1,#00000110B ;文字不动,光标自动右移 ACALL ENABLE ;调用写入命令子程序 MOV P1,#0C0H ;写入显示起始地址(第二行第一个位置) ACALL ENABLE ;调用写入命令子程序 MOV P1,#01000001B ;字母A的代码 SETB RS ;RS=1 CLR RW ;RW=0 ;准备写入数据 CLR E ;E=0 ;执行显示命令

ACALL DELAY ;判断液晶模块是否忙? SETB E ;E=1 ;显示完成,程序停车 AJMP $ ENABLE: CLR RS ;写入控制命令的子程序 CLR RW CLR E ACALL DELAY SETB E RET DELAY: MOV P1,#0FFH ;判断液晶显示器是否忙的子程序 CLR RS SETB RW CLR E NOP SETB E JB P1.7,DELAY ;如果P1.7为高电平表示忙就循环等待 RET END 程序在开始时对液晶模块功能进行了初始化设置,约定了显示格式。注意显示字符时光标是自动右移的,无需人工干预,每次输入指令都先调用判断液晶模块是否忙的子程序DELAY,然后输入显示位置的地址0C0H,最后输入要显示的字符A的代码41H。 SMC1602A(16*2)模拟口线接线方式 连接线图: --------------------------------------------------- |LCM-----51 | LCM-----51 | LCM------51 | ------------------------------------------------| |DB0-----P1.0 | DB4-----P1.4 | RW-------P2.0 | |DB1-----P1.1 | DB5-----P1.5 | RS-------P2.1 | |DB2-----P1.2 | DB6-----P1.6 | E--------P2.2 | |DB3-----P1.3 | DB7-----P1.7 | VLCD接1K电阻到GND| --------------------------------------------------- [注:AT89S52使用12M晶振] =============================================================*/

不带字库的12864液晶汉字显示程序

不带字库的128*64液晶汉字显示程序 下面是线路连接图,我自己已经搞了整整一个测试成功了绝对可用 由于篇幅有限完整的c51代码下载: https://www.sodocs.net/doc/1c3506627.html,/f/12864wu.rar 源代码: #include; #define LCD P0 unsigned char i,j,k; sbit EN=P2^0;

sbit RW=P2^1; sbit RS=P2^2; sbit CS1=P2^3; sbit CS2=P2^4; sbit BUSY=P0^0; void delay(unsigned char a); unsigned char code ban[16][16]={ {0x00,0x00,0x00,0xf0,0x90,0x90,0x90,0xfe,0x90,0x9 0,0x90,0xf0,0x00,0x00,0x00,0x00}, {0x00,0x00,0x00,0x07,0x04,0x04,0x04,0x3f,0x24,0x2 4,0x24,0x27,0x20,0x38,0x00,0x00},//电 {0x00,0x00,0x00,0x00,0x8c,0x88,0x88,0x88,0x88,0xc 8,0xa8,0x98,0x00,0x00,0x00,0x00}, {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x21,0x7f,0x0 0,0x00,0x00,0x00,0x00,0x00,0x00},//子 {0x00,0x00,0x00,0x00,0x10,0x10,0x30,0x54,0x9c,0x9 0,0x50,0x00,0x30,0x10,0x00,0x00}, {0x00,0x40,0x30,0x0c,0x03,0x01,0x01,0x01,0x01,0x0 1,0x01,0x01,0x01,0x00,0x00,0x00},//产 {0x00,0x00,0x00,0x00,0x7c,0x44,0x44,0x44,0x44,0x4 4,0x44,0x7c,0x00,0x00,0x00,0x00}, {0x00,0x00,0x3f,0x21,0x21,0x21,0x3f,0x00,0x00,0x3

12864液晶显示汉字

单片机综合实训题目:12864液晶显示 专业:电气工程与自动化 班级:自动化12-13班 姓名:刘子欧 学号:04121737

1.1 基于单片机控制液晶显示系统的设计任务 设计一款基于单片机AT89S51液晶滚动显示系统。 1.2 系统设计要求 (1)通过单片机的控制使液晶进行滚动显示学校。 (2)通过单片机的控制使液晶进行滚动显示专业。 (3)通过单片机的控制使液晶进行滚动显示姓名。 (4)通过单片机的控制使液晶进行滚动显示学号。 1.3 系统设计思路 根据系统设计要求,初步思路如下: (1)通过单片机最小系统的控制使液晶进行滚动显示。 (2)液晶模块采用LCD12864。 (3)系统采用并口连接方式。 (4)通过驱动ST7920控制器使用其自带字库来提取所需文字。 二、液晶显示控制电路与程序方案设计 2.1系统设计思路与框图 液晶显示器YM12864R 的控制器ST7920 可以显示字母、数字符号、中文字型及自定图形显示,只要一个最小的微处理系统,将液晶显示模块的接口作为I/O 设备直接与之连接,就可以进行控制液晶显示器和数据传输,从而达到理想的显示效果。使用P3 口给液晶显示器提供控制信号,P0 口给液晶显示器传送数据。YM12864R 液晶显示器的控制信号有PSB、RS、R/W、E,其中RS、R/W、E分别对应接在AT89C51 的P3.0、P3.1、P3.2、P2.3 上,在本次设计中采用并行接口,故PSB接高电平,而8位数据口DB0~ DB7对应接在P0 口上。背光灯的电源正极、液晶显示器模块的电源正极以及LCD 驱动电压输入端都接在+5V 的稳压电源上。背光灯负极和模块的电源负极统一接地。液晶显示器模块的复位脚连接开关按纽与地相连。选择按键接高电平,即可实现单片机对液晶显示汉字的控制。 系统设计图框如下图2.1所示,主要由单片机的最小系统AT89C51、YM12864R 液晶显示电路及外围电路构成。

LCD12864中文字库使用说明

(一)(一)概述 (3) (二)(二)外形尺寸 1 方框图 (3) 2 外型尺寸图 (4) (三)(三)模块的接口 (4) (四)(四)硬件说明 (5) (五) 指令说明 (7) (五)(五)读写操作时序 (8) (六)(六)交流参数 (11) (七)(七)软件初始化过程 (12) (八)(八)应用举例 (13) (九)(九)附录 1半宽字符表 (20) 2 汉字字符表 (21) 一、概述 FYD12864-0402B是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。 基本特性: ●●低电源电压(VDD:+3.0--+5.5V) ●●显示分辨率:128×64点 ●●内置汉字字库,提供8192个16×16点阵汉字(简繁体可选)

●●内置 128个16×8点阵字符 ●●2MHZ时钟频率 ●●显示方式:STN、半透、正显 ●●驱动方式:1/32DUTY,1/5BIAS ●●视角方向:6点 ●●背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5—1/10 ●●通讯方式:串行、并口可选 ●●内置DC-DC转换电路,无需外加负压 ●●无需片选信号,简化软件设计 ●●工作温度: 0℃ - +55℃ ,存储温度: -20℃ - +60℃ 二、方框图 3、外形尺寸图

GBK字库介绍

GBK字库介绍 【基本概念】 GBK 是又一个汉字编码标准,全称《汉字内码扩展规范》(GBK),英文名称Chinese Internal Code Specification ,中华人民共和国全国信息技术标准化技术委员会1995 年12 月 1 日制订,国家技术监督局标准化司、电子工业部科技与质量监督司1995 年12 月15 日联合以技监标函[1995] 229 号文件的形式,将它确定为技术规范指导性文件,发布和实施。这一版的GBK 规范为 1.0 版。GB 即“国标”,K 是“扩展”的汉语拼音第一个字母。 GBK 向下与GB 2312 编码兼容,向上支持ISO 10646.1 国际标准,是前者向后者过渡过程中的一个承上启下的标准。ISO 10646 是国际标准化组织ISO 公布的一个编码标准,即Universal Multilpe-Octet Coded Character Set(简称UCS),大陆译为《通用多八位编码字符集》,台湾译为《广用多八位元编码字元集》,它与Unicode 组织的Unicode 编码完全兼容。ISO 10646.1 是该标准的第一部分《体系结构与基本多文种平面》。我国1993 年以GB 13000.1 国家标准的形式予以认可(即GB 13000.1 等同于ISO 10646.1)。 GBK编码,是在GB2312-80标准基础上的内码扩展规范,使用了双字节编码方案,其编码范围从8140至FEFE(剔除xx7F),共23940个码位,共收录了21003个汉字,完全兼容GB2312-80标准,支持国际标准ISO/IEC10646-1和国家标准GB13000-1中的全部中日韩汉字,并包含了BIG5编码中的所有汉字。GBK编码方案于1995年10月制定,1995年12月正式发布,目前中文版的WIN95、WIN98、WINDOWS NT以及WINDOWS 2000、WINDOWS XP等都支持GBK编码方案。 【知识链接】 我们经常使用各种编码标准的汉字,编码到底是什么呢?所谓编码,是以固定的顺序排列字符,并以此做为记录、存贮、传递、交换的统一内部特征,这个字符排列顺序被称为“编码”。和中文字库有关的编码标准有:国标GB码、GBK码、港台BIG-5

带中文字库LCD12864液晶仿真

字库LCD12864液晶 /*----------------------------------------------- 名称:LCD12864 字库液晶芯片组st7920 ------------------------------------------------*/ #include #include #include /******************************************************************/ /* 定义数组 */ /******************************************************************/ unsigned char code IC_DAT[]; unsigned char code IC_DAT2[]; unsigned char code Photo1[]; /******************************************************************/ /* 定义接口信息 */ /******************************************************************/ sbit RS =P2^4; sbit WRD=P2^5; sbit E= P2^6; sbit PSB=P2^1; sbit RES=P2^3; /******************************************************************/

相关主题