1 / 14
文档名称:

LCD液晶显示原理及使用方法.doc

格式:doc   大小:283KB   页数:14页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

LCD液晶显示原理及使用方法.doc

上传人:cchanrgzhouh 2020/7/20 文件大小:283 KB

下载得到文件列表

LCD液晶显示原理及使用方法.doc

相关文档

文档介绍

文档介绍:12864LCD液晶显示原理及使用方法液晶简介液晶是一种在一定温度范围内呈现既不同于固态液态又不同于气态的特殊物质态,它既具有各向异性的晶体所特有的双折射性又具有液体的流动性液晶显示器件(英文的简写为LCD)就是利用液晶态物质的液晶分子排列状态在电场中改变而调制外界光的被动型显示器件。点阵式图形液晶显示屏是LCD的一种能够动态显示图形汉字以及各种符号信息为各种电子产品提供了友好的人机界面点阵式图形液晶显示屏的主要特点如下(这些特点也就是LCD的特点):工作电压低、微功耗、体积小、可视面积大、无电磁辐射、数字接口、寿命长等特点。12864LCD是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64全点阵液晶显示器组成。可完成图形显示,也可以显示8×4个(16×16点阵)汉字或者显示16×4个(8×16点阵)ASCII码。分为两种,带字库的和不带字库的。不带字库的LCD需要自己提供字库字模,此时可以根据个人喜好设置各种字体显示风格,设计上较为灵活。带字库的LCD提供字库字模,但是只能显示GB2312的宋体。各有优缺点,根据不同应用场景灵活选择。其液晶模块原理图如下所示。12864LCD点阵图形液晶模块原理框图下面给出了其应用连接电路,分别介绍其各引脚的功能和作用。如下表所示:+-液晶显示器驱动电压4RS(D/I)H/LD/I=“H”,表示DB7∽DB0为显示数据D/I=“L”,表示DB7∽DB0为显示指令数据5R/WH/LR/W=“H”,E=“H”数据被读到DB7∽DB0R/W=“L”,E=“H→L”数据被写到IR或DR6ENH/LR/W=“L”,E信号下降沿锁存DB7∽DB0R/W=“H”,E=“H”DDRAM数据读到DB7∽DB07DB0H/L数据线8DB1H/L数据线9DB2H/L数据线10DB3H/L数据线11DB4H/L数据线12DB5H/L数据线13DB6H/L数据线14DB7H/L数据线15CS1H/LH:选择芯片(右半屏)信号16CS2H/LH:选择芯片(左半屏)信号17RETH/L复位信号,低电平复位18VEE-10VLCD驱动负电压19LED+-LED背光板电源20LED--LED背光板电源12864LCD点阵图形液晶模块应用连接电路液晶驱动设置在理解12864LCD硬件原理和管脚功能之后,可以针对LCD进行驱动的编写,分两种情况:仿真环境下和实物开发板编程。仿真驱动定义如下:#defineuint8unsignedchar#defineuint32unsignedint#defineLCD_databusP0//LCD8位数据口sbitDI=P2^2;//DI为0写指令或读状态;1数据sbitRW=P2^1;//RW为1写;0读sbitEN=P2^0;//使能端sbitCS1=P2^4;//片选1低电平有效,控制左半屏sbitCS2=P2^3;//片选1低电平有效,控制右半屏实物开发板驱动接线和定义如下#defineLCD_PORT_NUM0//LCD端口P0#defineDATA_PORT_NUM1//数据端口P1#defineCS1_PIN23//片选1低电平有效,控制左半屏#defineCS2_PIN24//片选1低电平有效,控制右半屏#defineRST_PIN21//复位信号低电平有效#defineRW_PIN20//RW为1写;0读#defineDI_PIN19//DI为0写指令或读状态;1数据#defineEN_PIN22//使能端ucharDIN[8]={24,23,20,21,28,29,19,22};//,,…,D1,…D7,低位到高位涉及到的一些控制指令:0x3E关显示,0x3F开显示;总共有八页,一页占八行点阵点,页的首地址为0xB8;行的起始地址为0xC0,有规律的改变起始行号可以实现滚屏的效果;列的起始地址为0x40一直到0x7F共64列;读状态指令时,数据位最高位D7为1内部忙,为0空闲;;,然后进行相应的与或操作进行判断。仿真环境下的驱动程序编写:voiddelay(uint8i)//延时函数{while(--i);}voidRead_busy()//读忙函数——数据位的最高位D7为1则忙{P0=0X00;DI=0;RW=1;EN=1while(P0&0x80){;}EN=0;}mand(uint8value)//写命令函数{Read_busy();//每次读写都要忙判断DI=0;//选择命令RW=0;//读操作LCD_databus=value;EN=1;//EN由1—0锁存有效数据_n