文章详情

ST7920带汉字库芯片使用手册

日期:2025-05-01 10:35
浏览次数:12671
摘要:
ST7920带汉字库芯片使用手册
1.
清达光电液晶命名规则
 
HG
12864
12
-
-
-
-
-
-
 
 
 
 
 
 
 
 
产品序列号:HC→点阵字符;HG→SMT/COB图形单色;HGT→TAB图形单色;HGO→COG图形单色;HGR→COLOR STN;HGQ→TFT; HGS→OLED
字符 →字符数(每行字符数*行数)     图形 → 点阵数
产品序列
显示模式:省略→STN黄绿模式;G→STN灰模式;B→STN蓝模式;
F→FSTN半透半反; T→FSTN透射
背光类型:省略 无背光;
LY→LED黄绿底光; SY→LED黄绿侧光;
LW→LED白光;SW→LED高亮白光;LB→LED蓝光;
LR→LED红光;LA→LED琥珀光;LG→LED绿光;
EB→EL蓝光;EG→EL绿光;EW→EL白光;
CW→CCFL白光
温度范围:省略→常温;H→宽温;EH→特宽温
电源:省略→5V单电源;NV→5V双电源;SV→5V带温度补偿;
LV→3/3.3V单电源;LNV→3/3.3V双电源;LSV→3/3.3V带温度补偿;
OV→5V单电源,VO脚空脚(部分型号PCB板上有电位器可微调对比度)
LOV→5V单电源,VO脚空脚(部分型号PCB板上有电位器可微调对比度)
背光输入电压说明,请参照液晶详细资料
特殊编号:TP→带触摸屏;S→串行通信;D→分屏
产品内部编号                             
备注:*具体背光电压值请参照液晶详细资料
 
2.清达光电液晶汇总
 
 清达光电出品的内置ST7920控制器及兼容型控制器点阵液晶显示模块现按完整型号汇总成表,便于选型和查询。
 
 
 
Model
NO.
ModelSize
w*h(mm)
ViewArea
w*h(mm)
Dotsize
w*h(mm)
背光方式
显示模式
led
el
STN
GRAY
STN
YELLOW
STN
BLUE
HG122329
84.0*44.0
60.0*18.0
0.40*0.45
 
HG128322
110*65.0
76.0*25.0
0.52*0.52
 
HG1286412
93.0*70.0
72.0*40.0
0.48*0.48
 
HG1286412B
93.0*70.0
72.0*40.0
0.48*0.48
 
HG1286415
113.2*65.2
73.4*38.8
0.50*0.50
 
HG160322
122.0*44.0
99.0*24.0
0.55*0.56
 
HG19232B
116.0*37.0
85.0*18.6
0.38*0.38
 
**章           液晶显示模块的结构特点
 
清达光电出品的内置ST7920(Sitronix)控制器液晶显示模块按型号汇总成表(资料可向我公司索取),便于选型和查询,另结构尺寸图详见网站(www.tsingtek.com)或致电我公司查询。
 
 
 
 
 
 
 
 

图一图形显示模块系统的方框图(12864为例)
该类液晶模块的管脚定义见表一:                          表一
 
管脚名称
  
符号
等效符号
VSS
GND
电源地
VCC
VDD
逻辑电源
V0
VLCD
液晶驱动电源
RS
 
寄存器选择1:数据;0:指令
R/W
 
读写信号1:读;0:写
E
 
使能信号
DB0~DB7
 
显示数据
PSB
 
并行/串行选择
SCLK
 
串行时钟信号1:并行;0:串行
SID
 
串行数据输入信号
CS
 
串行片选信号
A
LED+
背光电压正
K
 LED-
背光电压地
注:1.每种液晶接口顺序不同,详见各个液晶资料
 
 
液晶电特性
 (1)***大值范围
 
*小值
*大值
备注
电路逻辑电压(V)
Vdd-Vss
0
5.5
 
液晶驱动电压(V)
V0-Vss
0
7
 
输入电压(V)
VI
Vss
Vdd
 
工作温度()
 
20
70
宽温型
存储温度()
 
30
80
宽温型
 
 (2)电特性
项目
符号
MIN
TYP
MAX
单位
输入高电压
VIH
 
0.7Vdd
-
-
V
输入低电压
VIL
 
-
-
0.8
V
输出高电压
VOH
IOH = 0.2 mA
0.8Vdd
-
-
V
输出低电压
VOL
IOL = 1.2 mA
-
-
0.4
V
电源电流
IDD
 
-
3
5
mA
 

 
第三章 液晶模块的供电说明
 
1.         模块应用一般有三种电源:逻辑电压、液晶驱动电压、背光电压。
2.         一般液晶模块都是单电源供电, 分二种情况
A.单电源-OV(液晶型号后缀带-OV标志),那么V0脚要悬空
B.普通单电源型负压由Vee输出,通过10K电位器输入至V0来调节对比度,具体接法如下:
 
 
                    Vee
 

