您的位置 首页 技术

LCD1602是什么?关于LCD1602液晶模块的显现问题?

LCD1602是什么?关于LCD1602液晶模块的显示问题?-LCD1602表示2行16个字符,也就是有不同的显示地点,那么单片机如何告诉LCD1602的显示地点呢?因此前面的分析可以总结为三个问题,如何初始化;如何传送显示的内容(显示什么);在哪里显示。这三个问题如何解答呢?当然要去看LCD1602说明手册了。

(1)LCD1602概述

先来看看LCD1602什么意思?Liquid Crystal Display(LCD)表明液晶显现,1602 表明一行能够显现16个字符,总共有两行。

现在咱们来看看怎样运用简略的IO操控和延时来完结操作LCD1602液晶模块。既然是用单片机操控LCD1602,那么依据前面的剖析,首先要搞清楚谁是操控目标,谁是被操控目标。很显然,LCD1602是被操控目标,那么咱们就先从LCD1602开端剖析。所谓操控也能够了解为交流,比方你与室友交流,期望他帮你买瓶绿茶,那么就表明至少你的室友能听懂你的“指令”,能知道绿茶是什么,怎样去买等等信息。好了,那么怎样与LCD1602交流呢?能够想一想,平时人与人是怎样交流的?交流之前先要打个招待吧,比方“你好”之类的,电话里边要先讲个“喂?”,确认通迅正常了之后才进入交流正题了,很少有人打电话一上来就开端“哇哇”的说,假如说了半天发现信号还没连上呢,那不是白讲了。其实单片机与LCD1602的交流方法也相同,电话中运用的“喂?”在咱们这儿其实就叫初始化。后边也会常常碰到这个“初始化”的概念。其实器材也是人规划的,所以他的作业方法从某种程度上讲,也是人的交流方法。打完招待后,就开端进入真实主题了。什么主题呢?LCD1602是显现模块,首要效果当然是显现了。既然是显现,咱们能够想一想,无非便是两个内容:

(1)你想要显现什么内容?

(2)你计划在哪里显现?

很明显,这两个内容都是来自于单片机的操控,单片机让它显现什么它就显现什么(叁议电子)。这个‘显现什么’便是传送的数据。那么怎样往LCD1602模块传送数据呢?前面讲了,LCD1602表明2行16个字符,也便是有不同的显现地址,那么单片机怎样告知LCD1602的显现地址呢?因而前面的剖析能够总结为三个问题,怎样初始化;怎样传送显现的内容(显现什么);在哪里显现。这三个问题怎样回答呢?当然要去看LCD1602阐明手册了。

为了处理这三个问题,咱们仍是先来看看人与人之间是怎样交流的,假如当面交流,你的信号(声响)能够直接传到对方,并且能让对方听懂。假如相距比较远,那么就运用电话等通讯东西。前者信号传递载体是空气,后者是电话线。那么咱们来看看MCU与LCD1602的信号传递载体是什么样的,这就需求去检查原理图了。

如图3-1所示,LCD1602总共16个引脚,其间引脚1,2,15,16是与电源相关的,咱们不去理它。别的引脚3衔接到了可调电阻Rv1,用于液晶模块背光调理的,这儿也暂时不论。咱们现在关怀的是与信号传输相关的引脚,很明显与引脚4到引脚14有关。从图中咱们看到,单片机经过P4.1,P4.4,P4.5别离与RS,RW,EN衔接,P2端口与D0到D7衔接,总共10根线。那么也便是说,单片机的一切指令,数据等都是经过这10根线来完结的。怎样样去操控LCD呢,当然是阅览LCD的阐明手册。这儿来个比方,房间内一个人规矩,敲三下门,屋内的人才把门翻开。假如你要进入屋内,就有必要敲三下,假如你不知道这个规矩,敲了四下,或许大喊大叫,门也开不了。这儿要阐明什么意思?当你要与某个器材交流的时分,你有必要严厉依照这个器材的规矩来操作。比方一个德国人只会讲德语,假如你想与他交流那么你就只能和他讲德语了。假如你讲汉语,他讲德语,这就乱套了,信息无法传递(www.ppptalk.com)。这个时分,你能够挑选会讲汉语的德国人交流,也便是换一个交流目标。相同的,假如你觉得某个器材操作起来太费事,那么你能够替换别的一个具有相同功用能满意你运用要求的器材来替代。可是,一旦你选定了某个器材后,你有必要100%的依照“这个器材的运用规矩”来操作。不同的外围器材的规矩是不相同,也便是说这些规矩是多样化的。回到前面讲的开门的比方,也能够这样规划,比方总共敲两下,榜首下要敲重一点,第二下要敲轻一点。或许重敲三下,轻敲一下,等等。可是关于咱们而言,不需求问为什么,照着做就行了。规矩怎样规划,那是规划这个器材或许模块的工程师应该考虑的作业,我信任这些规矩的规划必定有他们的理由。但咱们仅仅从运用层面来考虑问题,不论你怎样规矩的,我照做就行了。这些规矩在哪里呢?检查芯片手册或许官方阐明书。罗嗦这么多,其实就为了着重学习这门技能必定要以芯片手册(官方阐明材料)为本,并且后边还会持续着重。其实LCD1602包含后边会讲到的其他模块相同如此,你要与它交流,当然有必要依照它的规矩来。下面咱们就来解读它的规矩,来处理前面说到的三个问题,初始化,内容显现,显现地址。

