第9章 LCD显示器原理及应用2(1)bpvk.docx

上传人:you****now 文档编号:63454178 上传时间:2022-11-25 格式:DOCX 页数:30 大小:478.78KB
返回 下载 相关 举报
第9章 LCD显示器原理及应用2(1)bpvk.docx_第1页
第1页 / 共30页
第9章 LCD显示器原理及应用2(1)bpvk.docx_第2页
第2页 / 共30页
点击查看更多>>
资源描述

《第9章 LCD显示器原理及应用2(1)bpvk.docx》由会员分享,可在线阅读,更多相关《第9章 LCD显示器原理及应用2(1)bpvk.docx(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第九章 LCDD显示器器原理及及应用9.1 液晶显显示器模模块的原原理一字符符型液晶晶显示模模块RTT-16602CC的外观观与引脚脚显示容量量:1662个字符符;工作作电流22.0mmA(55.0VV);字字符尺寸寸:2.954.335mmm。RT-116022C采用用标准的的16脚脚接口,各各引脚情情况如下下:第1脚:VSSS为电源源地;第2脚:VDDD为+5VV电源;第3脚:VL为液晶显显示对比比度调整整端,接正正电源时时对比度度最弱,接接地时对对比度最最高,对对比度过过高时,会会产生“鬼影”,使用时时可以通通过一个个10KK的电位位器调整整对比度度。第4脚:RS为数数据/命命令选择择端

2、,高高电平时时选择数数据寄存存器、低电平平时选择择命令寄存存器。RSS:Regiisteer SSeleectiion第5脚:,读写写操作选选择(11读,00写)。RS寄存器及及操作00指令寄存存器写入入01忙信号和和地址计计数器读读出10数据寄存存器写入入11数据寄存存器读出出第6脚:E端为使使能端,当当E端由由高电平平跳变成成低电平平时(负跳变变),液晶晶模块执执行命令令。第7114脚:D0D7,为为8位双双向数据据总线,与单单片机的的数据总总线相连连,三态态。第15脚脚:BLLA,背背光电源源,通常常为55V,并并联一个个电位器器,调节节背光亮亮度。第16脚脚:BLLK,背背光电源源地。

3、二字符符型液晶晶显示模模块RTT-16602CC的内部部结构液晶显示示模块RRT-CC16002C的的内部结结构可以以分成三三部分:一为LLCD控控制器,二二为LCCD驱动动器,三三为LCCD显示示装置,如如图所示示:控制器采采用HDD447780,驱动器采用HD44100。HD44780是字符型液晶显示控制器的代表电路。HD4447800集成电电路的特特点:1、可选选择57或510点字字符。2、3、HDD447780的的显示缓缓冲区DDDRAAM、字符发发生存储储器(RROM)及用户自定义的字符发生器CGRAM全部集成在芯片内。HD4447800有800个字节节的显示示缓冲区区,分两两行,地

4、地址为:第一行为为00HH277H;(03940)第二行为为40HH677H。(644100340)显示位置置的排列列顺序跟跟LCDD的型号号有关,RT-1602C液晶显示模块的显示地址与实际显示位置的关系如下图所示。【27H216733940H4166467H61679967710031036439】4、HDD447780具具有8位位数据和和4位数数据传输输两种方方式,可可与4/8位CCPU相相连。【采采用8位位CPUU时,应应该采用用8位数数据传输输方式,在在51中中,用88位方式式】5、HDD447780具具有简单单而功能能较强的的指令集集,可实实现字符符移动、闪烁等等显示功功能。HD4

5、447800内部的字字符发生生存储器器(ROOM)已已经存储储了1660个不不同的点点阵字符符图形,如如图所示示:这些字符符有:阿拉伯伯数字、英文字字母的大大小写、常用的的符号和和日文假假名等,每每一个字字符都有有一个固固定的代代码。比比如数字字“1”的代码码是00011000011B(331H),又又如大写写的英文文字母“A”的代码码是01100000011B(441H),【上面的数字在前,左边的数字在后】可以看出英文字母的代码与ASCII编码相同。要显示“1”时,只需将ASCII码31H存入DDRAM指定位置,显示模块将在相应的位置把数字“1”的点阵字符图形显示出来,就可以看到数字“1”。

6、三指令令格式与与指令功功能LCD控控制器HHD4447800内有多多个寄存存器,通通过RSS和引脚上上的电平平决定对对(命令令和数据据)寄存存器的选选择和读读/写,DB77DBB0决定定命令功功能。选择情况况如表:RS寄存器及及操作00指令寄存存器写入入01忙标志和和地址计计数器读读出10数据寄存存器写入入11数据寄存存器读出出总共有111条指指令,它它们的格格式和功功能如下下:上图中红红色“1”代表每每一个指指令的特特征。1. 清清屏命令令格式【指令寄寄存器写写入,指令码码0X001】RSD7D6D5D4D3D2D1D00000000001功能:清清除屏幕幕,将显显示缓冲冲区DDDRAMM的

7、内容容全部写写入空格格(ASSCIII20HH)。光标复位位,回到到显示器器的左上上角(光标复复位到地地址000H位置置)。并给地址计计数器AAC清零零。【数数据指针针清零,所所有显示示清零】2光标标复位命命令格式式【指令寄寄存器写写入】RSD7D6D5D4D3D2D1D0000000001功能:光光标返回回到地址址00HH位置。【数据指针清零】3输入入方式设设置命令令格式:【指令寄寄存器写写入】RSD7D6D5D4D3D2D1D000000001I/DS功能:设设定光标标的移动动方向,并并指定整整体显示示是否移移动。其中:I/D光光标移动动方向:当I /D11,光标从从左向右右移动;当读或或

8、写一个个字符后后,地址址指针加加1,且且光标加加1。当I/DD0,光标从从右向左左移动;当读或或写一个个字符后后,地址址指针减减1,且且光标减减1S屏幕上上所有文文字是否否左移或或者右移移:当S11时,写写入一个个字符,整整屏显示示左移(II/D1)或或右移(II/D0),以以得到光光标不移移动而屏屏幕移动动的效果果;当SS0时时,写入入一个字字符,整整屏显示示不移动动。4显示示开关控控制命令令格式:【指令寄寄存器写写入】RSD7D6D5D4D3D2D1D00000001DCB显示控制制开关。其其中:D位控制制整体显显示的开开与关,DD1,开开显示;D00,关显示示。C位控制制光标的的开与关关

9、,C1,有有光标;C00,无光标标。B位控制制光标字字符闪烁烁,B1,字字符闪烁烁;B0,字字符不闪闪烁。例如:RRS00,RWW0,OOCH00000 111000表示:DD1开开显示,CC0无无光标,BB0字字符不闪闪例如:RRS00,RWW0,OOEH00000 111000表示:DD1开开显示,CC1有有光标,BB0字字符不闪闪5光标标或显示示移位置置命令格格式:【指令寄寄存器写写入】RSD7D6D5D4D3D2D1D0000001S/CR/L功能:移移动光标标或整体体显示,DDDRAAM中内内容不变变。其中:SS/C1时,移移位显示示的文字字;S/C=00时,移移动光标标。R/L1时

10、,向向右移位位;R/L00时,向向左移位位。6功能能设置命命令格式式:【指令寄寄存器写写入】RSD7D6D5D4D3D2D1D000001DLNFDL位设设置接口口数据位位数,DDL11为8位位数据接接口;DDL00为4位位数据接接口。【MCSS-511为8位位,所以以应该用用8位方方式】【和教材材上的不不一样】N位设置置显示行行数,NN0,单单行显示示;N1双行行显示。F位设置置字型大大小,FF1时时为510点点阵字符符,F00时为57点阵阵字符。例如:000111 10000表示:设设置8位位数据接接口,1162(22行显示示),557点阵阵字符7设置置字库CCGRAAM地址址命令格格式:

11、【指令寄寄存器写写入】RSD7D6D5D4D3D2D1D00001AAAAAA 功能:设置CCGRAAM的地地址,地地址范围围0663。【字字符发生生器RAAM地址址设置。】8显示示缓冲区区DDRRAM地地址设置置命令格格式:【指令寄寄存器写写入】RSD7D6D5D4D3D2D1D0001AAAAAAA 功能:DDRRAM地地址设置置,地址址范围为为01127。【控制器器内设有有一个数数据地址址指针,用用户可通通过它们们来访问问内部的的全部880字节节RAMM,800H地地址码(00277H,440H67HH)】9读忙忙标志BBF及光标地地址ACC命令格格式:【指令寄寄存器,忙标志志读出】RS

12、D7D6D5D4D3D2D1D001BFAC功能:BBF(Busyy Flagg)位为忙标标志。BBF11,表示示忙,LLCM不不能接收收命令和和数据;BF0,表表示LCCM不忙忙,可以以接收命命令和数数据。AC位为为地址计计数器的的值,范范围为001227。【00077FH】10写写DDRRAM或或CGRRAM命命令格式式:【数据寄寄存器写写入】RSD7D6D5D4D3D2D1D010DATAA功能:将将数据写写入CGGRAMM或DDDRAMM中,应应与CGGRAMM或DDDRAMM地址设设置命令令结合使使用。11读读DDRRAM或或CGRRAM命命令格式式:【数据寄寄存器读读出】RSD7D

13、6D5D4D3D2D1D011DATAA 功能:从CGGRAMM或DDDRAMM中读出出数据,应应与CGGRAMM或DDDRAMM地址设设置命令令结合使使用。液晶显示示模块是是一个慢慢显示器器件,如如果在执执行每条条指令之之前,一一定要确确认模块块的忙标标志为低低电平,表表示不忙忙,否则则此指令令失效。所以在写入命令或数据时,要先查询液晶显示模块是否忙。显示字符符时首先先要输入入显示字字符地址址,也就就是告诉诉模块在在什么位位置显示示字符,表表9-2是是TC116022EL液液晶模块块的内部部显示位位与DDDRAMM地址的的对应关关系。表922显示位位与DDDRAMM地址的的对应关关系四LCC

14、D显示示器的初初始化LCD使使用之前前须对它它进行初初始化,初初始化可可通过复复位完成成,也可可在复位位后完成成,初始始化过程程如下:1清屏屏;2功能能设置;(一般有多多条语句句)3开/关显示示设置;4输入入方式设设置。9.1.2 LLCD显显示器与与单片机机的接口口与应用用下图是LLCD显显示器与与80551单片片机的接接口连接接图,图图中RTT-16602CC的数据据线与880511的P11口相连连,RSS与80051的的P2.0相连连,与880511的P22.1相相连,EE端与880511的P22.2相连。编编程在LLCD显显示器的的第一行行、第一一列开始始显示“GOOOD”,第二二行、

15、第第6列开开始显示示“BYEE”。【已通过过chaap911】#inccludde sbitt RSS=P220;sbitt RWW=P221;sbitt E=P22;unsiigneed ccharr LCCD_SStattus;voidd deelayy(unnsiggnedd innt);voidd innit(voiid);voidd wccmd(unssignned chaar);voidd wddat(unssignned chaar);unsiigneed ccharr Buusy_Cheeck(voiid);voidd mmainn( ) /主函函数initt( );wcmdd

16、(0xx80); /写写入显示示缓冲区区起始地地址为第第1行第第1列wdtaa(G); /第11行第11列显示示字母“G”wdatt(O); /第第1行第第2列显显示字母母“O”wdatt(O); /第第1行第第3列显显示字母母“O”wdatt(D); /第11行第44列显示示字母“D”/【880H45HHC55H】wcmdd(0xxc5); /写入显显示缓冲冲区起始始地址为为第2行行第6列列wdatt (B); /第22行第66列显示示字母“B”wdatt (Y); /第22行第77列显示示字母“Y”wdatt (E); /第2行行第8列列显示字字母“E”whille(11);voidd i

17、initt() /初始化化函数,主主要写命命令wcmdd(0xx01); /011H=000000 00001,清屏wcmdd(0xx38); /388H=00011 110000,使用用8位,显显示两行行,用55*7的的字型wcmdd(0xx0e);/0eHH00000 11100,开显示,有光标,字字符不闪闪烁wcmdd(0xx06);/06HH00000 0110,字字符不动动,光标标自动右右移一格格RS寄存器及及操作00指令寄存存器写入入01忙信号和和地址计计数器读读出10数据寄存存器写入入11数据寄存存器读出出由于LCCD是一一慢速显显示器件件,所以以在执行行每条指指令之前前一定要要

18、确认LLCD的的忙标志志为0,即即非忙状状态,否否则该命命令将失失效。unsiigneed ccharr Buusy_Cheeck() /检查忙忙函数 unnsiggnedd chhar LCDD_Sttatuus;RS = 00; RWW = 1;E = 1;dellay(20); LCDD_Sttatuus = P00;dellay(20);E = 0;retturnn LCCD_SStattus;voidd wwcmdd(unssignned chaar ccmd) /写写命令函函数,RS=0;RRW=00/whhilee(Buusy_Cheeck() & 0xx80 = 0x880);

19、 / 写命命令前,先先检查设设备是否否忙?RS=00;RWW=0; / 指令令寄存器器写入E=1; / E由高电电平到低低电平跳跳变,液液晶模块块执行命命令P0=ccmd; / 命命令由PP0口送入入LCDDE=0;delaay(220);voidd wdatt(unssignned chaar ddat) /写数数据函数数,RS=1;RRW=00/whhilee(Buusy_Cheeck() & 0xx80 = 0x880); / 写写数据前前,先检查查设备是是否忙?RS=11;RWW=0; E=1; / EE由高电电平到低低电平跳跳变,液液晶模块块执行命命令P0=ddat; / 数数据由P

20、P1口送送入LCCDdelaay( 20); / 延延时大约约2mssE=0;voidd deelayy(unnsiggnedd innt mms) uunsiigneed ccharr i; wwhille(mms-) ffor(i=00; ii1220; i+);【已通过过chaap922】#inccludde #inccludde / sttrleen函数数的原型型在sttrinng.hh中voidd Innit_LCDD();voidd ShhowSStriing(unssignned chaar,uunsiigneed ccharr);voidd Wccmd(unssignned c

21、haar);voidd Wddat(unssignned chaar);voidd Deelayy(unnsiggnedd innt);unsiigneed ccharr Buusy_Cheeck();unsiigneed ccharr Prromppt=11234456778900abccdeffghiijkllmnoopqrrstuuvwxxyz; sbitt RSS = P20;sbitt RWW = P21;sbitt ENN = P22;voidd Deelayy(unnsiggnedd innt mms) / /延延时函数数 unnsiggnedd chhar i;whiile(m

22、s-) ffor(i=00;i166) foor(ii=0;i116;ii+)/一一行显示示16个个字符 Wddat(Proomptti);ellse foor(ii=0;i31) forr(i=16;i332;ii+)/一一行显示示16个个字符 WWdatt(Prrompptii);ellse forr(i=16;isstrllen(Proomptt);ii+) ffor(i=sstrllen(Proomptt);ii16) ShhowSStriing(0,22); /(x,yy),xx开始写写的列,yy=2在在第2行行whiile(1);【变化的的情况】voidd Innit_LCDD()

