点阵图形液晶模块
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AT89S51
P0.0 P0.1
39 38
P0.2
37 36
P0.3 P0.4
35
P0.Leabharlann Baidu 34
P0.6 P0.7
33 32 21
P2.0 P2.1
22
P2.2 23
P2.3 P2.4
24 25
P2.5 26
+5V
1K× 8
LCD12864
7 8
2 +5V
DB0 DB1
VDD BL+
19
9 DB2
正面图
背面图
一、12864分类
因为字符型LCD无法将汉字显示出来,所以要在显示汉字的场合 一般都要用点阵型LCD。
目前常用的点阵型LCD有122×32、128×64、240×320等。本章 重点介绍128×64点阵液晶显示屏的基本应用。
128×64点阵液晶显示屏有三种控制器,分别是KS0107 (KS0108)、T6963C和ST7920,三种控制器主要区别是:KS0107 (KS0108)不带任何字库、T6963C带ASCII码,ST7920带国标二级字 库(8千多个汉字)。
#define LCM_Wr1Command(command) LCMCS1W_COM = command /*功能:写命令子程序,所选屏为左半屏(CS1)。 入口参数:command 要写入LCM的命令字*/
#define LCM_Wr2Command(command) LCMCS2W_COM = command /*功能:写命令子程序,所选屏为右半屏(CS2)。 入口参数:command 要写入LCM的命令字*/
入口参数:wrdata
要写入LCM的数据*/
LCM_Wr1Command(LCM_DISPON); LCM_Wr1Command(LCM_STARTROW); LCM_Wr2Command(LCM_DISPON); LCM_Wr2Command(LCM_STARTROW);
// 打开显示 // 设置显示起始行为0
读操作时序
void write_data_2(unsigned char dis_data) //向右半屏写入数据 { cs1=0; cs2=1;
Di=1; RW=0; Lcd_Bus= dis_data; delay(0); Enable=1; delay(0); Enable=0; }
五、MG12864液晶显示模块的寄存器
#define LCMCS1W_COM (*((uint8 volatile xdata *) 0x0500)) #define LCMCS1W_DAT (*((uint8 volatile xdata *) 0x0400)) #defineLCMCS2W_COM (*((uint8 volatile xdata *)
(1)I/O缓冲器:液晶显示模块的输入、输出缓冲器由片选信号控制。 如果CS1或CS2无效,那么输人输出的数据或指令不会被执行,因此内 部状态也不会改变,但是不管CS1或CS2是否处在有效状态,复位操作 都可以执行。
本章以不带字库的KS0107(KS0108)控制器为例进行介绍。
二、128×64点阵型LCD的引脚功能
引脚号 引脚名称
1
VSS
2
VDD
3
V0
4
D/I(RS)
电平 0V +5V — H/L
功能描述 电源地 正电源 液晶显示器驱动电压 D/I=“H”,表示DB0~DB7为显示数据 D/I=“L”,表示DB0~DB7为显示指令数据
液晶显示器的原理
字符型液晶(1602)
方法:通过向指定显示位置对应的DDRAM中写数据来显示字符。 例如:在第2行第2列显示字符 ‘a’,查表5-9 可知a对应的代码为即 0x31,则可向地址0x41中写入数据0x31即可显示。
图1 1602的显示地址与DDRAM地址
点阵型液晶(12864)
在点阵型LCD上显示一幅图片或是字符,如上图所示,只需黑色的 部分点亮,空白的点置0即可。可以将LCD看成128*64个LED灯来帮助 理解。
10 DB3 BL- 20 9015
11 DB4
P26
12 DB5
1K
13 DB6
200
14 DB7
4 RS
GND 1
5 R/W
6E 15 CS1 16 CS2 17 RST 10K 18 VEE
3 V0
间接控制就是微处理 器通过自身的或系统 中的并行接口与液晶 显示模块连接,微处 理器通过对这些接口 的操作,以达到液晶 显示模块的控制。
#define LCM_Wr1Data(wrdata) LCMCS1W_DAT = wrdata
/*功能:写数据子程序,所选屏为左半屏(CS1)。
入口参数:wrdata
要写入LCM的数据*/
#define LCM_Wr2Data(wrdata) LCMCS2W_DAT = wrdata
/*功能:写数据子程序,所选屏为右半屏(CS2)。
2. 间接方式
写读操作时序
void write_cmd_1(unsigned char command) //向左半屏写入命令 { cs1=1; cs2=0;
Di=0; RW=0; Lcd_Bus = command; delay(10); Enable=1; delay(10); Enable=0; }
DB0 DB1
VDD BL+
19
9 DB2
10 DB3 BL- 20 9015
11 DB4
P12
12 DB5
1K
13 DB6
200
14 DB7
4 RS GND 1 5 R/W
15 16 17
CS1 CS2
6
RST E
18 VEE 3 V0
1. 总线方式
总线方式也称直接控制方式, 即将液晶显示模块的接口作 为存储器或I/O设备直接挂 在微处理器总线上,微处理 器以控制存储器或I/O设备 的方式操作液晶显示模块的 工作。
AT89S51
P0.0 P0.1
39 38
P0.2 P0.3 P0.4
37 36 35
P0.5 P0.6 P0.7
34 33 32
P2.0 P2.1
21 22
P2.2 23
P2.3 P1.0
24 1
RD WR P2.7
18 17 28
74LS00
+5V
1K×8 10K
LCD12864
7 8
2 +5V
三、128×64点阵型LCD的内部模块结构
内部逻辑电路图 工作原理:MG12864经数据总线接收微处理器发来的指令和数据,并存入内 部的指令和数据寄存器中,在这些控制指令的控制下,行、列驱动器对 128x64点阵的LCD显示屏进行控制,从而实现所需信息的显示。
四、128×64点阵型LCD与AT89S51单片机的接口设计