1. LCD接口
液晶显示器件【3】(LCD)独具的低压、微功耗特性使他在单片机系统中特得到了广泛的应用,常用的液晶显示模块分为数显液晶模块、点阵字符液晶模块和点阵图形液晶模块,其中图形液晶模块在我国应用较为广泛,因为汉字不能像西文字符那样用字符模块即可显示,要想显示汉字必须用图形模块。 本课设所选择的LCD是AMPIRE128×64的汉字图形型液晶显示模块,可显示汉字及图形,图形液晶显示显示器接口如图3-1所示。
图3-1 LCD电路图
表3.1 AMPIRE128×64接口说明表
管脚号 | 管脚 | 电平 | 说明 |
1 | CS1 | H/L | 片选择信号,低电平时选择前64列 |
2 | 蜂巢发动机CS2 | H/L | 片选择信号,低电平时选择后64列 |
3 | GND | 0V | 逻辑电源地 |
4 | VCC | 5.0V | 逻辑电源正 |
5 | V0 | | LCD驱动电压,应用时在VEE与V0之间加一2K可调电阻 |
6 | RS | H/L | 数据\指令选择:高电平:数据D0-D7将送入显示RAM; 低电平:数据D0-D7将送入指令寄存器执行 |
7 | R/W | H/L | 读\写选择: 高电平:读数据;低电平:写数据 |
8 | E | H/L | 读写使能,高电平有效,下降沿锁定数据 |
9 | DB0 | H/L | 数据输入输出引脚 |
10 | DB1 | H/L | 数据输入输出引脚 |
11 | DB2 | H/L | 数据输入输出引脚 |
12 | DB3 | H/L | 数据输入输出引脚 |
13 | DB4 | H/L | 数据输入输出引脚 |
14 | DB5 | H/L | 数据输入输出引脚 |
15 | DB6 | H/L | 数据输入输出引脚 |
16 | DB7 | H/L | 数据输入输出引脚 |
17 | RST | L | 复位信号,低电平有效 |
18 | VOUT | -10V | LCD驱动电源 |
| | | |
2. 指令描述
(1) 显示开/关设置
CODE:R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
功能:设置屏幕显示开/关。
DB0=H,开显示;DB0=L,关显示。不影响显示RAM(DD RAM)中的内容。
(2) 设置显示起始行
CODE:R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
功能:执行该命令后,所设置的行将显示在屏幕的第一行。显示起始行是由Z地址计数器控
制的,该命令自动将A0-A5位地址送入Z地址计数器,起始地址可以是0-63范围内任意一行。Z地址计数器具有循环计数功能,用于显示行扫描同步,当扫描完一行后自动加一。
(3) 设置页地址
CODE:R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
功能:执行本指令后,下面的读写操作将在指定页内,直到重新设置。地址就是DD RAM 的行地址,页地址存储在X地址计数器中,A2-A0可表示8页,读写数据对页地址没有影响,除本指令可改变页地址外,复位信号(RST)可把页地址计数器内容清零。DDRAM地址映像表如表3.2所示。
表3.2 RAM地址映像表
Y 地址
0 | 1 | 2 | ……… | 61 | 数显计数器 62 | 63 | |
DB0 ∫ PAGE0 DB7 | X=0 |
DB0 ∫ PAGE1 DB7 | X=1 |
……………… | …… |
DB0 ∫ PAGE6 DB7 | X=6 |
DB0 ∫ PAGE7 DB7 | X=7 |
| | | | | | | |
(4) 设置列地址
CODE:R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
功能:DDRAM 的列地址存储在Y地址计数器中,读写数据对列地址有影响在对DDRAM进行读写操作后,Y地址自动加一。
(5)状态检测
CODE:R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
功能:读忙信号标志位(BF)、复位标志位(RST)以及显示状态位(ON/OFF)。
BF=H:内部正在执行操作; BF=L:空闲状态。
RST=H:正处于复位初始化状态; RST=L:正常状态。
ON/OFF=H:表示显示关闭; ON/OFF=L:表示显示开。
(6)写显示数据
CODE:R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
功能:写数据到DDRAM,DDRAM是存储图形显示数据的,写指令执行后Y地址计数器自动加1。D7-D0位数据为流(H)1表示显示,数据为0表示不显示。写数据到DD RAM前,要先执行“石膏增强剂设置页地址”及“设置列地址高压直流供电”命令。
(7)读显示数据
CODE: R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
基本操作时序:
① 读状态:输入:RS=L,R/W=H,CS1 或CS2=H,E=H
输出:D0~D7=状态字
② 写指令:输入:RS=L,R/W=L,D0~D7=指令码,CS1或CS2=H,E=高脉冲
输出:无
③ 读数据:输入:RS=H,R/W=H,CS1 或CS2=H,E=H
输出:D0~D7=数据
④ 写数据:输入:RS=H,R/W=L,D0~D7=数据,CS1 或CS2=H,E=高脉冲
输出:无
由RAM 地址映射表可知LCD 显示屏由两片控制器控制,分别用CS1和CS2控制。每个内部带有64X64 位(512字节)的RAM 缓冲区,对应关系如图3-2所示。
图3-2 LCD地址映射图
整个屏幕分左、右两个屏,每个半屏右8页,每页有8行,注意数据是竖行排列,如表3.2。显示一个字要16*16点,全屏有128*64个点,故可显示32个中文汉字。每两页显示一行汉字,可显示4行汉字,每行8个汉字,共32个汉字。而显示数据需要16*8个点,可显示数据是汉字的两陪。
屏幕是通过CS1、CS2两信号来控制的,不同的组合方式所选的屏幕是不同的,对应关系如表3.3所示。
表3.3 屏幕选择表
CS1 | CS2 | 选屏 |
0 | 0 | 全屏 |
0 | 1 | 左屏 |
1 | 0 | 右屏 |
1 | 1 | 不选 |
| | |
(8)操作
设定开始页地址和列地址;
设定读写模式,进行读写操作。
只有理解了液晶显示器各个指令【4】的功能,再结合单片机的指令系统,就能编写C语言程序来达到混合显示汉字与数字的目的。通过程序将字的代码写入相应的DDRAM地址,就可以再相应的位置显示相应的字。
3. 汉字字模提取
液晶显示器件(LCD)独具的低压、微功耗特性使他在单片机系统中特得到了广泛的应用,常用的液晶显示模块分为数显液晶模块、点阵字符液晶模块和点阵图形液晶模块,其中图形液晶模块在我国应用较为广泛,因为汉字不能象西文字符那样用字符模块即可显示,要想显示汉字必须用图形模块。
液晶模块显示汉字方法:使用图形液晶模块以点阵形式来显示汉字和图形,每8个点组成1个字节,每个点用一个二进制位表示,存1的点显示时在屏上显示一个亮点,存0的点则在屏上不显示,最常用的16×16的汉字点阵由32物理教具制作个字节组成。以在我国应用较为普及的液晶显示驱动控制器12864为例,在液晶屏上竖向8个点为1个字节数据,通过字模提取软件按照先左后右,先上后下的方式对汉字进行字模提取。