23、 / 初始始化LCCD Wccmd(0x338); / 00011 110000, 88位,22行显示示,用557点阵阵字符Dellay(1);Wcmmd(00x011); /00000 000011,清屏屏Dellay(1);Wcmmd(00x066); / 00000 0110,字字符不动动,光标标自动右右移一格格。命令令3Dellay(1);Wcmmd(00x0f); /00x0ff=00000 11111,开显显示,有有光标,字符闪烁(1)Dellay(1);/00x0dd=00000 1101,开显显示,无无光标,字字符闪烁烁(2)【chaap3】unsiigneed ccharr

24、woord11166= TThiss prrogrrammm ;/第第1行显显示缓存存unsiigneed ccharr woord22166= by LiXXuelli ;/第第2行显显示缓存存codee unnsiggnedd chhar worrd316=n!;/用用于固定定显示的的数据,固固codee unnsiggnedd chhar worrd416=bittclxxlm!;/用用于固定定显示的的数据,固固codee unnsiggnedd chhar worrd516= WWelllcomme TTo ;/用用于固定定显示的的数据,固固codee unnsiggnedd chha

25、r worrd616= Prroteeus Toools!;/用用于固定定显示的的数据,固固化到RROM中中#inccludde #inccludde #deffinee REEG0 XXBYTTE00x00000/LLCD写写指令寄寄存器的的地址,可可根据配配置修改改#deffinee REEG1 XXBYTTE00x00001/LLCD读读出数据据到D00D77的地址址,可根根据配置置修改#deffinee REEG2 XXBYTTE00x00002/LLCD写写数据寄寄存器的的地址,可可根据配配置修改改#deffinee REEG3 XXBYTTE00x00003/LLCD读读数据寄寄存

