12864LCD液晶显示原理及使用方法
- 格式:doc
- 大小:276.00 KB
- 文档页数:10
12864使用说明一、串/并接口1.1 串口接口管脚信号*注释1:如在实际应用中仅使用并口通讯模式,可将PSB 接固定高电平。
*注释2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。
*注释3:如背光和模块共用一个电源,可以将模块上的JA、JK 用焊锡短接。
1.2 并行接口管脚信号*注释1:如在实际应用中仅使用并口通讯模式,可将PSB 接固定高电平。
*注释2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。
*注释3:如背光和模块共用一个电源,可以将模块上的JA、JK 用焊锡短接。
二、模块主要硬件构成说明控制器接口信号说明:2.1、RS,R/W的配合选择决定控制界面的4种模式:2.2、E信号●忙标志BFBF 标志提供内部工作情况.BF=1 表示模块在进行内部操作,此时模块不接受外部指令和数据.BF=0 时, 模块为准备状态,随时可接受外部指令和数据.利用STATUS RD 指令,可以将BF 读到DB7 总线,从而检验模块之工作状态.●字型产生ROM(CGROM)字型产生ROM(CGROM)提供8192 个此触发器是用于模块屏幕显示开和关的控制。
DFF=1 为开显示(DISPLAY ON),DDRAM 的内容就显示在屏幕上,DFF=0 为关显示(DISPLAY OFF)。
DFF 的状态是指令DISPLAY ON/OFF 和RST 信号控制的。
●显示数据RAM(DDRAM)模块内部显示数据 RAM 提供 64×2 个位元组的空间,最多可控制 4 行 16 字(64 个字)的中文字型显示,当写入显示数据 RAM 时,可分别显示 CGROM 与CGRAM 的字型;此模块可显示三种字型,分别是半角英、数字型(16*8)、CGRAM 字型及 CGROM 的中文字型。
三种字型的选择,由在 DDRAM 中写入的编码选择,在0000H—0006H 的编码中(其代码分别是0000、0002、0004、0006 共4 个)将选择 CGRAM 的自定义字型,02H—7FH 的编码中将选择半角英数字的字型,至于A1 以上的编码将自动的结合下一个位元组,组成两个位元组的编码形成中文字型的编码BIG5(A140—D75F),GB(A1A0-F7FFH)。
12864点阵型液晶显示屏的基本原理与使用方法(很详细)点阵LCD的显示原理在数字电路中,所有的数据都是以0和1保存的,对LCD控制器进行不同的数据操作,可以得到不同的结果。
对于显示英文操作,由于英文字母种类很少,只需要8位(一字节)即可。
而对于中文,常用却有6000以上,于是我们的DOS前辈想了一个办法,就是将ASCII表的高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。
而剩下的低128位则留给英文字符使用,即英文的内码。
那么,得到了汉字的内码后,还仅是一组数字,那又如何在屏幕上去显示呢?这就涉及到文字的字模,字模虽然也是一组数字,但它的意义却与数字的意义有了根本的变化,它是用数字的各位信息来记载英文或汉字的形状,如英文的'A'在字模的记载方式如图1所示:图1“A”字模图而中文的“你”在字模中的记载却如图2所示:图2“你”字模图12864点阵型LCD简介12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64全点阵液晶显示器组成。
可完成图形显示,也可以显示8×4个(16×16点阵)汉字。
管脚号管脚名称LEVER管脚功能描述1VSS0电源地2VDD+5.0V电源电压3V0-液晶显示器驱动电压4D/I(RS)H/L D/I=“H”,表示DB7∽DB0为显示数据D/I=“L”,表示DB7∽DB0为显示指令数据5R/W H/L R/W=“H”,E=“H”数据被读到DB7∽DB0R/W=“L”,E=“H→L”数据被写到IR或DR 6E H/L R/W=“L”,E信号下降沿锁存DB7∽DB0R/W=“H”,E=“H”DDRAM数据读到DB7∽DB0 7DB0H/L数据线8DB1H/L数据线9DB2H/L数据线10DB3H/L数据线11DB4H/L数据线12DB5H/L数据线13DB6H/L数据线14DB7H/L数据线15CS1H/L H:选择芯片(右半屏)信号16CS2H/L H:选择芯片(左半屏)信号17RET H/L复位信号,低电平复位18VOUT-10V LCD驱动负电压19LED+-LED背光板电源20LED--LED背光板电源表1:12864LCD的引脚说明在使用12864LCD前先必须了解以下功能器件才能进行编程。
12864液晶中文资料一、概述12864液晶是一种常用的显示器件,广泛应用于各种电子设备中。
本文将详细介绍12864液晶的基本原理、技术参数、接口定义以及使用方法。
二、基本原理12864液晶采用液晶材料的光电效应,通过控制液晶份子的罗列状态来实现图象的显示。
其基本原理如下:1. 液晶份子的罗列:液晶份子在电场作用下,可以呈现不同的罗列状态,包括平行罗列、垂直罗列和斜向罗列等。
2. 光的偏振特性:液晶份子的罗列状态会改变光的偏振方向,从而影响光的透射和反射。
3. 电场控制:通过施加电场,可以改变液晶份子的罗列状态,从而控制光的透射和反射,实现图象的显示。
三、技术参数12864液晶的技术参数如下:1. 分辨率:128x64像素,即共有128列和64行像素点。
2. 视角:可视角度为大约160度,支持广泛的观看角度。
3. 对照度:对照度高,图象显示清晰,可适应不同环境的显示需求。
4. 亮度:亮度可调节,适应不同环境的亮度要求。
5. 响应时间:响应速度快,显示图象刷新迅速。
四、接口定义12864液晶的接口定义如下:1. 电源接口:包括电源正负极连接口,用于提供电源给液晶显示模块。
2. 数据接口:包括数据引脚和控制引脚,用于传输图象数据和控制信号。
3. 背光接口:用于连接背光灯,提供背光照明。
五、使用方法12864液晶的使用方法如下:1. 连接电源:将电源正负极连接到液晶模块的电源接口,确保电源供应正常。
2. 连接数据接口:将数据引脚和控制引脚连接到控制器或者微处理器的相应引脚。
3. 连接背光:将背光接口连接到背光灯,确保背光灯正常工作。
4. 编写代码:使用相应的编程语言,编写控制12864液晶显示的代码,包括图象数据传输和控制信号发送等。
5. 调试测试:将控制器或者微处理器与12864液晶连接后,进行调试测试,确保图象能够正常显示。
六、应用领域12864液晶广泛应用于各种电子设备中,包括但不限于以下领域:1. 仪器仪表:用于显示各种仪器仪表的测量结果、参数和状态信息。
12864LCD驱动原理
在初始化阶段,我们需要进行一系列的设置和配置以确保显示屏正常
工作。
这包括发送指令序列,设置显示模式、偏置电压、对比度和字符显
示等参数。
通过这些初始化设置,我们可以确保每个像素点的状态都能清
晰可见。
在数据写入阶段,我们可以向特定的位置写入数据以控制像素点的亮
灭状态。
通过选择特定的行和列,在给定的位置上点亮或熄灭单个像素点。
这通常通过提供特定格式的数据来实现,其中每个字节表示8个像素点的
状态。
1.硬件连接:液晶显示屏与控制器之间通过平行数据总线进行连接。
控制器提供行、列选择信号以及数据和控制信号。
还需要通过其他引脚来
提供电源和对比度调节信号。
2.初始化:在驱动液晶显示屏之前,我们需要发送一些特定的初始化
命令以设置液晶显示屏的参数。
这些命令包括清屏,设置显示模式、偏置
电压、对比度等。
3.数据写入:在初始化完成后,我们可以开始向液晶显示屏写入数据
以控制像素点的状态。
数据可以通过给定的坐标来确定,其中选择特定的
行和列。
写入数据时,需要同时提供数据信号以及行和列选择信号。
4.控制信号:除了数据信号外,还需要提供行和列选择信号以确定要
控制的像素点位置。
行选择信号(Y0~Y63)选择要操作的行,而列选择信
号(X0~X127)选择要操作的列。
12864LCD液晶显示原理及使用方法
一、液晶显示原理
1.液晶材料的性质
液晶是介于固体和液体之间的一种物质状态。
它具有流动性和定向性,通过控制电场可以改变其流动性。
液晶分子呈现出各种不同的排列方式,
包括向列排列、向行排列、扭曲排列等。
2.电场的作用
当液晶材料处于电场作用下时,液晶分子会发生定向排列。
电场的存
在导致液晶分子的定向,形成一定的直流电场效应。
通过改变电场的强度
和方向,可以改变液晶分子的排列状态。
3.光的传输
液晶分子的定向排列对入射光的传播具有影响。
根据液晶分子的不同
排列状态,可以选择性地传递或阻挡入射光。
通过控制电场的强度和方向,可以调节液晶分子的排列状态,从而改变光的传输效果。
4.显示原理
二、液晶显示的使用方法
1.连接电源
2.初始化
在液晶屏开始显示之前,需要进行初始化设置。
通过向液晶屏发送命令,配置液晶屏的各种参数,如显示模式、显示偏移量、对比度等。
3.显示图像
初始化完成后,可以通过向液晶屏发送数据以显示图像。
可以通过控制每个像素点的液晶分子排列状态,从而显示出对应的图像。
可以通过编写程序或者使用液晶屏驱动库来控制显示内容。
4.其他控制
除了显示图像外,液晶显示屏还具有其他一些控制功能。
例如,可以通过发送命令来设置光标位置、清除屏幕内容、切换显示区域等。
总结:。
带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×4行16×16点阵的汉字.也可完成图形显示.低电压低功耗是其又一显著特点。
由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
基本特性:l低电源电压(VDD:+3.0--+5.5V)l显示分辨率:128×64点l内置汉字字库,提供8192个16×16点阵汉字(简繁体可选)l内置128个16×8点阵字符l2MHZ时钟频率l显示方式:STN、半透、正显l驱动方式:1/32DUTY,1/5BIASl视角方向:6点l背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5—1/10 l通讯方式:串行、并口可选l内置DC-DC转换电路,无需外加负压l无需片选信号,简化软件设计l工作温度:0℃-+55℃,存储温度:-20℃-+60℃模块接口说明*注释1:如在实际应用中仅使用串口通讯模式,可将PSB接固定低电平,也可以将模块上的J8和“GND”用焊锡短接。
*注释2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。
*注释3:如背光和模块共用一个电源,可以将模块上的JA、JK用焊锡短接。
2.2并行接口管脚号管脚名称电平管脚功能描述1VSS0V电源地2VCC 3.0+5V电源正3V0-对比度(亮度)调整4RS(CS)H/LRS=“H”,表示DB7——DB0为显示数据RS=“L”,表示DB7——DB0为显示指令数据5R/W(SID)H/L R/W=“H”,E=“H”,数据被读到DB7——DB0R/W=“L”,E=“H→L”,DB7——DB0的数据被写到IR或DR6E(SCLK)H/L使能信号7DB0H/L三态数据线8DB1H/L三态数据线是用于模块屏幕显示开和关的控制。
12864LCD液晶显示原理及使用方法液晶简介液晶是一种在一定温度范围内呈现既不同于固态液态又不同于气态的特殊物质态,它既具有各向异性的晶体所特有的双折射性又具有液体的流动性液晶显示器件(英文的简写为LCD)就是利用液晶态物质的液晶分子排列状态在电场中改变而调制外界光的被动型显示器件。
点阵式图形液晶显示屏是LCD 的一种能够动态显示图形汉字以及各种符号信息为各种电子产品提供了友好的人机界面点阵式图形液晶显示屏的主要特点如下(这些特点也就是LCD 的特点):工作电压低、微功耗、体积小、可视面积大、无电磁辐射、数字接口、寿命长等特点。
12864LCD是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64 全点阵液晶显示器组成。
可完成图形显示,也可以显示8×4 个(16×16 点阵)汉字或者显示16×4个(8×16 点阵)ASCII码。
分为两种,带字库的和不带字库的。
不带字库的LCD需要自己提供字库字模,此时可以根据个人喜好设置各种字体显示风格,设计上较为灵活。
带字库的LCD提供字库字模,但是只能显示GB2312的宋体。
各有优缺点,根据不同应用场景灵活选择。
其液晶模块原理图如下所示。
12864LCD点阵图形液晶模块原理框图下面给出了其应用连接电路,分别介绍其各引脚的功能和作用。
如下表所示:12864LCD 的引脚说明管脚号管脚名称LEVER 管脚功能描述1GND 0 电源地2VCC+5.0V 电源电压3VLCD - 液晶显示器驱动电压4RS (D/I) H/LD/I=“H”,表示DB7∽DB0 为显示数据D/I=“L”,表示DB7∽DB0 为显示指令数据5R/W H/L R/W=“H”,E=“H”数据被读到DB7∽DB0R/W=“L”,E=“H→L”数据被写到IR 或DR 6EN H/L R/W=“L”,E 信号下降沿锁存DB7∽DB0R/W=“H”,E=“H”DDRAM 数据读到DB7∽DB0 7DB0 H/L 数据线8DB1 H/L数据线9DB2 H/L 数据线10DB3 H/L 数据线11DB4 H/L数据线12DB5 H/L数据线13DB6 H/L数据线14DB7 H/L数据线15CS1 H/L H:选择芯片(右半屏)信号16CS2 H/L H:选择芯片(左半屏)信号17RET H/L复位信号,低电平复位18VEE -10VLCD 驱动负电压19LED+ - LED 背光板电源20LED- - LED 背光板电源12864LCD点阵图形液晶模块应用连接电路液晶驱动设置在理解12864LCD硬件原理和管脚功能之后,可以针对LCD进行驱动的编写,分两种情况:仿真环境下和实物开发板编程。
仿真驱动定义如下:#define uint8 unsigned char#define uint32 unsigned int#define LCD_databus P0 //LCD8位数据口sbitDI = P2^2; //DI为0写指令或读状态;1数据sbit RW = P2^1; //RW为1写;0读sbit EN = P2^0; //使能端sbit CS1 = P2^4; //片选1低电平有效,控制左半屏sbit CS2 = P2^3; //片选1低电平有效,控制右半屏实物开发板驱动接线和定义如下#define LCD_PORT_NUM 0 //LCD端口P0#define DATA_PORT_NUM 1 //数据端口P1#define CS1_PIN 23 //片选1低电平有效,控制左半屏#define CS2_PIN 24 //片选1低电平有效,控制右半屏#define RST_PIN 21 //复位信号低电平有效#define RW_PIN 20 //RW为1写;0读#define DI_PIN 19 //DI为0写指令或读状态;1数据#define EN_PIN 22 //使能端uchar DIN[8] = {24, 23, 20, 21, 28, 29, 19, 22};//8位数据线的接线方式P2.24, P2.23,…P2.22对于D0,D1,…D7,低位到高位涉及到的一些控制指令:0x3E关显示,0x3F开显示;总共有八页,一页占八行点阵点,页的首地址为0xB8;行的起始地址为0xC0,有规律的改变起始行号可以实现滚屏的效果;列的起始地址为0x40一直到0x7F共64列;读状态指令时,数据位最高位D7为1内部忙,为0空闲;对应接线为P2.22;通过GPIO_ReadValue获取P2端口的32位数据P2.0到P2.31,然后进行相应的与或操作进行判断。
仿真环境下的驱动程序编写:void delay(uint8 i) //延时函数{while(--i);}void Read_busy() //读忙函数——数据位的最高位D7为1则忙{P0 = 0X00;DI = 0;RW = 1;EN = 1while(P0 & 0x80){;}EN = 0;}void write_LCD_command(uint8 value) //写命令函数{Read_busy(); //每次读写都要忙判断DI = 0; //选择命令RW = 0; //读操作LCD_databus = value;EN = 1; //EN由1—0锁存有效数据_nop_();_nop_();EN = 0;}void write_LCD_data(uint8 value) //写数据函数{Read_busy();DI = 1; //选择数据RW = 0;LCD_databus = value;EN = 1; //EN由1—0锁存有效数据_nop_();_nop_();EN = 0;}void Set_page(uint8 page) //设置显示起始页{page = 0xB8 | page; //页的首地址为0xB8wite_LCD_command(page);}void Set_line(uint8 startline) //设置显示的起始行{startline = 0xC0 |startline;write_LCD_command(startline);}void Set_column(uint8 column) //设置显示的列{column = column & 0x3F; //列的最大值为64column = column | 0x40; //列的首地址为0x40write_LCD_command(column);}void SetOnOff(uint8 onoff) //显示开关函数;0x3E是关显示,0x3F是开显示{onoff = 0x3E | onoff;write_LCD_command(onoff);}void SelectScreen(uint8 screen) //选择屏幕{switch(screen){case 0: CS1 = 0; CS2 = 0; break; //全屏case 1: CS1 = 0; CS2 = 1; break; //左半屏case 2: CS1 = 1; CS2 = 0; break; //右半屏default: break;}}void ClearScreen(uint8 screen) //清屏{uint8i, j;SelectScreen(screen);for(i=0;i<8;i++){Set_page(i);Set_column(0);for(j=0;j<64;j++){write_LCD_data(0x00); //写入0,地址指针自动加1}}}void InitLCD() //LCD初始化{Read_busy();SelectScreen(0);SetOnOff(0); //关显示SelectScreen(0);SetOnOff(1); //开显示SelectScreen(0);ClearScreen(0);Set_line(0);}连接开发板实物的底层应用程序:voidLCD_Check_Busy(void){unsignedint value = 0, rvalue = 0;GPIO_SetDir(DATA_PORT_NUM, 0x31F80000L, 0);GPIO_ClearValue(LCD_PORT_NUM, (1 << DI_PIN));GPIO_SetValue(LCD_PORT_NUM, (1 << RW_PIN));GPIO_SetValue(LCD_PORT_NUM, (1 << EN_PIN));while (1){value = GPIO_ReadValue(DA TA_PORT_NUM);//获取值为32位P2.0到P2.31/*数据位最高位D7为1内部忙,为0空闲;对应接线为P2.22*/rvalue = value & 0x400000;if (0x0 == rvalue){break;}}GPIO_ClearValue(LCD_PORT_NUM, (1 << EN_PIN));GPIO_SetDir(DATA_PORT_NUM, 0x31F80000L, 1);data_setpin(0);}其他的函数按照上面的进行设置,其中函数GPIO_SetValue将对应的位置1,;函数GPIO_ClearValue将对应的位置0;函数GPIO_ReadValue获取对应端口的数据,函数GPIO_SetDir设置相应端口的相应位的方向——输入输出。
字库原理及其制作在前面我们分析了如何点亮一个或者多个点阵,通过有意识的点亮一些点阵可以在液晶屏上看到数字、字母和汉字的显示。
那么一个字母或者汉字对应着那些位置的点阵呢,是否可以通过计算得到其字模数据?现在可以在网上下载到各种字模软件,对单个的字符取模,也可以对ASCII 码、汉字库取模生成字库bin文件。
在取模之前要对其进行相应的设置,以便能够正确的显示(当取模方式和液晶屏的设置不一样时会显示出乱码)。
需要注意的是横纵向取模的区别,字节正序和字节倒序的差别。
下面介绍字模的数据的获取,字节正序和倒序、横纵向取模的差别。
字模是一组数字,但它的意义却与数字的意义有了根本的变化,它是用数字的各位信息来记载英文或汉字的形状,如英文的'A'在字模的记载方式如图1 所示:8×16的ASCII码点阵,左边的为横行取模,字节正序(即高位在前),右边的为纵向取模,字节倒序(即高位在下)。
图1 “A”字模图而中文的“你”在字模中的记载却如图2 所示:下面的取模方式只介绍了横向取模、字节正序。