LCD(1602)显示屏控制系统设计A
- 格式:doc
- 大小:16.50 KB
- 文档页数:1
实验11:1602液晶显示屏显示(字符型液晶显示器)字符型液晶显示器用于数字、字母、符号并可显示少量自定义符号。
这类液晶显示器通常有16根接口线,下表是这16根线的定义。
字符型液晶接口说明编号符号引脚说明编号符号引脚说明1 Vss 电源地 9 D2 数据线22 Vdd 电源正 10 D3 数据线33 VL 液晶显示偏压信号 11 D4 数据线44 RS 数据/命令选择端 12 D5 数据线55 R/W 读/ 写选择端 13 D6 数据线66 E 使能信号 14 D7 数据线77 D0 数据线0 15 BLA 背光源正极8 D1 数据线1 16 BLK 背光源负极(本学习板配的内部已经接地)下图是字符型液晶显示器与单片机的接线图。
这用了P0口的8根线作为液晶显示器的数据线,用P20、P21、P22做为3根控制线。
字符型液晶显示器与单片机的接线图字符型液晶显示器的使用,字符型液晶显示器一般采用HD44780芯片做为控制器的。
1.字符型液晶显示器的驱动程序这个驱动程序适用于1602型字符液晶显示器,1) 初始化液晶显示器命令(RSTLCD)设置控制器的工作模式,在程序开始时调用。
参数:无。
2) 清屏命令(CLRLCD)清除屏幕显示的所有内容参数:无3) 光标控制命令(SETCUR)用来控制光标是否显示及是否闪烁参数:1个,用于设定显示器的开关、光标的开关及是否闪烁。
4) 写字符命令(WRITECHAR)在指定位置(行和列)显示指定的字符。
参数:共有3个,即行值、列值及待显示字符,分别存放在XPOS、YPOS和A中。
其中行值与列值均从0开始计数,A中可直接写入字符的符号,编译程序自动转化为该字符的ASCII值。
5) 字符串命令(WRITESTRING)在指定位置显示指定的一串字符。
参数:共有3个,即行值、列值和R0指向待显示字符串的内存首地址,字符串须以0结尾。
如果字符串的长度超过了从该列开始可显示的最多字符数,则其后字符被截断,并不在下行显示出来。
本科毕业论文(设计)题目:基于单片机的1602液晶显示电路设计学生姓名:学号:系别:理工部专业:电气工程及其自动化入学时间:2012年09月导师姓名:职称/学位:基于单片机的1602液晶显示电路设计摘要本文是一篇介绍利用AT89S52单片机和LCD1602液晶显示屏设计一种液晶显示电路并编程实现信息的显示功能。
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。
1602LCD是指显示的内容为16*2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。
从AT89S52单片机与LCD1602液晶显示器性能特点出发,实现两者接口的衔接设计。
经过多次的调试, 使得该设计取得了比较满意的结果, 且系统软硬件设计简单方便、稳定可靠, 可广泛应用于智能化仪器仪表及各种宣传场所, 为嵌入式控制系统提供高灵活、高性价比的解决方案。
关键词:AT89S52单片机;LCD1602液晶显示器;复位电路;时钟电路目录第一章前言 (2)1.1 研究现状 (2)1.2 研究意义 (2)第二章系统硬件电路设计 (3)2.1 AT89S52单片机最小系统 (3)2.1.1 主要性能 (3)2.1.2 功能 (3)2.1.3 引脚说明及实物图 (4)2.2 LCD1602液晶显示器 (7)2.2.1功能 (7)2.2.2 特点 (7)2.2.3 引脚 (7)2.3 复位电路 (9)2.4 时钟电路 (9)第三章软件设计 (10)3.1 软件设计思路 (10)3.1.1 Altium Designer (11)3.1.2 keil (11)3.1.3 AVR_fighter (11)3.2 程序设计 (12)第四章仿真及硬件电路 (15)第五章总结与展望 (17)主要参考文献 (18)致谢 (19)第一章前言本文是一篇研究基于AT89S52单片机的1602液晶显示电路设计,本次设计要求通过对单片机和1602液晶显示模块的学习,设计出完整的电路并焊出电路板,再对单片机写入程序,从而实现在液晶屏上显示出字符。
1602A液晶模块文档介绍1602A液晶模块是一种常用的显示设备,主要用于显示文本信息。
它具有16列和2行的显示区域,每个区域可以显示一个字符。
本文档将介绍1602A液晶模块的基本原理、特性以及使用方法。
特性以下是1602A液晶模块的主要特性:•16列2行的显示区域•每个区域可显示一个字符•内置液晶控制器,简化控制电路的设计•低功耗设计,适合长期运行•使用标准的I2C总线进行通信,方便连接到其他设备引脚定义1602A液晶模块包含16个引脚,下面是各个引脚的定义:引脚序号引脚名称功能描述1 VSS 电源地2 VDD 电源正极3 V0 对比度调节4 RS 命令/数据选择5 R/W 读/写选择6 E 使能信号7-14 DB0-DB7 数据总线位15 LED+ 背光电源正极16 LED- 背光电源地控制指令1602A液晶模块的显示内容是由控制指令决定的。
下面是一些常用的控制指令:•光标移动指令–0x80: 将光标移动到第一行的起始位置–0xC0: 将光标移动到第二行的起始位置•清屏指令–0x01: 清除整个显示区域的内容,将光标移动到起始位置•写入数据指令–0x02: 将光标移动到起始位置–0x06: 设置光标移动一次后自动增加•光标显示控制指令–0x0E: 显示光标并设置为闪烁模式–0x0C: 显示光标而不闪烁•功能设置指令–0x38: 设置显示模式为16x2字符模式使用示例下面是一个使用1602A液晶模块的示例程序,使用Arduino开发板控制:```c #include <Wire.h> #include <LiquidCrystal_I2C.h>// 初始化液晶模块 LiquidCrystal_I2C lcd(0x27, 16, 2);void setup() { // 初始化串口通信 Serial.begin(9600); while (!Serial);// 初始化液晶模块 lcd.begin(16, 2); lcd.backlight(); }void loop() { // 显示Hello World!文本 lcd.setCursor(0, 0); lcd.print(。
1602A资料LCD1602的引脚定义想要在LCD1602屏幕的第一行第一列显示一个"A"字,就要向DDRAM的00H地址写入“A”字的代码就行了。
但具体的写入是要按LCD模块的指令格式来进行的,后面我会说到的。
那么一行可有40个地址呀?是的,在1602中我们就用前16个就行了。
第二行也一样用前16个地址。
对应如下:DDRAM地址与显示位置的对应关系我们知道文本文件中每一个字符都是用一个字节的代码记录的。
一个汉字是用两个字节的代码记录。
在PC上我们只要打开文本文件就能在屏幕上看到对应的字符是因为在操作系统里和BIOS里都固化有字符字模。
什么是字模?就代表了是在点阵屏幕上点亮和熄灭的信息数据。
例如“A”字的字模:01110○■■■○10001■○○○■10001■○○○■10001■○○○■11111■■■■■10001■○○○■10001■○○○■上图左边的数据就是字模数据,右边就是将左边数据用“○”代表0,用“■”代表1。
看出是个“A”字了吗?在文本文件中“A”字的代码是41H,PC收到41H的代码后就去字模文件中将代表A字的这一组数据送到显卡去点亮屏幕上相应的点,你就看到“A”这个字了。
刚才我说了想要在LCD1602屏幕的第一行第一列显示一个"A"字,就要向DDRAM的00H地址写入“A”字的代码41H就行了,可41H这一个字节的代码如何才能让LCD模块在屏幕的阵点上显示“A”字呢?同样,在LCD模块上也固化了字模存储器,这就是CGROM和CGRAM。
HD44780内置了192个常用字符的字模,存于字符产生器CGROM(Character Generator ROM)中,另外还有8个允许用户自定义的字符产生RAM,称为CGRAM(Character Generator RAM)。
下图说明了CGROM和CGRAM与字符的对应关系。
从上图可以看出,“A”字的对应上面高位代码为0100,对应左边低位代码为0001,合起来就是01000001,也就是41H。
3.4.1LCD显示模块LCD显示器分为字段显示和字符显示两种。
其中字段显示与LED显示相似,只要送对应的信号到相应的管脚就能显示。
字符显示是根据需要显示基本字符。
本设计采用的是字符型显示。
系统中采用LCD1602作为显示器件输出信息。
与传统的LED数码管显示器件相比,液晶显示模块具有体积小、功耗低、显示内容丰富等优点,而且不需要外加驱动电路,现在液晶显示模块已经是单片机应用设计中最常用的显示器件了。
LCD1602可以显示2行16个汉字。
3.4.2LCD1602的引脚功能LCD1602模块的引脚如图3-8所示,其引脚功能如下:RS:数据和指令选择控制端,RS=0命令状态;RS=1数据R/W:读写控制线,R/W=0写操作;R/W=1读操作A:背光控制正电源K:背光控制地E:数据读写操作控制位,E线向LCD模块发送一个脉冲,LCD模块与单片机间将进行一次数据交换DB0~DB7:数据线,可以用8位连接,也可以只用高4位连接,节约单片机资源。
VDD:电源端VEE:亮度控制端(1-5V)VSS:接地端图3-8LCD1602模块3.4.3LCD1602的显示操作1.四种基本操作LCD有四种基本操作,具体如表3-1所示。
表3-1LCD与单片机之间有四种基本操作(1)读状态字执行读状态字操作,如表3-1满足RS=0,R/W=1。
根据管脚功能,当为有效电平时,状态命令字可从LCD模块传输到数据总线。
同时可以保持一段时间,从而实现读状态字的功能。
读状态字流程如图3-9所示。
图3-9读入状态字流程图(2)命令字表3-2所示为命令字,其主要介绍了指令名称、控制信号及控制代码。
其指令名称是指要实现的功能;控制代号是采用的十六进制的数值表示的。
1)清零操作是指输入某命令字后即能将整个屏幕显示的内容全部清除;2)归home位:将光标送到初始位;其中的*号为任意,高低电平均可;3)输入方式:设光标移动方向并指定整体显示,是否移动。
#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned int#define LCD_IO P2sbit KK1 = P3^2; //按键输入;sbit KK2 = P3^3; //按键输入;sbit LCD_RS = P3^5;sbit LCD_RW = P3^6;sbit LCD_EN = P3^7;uchar code LCD_line1[] = " The Counter";int idata mydata=0;/************************************************************** * 名称: Delay_1ms()* 功能: 延时子程序,延时时间为1ms * x* 输入: x (延时一毫秒的个数)* 输出: 无***************************************************************/ void Delay_1ms(uint x){uchar i, j;for(i = 0; i < x; i++) for(j = 0; j <= 148; j++);}/************************************************************** * 名称: lcd_bz( )* 功能: 测试忙碌子程序* 输入: 无* 输出: result***************************************************************/ bit lcd_bz(){bit result;LCD_RS = 0;LCD_RW = 0;LCD_EN = 0;_nop_();_nop_();_nop_();_nop_();result=(bit)(P3&0x80);LCD_EN = 0;return result;}/*************************************************************** 名称: W_LCD_Com( )* 功能: 写指令子程序* 输入: com* 输出: 无***************************************************************/void W_LCD_Com(uchar com){while(lcd_bz());LCD_RS = 0; LCD_RW=0; LCD_EN = 0; // LCD_RS和R/W同时为低电平时,可以写入指令LCD_IO = com; Delay_1ms(5); //下面用EN输入一个高脉冲LCD_EN = 1; Delay_1ms(5); LCD_EN = 0;}/*************************************************************** 名称: W_LCD_Dat( )* 功能: 写数据子程序* 输入: dat* 输出: 无***************************************************************/void W_LCD_Dat(uchar dat){while(lcd_bz());LCD_RS = 1; LCD_RW=0;LCD_EN = 0; // LCD_RS为高,LCD_RW为低时,可以写入数据LCD_IO = dat; Delay_1ms(5); //下面用EN输入一个高脉冲LCD_EN = 1; Delay_1ms(5); LCD_EN = 0;}/*************************************************************** 名称: W_LCD_STR( )* 功能: 写字符串子程序* 输入: *s* 输出: 无***************************************************************/void W_LCD_STR(uchar *s){while(*s > 0) {W_LCD_Dat(*s); s++;}}/*************************************************************** 名称: LCD_cursor( )* 功能: 设置光标位置子程序* 输入: pos* 输出: 无***************************************************************/void LCD_cursor(uchar pos) //LCD光标定位到处{W_LCD_Com(pos+0x80); //第一行地址是0x80}/*************************************************************** 名称: initial( )* 功能: 初始化子程序* 输入: 无* 输出: 无* 指令:#define LCD_AC_AUTO_INCREMENT 0x06 //数据读、写操作后,AC自动增一#define LCD_DISPLAY_ON 0x0C //显示开#define LCD_DISPLAY_DOUBLE_LINE 0x38 //两行显示***************************************************************/void initial(){W_LCD_Com(0x06|0x04);W_LCD_Com(0x0c|0x08);W_LCD_Com(0x38);W_LCD_STR(LCD_line1);}/*************************************************************** 名称: Main()* 功能: 主函数***************************************************************/void main(){bit flag;uchar temp;uchar pos;Delay_1ms(10) ;initial();while(1){pos=0x4f;if(mydata>255)mydata=0;else if(mydata<0)mydata=255;if(mydata>127) //把mydata当做-128~127的有符号数来显示{flag=1;temp=256-mydata;}else {temp=mydata;flag=0;}LCD_cursor(pos);W_LCD_Dat((temp%10)+'0');pos--;//光标左移(其实光标不显示,只是为了输出高位)Delay_1ms(10);if(temp/100 || temp/10){LCD_cursor(pos);W_LCD_Dat((temp/10)%10+'0');pos--;}Delay_1ms(10);if(temp/100){LCD_cursor(pos);W_LCD_Dat((temp/100)%10+'0');pos--;}if(flag){LCD_cursor(pos);W_LCD_Dat('-');//负号}else{ LCD_cursor(pos);W_LCD_Dat(' ');//清除负号(空格代替)}if(!KK1){while(KK2);while(!KK2);mydata++;}else if(!KK2){while(KK1);while(!KK1);mydata--;}} }。
YB1602A 液晶模块使用说明书版本号 20070711亚斌 YB1602A 液晶模块使用说明书YB1602A 液晶模块使用说明书版本号 20070711目录一. 外形结构………………………………………………….(3) 二. 模块概述………………………………………………….(3) 三. 模块硬件说明…………………………………………….(4) 四. 控制器 SPLC780C 说明………………………………....(5) 五. 时序说明…………………………………………………..(7) 六. 指令说明………………………………………………..…(9) 七. 包装……………………………………………………......(17) 八. 责任和维修…………………………………………..……(19)YB1602A 液晶模块使用说明书版本号 20070711一. 外形结构图上图说明:ITEM 模块体积 视域(VA) 实际显示区(AA) 行列字符数 点距离 点大小 定位孔 NOMINAL DIMEN 80.0×36.0×13.0 64.5×13.8 55.45×10.75 16×2 0.6×0.65 0.55×0.6 75.0×31.0(4-◎2.5) UNIT mm mm mm dots mm mm mm二. 模块概述YB1602A 是一种字符型液晶模块.共可以显示 2 行×16 个字符,每个字符是由 5×8 点阵组成的字符块集.字符型液晶显示模块由字符型液晶显示屏(LCD) ,控制驱动主芯片 SPLC780C 及其扩展驱动芯片 SPLC1OO,配以少量外围阻、容元件结构件等装配在 PCB 板上 而成.YB1602A 采用 COB 工艺制作,结构稳定,使用寿命长. YB1602A 应用于智能仪器仪表、通讯、办公自动化以及军工领域. 主要特性如下: ◆8 位并行数据接口,适配 M6800 系列时序: ◆可选 4 位并行数据方式 ◆具有字符发生器 ROM,含 10880 位 ◇192 种 5×8 点字体字符 ◇64 种 5×10 点字体字符 ◆具有字符发生器 RAM,含 512 位 ◇8 种 5×8 点字体字符 ◇4 种 5×10 点字体字符 ◆低功耗,高可靠性YB1602A 液晶模块使用说明书版本号 20070711◆其他参数:⑴模块模式 Module Mde: □黄绿膜 Y/G □灰膜 Grey □黑白膜 White/Black ■蓝膜 Blue □其它 Other ⑵背光颜色 Backlight Color ■白色 White □黄绿 Yello □蓝色 Blue □翡翠绿 Green □琥珀色 Amber ⑶ 背光模式:Backlight Mode □ LED □EL □CCFL □无背光 ⑷视角方向 Viewing Direction ■ 6:00 □ 12:00 □Other ⑸模块功耗 Module Expend: 不含背光_____1_____mA 背光________15_____mA ⑹驱动方式 Driving Mode : □静态 Static ■动态 Dynamic ⑺连接方式 Connect Manner ■COB(□管脚 口斑马纸 ■导电胶条 ) □COG □ TAB ⑻驱动条件 Driving Condition: 电压 Power_______5.0___________ V 工作温度: _—_20_____℃~+____70____℃ 贮存温度__— 30_____℃~+___80_____ ℃三. 模块硬件说明 1. 接口说明管脚序 名称 电平 0V 5.0V - H/L H/L 功能描述 电源地 电源输入 LCD 驱动电压输入 RS=H,表示 DB0-DB7 为显示数据 RS=L,表示 DB0-DB7 为指令1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16VSS VCC V0 RS R/WR/W=H,数据被读到 DB9-DB7 R/W=L, 数据被写到 DB9-DB7E H,H→L 使能信号 H/L 数据线 DB0 H/L 数据线 DB1 H/L 数据线 DB2 H/L 数据线 DB3 H/L 数据线 DB4 H/L 数据线 DB5 H/L 数据线 DB6 H/L 数据线 DB7 5.0V 背光正极(LEDK、BLK) BLA 0V 背光负极(LEDA、BLA) BLK 备注:第 3 脚 V0 用来调节对比度,LCD 的驱动电压 Vop=VDD-V0,YB1602 的 Vop 是 4.8V,此时显示最佳对比度,故在 5.0V 供电模式下,可以在 V0 与电源地(0V)之 间接一个 10K 的可调电位器来调节对比度.YB1602A 液晶模块使用说明书版本号 200707112. 原理简图3. 最大工作范围◆ 逻辑工作电压(VDD):4.5V-5.5V ◆ 电源地(VSS) : 0V ◆ LCD 驱动电压(Vop):-0.2V - +0.3V4. 电气特性(测试条件◆ ◆ ◆ ◆ ◆ 输入高电平(Vih): 输入低电平(Vil): 输出高电平(Voh): 输出低电平(Vol): 工作电流 1mATa=25, VDD=5.0V±0.5V) 2.2~VDD -0.3V~0.6V 2.4V~VDD 0.4V Max四. 控制器 SPLC780C 说明 1. 显示数据存(DDRAM)DDRAM(80×8bits)是用于存储当前所要显示的字符的字符代码.DDRAM 的 地址指针由地址指针计数器 AC 提供. DDRAM 各单元对应着显示屏上的各字符位. 初始化后,DDRAM 地址预屏幕的对应关系如下: 字符显示位置 1 2 3 ……… 14 15 16 第一行 DDRAM 地址 00 01 02 0D 0E 0F 第二行 DDRAM 地址 40 41 42 4D 4E 4F 上述对应关系在设置光标或画面设置滚动以后会方式变化,详细的请见指令说明部分.YB1602A 液晶模块使用说明书版本号 200707112.自定义字符存储器(CGRAM)从上图可以看出自定义字符存储器 CGRAM 的地址, CGRAM 内的字模数据和自定义字符代 码之间的关系.自定义字符代码与 CGRAM 地址 bit3~bit5 位的数据一致,打"X"的是无 关数据,当字符代码的 bit4~bit7 位都是 0 时,字符代码对应的是自定义字符. 例:输入代码为 00H 或 08H,即显示自定义的字符"T"3.地址指针计数器地址指针计数器 AC 是可读可写计数器.他是 DDRAM 和 CGRAM 共用的地址指 针计数器, CPU 最近写入的地址设置指令的标识码来确定. 有 可设置成加一计数器和 减一计数器,当读/写操作后地址指针计数器会自动进行修正.AC 还作为光标和闪烁 的位置地址指针,指示当前光标和闪烁的位置地址.5. 复位电路SPLC780 控制部具有内置复位电路,电源上电即复位实现硬件初始化: ⊙清屏,DDRAM 归零 ⊙设置为 8 位总线接口工作方式,一行 5×7 字体显示 ⊙关显示 ⊙输入方式为地址指针计数器 AC 加一形式 初始化过程中,接口部对 CPU 呈忙状态.YB1602A 液晶模块使用说明书版本号 20070711五,时序说明(适配 M6800 时序)1.控制时序表RS0 0 1 1R/W0 1 0 1E下降沿 1 下降沿 1DB0-DB7输入 输出 输入 输出功能写指令代码 读 BF 和 AC 值 写显示数据 读显示数据2.写操作时序写操作(VDD=2.7V~5.5V/4.5V~5.5V Ta=-20℃~+75℃) 项目 符合 最小值 最大值 E 周期时间 Tcyce 1000/500 E(高电平)脉冲宽度 Pweh 450/230 E 上升/下降时间 Ter/Tef 25/20 地址设置时间(RS R/W-E) Tas 60/40 地址保持时间 Tah 20/10 数据设置时间 Tdsw 195/80 数据保持时间 Th 10 -单位 ns ns ns ns ns ns nsYB1602A 液晶模块使用说明书版本号 200707113.读操作时序读操作(VDD=2.7V~5.5V/4.5V~5.5V 项目 E 周期时间 E(高电平)脉冲宽度 E 上升/下降时间 地址设置时间(RS R/W-E) 地址保持时间 数据延时时间 数据保持时间 符合 Tcyce PwehTa=-20℃~+75℃) 最小值 1000/500 450/230 60/40 20/10 5 最大值 25/20 360/160 单位 ns ns ns ns ns ns nsTer/Tef Tas Tah Tdsw ThYB1602A 液晶模块使用说明书版本号 20070711六, 指令说明1, 指令列表指令名称 清屏 归 HOME 位 输入方式设置 显示开关设置 光标画面滚动设置 工作方式设置 CGRAM 地址设置 DDRAM 地址设置 读 BF 和 AC 值 写显示数据 读显示数据 控制信号 RS 0 0 0 0 0 0 0 0 0 1 R/W 0 0 0 0 0 0 0 0 1 D7 0 0 0 0 0 0 0 1 BF D6 0 0 0 0 0 0 1 A6 AC 6 D5 0 0 0 0 0 1 A5 A5 AC 5 控制代码 D4 0 0 0 0 1 DL A4 A4 AC 4 D3 0 0 0 1 S/C N A3 A3 AC 3 数据 数据 D2 0 0 1 D R/L F A2 A2 AC 2 D1 0 1 I/D C X X A1 A1 AC 1 D1 1 x SH B X X A0 A0 AC 0 运行 时 间 1.64ms 1.64ms 42μs 42μs 42μs 42μs 42μs 42μs 0μs 46μs 46μs显示条件:fosc=270KHz X 表示无关位,0 或者 1 都可以2.指令详解1.清屏(Clear Display,代码 01H)格式 0 0 0 0 0 0 0 1将空码(20H)写入 DDRAM 的全部 80 咯单元内,清除;将地址指针计数器 AC 清 零,光标或闪烁归 HOME 位;将输入方式参数 I/D 设置为 1,即地址指针 AC 为自动加一 的方式. 该指令 多用于上电时或者更新全屏显示内容时.2. 归 HOME 位(Return Home,代码 02H)格式 0 0 0 0 0 0 1 0该指令将地址指针计数器 AC 清零.执行该指令的效果有:将光标或闪烁位返回到 显示屏的左上第一字符位上,即 DDRAM 地址 OOH 单元位置;这是因为光标和闪烁位都是以 地址指针计数器 AC 当前值定位的. 如果画面已滚动, 则撤销滚动效果, 将画面拉回到 Home 位.YB1602A 液晶模块使用说明书版本号 200707113. 输入方式设置(Enter Mode Set,代码 04H~07H)格式 0 0 0 0 0 1 I/D S该指令的功能在于设置显示字符的输入方式,即在 CPU 读/写 DDRAM 或 CGRAM 后, 地址指针计数器 AC 的修改方式, 反应在显示效果上, 当写入一个字符后画面或光标的移动. 该指令的两个参数 I/D 和 S 确定四种字符的输入方式,如下表所示: 输入方式 画面不动光标左移 画面右滚动 画面不动光标右移 画面左滚动 指令代码 04H 05H 06H 07H I/D(设置 AC 修改方式) 0(AC 为减一计数器) 0(AC 为减一计数器) 1AC 为加一计数器) 1(AC 为加一计数器) S(控制画面是否滚动) 0 禁止滚动 1 允许滚动 0 禁止滚动 1 允许滚动注意:画面滚动方式在 CPU 读 DDRAM 数据时,或在读/写 CGRAM 时无效,也就是说该指令 主要应用在 CPU 写入 DDRAM 数据的操作时.4. 显示开关设置(Display on/off Control,代码 08H~0FH)格式 0 0 0 0 1 D C B该指令控制着画面,光标与闪烁的开与关.该指令有三个状态位 D,C,B,这三个状态 位分别控制这画面,光标和闪烁的显示状态. 闪烁出现在有字符或光标显示的字符位时,正常显示态为当前字符或光标的显示,全 亮显示态为该字符位所以点全部显示.若出现在无字符或光标显示的字符位时,正常显示 态为无显示, 全亮显示态为该字符位所有点全部显示. 这种闪烁方式可以设计成块状光标, 如同计算机显示器上块状光标闪烁提示符的效果. 该指令实现 5 种状态如下表所示: 指令代码 (08H-0BH) 0CH 0DH 0EH 0FH 画面显示状态位 D 0 画面关 1 画面开 1 画面开 1 画面开 1 画面开 光标显示状态位 C * 0 光标消失 0 光标消失 1 光标显示 1 光标显示 闪烁显示状态位 B * 0 闪烁禁止 1 闪烁开启 0 闪烁禁止 1 闪烁开启 功能 关显示 画面显示 画面闪烁显示 画面光标显示 画面光标闪烁显示YB1602A 液晶模块使用说明书版本号 200707115. 显光标或画面滚动设置(Cursor or Display Shift,代码 10H, 14H,18H,1CH)格式 0 0 0 1 S/C R/L 0 0执行该指令将产生画面或光标向左或右滚动一个字符位.如果定时间隔地执行该指令 将关闭画面或光标的平滑滚动.画面滚动是在一行内循环进行的,也就是说一行的第一个 单元和最后一个人连接起来,形成闭环式滚动.画面滚动的显示效果如下所示: 字符显示位置 1 2 3 第一行 DDRAM 的地址 00 01 02 第二行 DDRAM 的地址 40 41 42 a.两行显示 DDRAM 单元与显示字符位原始位置关系 字符显示位置 1 2 3 第一行 DDRAM 的地址 27 00 01 第二行 DDRAM 的地址 67 40 41 b.画面向右滚动时 DDRAM 单元与显示字符位的关系变化 38 25 65 39 26 66 40 27 6738 24 6439 25 6540 26 66字符显示位置 1 2 3 第一行 DDRAM 的地址 01 02 03 第二行 DDRAM 的地址 41 42 43 c.画面向左滚动时 DDRAM 单元与显示字符位的关系变化38 26 6639 27 6740 00 40当未开光标显示时, 执行画面滚动指令时不修改地址指针计数器 AC 的值, 当有光标显 示时, 由于执行任意一条滚动指令时都将使光标产生移位, 所以地址指针计数器 AC 都需要 被修改.如果用光标的指针---地址指针计数器 AC 加一和减一功能来解释,就能理解光标 从第一显示位左移至第 80 显示位.或从第 80 显示位右移至第 1 显示位的原理. 光标的滚动功能可以用于搜寻需要修改的显示字符. 该指令有 2 个参数位,组合功能如下表所示: 滚动对象选择 滚动方向选择 指令代码 功能 S/C R/L 10H 0 光标 0 左移 光标左滚动 14H 0 光标 1 右移 光标右滚动 18H 1 画面 0 左移 画面左滚动 1CH 1 画面 1 右移 画面右滚动 该指令与输入方式设置指令都可以产生光标或者画面的滚动,区别在于该指令专用于 滚动功能,执行一次,显示呈现一次滚动效果.而输入方式设置指令仅是完成了一种字符 输入方式的设置,仅在 CPU 对 DDRAM 等进行操作时才能产生滚动的效果.YB1602A 液晶模块使用说明书版本号 200707116. 工作方式设置(Function Set,代码 30H)格式 0 0 1 DL N F 0 0该指令设置了控制器的工作方式,包括控制器与 CPU 的接口形式和控制器显示驱 动器的占空比系数等.该指令有 3 个参数,组合功能如下表所示: 接口形式设置 DL 0 1 4 位总线 8 位总线 38H 字符行数设置 字符的字体设置 N F 0 1 0 1 1 行字符 2 行字符 5X7 字体 5X10 字体 数据总线长度为 8 位,2 行字符,显示字体为 5X7, 占空比为 1/16(由 N,F 组合设置)参数 说明 指令代码该指令设置了控制器的工作方式,是唯一的软件复位指令.SPLC780 虽然具有复位电 路,但为了可靠的工作,SPLC780 要求 CPU 在操作时首先进行软件复位.也就是说控制字 符型液晶显示模块工作时首先要进行软件复位.7. CGRAM 地址设置(40H~7FH)格式 0 1 A5 A4 A3 A2 A1 A0该指令将 6 位的 CGRAM 地址写入地址指针计数器 AC 内, 随后计算机对数据的操作 是对 CGRAM 的读/写.8. DDRAM 地址设置(80H~FFH)格式 1 A6 A5 A4 A3 A2 A1 A0该指令将 7 位的 DDRAM 地址写入地址指针计数器 AC 内, 随后计算机对数据的操作是对 DDRAM 的读/写.9. 读忙标志和地址指针值格式 BF AC6 AC5 AC4 AC3 AC2 AC1 AC0计算机对指令寄存器通道读操作即 RS 为 0R/W 为 1 时,将读出此格式的忙标志 BF 值和 7 位地址指针计数器 AC 的值.YB1602A 液晶模块使用说明书版本号 2007071110. 写数据(Writer Data to CG or DDRAM)CPU 向数据寄存器通道写入数据,SPLC780 根据当前地址指针计数器 AC 值的属 性及数值将该数据送入相应的存储器的 AC 所指的单元里.如果 AC 值为 DDRAN 地址 指针,则认为写入的数据是字符代码并送入 DDRAM 的 AC 所指单元里.如果 AC 值为 CGRAM 的地址指针,则认为写入的数据是自定义字符的字模数据并送入 CGRAM 内 AC 所指的单元里.所以 CPU 在写数据之前需要设置地址指针或人为的确认地址指针的 属性及数值.在写入数据后地址指针计数器 AC 将根据最近设置的输入方式最大修 改.由此可知,CPU 在在写数据操作之前要做两项工作,其一是设置或确认地址指 针计数器 AC 值的属性及数值, 以确保所写数据能够正确到位, 其二是设置或确认输 入方式,以确保连续写入数据时 AC 值的修改方式符合要求.11.读数据(Read Data From CG or DDRAM)在 SPLC780 的内部运行时序操作下,地址指针计数器 AC 值的每一次修改,包括 新的 AC 值的写入,光标滚动位移所引起的 AC 值的修改或由 CPU 读写数据操作后所 产生的 AC 值的修改,SPLC780 都会把当前 AC 所指单元的内容送到数据输出寄存器 内,供 CPU 读取.如果 AC 值为 DDRAM 地址指针,则认为读取的是 DDRAM 内 AC 所指 的单元的字符代码,如果 AC 值为 CGRAM 的地址指针,则认为读取的是 CGRAM 内 AC 所指单元的自定义字符的字模数据.YB1602A 液晶模块使用说明书版本号 200707113.操作演示(以 8 位数据接口为例)YB1602A 液晶模块使用说明书版本号 200707114.操作流程(8 位数据接口)YB1602A 液晶模块使用说明书版本号 200707115.操作流程(4 位数据接口)YB1602A 液晶模块使用说明书版本号 200707116,模块与 MCU 的连接方式:七,包装1.处理保护膜 在装好的模块成品液晶显示器件表面贴有—层保护膜,以防在装配时沾污显示表面, 在整机装配结束前不得揭去,以免弄脏或沾污显示面. 2.加装衬垫 在模块与前面板之间最好加装一个约 0.1mm 左右的衬垫.面板还应保持绝对平整,以 保证在装配后不产生扭曲力,并提高抗振性能. 3.严防静电 模块中的控制,驱动电路是低压,微功耗的 CMOS 电路,极易被静电击穿,而人体有 时会产生高达几十伏或上百伏的高压静电,所以,在操作,装配,以及使用中都应极其 小心,要严防静电.为此: (1)不要用手随意去摸外引线,电路板上的电路及金属框. (2)如必须直接接触时,应使人体与模块保持同一电位,或将人体良好接地. (3)焊接使用的烙铁必须良好接地,没有漏电. (4)操作用的电动改锥等工具必须良好地接地,没有漏电. (6)不得使用真空吸尘器进行清洁处理.因为它会产生很强的静电. (7)空气干燥,也会产生静电,因此,工作间湿度应在 RH60%以上. (8)地面,工作台,椅子,架子,推车及工具之间都应形成电阻接触,以保持其在相 同电位上,否则也会产生静电.YB1602A 液晶模块使用说明书版本号 20070711(9)取出或放回包装袋或移动位置时,也需格外小心,不要产生静电.不要随意更换 包装或合弃原包装. (10)静电击穿是一种不可修复的损坏,务必注意,不可大意.|| 4.装配操作时的注意事项 (1)模块是经精心设计组装而成的,请勿随意自行加工,修整. (2)金属框爪不得随意扭动,拆卸. (3)不要随意修改加工 PCB 板外形,装配孔,线路及部件. (4)不得修改导电胶条. (5)不要修改任何内部支架. (6)不要碰,摔,折曲,扭动模块. 5.焊接 在焊接模块外引线,接口电路时,应按如下规程进行操作. (1)烙铁头温度小于 280oC. (2)焊接时间小于 3~4S. (3)焊接材料:共晶型,低熔点. (4)不要使用酸性助焊剂. (5)重复焊接不要超过 3 次,且每次重复需间隔 5 分钟.|| 6.模块的使用与保养 (1)模块使用接入电源及断开电源时,必须在正电源(5±0.25V)稳定接人后,才能输入信 号电平.如在电源稳定接人前,或断开后就输人信号电平,将会损坏模块中的集成电 路,使模块损坏. (2)点阵模块是高路数液晶显示器件,显示时的对比度,视角与温度,驱动电压关系很 大.所以应调整 Vee 至最佳对比度,视角时为止.如果 Vee 调整过高,不仅会影响显 示,还会缩短液晶示器件的寿命. (3)在规定工作温度范围下限以下使用时,显示响应很慢,而在规定工作温度范围上限 上使用时,整个显示面又会变黑,这不是损坏,只需恢复规定温度范围,一切又将恢 夏正常. (4)用力按压显示部位,会产生异常显示.这时切断电源,重新接入,即可恢复正常. (5)液晶显示器件或模块表面结雾时,不要通电工作,因为这将引起电极化学反应,产 生断线. (6)长期用于阳光及强光下时,被遮部位会产生残留影像. 7.模块的存储 若长期(如几年以上)存储,我们推荐以下方式: (1)装入聚乙稀口袋(最好有防静电涂层)并将口封住. (2)在-10~+35℃之间存储. (3)放暗处,避强光. (4)决不能在表面压放任何物品. (5)严格避免在极限温/湿度条件下存放.特殊条件下必须存放时,也可在 40℃,85% RH 时, 或 60℃,小于 60%RH 条件下存放,但不宜超过 168 小时. 8 运输:YB1602A 液晶模块使用说明书版本号 20070711LCD 及 LCM 在运输途中不能剧烈震动或跌落,不能有外力压迫,并且无水,无尘也 无日光直射.八.责任和保修1,责任和保修: (1),在没有和客户有特殊协议或合同的情况下,我公司以发货日起保修标准保修属模 块本省性能故障的液晶显示模块一年. (2),如果客户在收到货后,发现与客户检测标准不同(外观,视角,电压,模式)等, 需要在 60 天内返回. 我公司负责以上条件的维修或更换, 但对突发时间不具备责任(天灾, 客户损坏). (3),属客户损坏的模组,我公司在协商更换的情况下,需要收取材料费用和少许维 修费用. 2,不包含保修项目: (1),断裂和破损的液晶显示屏玻璃 (2),线路板定位孔修改或破损 (3),线路板布线损坏和烧坏 (4),元器件更改,增加或损坏 (5),线路板更改外形,研磨或切除,雕刻,涂刻. (6),接口处接插线断脚或掉注孔铜面. 在客户返回的时候需要尽量保证在拆除过程中不损坏接口铜面的情况下,拆掉接线.并 用静电袋包装好一起返回.**********************************OVER**************************************。