26、器的的地址,可可根据配配置修改改unsiigneed ccharr bddataa buusyfflagg;unsiigneed ccharr daat,ddatnn;unsiigneed ccharr woord11166= TThiss prrogrrammm ;/第第1行显显示缓存存unsiigneed ccharr woord22166= by LiXXuelli ;/第第2行显显示缓存存codee unnsiggnedd chhar worrd316=n!;/用用于固定定显示的的数据,固固化到RROM中中codee unnsiggnedd chhar worrd416=bittclx

27、xlm!;/用用于固定定显示的的数据,固固化到RROM中中codee unnsiggnedd chhar worrd516= WWelllcomme TTo ;/用用于固定定显示的的数据,固固化到RROM中中codee unnsiggnedd chhar worrd616= Prroteeus Toools!;/用用于固定定显示的的数据,固固化到RROM中中sbitt buusyfflagg_7=bussyfllag7;sbitt p110=PP100;sbitt p111=PP111;sbitt p112=PP122;voidd buusy()/查查询LCCD是否否忙碌子子程序dobuusy

28、fflagg=REEG1;whhilee(buusyfflagg_7);voidd wrrc(uunsiigneed ccharr wccon)/写写控制指指令子程程序bussy();REGG0=wwconn;voidd wrrd(uunsiigneed ccharr wddat)/写写数据寄寄存器子子程序bussy();REGG2=wwdatt;voidd rddd()/读读数据寄寄存器子子程序bussy();datt=REEG3;voidd lccdinnt()/LLCD初初始化子子程序wrcc(0xx38);wrcc(0xx01);wrcc(0xx06);wrcc(0xx0c);void

29、d wrrn(uunsiigneed ccharr woord)/连连续写nn个字符符数据到到LCDD的数据据寄存器器中unssignned chaar ii;forr(i=0;ii166;i+)wrrd(wworddi);voidd maain()lccdinnt();/初初始化wrrc(00x800);/显显示第11行的第第1个字字符wrrn(wwordd1);wrrc(00xc00);/显显示第22行的第第1个字字符wrrn(wwordd2); whhilee(1) iif(pp10=0) /判断PP1.00是否按按下,并并显示数数据wrcc(0xx80);wrnn(woord11);wrcc(0xxc0);wrnn(woord22);iif(pp11=0)/判判断P11.1是是否按下下,并显显示数据据wrcc(0xx80);wrnn(woord33);wrcc(0xxc0);wrnn(woord44);iif(pp12=0)/判判断P11.2是是否按下下,并显显示数据据wrcc(0xx80);wrnn(woord55);wrcc(0xxc0);wrnn(woord66);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 管理制度

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