(2)LCD1602初始化

关于这一点,LCD1602阐明手册上现已清晰告知咱们了,想都不要去想,管你这些什么意思,照做即可。

延时15ms

写指令38H

延时5ms

写指令38H

写指令08H

写指令01H

写指令06H

写指令0CH

以上为初始化进程,延时部分好处理,前面讲过了。这儿就看怎样“写指令”了。问题来了,液晶模块怎样知道单片机给我的是指令仍是数据。(叁议电子www.ppptalk.com)LCD1602看到RS为高时,就了解了,哦,你要给我传送数据了;看到RS为低时,就知道你要给我指令了。这个仅仅挑选“指令”仍是“数据”,还有一个问题,咱们的意图是“写指令”,那么液晶模块怎样知道是“写”仍是“读”呢?再来看RW信号,当RW为低的时分,液晶模块就知道了,单片机要给我“写”了;当RW为高的时分,液晶模块也知道了,单片机要“读”了。很明显,咱们这儿要把RW设置为低。“写/读”和“指令/数据”都知道怎样告知液晶模块了,那么这个指令从怎样传过去呢?经过D0-D7这8根线(也便是P2端口)来传输,比方我要传送的指令为x033,那么就把这个数据0x33放到P2端口,当LCD1602看到“写”和“指令”的时分,就知道把P2端口上的0x33这个指令拿过来了。这样就达到了“写”“指令”“0x33”的意图。

可是不是这样就能让LCD1602正常履行了。不是的。回到咱们前面讲的那个比方,这儿加个条件,屋内助听到敲门三下后,判别暗号正确了,可是没有直接开门,而是通知了他的上级,得到上级的授权后,才开门。也便是两个条件,暗号正确和上级授权。LCD1602也相同,收到指令没有当即履行,还要等别的一个信号,便是EN使能信号。此刻EN给个必定宽度的脉冲,LCD1602才开端履行。

LCD1602是什么?关于LCD1602液晶模块的显现问题?

这样依据前面的剖析很简单的写出写指令的代码:

void Lcd_Write_Cmd(unsigned char Cmd) {

delayMs(5);//留意这儿需求延时5ms比较稳妥 替代判别忙信号

RW = 0;

P2 = Cmd; //准备好指令

RS=0; //告知LCD1602,P0中放的是指令不是数据

EN=1;

delayUs(5); //依据时序图,脉冲要有必定宽度

EN=0; //使指令有用,开端履行

}

相同的道理,以上代码中,只需改一下RS信号为1,便是写数据的代码了

voidLcd_Write_Data(unsignedcharmData) {

RW = 0;

delayMs(5);//留意这儿需求延时5ms比较稳妥替代判别忙信号

P2=mData;//准备好指令

RS=1;//告知LCD1602,P0中放的是数据不是指令

EN=1;

delayUs(5);//依据时序图,脉冲要有必定宽度

EN=0;//使指令有用,开端履行

}

讲到这儿,LCD1602初始化代码应该能写出了。一起咱们也现已写出了传递指令的代码,那么现在咱们只需知道指令内容就能够了。