10K         V0
                      GND
 
     具体电源接法请参照每款液晶引脚说明
3.         在您调试液晶模块时,请注意正确接线,尤其是逻辑电压、液晶驱动电源的接线不能有错,否则烧电路上的芯片。为避免液晶模块的损坏,在加液晶驱动电压V0时,需要比加逻辑电压(VDD)滞后50 ms;在关电时,液晶驱动电压V0需要比逻辑电压(VDD)提前50ms关断。
4.         对于LED背光方式,供电为3.5-4.1V直流电源,严格限制5V电源直接供电(除非液晶模块内部已接限流电阻),否则不仅会增加您的功耗,更会增加损坏背光灯且缩短液晶模块的使用寿命。
 
 

 
第四章        液晶模块控制器介绍
 
一、ST7920控制器的特点
1.        提供8-位元4-位元及串行MPU界面。
2.        64 x 16-位元 字元显示RAM (DDRAM *多 16字元 x 4 行 , LCD显示范围为16字元 X 2行)。
3.        64 x 256-位元 绘图显示RAM(GDRAM)。
4.        2M-位元 中文字型 ROM (CGROM) 总共提供8192 个中文字型 (16x16 点阵)。
5.        16K-位元 半宽字型 ROM (HCGROM) 总共提供126 個符号字型 (16x8 点阵)。
6.        64 x 16-位元 字型产生 RAM (CGRAM) 。
7.        15 x 16-位元 总共240点的 ICON RAM(IRAM)
8.        自动电源启动复置(RESET)功能
9.        內建振荡器由外部电阻调整
10.    绘图及文字画面混合显示功能
11.    提供多功能指令:
-画面**     (Display clear)
-游标归位     (Return home)
-显示打开/关闭 (Display on/off)
-游标显示/隐藏 (Cursor on/off)
-显示字元闪烁 (Display character blink)
-游标移位     (Cursor shift)
-显示移位     (Display shift)
-垂直画面旋转 (Vertical line scroll)
-反白显示     (By_line reversedisplay)
-睡眠模式     (Sleep mode)
12.    內建 Booster升压电路功能(2倍压)
 
二、ST7920控制驱动器的管脚图及引脚功能
 
表二 与微处理器的接口信号
引脚符号
编号
状态
功能描述
XRESET
11
输入
系统重置输入脚(低电平有效)
PSB
23
輸入
微处理器控制介面选择: 0: 串列控制模式
                    1: 8/4-位元并行控制模式
RS(CS*)
17
输入
指令数据选择寄存器(并行模式):0:指令或读Busy/位址寄存器 1:数据
片选(串行模式):1:片选致能 0:片选禁止
RW(SID*)
18
输入
读写选择(并行模式):1:0:
数据输入(串行模式):
E(SCLK*)
19
输入
使能信号(并行模式)
时钟信号(串行模式)
D4 toD7
2831
输入/输出
数据双向总线高4-位,DB7可以当作busy信号,当在串行模式,此4位数据线无作用。
D0 toD3
2427
输入/输出
数据双向总线低4-位,当在4-位元控制模式串行模式,此4位数据线无作用
 
表三 与LCD接口信号和其它
引脚符号
编号
状态
功能描述
COM1COM33
4072
输出
行信号
SEG1SEG64
13673
輸出
列信号
VDD
10,14
输入
内部逻辑电源2.7V 5.5V
VSS
9,20
输入
内部逻辑电源0V
V0V4
13,7,8
-
LCD驱动电压
 
三、功能描述
 
并列介面资料传输讯号
 
当PSB脚接高电位时,ST7920将进入并列模式,在并列模式下可由指令DL FLAG 来选择8-位元或4-位元介面,主控制系统将配合( RS , RW , E , DB0..DB7)来达成传输动作。
从一个完整的流程来看,当下设定位址指令后(CGRAM,DDRAM,IRAM…..)若要读取资料时需先 DUMMYREAD一次才会读取到正确资料**次读取时则不需 DUMMY READ 除非又下设定位址指令才需再次 DUMMYREAD。
在4-位元传输模式下,每一个八位元的指令或资料都将被分为两个位元组动作:较高4位元(DB7~DB4)的资料将会被放在**个位元组的(DB7~DB4)部分,而较低4位元(DB3~DB0)的资料则会被放在**个位元组的(DB7~DB4)部分,至於相关的另四位元则在4-位元传输模式中DB3~DB0介面未使用。
 
串列介面与串列传输资料
 
