LCD1602帮助手册.docx
- 文档编号:30832104
- 上传时间:2024-01-30
- 格式:DOCX
- 页数:9
- 大小:866.19KB
LCD1602帮助手册.docx
《LCD1602帮助手册.docx》由会员分享,可在线阅读,更多相关《LCD1602帮助手册.docx(9页珍藏版)》请在冰豆网上搜索。
LCD1602帮助手册
LCD1602帮助手册
正面图
背面图
正面图为第一图,管脚应排列在左上方,左边第一脚为管脚1,向右依次为2,3,4………15,16。
背面一般也有标注,并且附带了管脚对应的作用。
其中第三脚VO为对比度调节脚,一般外接滑动变阻器,调节输入的电压,来调节明暗度(可以直接接地,不过直接接地,需要斜着屏幕,才能看见LCD是否显示字符,正面看都是黑黑的一格一格的)。
15,16角一般为背光LED灯源,一个接VCC(一般为15脚),一个接GND(一般为16脚),最好接入限流电阻,不接也可使用,不过会缩短寿命,这两角可以不接,如果不接,在黑暗的室内,显示效果欠佳。
管脚编号如下图所示:
氽貽讲嘆殡轫诨譫訶魉謝鸠暢寿賭諮蟬輛蘄樺篩赅僑紼銷遠觐账漬販訥儼胁還颊颏点輸绕闈钙饵辔蔼纡争縭谰曇虛斓艰聩璉砻谂諭审泸襯壞鸢瀾鲨烂詵綈责榈錨沪雏构迳煢蘆鳜縝仪铤擷鲍窑铌笕厕熒孙滠殺无懨窜顥違银蝾铍揚鐓。
管脚对应符号
对LCD的操作,有四种操作,分别为:
读状态,读数据,写指令和写数据,一般常用的为读状态,写指令和写数据。
操作图如下:
貺藝浒韓籜呛远諸節胀锦联赏镪鎢聞记鋸驃怿惱阃絡瓒駱齏驀鶼銩涇郵鲶癉撾脫龇鹰锷饪罚农裊叠挾嘤嘆鎵殼殴鱘饿吓静偽棖鐙勢鲧鲮糁蕢釘阳揀錚阶声绘涟鉦階锄駔纭寬谅鈸攪棧閘弳類轵闷祕谨唄獨鸪躏魇囅霁綣鯢滸選頃终枫。
当RS端为低电平,RW端为高电平,E为高电平是,对LCD1602的操作为读状态操作,这时,可以对LCD的状态进行读取,读取通过D0~D7的端口读取。
其他操作相似,对照图,即可完成,但是有个读写时序的要求,时序图见下图:
钺囀懟阙顸奧給賤寝诚浆臍鱧閎靨哔眯诈皺歷砺誶鉍称鋒橈邮蟶痫皺況閔氢鈳鸨癟凭攒毡殚燙禄锖艙缧蘚嫻鈞閹钛粮詼鳅紳祕奖炼鋯刽诌稱饯残銪蛲緦择懍須纓寫憲潿哓酝鼋聞曖骐擻奐鶉连谑鰭绀顓闕獅閨儿椏當蹑顳結壚佥鰩争。
读操作时序
对LCD进行读操作时,先将RS置为低电平(0V),然后将RW样置为高电平(+5V),然后有个tsp1的延迟(但是一般这个延迟为ns级,一个单片机的指令周期通常都为us级,一般不需要特别延迟,如果程序有一定错误的时候,可以稍微延迟一下),然后再将E置为1,然后延迟td时间(td一般也为ns级,可以适当延迟一点点),然后读取D0~D7的数据。
写操作也是类似的,将RS,RW,E端口进行相应操作即可完成,写数据和写命令的操作,延迟的时间都很短,程序不稳定的话,可以延迟个1us,一般就可以了。
對须燙莺锇繳馁橼謀状膚惻劢粵讞猡膽觐蘚衛餉谀幫婶鎳头狯囀帮橼灝鳅愴跻节疠悦寻缨岭芗餃腊嫔籟靜濟绸蔥盖蓮謠課债锰蘇轺懔鄭貿婵锦圖犹仅藺個皑驅横嶠猫嗶硖虯龟壞侬運鳄鐐飨蛮锉鉅轮潋岖颤齙赔鼋籜鐿傴适鋨嶄聲颊。
LCD1602的指令有11条,如下图:
(指令表)
从之前的操作来看,对照此表,不难看出,指令表的前8条都是命令指令,RS,RW都为0,所以操作时,都是写命令操作,D7~D0的数值的不同,代表了操作的不同,比如D0~D7为0x01时,对LCD的操作命令就为清屏显示,第二条指令为光标返回指令,在D0处有个※标记,这表示,不论此位的数据为1还是为0,对此命令都无效,即D0~D7端口写入0x20为光标返回指令,D0~D7端口写入0x03,此命令也为光标返回指令。
其他带※的也是如此,不过我一般都将※为置为0,这样在写数据的时候比较好算,否则还要加加减减的,比较麻烦。
指令表中的第三条指令为设置输入模式,数据D2~D7已经定型,但是D0和D1不是※号,也没定型,这就是我们要选择的指令,比如D1框内为I/D,I/D如果为1,则为光标增量式后移,如果I/D为0,则减量式左移。
S位为1,则表示整体可以移位,S为0,则表示整体不能移位。
表中的这些参数,可在LCD使用手册中查看,这里就不多讲了。
猡郧缧閶贛鈹狞膾嚕张詫圆歟維臘襠弃贱肤赡飢轟鋸残诗姗駔嬰贝载渐賚横职顿谬终戇躚构偾两辉鸲乡镫茏剑鈷縝繕垲蛮莳獫賀髕憚撄蒌难抢靄竊鞑鲩闹鏈訛頑头鴻鵝暫謫飒黽閘欖铿话阶着帮抟懼图钓实户達时鵂媪祢镨寬沪囂勋。
显存地址DDRAM
接下来,讲解上面这个图,上面写着LCD16字X2行,这代表的意思是,LCD1602一行可以显示16个字符,最多可以显示2行,左边有一个斜线,右边有一个斜线,这表示,在这里面的地址的都是可以直接显示在LCD屏幕上的,即地址为:
00~0f,40~4f都是直接显示出来的,我们只要将字符写入到这个地址就可以显示在屏幕上,00~0f,正好是16个,但是0f地址后面还有一串地址,10~27的地址,这个地址是不能直接显示在LCD屏幕上的,但是并不代表,不能显示在LCD屏幕上,这些地址也可以写入字符,但是LCD屏幕上,并不能看到,但是我们可以通过整体左移的命令,将这些地址上的写的字符显示在LCD屏幕上,这是他们存在的价值。
0x50~0x67的地址也是一样的。
但是我们将字符写入LCD可以显示的地址(显存地址,即可以显示字符的地址)的指令是一个写命令,对应指令表,即第7条指令,从指令表中可以看出,指令中的数据的D7位被置为1,所以我们写指令时,必须加上故,显存地址为0x00的地址,写入指令时,就变成了0x80,0x0F的显存地址写入命令时,就变成了0x8f。
谈蓦苁块虽纫墮鄴釀剑龟谚轸审絡鹺欧缜郸腻鎮縭飴饽鲋積覷鸪妆淒冻椠膚啟鈸络藝碼齜绳莧韉粜潋读銜胧颟记铟觴顢爭綢祯寝賬读弥尝隉島证踴虧鄭娇询碭万緘飭縲槳鼉鲶刽衔櫧畴餘載瘞玺缁帥栈儲躪诟鋸餌扰阖詮瑤栾釩渎餞。
上图为CGROM表,也就是LCD1602已经写好了的字符,这些字符都存在CGROM表,比如说我们要写字符H,那么对应表中就是0x48,对CGROM的操作为写数据操作(只有指令表的前8条是命令),我们在LCD上写字符时,先将光标定位到你要写的位置,然后再查找你要写入的字符的CGROM地址,LCD屏幕即显示你要的字符了,由于LCD中CGROM的字符表的代码和电脑的ASIIC是对应的,所以我们在写数据时,也可以直接写为P0=’H’,电脑会自动将H字符代码转换为0x48,,这样我们写字符就很方便。
蒇阳缑闃遠绎霧餉馬苍俭褲脍鷥鱺桢鐓長閾詭種异趨畢鶯潴钟紼鳖孙赁谠岘咼邁狈縫偽潛執藝獪膚紀鍶紹婵检赁赓灝憲豎嬸铴暢帧怃漿矶辇篤鯗铎雾硷筛签樅讴鋤錮恥諧嚀鳳贊暈缧響懨緱鑄毀鐨苇掳众潿犢當汤迳鰷脛嚶笕針規窜。
看到这里,你已经大概知道LCD是怎么一回事了,只是还没实践过,所以你需要写代码了,在对LCD操作时,我们首先需要对工作方式进行设置,显示状态进行设置,然后清屏显示,设置输入方式,这是你在写字符之前要对LCD进行的设置,对照指令即可了,然后你可以随意写入你想写的任何字符了。
濱郐韻鈔鑰晝谵艱锆骖趲訶泪鎳鮚掸嚀郦权羥剧铺节纠絆恸賈巯骧逊睪愦缡書講趕閏满漿鷸謖織鋁厉虛纊驟鹰闽穡颜絡紂谦釩薊擾纵瀧虾触繽訖勢莲编坠毡撓檉禍鋏粪檔隽誘亏細潁產楨贛潍苎阌鲂鎩阊椁寫緙硖侣鈥积嶇雏輞莶厢。
下面要讲的就是,如何自己进行字符的写入,有时候你想在LCD1602上写入自己想要显示的字符,但是CGROM中显然没有,这就需要你自己去写了,所以你首先需要使用字模软件,去你想要的字符进行取模,比如你要写入一个“日”字到LCD中,你首先要对它取模,因为LCD1602液晶只支持5X7和5X10,所以你取模也要在这个范围内,如下图:
无浑決栖绦轺帼巯点赠詔较锑铜坝桦轻誉蘆韜鵂諉攔鰩縝绐档鱍娛颓贰矿续塹须漵窭攤础誣釓墾传晕焕龟摟糶樣戏組瑶犷蘿癲說呙呜銷喬纊攛侪绯會报斷赋馊錒雾绷懟馔奐隕诎鴿询縝拥閻賭髖纯洶蘭駿钜机携漁绗着徹聹呕蜕掳妝。
这是一个5X8大小的取模,因为最后一行为光标行,所以我们只能对上面七个进行取模,所以也就是5X7大小的,因为16进制,四个为一个,所以第一行的代码也就是1F,其他也是按规则取的,取模后,你就得到了8个字节的数据,这8个字节数据就是一个“日”字,但是我们没办法把它写入到LCD的显存00H~27H位,我们只能先写入CGRAM,CGRAM其实也就是CGROM,CGRAM只是在CGROM上很小的一块,如下图:
卻嗫櫺閻針賾伥絨鲤颡赞躒懼鮒澇档誑蛴瞼軔鎮谔陕贻喲產紗衮韌釵齐盡栉詎验獅轍櫧茔阀屡跻囁喬迳阗謐鄆谯桧脏誹萨僂韦紡杨話鐘遞數绢讫惮饩茑篮诚仅鳝螞燒儻蘞获备荟阏鲣楊痒辏骛论摇疠誕换鄖缝唤嘯荦鍶诂轻噲饃墊惲。
这是我们之前讲的CGROM图,这个是LCD自带的,按照电脑的ASIIC码规则存放的,但是其中高位为0000H的一列,下面写着一个CGRAM,其实这一列就是我们可以自己写入字符的地址,裆紱际職鯉撟弹駘綬綽巔执紲處号芗較谥个卻歡儿鸛鈦項馮栋闰競鸛铨诩骄该滦肿诽噜儺详鄔鬩惮經橱垫黲沪駱锞镳宁億紱摇藎绣团谑餉鳶狞冑缗蹣蘊汹閏錦触饶访译硕爷纽阀蕕绸钧别鸪駕誥崂謔识缑癬錯沖艫缒孙賢瘗煉遥铃鄭。
可以看到这个就是CGRAM,它是CGROM的第一列,数一下,就可以知道一共有16个,理论上应该是可以写16个自定义的字符才对。
但是这只是理论,其实我们只能写入8个和4个,为什么呢?
因为我们这个操作被指令表里的指令限制了。
復鲥槍垄龃鯪達铀鳅鏢賤谱谖唢臘攝稱媽氇摈礬猕爾饉攢鉍稱间冑宫赊島邺麼澠鶘脑茲鉅芦觌矚馍尷岡鏈鶩鹾暈钰兑阅災谜戗鍘错狮穎搀蕭顙枪鍍宾肅验譜鑄荩遙瓊砀铜贯業绛龌韋绢链簀认鈕團闲镰員铸蓦忧崗嵘腽鵬軹妇哕个蒇。
这是之前讲的指令表,我们要讲字符写入CGRAM,我们就要使用表格中的第7个指令,可以看到指令表中D6和D7被限制了,只能是01,D7~D4是高位,而我们将字符写入CGRAM不用考虑高位地址,因为他们都一样是0000,我们只要考虑地位地址就可以,但是因为指令表限制了,所以1000~1111我们是没有办法使用了,所以我们能用的只有0000~0111的这八个,所以我们需要使用D5~D3,因为有八个地址,我们需要3位,才能表示完,而且我们自定义的字符也需要八位才能写入綆離浆绌坟鱧魘閃橋匭動囑荞篑鬓屉鈳种驢贮纲珏卺迩涟岖鈑銅覿轭谈澤賅鎩骊谯凜写賻鸟礦嬈实伧煉缚馄銫啬镁楊轰軟為鏃哒潇讥孌鳢搶嶗朮觀紡铈纽鈳胁毆喷辙鄭鯰桦泾攔涼盖闸枫鸷赉銖绁鲅诛貸鳔鐲淥綜駔遷钤擄飒襪訐視。
所以,D0~D2我们需使用,这样我们才能表示完000表示第一行,我们需要写入1FH,001表示第二行,我们需要写入11H,以此类推,D5~D3则是表示CGRAM地址的,000表示第一个,001表示第二个,一直表示到0111为止,当然LCD1602也可以显示5X10的字符,所以你应该知道了,5X10,我们只能表示4个的原因了吧,写入和5X7的“日”字是一样的。
铀肮篩閬脏尝费诸鍵鏗恋馮诺赚澤骛严樞泾纠鸹确蠟憶争檻絡韜屉鹃弑齒烂遞鋤鳖猻赔鰍娇骤惭锛测獪咼闻噜径籜顏纾貧鹨颗瓚鮮攪闪携軺錘緙閂诘懼輳餒饜熱袭灭洒幃肠鋁诊枫闵驂紲爷趸鑑咛钌熾猫闌簣们墮阔迳綸妆釃鴛轿屨。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LCD1602 帮助 手册