LCD1602是什么?关于LCD1602液晶模块的显现问题?

指令1:清显现,指令码01H,光标复位到地址00H方位。

指令2:光标复位,光标返回到地址00H。

指令3:光标和显现形式设置I/D:光标移动方向,高电平右移,低电平左移S:屏幕上一切文字是否左移或许右移。高电平表明有用,低电平则无效。

指令4:显现开关操控。D:操控全体显现的开与关,高电平表明开显现,低电平表明关显现C:操控光标的开与关,高电平表明有光标,低电平表明无光标B:操控光标是否闪耀,高电平闪耀,低电平不闪耀。

指令5:光标或显现移位S/C:高电平时移动显现的文字,低电平时移动光标。

指令6:功用设置指令DL:高电平时为4位总线,低电平时为8位总线N:低电平时为单行显现,高电平时双行显现F:低电平时显现5×7的点阵字符,高电平时显现5×10的点阵字符。

指令7:字符发生器RAM地址设置。

指令8:DDRAM地址设置。

指令9:读忙信号和光标地址BF:为忙标志位,高电平表明忙,此刻模块不能接纳指令或许数据,假如为低电平表明不忙。

指令10:写数据。

指令11:读数据。

这样你需求给LCD1602什么指令,只需求传递给void write_com(unsigned char Cmd)函数中的Cmd参数就行了。

(3)LCD1602确认显现方位

现在咱们就来处理前面说到的第二个问题:“在哪里显现?”也便是液晶模块的这32个空格是怎样确认的。

LCD1602是什么?关于LCD1602液晶模块的显现问题?

从以上这个图能够看到,总共两行,00到0F和40到4F刚好与LCD1602的32个空格对应。可见,液晶模块的显现方位是经过这个表格对应的码值来确认的。例如第二行榜首个字符的地址是40H,那么是不是它的地址便是40H了。留意表3-2中第8条数据存储地址,D7现已被写死了。终究的显现地址应该是40H+10000000B(40H+80H),因而咱们只需把这个值传给Cmd,这样LCD1602就知道在第二行榜首个方位显现了。

(4)LCD1602确认显现内容

前面讲了,假如传送数据便是要显现的内容。比方我要显现字母A,怎样操作呢?

LCD1602是什么?关于LCD1602液晶模块的显现问题?

以上图中能够知道,假如你要显现A,那么数据的高位为0100,低位为0001,因而为01000001。把这个数据传送给LCD1602,它就知道要显现A了。

这样三个问题都处理了,“初始化”,“写指令”,“写数据”。

现在回过头来看看,咱们在运用单片机操控LCD1602这个进程顶用到了单片机的哪些常识。回去看看图1,10根衔接线,P4.1,P4.4和P4.5,再加上P2端口,首要是经过P4.1,P4.4和P4.5凹凸改变来宣布指令或数据,P2端口的改变反映指令或数据的内容。可见,这个进程中咱们只用到了IO口操控和延时。其他很长的部分咱们用在了解1602的运用规矩了。留意这儿是运用规矩,谈不上原理。比方你给LCD1602发送清屏指令时,你了解LCD1602收到这个指令是怎样操作清屏的吗?不知道,也没有必要知道。液晶模块阐明书也不告知你。比方你运用手机时,你点击一下某个运用程序就翻开了,然后依照它的规矩去运用就行了,比方听歌,上网等等,你不必关怀它们是怎样完结的。其实手机也是个模块,咱们只需学会操作就行了,不论它里边发生了什么事情。

(5)小结

现在对以上剖析内容小结一下。LCD1602液晶模块的效果便是显现,既然是“显现”,无非便是显现什么内容,在哪里显现。那么怎样确认显现的内容呢?经过ASCII码表来确认。怎样确认显现的方位呢?经过表格3-3来确认。在单片机操控LCD1602液晶模块时,也便是这两个目标交流时,必定要先“打招待”,也便是初始化。怎样初始化呢?阐明手册中现已给出了详细过程,照搬即可。理清了这个思路,剩余的便是去完结各个过程了。里边涉及到怎样写指令,写数据以及怎样读忙信号。详细检查时序图即可。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/jishu/347442.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部