当PSB脚接低电位时,ST7920将进入串列模式,在串列模式㆘将使用两条资料传输线作串列资料的传送,主控制系统将配合传输同步时脉线(SCLK)与接收串列资料线(SID),来达成串列传输的动作。
当需要同时连接数颗ST7920晶片时,晶片选择脚(CS)将要被配合使用,在晶片选择脚(CS)设为高电位时,同步时脉线(SCLK)输入的讯号才会被接收,另一方面,当晶片选择脚(CS)设为低电位时,ST7920的内部串列传输计数与串列资料将会被重置,也就是说在此状态下,传输中的资料将被终止**,并且将待传输的串列资料计数重设回**位元;在一个*小的系统架构下,由一个微处理器连接控制单一个ST7920晶片时,相关的连接介面只需要使用同步时脉线(SCLK)与接收串列资料线(SID)两隻脚,在这个模式下晶片选择脚(CS)将被固定接到高电位。
ST7920的同步时脉线(SCLK)具有独立的操作时脉,但是当有连续多个指令需要被传送时,指令执行的时间将需要被考虑,必须确实等到前一个指令完全执行完成才能传送下一笔资料,因为ST7920内部并没有传送/接收缓冲区。
从一个完整的串列传输流程来看,一开始先传输啟始位元组,它需先接收到五个连续的〝1〞(同步位元字串)在啟始位元组,此时传输计数将被重置并且串列传输将被同步,再跟随的两个位元字串分别指定传输方向位元(RW)及暂存器选择位元(RS),*后第八的位元则为〝0〞。
在接收到同步位元及RW和RS资料的啟始位元组后,每一个八位元的指令将被分为两个位元组接收到:较高4位元(DB7~DB4)的指令资料将会被放在**个位元组的LSB部分,而较低4位元(DB3~DB0)的指令资料则会被放在**个位元组的LSB部分,至於相关的另四位元则都为0。
八位并行模式数据传输
 
四位并行模式数据传输
 
 
串行模式时序图
 
功能说明
 
ST7920提供三种介面来连接微处理机:8-位元匯流排,4-位元匯流排及串列匯流排介面,经由外部PSB脚来选择介面的种类,当PSB脚接“1”时为选择8/4-位元介面模式,而当接“0”时为串列介面模式。
 
在读或是写ST7920的动作㆗,有两个8-位元的暂存器将会被使用到,一个是资料暂存器(DR)另一个是指令暂存器(IR)。透过资料暂存器(DR)可以存取DDRAM/CGRAM/GDRAM以及IRAM的值,待存取目标RAM的位址,透过指令命令来选择,每次的资料暂存器(DR)存取动作都将自动的以上回选择的目标RAM位址当主体来作写入或读取。
 
