关键词:液晶模块 单片机 波形 汉字
概述
KS0713是一种小型的大规模集成并带有驱动器和控制器的点阵型液晶模块。它的外观尺寸为42mm×39mm,有29个外部引脚。它直接受单片机控制,接收8位串行或并行数据, 同时可将数据显示,并将数据存储在模块同的数据存储器中(DDRAM)。由于DDRAM中的数据显示单元与液晶屏的点阵单元存在一一对应关系,并且KS0713液晶模块数据的读写操作不受外部时钟的控制,因而KS0713的显示具有很高的灵活性。KS0713液晶模块带有液晶必需电源驱动电路,这样可用最小的元件和最小的功耗实现模块的功能。
一、基本原理
1.引脚说明
表1对KS0713的引脚及其功能进行了说明。
表1 KS0713引脚说明
名 称 | I/O | 功 能 说 明 | ||||
VDD | 电源 | 电源供电与单片机供电电源相连 | ||||
VSS | 电源 | 0V(GND) | ||||
PS | 输入 | 并行/串行数据选择输入,PS=“H”,并行 | ||||
MI | 输入 | MI=“H”,6800系列单片机端口;MI=“L”,8080系列单片机端口 | ||||
CS1B | 输入 | 片选输入 | ||||
CS2 | 输入 | 数据输入/输出。只有CS1B为低且CS2为高时才可工作。当片选无效时,DB7~DB0是高阻态 | ||||
RS | 输入 | 寄存器选择输入。RS=“H”,数据在DB7~DB0上为显示数据;RS=“L”,数据在DB7~DB0上为控制数据 | ||||
RW-WR | 输入 | 6800系列单片机:高电平为读;低电平为写;8080系列单片机:低电平有效 | ||||
E-WR | 输入 | 6800系列单片机:高电平有效;8080系列单片机:低电平有效 | ||||
DB7DB0 | 输入 | 8位双向数据总线,与单片机的8位数据总线相连,片选无效时为高阻态 | ||||
RESET | 输入 | 硬件复位输入端 | ||||
V0 V1 V2 V3 V4 |
输入/输出 |
这些电压的值取决于用于LCD点阵的阻抗转换运放。它们关系为:V0≥V1≥V3≥V4≥V5≥Vss,其取值决定于LCD的偏压: | ||||
LCD偏压 | V1 | V2 | V3 | V4 | ||
1/9偏压 | 8/9×V0 | 7/9×V0 | 2/9×V0 | 1/9×V0 | ||
1/8偏压 | 7/8×V0 | 6/8×V0 | 2/8×V0 | 1/8×V0 | ||
1/7偏压 | 6/7×V0 | 5/7×V0 | 2/7×V0 | 1/7×V0 | ||
1/6偏压 | 5/6×V0 | 4/6×V0 | 2/6×V0 | 1/6×V0 | ||
1/5偏压 | 4/5×V0 | 3/5×V0 | 2/5×V0 | 1/5×V0 | ||
C1+ | 输出 | C1+与外部电压转换器连接 | ||||
C1- | C1-与外部电压转换器连接 | |||||
C2+ | C2+与外部电压转换器连接 | |||||
C2- | C2-与外部电压转换器连接 | |||||
C3+ | C3+与外部电压转换器连接 | |||||
C3- | C3-与外部电压转换器连接 | |||||
VOUT | 输入/输出 | 电压转换输出 |
2.KS0713液晶模块的主要结构
(1)显示数据存储器(DDRAM)
DDRAM用来存放液晶的显示数据。它是一个65行、132列的地址空间。65行构成了9页,其中前8页是由8列构成(DB0~DB7),第9页是单独一行(只有DB0)。显示数据DB0~DB7通过单片机的数据口送入,并通过DB0~DB7直接读或写到每页对应的8行;同时每一点阵可通过确定页地址和列地址来确定位置。在向DDRAM中写数据的同时,液晶屏上对应的点阵被显示,如图1所示。
(2)页地址电路
页地址电路的功能是为显示数据存储器提供页地址。页地址的确定是通过页控制字送到一个4位的页地址寄存器中来实现的。例如:第8页,DB3为高电平时,DB2、DB1和DB0为低电平。
(3)行地址电路
行地址电路根据显示起始行(COM0)为DDRAM提供行地址,因此通过改变行地埴址,可在不改变片内RAM的情况下滚动屏幕和切换。页地址的改变是通过行地址寄存器实现的。它只通过初始显示行指令和6位的计数电路来改变。寄存器的内容在液晶开始每一帧时自动复制到行计数器中。
(4)列地址电路
列地址电路为DDRAM提供列地址。它有一个8位的可预先设置的计数器,当设置列地址的MSB/LSB指令发送后,Y7~Y0就被更新(详见控制字说明);当有读或写指令时,列地址会每次相应加1,这样单片机可以连续地传送显示数据。但是,8位的计数器在没有设置MSB/LSB时处于锁定状态,此时它的锁定值为大于84H的任意数,并且不能实现自动增加的功能。一旦MSB/LSB经再次设定,计数器才可解锁。列地址计数器相对于页地址寄存器是独立的(见表2)。ADC选择指令可例转列地址和显示列之间的对应关系,如图2所示。
表2 指令控制字表
指令控制字 | RS | RW | DB7 | DB6 | DB5 | DB4 | DB3 | DB2 | DB1 | DB0 |
功能说明 |
读显示数据 | 1 | 1 | 读数据 | 从DDRAM中读数据 | |||||||
写显示数据 | 1 | 0 | 写数据 | 向DDRAM中写数据 | |||||||
读状态 | 0 | 1 | BUSY | ADC | 开/关 | 复位 | 0 | 0 | 0 | 0 | 读内部状态 |
显示开/关 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | DON | DON=0显示关;DON=1显示开 |
显示起始行 | 0 | 0 | 0 | 1 | ST5 | ST4 | ST3 | ST2 | ST1 | ST0 | 设置DDRAM的显示起始行 |
参考电压方式 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 设置参考电压方式 |
参考电压寄存器 | 0 | 0 | × | × | SV5 | SB4 | SV3 | SV2 | SV1 | SV0 | 设置参考电压寄存器 |
页地址 | 0 | 0 | 1 | 0 | 1 | 1 | P3 | P2 | P1 | P0 | 设置页地址 |
列地址MSB | 0 | 0 | 0 | 0 | 0 | 1 | 0 | Y6 | Y5 | Y4 | 设置显示的起始列 |
列地址LSB | 0 | 0 | 0 | 0 | 0 | 0 | Y3 | Y2 | Y1 | Y0 | |
ADC选择 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | ADC | ADC=1,显示列1~132;ADC=1,显示列1~321 |
反向显示开/关 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | REV | REV=0,正常显示;REV=1,反向显示 |
全部显示开/关 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | EON | EON=0,正常显示;EON=1,全部显示 |
LCD偏压选择 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | BUAS | LCD偏压选择 |
设置修改-读 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 设置修改-读 |
复位修改-读 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 释放复位修改-读 |
复位 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 初始化内部功能 |
SHL选择 | 0 | 0 | 1 | 1 | 0 | 0 | SHL | × | × | × | SHL=0,显示行164;SHL=1,显示行641 |
供电控制 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | VC | VR | VF | 控制供电电路操作 |
静态显示方式 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | SM | 设置静态显示方式 |
静态显示寄存器 | 0 | 0 | × | × | × | × | × | × | S1 | S0 | 设置静态显示寄存器 |
供电存储 | - | - | - | - | - | - | - | - | - | - | 复合指令 |
测试指令 | 0 | 0 | 1 | 1 | 1 | 1 | × | × | × | × | 不可使用 |
(5)液晶显示电路
液晶显示电路具有1个片内振荡器,振荡频率独立于VDD。振荡器的输出信号用于电压转换和液晶显示的定时产生电路,定时产生电路一些信号用于液晶的显示。液晶显示的时钟信号是通过振荡时钟产生的,这一时钟信号为行计数器和显示数据锁存器提供了时钟信号。片内RAM的行地址与液晶显示时钟信号同步产生,并且132位的显示数据根据显示时钟信号同步锁存到显示数据锁存电路中。把显示数据从锁存电路中读出送到液晶驱动器中的操作完全独立于单片机向DDRAM中读写数据的操作。
(6)供电电路
供电电路为低功率消耗的液晶驱动电路在最少的电路元件的情况下,提供必要的驱动电路的电压。供电电路包括:电压转换电路、电压调节电路、电压跟随电路。这些电路只在对主显示系统操作和供电控制指令操作时才有效。电压转换电路的输出电压(VOUT)可以调节为2~5倍的电源电压(VDD)。电压调节电路如图3所示,该电路在使用VDD供电的情况下,通过计算可以得出输出电压Vo的值。
方程1:V0=(1+Rb/Ra)VEV
方程2:VEV=[1-(63-α)/300]VREF
在温度为25℃时,VREF=2V。
α可通过指令设置。设α=63,则VEV=2V。通过指令设置R2、R1、R0(见表2)得出(1+Rb/Ra)。设(1+Rb/Ra)=5.29,这样计算出Vo=10.5V。
使用时可以测量Vo来确定与计算是否相符。此外还有复位电路,实现液晶的复位操作。
二、指令系统
KS0713液晶模块具有24个指令控制字。通过控制进行液晶初始条件的设置以及各种运行条件选择。指令控制字如表2所列。
三.KS0713液晶模块的应用
在研制的心叫图机中采用了KS0713液晶模块,用于显示单和心电波形。在心电图机中可以采用89C51或ADμC812等单片机作为液晶的微控制器。通过单片机采集和处理心电数据,输出给液晶显示。
1.硬件电路连接
硬件电路连接如图4所示。
2.汉字菜单显示
菜单主要由汉字组成,可通过汉字字库将每个汉字转换为16×16点阵共32个十六进制的数据送液显示。每个汉字的数据分别对应一个数据表,程序可通过查表方式显示汉字。液晶初始化的程序如下:
MOV P2,#7FH ;选中液晶
CLR RS
CLR RESET ;液晶复位
SETB RESET
;= = = = = = = = = = ;液晶初始化
MOV R2,#17 ;R2控制字计数指针
MOV R3,#0 ;R3显示数据指针
MOV DPTR,#TABLE
CMNW:MOV A,R3 ;送初始化液晶控制字
MOVC A,@A+DPTR
MOVX @R0,A
INC R3
DJNZ R2,CONW
TABLE:DB 0E2H,0AFH,81H,3FH 初始液晶的控制字
DB 0B0H,40H,10H,00H
DB 0A0H,0A6H,0A4H,0A3H
DB 0C0H,2FH,26H
DB 0ADH,0FFH
3.心电波形显示
心电波形是一系列的曲线。在液晶上要显示这些曲线须要将相应的点阵显示。对于1条心电曲线,起始显示数据点在起始列只显示1点;从第二个数据点开始,要在下一列显示上一数据点到此次数据点之间的线段。具体方法可通过十六进制的数据点除以总页数8得到商和余。得到的商为此数据点所在的页;得到的余为此数据点所在页的行数。注意的是每一数据点应在相应的列,因为列地址每送1个数据自动加1,因而每次从DDRAM中读取数据时,定要保证列位置的正确,否则会出现曲线的混乱。这样利用KS0713液晶模块将心电波形打印或直接从液晶上读取信息,为诊断提供依据。显示曲线的程序由于篇幅所限不在这里列出。
结束语
本文介绍了KS0713液晶模块的基本原理、特点、控制指令及微型心电图机中的实际应用。除了在微型心图机中的应用,KS0713液晶模块还可以应用于监迭、测量显示等许多方面,为用户提供直观的显示并提供相关信息。