配合RS及RW可以选择决定控制介面的4种读写模式,详见下表:
RS
RW
功能说明
L
L
MPU写指令到指令暂存器(IR
L
H
读出忙碌标志(BF)及位址计数器(AC)的状态
H
L
MPU写入资料到资料暂存器(DR
H
H
MPU从资料暂存器(DR读出资料
 
忙碌标志(BF
当BF为“1”时,表示内部的操作正在进行中,即内部处于忙碌状态,此时并不接受新的指令动作,要输入新的指令前,必须先读取BF,一直要到BF“0”时,才能接受输入新的指令;一般而言任何的指令输入后ST7920内部都需要时间处置,在处置完成前并不接受下一个指令,而每一个指令的处置时间并不相同,所以要知道ST7920内部是否已处置完成,可以接受下一指令可以由读取BF标志来确认。
 
位址计数器(AC
位址计数器(AC)用来储存DDRAM/CGRAM/IRAM/GDRAM的位址,它可藉由设定指令暂存器(IR)来改变,之后只要读取或是写入DDRAM/CGRAM/IRAM/GDRAM的值时,位址计数器(AC)的值就会自动加一,当RS为“0”时而RW为“1”时,位址计数器(AC)的值会被读取到DB6〜DB0中。
 
文字型產生 ROM(CGROM)及半宽字型ROMHCGROM
ST7920字型发生 ROM 提供 8192个 16 x 16点的中文字形图像以及 126个 16 x 8 点的数字符号图像,它使用两个位元组来提供字型编码选择,配合DDRAM将要显示的字型码写入到 DDRAM上,硬体将自动的依照编码从 CGROM中将要显示的字型显示在萤幕上。
 
字型产生 RAM (CGRAM)
ST7920字型产生 RAM提供使用者图像定义(造字)功能,可以提供四组16x16点的自订图像空间,使用者可以将内部字型没有提供的图像字型自行定义到 CGRAM中,并可和 CGRAM中的定义的字符一样透过DDRAM显示在萤幕中。
 
ICON RAMIRAM
ST7920提供 240点的 ICON显示,它分别由 15组的IRAM位址来组成,每㆒组 IRAM位址由 16个位元构成,每次写入一组 IRAM时,需先指定IRAM的位址,再透过连续写入两个位元组的资料来完成,先写入高位元组(D15〜D8)再写入低位元组(D7〜D0)。
 
显示资料RAMDDRAM
显示资料 RAM 提供 64x2个位元组的空间,*多可以控制 4行16字(64个字)的中文字型显示,当写入显示资料 RAM时,可以分别显示 CGROM,HCGROM与CGRAM的字型;ST7920可以显示三种字型,分别是半宽的 HCGROM字型、CGRAM字型及中文CGROM字型,三种字型的选择,由在 DDRAM中写入的编码选择,在 0000H〜0006H的编码将选择CGRAM的自定字型,02H〜7FH的编码将选择半宽英数字的字型,A1以上的编码将自动的结合下一个位元组,组成两个位元组的编码组成中文字型的编码BIG5(A140〜D75F) GB(A1A0〜F7FF),详细各种字型编码如下:
1. 显示半宽字型:将 8位元资料写入 DDRAM中,范围为02H〜7FH的编码。
2. 显示 CGRAM字型:将 16位元资料写入 DDRAM中,总共有0000H,0002H,0004H, 0006H四种编码。
3. 显示中文字形:将 16位元资料写入 DDRAM中。
范围为 A140H〜D75FH的编码(BIG5) , 范围为A1A0H〜F7FFH的编码(GB)。
将 16位元资料写入DDRAM方式为透过连续写入两个位元组的资料来完成,先写入高位元组(D15〜D8)再写入低位元组(D7〜D0)。
 
参照 表5 显示 CGRAM的位址、DDRAM资料以及显示图像的关系。
 
CGRAM字型与中文字形之编码只可出现在每一Addressconuter的起始位置(参考表4)
80
81
82
83
84
85
86
87
88
89
8A
8B
8C
8D
8E
8F
H
L
H
L
H
L
H
L
H
L
H
L
H
L
H
L
H
L
H
L
H
L
H
L
H
L
H
L
H
L
H
L
T
s
i
n
g
t
e
k
L
C
M
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
                       

错误填入中文码位置

 
 

 

 
 

绘图 RAMGDRAM
绘图显示 RAM 提供 64x32个位元组的记忆空间(由扩充指令设定绘图RAM位址),*多可以控制 256x64点的二维绘图缓冲空间,在更改绘图 RAM时,由扩充指令设定GDRAM位址先设垂直位址再设水平位址(连续写入两个位元组的资料来完成垂直与水平的坐标位址),再写入两个 8位元的资料到绘图RAM,而位址计数器(AC)会自动加一,整个写入绘图 RAM的步骤如下:
1. 先将垂直的位元组座标(Y)写入绘图 RAM位址。
2. 再将的水平座标(X)写入绘图 RAM位址。
3. 将 D15〜D8写入到 RAM中(写入第㆒个Bytes)。
4. 将 D7〜D0写入到 RAM中(写入第㆓个Bytes)。
绘图显示的记忆体对应分布请参考表8
5 DDRAM资料(字元代码),CGRAM位址以及CGRAM资料(显示图像)的相互对照关系
 
附注:
1. DDRAM 资料(字元代码) 的位元 1到 2和CGRAM位址的位元 4到 5同步吻合(2位元:4组图像).
2. CGRAM 位址的位元 0到 3指定字型图像的列位址,总共指定16列(4位元),第 16列是游标的显示区域,游标的显示和第 16行的资料采用逻辑或(OR)的方式产生显示结果.
3. 显示图像的横列图素对应到 CGRAM资料的位元 0到 15 (位元15在*左边).
4. 选择到 CGRAM的图像资料,DDRAM资料的位元 4到15须设为 0,位元 0及位元 3则可为任意值。
 
6 ICONRAM的位址,資料以及Segment接脚的对应表
7  16x8 半宽字型符号表
表8  GDRAM坐标位址于资料排列顺序对照表
 
 
 
 
 
 
 
四、ST7920控制驱动器的时序
 
8位并行时序
 
写数据
8位并行写数据时序图
( TA = 25°C, VDD = 4.5V)
参数
符号
*小值
典型值
*大值
单位
信号
使能周期
Tc
1200
ns
E
使能脉冲宽度
TPW
140
ns
使能上升沿/下降沿时间
TR,TF
25
ns
地址建立时间
TAS
10
ns
RS,RW,E
地址保持时间
TAH
20
ns
数据建立时间
TDSW
40
ns
DB0-DB7
数据保持时间
TH
20
 
 
ns
 
( TA = 25°C, VDD = 2.7V)
参数
符号
*小值
典型值
*大值
单位
信号
使能周期
Tc
1800
  
ns
E
使能脉冲宽度
TPW
160
ns
使能上升沿/下降沿时间
TR,TF
25
ns
地址建立时间
TAS
10
ns
RS,RW,E
地址保持时间
TAH
20
ns
数据建立时间
TDSW
40
ns
DB0-DB7
数据保持时间
TH
20
 
 
ns
 
读数据
8位并行读数据时序图
 
( TA = 25°C, VDD = 4.5V)
参数
符号
*小值
典型值
*大值
单位
信号
使能周期
Tc
1200
ns
E
使能脉冲宽度
TPW
140
ns
使能上升沿/下降沿时间
TR,TF
25
ns
地址建立时间
TAS
10
ns
RS,RW,E
地址保持时间
TAH
20
ns
数据延迟时间
TDDR
100
ns
DB0-DB7
数据保持时间
TH
20
 
 
ns
 
( TA = 25°C, VDD = 2.7V)
参数
符号
*小值
典型值
*大值
单位
信号
使能周期
Tc
1800
1800
E
使能脉冲宽度
TPW
320
320
使能上升沿/下降沿时间
TR,TF
25
地址建立时间
TAS
10
10
RS,RW,E
地址保持时间
TAH
20
20
数据延迟时间
TDDR
260
DB0-DB7
数据保持时间
TH
20
20
 
串行时序
( TA = 25°C, VDD = 4.5V)
参数
符号
*小值
典型值
*大值
单位
信号
上升沿/下降沿时间
TR,TF
-
-
0.2
µs
-
时钟周期
TSCYC
400
-
-
ns
E
SCLK高脉冲宽度
TSHW
200
-
-
ns
SCLK低脉冲宽度
TSLW
200
-
-
ns
SID数据建立时间
TSDS
40
-
-
ns
RW
SID数据保持时间
TSDH
40
-
-
ns
CS建立时间
TCSS
60
-
-
ns
RS
CS保持时间
TCSH
60
-
-
ns
 
 
 
 
( TA = 25°C, VDD =2.7V)
参数
符号
*小值
典型值
*大值
单位
信号
上升沿/下降沿时间
TR,TF
-
-
0.2
µs
-
时钟周期
TSCYC
600
-
-
ns
E
SCLK高脉冲宽度
TSHW
300
-
-
ns
SCLK低脉冲宽度
TSLW
300
-
-
ns
SID数据建立时间
TSDS
40
-
-
ns
RW
SID数据保持时间
TSDH
40
-
-
ns
CS建立时间
TCSS
60
-
-
ns
RS
CS保持时间
TCSH
60
-
-
ns
 

 
第五章 液晶显示模块指令系统
 
一、指令表
1.指令简介
 指令表1(RE=0,基本指令集)  
   
 
 
 
 
 
指令表 2(RE=1,扩充指令集)
2.指令详细说明
 基本指令集说明:
●**显示
 
 RS R/W
DB7  DB6  DB5   DB4  DB3  DB2   DB1   DB0
   0   0
0     0      0     0     0     0      0    1
    将 DDRAM填满 "20H"(spacecode),并且设定 DDRAM的位址计数器(AC)到"00H",重设进入点设定将 I/D设为 "1"游标右移AC加1.
●位置归位
 
 RS R/W
DB7  DB6  DB5   DB4  DB3  DB2   DB1   DB0
   0   0
0     0      0     0     0     0      1    x
设定DDRAM的位址计数器(AC)到"00H",并且将游标移到开头原点位置;这个指令并不改变 DDRAM的内容
●进入点设定
 
 RS R/W
DB7  DB6  DB5   DB4  DB3  DB2   DB1   DB0
   0   0
0     0      0     0     0     1     I/D    S
指定在资料的读取与写入时,设定游标的移动方向及指定显示的移位
I/D:位址计数器递增递减选择
当 I/D = "1", 游标右移,DDRAM位址计数器(AC)加1
当 I/D = "0", 游标左移,DDRAM位址计数器(AC)减1
S: 显示画面整体位移
S
I/D
描述
H
H
画面整体左移
H
L
画面整体右移
●显示状态开关
 
 RS R/W
DB7  DB6  DB5   DB4  DB3  DB2   DB1   DB0
   0   0
0     0      0    0      1     D     C    B
控制整体显示,游标,游标位置反白 ON/OFF
D : 整体显示ON/OFF控制位元
当 D = "1",整体显示 ON
当 D = "0",整体显示 OFF ,但不改变DDRAM的内容
C :游标ON/OFF控制位元
当 C = "1",游标显示 ON.
当 C = "0",游标显示 OFF.
B : 游标位置反白ON/OFF控制位元
当 B = "1",游标位置显示反白ON,将游标所在之位址上的资料反白显示.
当 B = "0",游标位置显示反白 OFF
●游标或显示移位控制
 
 RS R/W
DB7  DB6  DB5   DB4  DB3  DB2   DB1   DB0
   0   0
0     0      0    1     S/C    R/L    x    x
设定游标的移动与显示的移位控制位元;这个指令并不改变DDRAM的内容
S/C
R/L
描述
AC
L
L
游标向左移动
AC=AC-1
L
H
游标向右移动
AC=AC+1
H
L
显示(display)向左移动,且游标跟这移动
AC=AC
H
H
显示(display)向右移动,且游标跟这移动
AC=AC
●功能设定
 
 RS R/W
DB7  DB6  DB5   DB4  DB3  DB2   DB1   DB0
   0   0
0     0      1    DL    x     RE    x     x
DL : 4/8BIT界面控制位元
当 DL = "1", 为 8 BIT MPU 控制界面
当 DL = "0", 为 4 BIT MPU 控制界面
RE : 指令集选择控制位元
当 RE = "1", 为扩充指令集动作
当 RE = "0", 为基本指令集动作
 
指令之动作不可同时改变RE DL需先改变DL后再改变 RE 才可确保FLAG正确设定
●设定 CGRAM位址
 
 RS R/W
DB7  DB6  DB5   DB4  DB3  DB2   DB1   DB0
   0   0
 0     1    AC5  AC4  AC3   AC3   AC1  AC0
设定 CGRAM位址到位址计数器(AC)
AC范围为 00H..3FH
需确认扩充指令中SR=0(卷动位址或RAM位址选择)
●设定 DDRAM位址
 
 RS  R/W
DB7  DB6  DB5   DB4  DB3  DB2   DB1   DB0
   0   0
 1    AC6  AC5  AC4   AC3   AC3   AC1  AC0
设定 DDRAM位址到位址计数器(AC)
**行 AC范围为 80H..8FH
**行 AC范围为 90H..9FH
第三行 AC范围为 A0H..AFH
第四行 AC范围为 B0H..BFH
●读取忙碌标志(BF)和位址
 
 RS R/W
DB7  DB6  DB5   DB4  DB3  DB2   DB1   DB0
   0   1
 BF   AC6   AC5  AC4  AC3   AC3   AC1  AC0
读取忙碌标志(BF),可以确认内部动作是否完成,同时可以读出位址计数器(AC)的值
当 BF = “1”, 表示内部忙碌,此时不可写指令需等 BF =“0”才可写新指令.
●写入资料到RAM
 
 RS R/W
DB7  DB6  DB5   DB4  DB3  DB2   DB1   DB0
   1   0
数据
写入资料到内部的 RAM 当写入后会使 (AC) 改变
每个RAM位址(CGRAM,DDRAM,IRAM…..)都可连续写入两个位元组的资料(2-Bytes)当写入第㆓BYTE时位址计数器(AC)的值就会自动加一
●读取RAM的值
 
 RS R/W
DB7  DB6  DB5   DB4  DB3  DB2   DB1   DB0
   1   1
数据
从内部的 RAM读取资料, 当读取后会使 (AC)改变 
当设定位址指令后(CGRAM,DDRAM,IRAM…..)若要读取资料时需先 DUMMYREAD一次才会读取到正确资料,**次读取时则不需 DUMMY READ 除非又写设定位址指令才需再次 DUMMYREAD。
 
扩充指令集说明:
●待命模式
 
 RS R/W
DB7  DB6  DB5   DB4  DB3  DB2   DB1   DB0
   0   0
0     0      0     0     0     0      0    1
进入待命模式,执行任何其他指令都可终止待命模式;这个指令并不改变RAM的内容  
●卷动位址或 RAM位址选择
 
 RS R/W
DB7  DB6  DB5   DB4  DB3  DB2   DB1   DB0
   0   0
0     0      0     0     0     0      1    SR
当 SR = "1",允许输入垂直卷动位址
当 SR = "0",允许输入 IRAM位址(扩充指令)及允许设定CGRAM位址(基本指令)
●反白选择
 
 RS R/W
DB7  DB6  DB5   DB4  DB3  DB2   DB1   DB0
   0   0
0     0      0     0     0     1     R1   R0
选择 4行中的任㆒行作反白显示,并可决定反白与否
R1,R0初值为 00当**次设定时为反白显示,再一次设定时为正常显示
R1
R0
描述
L
L
**行反白或正常显示
L
H
**行反白或正常显示
H
L
第三行反白或正常显示
H
H
第四行反白或正常显示
●睡眠模式
 
 RS R/W
DB7  DB6  DB5   DB4  DB3  DB2   DB1   DB0
   0   0
0     0      0     0     1     SL   0    0
SL=1: 脱离睡眠模式
SL=0: 进入睡眠模式
●扩充功能设定
 
 RS R/W
DB7  DB6  DB5   DB4  DB3  DB2   DB1   DB0
   0   0
0     0      1    DL    x     RE    G    x
DL : 4/8BIT界面控制位元
当 DL = "1", 为 8 BIT MPU 控制界面
当 DL = "0", 为 4 BIT MPU 控制界面
RE : 指令集选择控制位元
当 RE = "1", 为扩充指令集动作
当 RE = "0", 为基本指令集动作
G : 绘图显示控制位元
当 G = "1", 绘图显示 ON
当 G = "0", 绘图显示 OFF
指令之动作不可同时改变REDLG需先改变DLG 后再改变RE才可确保FLAG 正确设定
●设定IRAM位址或卷动位址
 
 RS R/W
DB7  DB6  DB5   DB4  DB3  DB2   DB1   DB0
   0   0
 0     1    AC5  AC4  AC3   AC3   AC1  AC0
SR=1: AC5~AC0为垂直卷动位址
SR=0: AC3~AC0 ICON RAM 位址
●设定绘图RAM位址
 
 RS R/W
DB7  DB6  DB5   DB4  DB3  DB2   DB1   DB0
   0   0
 1    AC6  AC5  AC4   AC3   AC3   AC1  AC0
设定 GDRAM位址到位址计数器(AC)
先设垂直位址再设水平位址(连续写入两个位元组的资料来完成垂直与水平的座标位址)
垂直位址范围 AC6...AC0
水平位址范围 AC3…AC0
绘图RAM之位址计数器(AC)只会对水平位址(X轴)自动加㆒,当水平位址=0FH时会重新设为00H但并不会对垂直位址做进位自动加㆒故当连续写入多笔资料时程式需自行判断垂直位址是否需重新设定
 
三、ST7920控制器液晶地址表分配                
:
型号
1 2 .. 8 9 10..16
122*32
1
2
80H  81H ..87H
90H 91H…97H
128*32
1
2
80H  81H ..87H
90H 91H…97H
128*64
1
2
3
4
80H  81H ..87H
90H 91H…97H
88H 89H…8FH
98H 99H…9FH
160*32
1
2
80H  81H ..89H
90H 91H…99H
192*32
1
2
80H  81H ..8BH
90H 91H…9BH
 
第六章 液晶模块接口技术及测试程序  
 
本章所涉及电路均为清达光电测试板电路,其中8052时钟晶振为12M,程序均已经过调试。我公司除手册外还提供用8031汇编语言和C51语言编写的DEMO软件,以及在WINDOWS平台上提取点阵汉字字模软件、抓图软件等工具软件,因此更详细的例程,请参考软件包。
 
一、8位或4位并行模式接口电路及驱动程序
间接控制方式(仿时序)如下图所示:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
驱动子程序如下:
      RS           EQU       P3.0
RW       EQU    P3.1
E             EQU       P3.2
 1. 读BF和AC值子程序
     READ_BF: 
            MOV P1,#0FFH
            CLR   RS
            SETB RW
            SETB E
            MOV A,P1
            NOP
            NOP
            CLR E
            RET
2. 写指令代码子程序
   WRITE_COM:                           ;WRIT///cv
                 LCALLDELAY1          ;INSTEAD OF CHECKING BF STATE
                 CLR RS
                   CLR RW
                 MOV P1,A
                 SETB E
                 NOP
                 NOP
                 CLR E
 RET
3. 写显示数据子程序
    WRITE_DAT:                   ;WRITE DISPLAY DATAS TO ST79220
                LCALLDELAY1; INSTEAD OF CHECKING BF STATE
                SETBRS
               CLR RW
               MOV P1,A
                   SETB E
               NOP
               NOP
               CLR E
               RET
 
 4. 读显示数据子程序
     READ_DAT:
MOV P1,#0FFH
            LCALL DELAY1; ; INSTEAD OF CHECKING BF STATE
            SETB   RS
            SETB RW
            SETB E
            MOV A,P1
            NOP
            NOP
            CLR E
            RET
 5. 判忙子程序
    A:利用标志位BF
      BF: LCALLREAD_BF
         JBACC.7,BF
        RET
    B:加延时
     DELAY1:
             MOV R7,#010H
D11: MOV R6,#010H
              DJNZ R6,$
              DJNZ R7,D11
              RET
二、串行模式接口电路及驱动程序
间接控制方式(仿时序)如下图所示:
 
 
串行模式的驱动子程序如下:
   CS           EQU     P3.0     ;
          SID        EQU     P3.1     ;
          CLK     EQU    P3.2       ;
1、写指令代码子程序
   WRITE_COM:
          LCALLDELAY1          ;INSTEAD OF CHECKING BF STATE
             SETB CS
             PUSH ACC
             MOV R0,#8
             MOV A,#11111000B
COMM1:
       CLR C
             RLC A
             CLR CLK
             MOV SID,C
             SETB CLK
             DJNZ R0,COMM1
             POP ACC
             MOV R5,A
             ANL A,#0F0H
             MOV R0,#8
COMM2: CLR C
             RLC A
             CLR CLK
             MOV SID,C
             SETB CLK
             DJNZ R0,COMM2
             MOV A,R5
             SWAP A
             ANL A,#0F0H
             MOV R0,#8
COMM3:         CLR C
             RLC A
;            CLR CLK
             CLR CLK
             MOV SID,C
             SETB CLK
             DJNZ R0,COMM3
             CLR CS
          RET
2、写显示数据子程序
    WRITE_DAT:
             LCALL DELAY1
             SETB CS
             PUSH ACC
             MOV R0,#8
             MOV A,#11111010B
DATA1:   CLR C
             RLC A
             CLR CLK
             MOV SID,C
             SETB CLK
             DJNZ R0,DATA1
             POP ACC
             MOV R5,A
             ANL A,#0F0H
             MOV R0,#8
DATA2: CLR C
             RLC A
             CLR CLK
             MOV SID,C
             SETB  CLK
             DJNZ R0,DATA2
             MOV A,R5
             SWAP A
             ANL A,#0F0H
             MOV R0,#8
DATA3: CLR C
             RLC A
             CLR CLK
             MOV SID,C
             SETB CLK
             DJNZ R0,DATA3
             CLR CS
       RET
 
 
三、应用程序
该程序是依据122*32液晶而编制的(8位并行方式)。其它规格的ST7920液晶显示模块都适用,仅是地址的改动而已。
 
示例一 初始化子程序
SETUP:
     LCALLDELAY
     LCALLDELAY
     LCALLDELAY
    MOV A,#01H            ;CLEAR DISPLAY
     LCALLWRITE_COM
    MOV A,#00110000B   ;FUNCTION SETTING
     LCALLWRITE_COM
    MOV A,#00000010B   ;DDRAM SET TO '00H'
     LCALLWRITE_COM
    MOV A,#00000100B   ;
     LCALLWRITE_COM
    MOV A,#00001100B   ;DISPLAY ON
     LCALLWRITE_COM
    MOV A,#00000001B   ;CLEARING SCREEN
     LCALLWRITE_COM
    MOV A,#10000000B   ;SET DDRAM ADDRESS
     LCALLWRITE_COM
    RET
 
DELAY:
        MOV R1,#00H
D2: MOV R2,#00H
 DJNZ R2,$
         DJNZR1,D2
   RET
初始化演示程序
MAIN:            MOV       P3,#0FFH
LCALL      SETUP    
 
示例二 图形方式
 
;此为绘图程序
        MOV  A,#34H
        LCALLWRITE_COM
        MOV  A,#80H
        LCALLWRITE_COM
        MOV  A,#80H
        LCALLWRITE_COM
        MOV  DPTR,#BMP
        MOV  R3,#64        ;
        MOV  R4,#32
        MOV  R2,#80H
WBMP: CLR  A
       MOVC A,@A+DPTR
        LCALLWRITE_DAT
        INC  DPTR
       DJNZ R4,WBMP
        MOV  R4,#16
        MOV  A,R2
        INC  A
        MOV  R2,A
        LCALLWRITE_COM
        MOV  A,#80H
        LCALLWRITE_COM
       DJNZ R3,WBMP
        MOV  A,#36H     ;绘图显示开,扩展功能
        LCALLWRITE_COM
        LCALLDELAY
        LCALLDELAY
        LCALLDELAY
        LCALLDELAY
        LCALLDELAY
        MOV  A,#34H ;绘图关,扩展功能
        LCALLWRITE_COM
       MOV  A,#30H    ;基本指令,绘图关
        LCALLWRITE_COM
        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
 
示例四 建立自定义字符库
     ST7920提供四组16x16点的自订图像空间.
    自建立4个16*16点阵的图形,子程序如下:
    DEF_CHAR:              ;WRITE TO CGRAM
                MOV A,#01000000B     ;SET CGRAMADDRESS
                 LCALLWRITE_COM
                MOV R3,#8
DEF1:
MOV A,#000H
                 LCALLWRITE_DAT
MOV A,#000H
                 LCALLWRITE_DAT
                MOV A,#0FFH
                 LCALLWRITE_DAT
                MOV A,#0FFH
                 LCALLWRITE_DAT
                 DJNZR3,DEF1
 
              MOV R3,#8
DEF2:
              MOV A,#0AAH
                 LCALLWRITE_DAT
              MOV A,#0AAH
                 LCALLWRITE_DAT
                MOV A,#0AAH
LCALL WRITE_DAT
              MOV A,#0AAH
                 LCALLWRITE_DAT
                 DJNZR3,DEF2
 
                MOV R3,#8
DEF3:
MOV A,#055H
               LCALLWRITE_DAT
MOV A,#055H
                 LCALLWRITE_DAT
                MOV A,#0AAH
                 LCALLWRITE_DAT
                MOV A,#0AAH
                 LCALLWRITE_DAT
                 DJNZR3,DEF3
 
                MOV R3,#8
DEF4:
MOV A,#0FFH
                 LCALLWRITE_DAT
MOV A,#0FFH
                 LCALLWRITE_DAT
MOV A,#0FFH
                 LCALLWRITE_DAT
MOV A,#0FFH
                 LCALLWRITE_DAT
                 DJNZR3,DEF4
                RET
   测试自定义字符库:
      LCALLDEF_CHAR
MOV A,#80H
        LCALLWRITE_COM
       MOV R3,#8
TEST11:
MOV DPTR,#CGRAM1 ;CGRAMTEST
        LCALLWRITE_CGRAM
        DJNZR3,TEST11
       MOV A,#90H
        LCALLWRITE_COM
       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
CGRAM1:      DB000H,000H      ;这里是自造字符地址表
 
 
 

下一篇: OLED
上一篇: 带汉字库240128液晶应用资料