在LCD16021602lcd液晶屏屏显示以下两行字,一行自己的姓名,一行自己的学号。

初步认识51单片机-2.2单片机控制LCD1602液晶显示模块
15:08:39来源: eefocus 关键字:&&&&&&
上面学的两招,控制IO和延时,在这里要举的第一个例子就是。LCD1602什么意思,表示一行可以显示16个字符,一共有两行。先来个LCD1602的简单介绍,1602LCD主要技术参数:
显示容量:16&2个字符
芯片工作电压:4.5&5.5V
工作电流:2.0mA(5.0V)
模块最佳工作电压:5.0V
字符尺寸:2.95&4.35(W&H)mm
引脚功能说明
1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表1所示:
第1脚:VSS为地电源。
第2脚:VDD接5V正电源。
第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生&鬼影&,使用时可以通过一个10K的电位器调整对比度。
第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。
第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:D0~D7为8位双向数据线。
第15脚:背光源正极。
第16脚:背光源负极。
我们来看看如何使用这两招控制LCD1602液晶模块。既然是用LCD1602,那么根据前面的分析思想,首先要搞清楚谁是控制对象,谁是被控制对象。很显然,LCD1602是被控制对象,那么我们就先从LCD1602开始分析。所谓控制也可以理解为沟通,那么如何与LCD1602沟通呢?可以想一想,平时人与人是如何沟通的?沟通之前先要打个招呼吧,比如&你好&之类的,电话里面要先讲个&喂?&,之后才进入沟通正题了。其实单片机与LCD1602的沟通方式也一样,&喂?&在这个例子里面就叫初始化。后面也会经常碰到这个&初始化&的概念。其实器件也是人设计的,所以他的工作方式从某种程度上讲,也是人的沟通方式。打完招呼后,就开始进入真正主题了。什么主题呢?LCD1602是显示模块,主要作用当然是显示了。那么显示什么呢?很明显,显示内容当然来自于单片机了,单片机让它显示什么它就显示什么。这个&显示什么&就是传送的数据。那么怎么往1602传送数据呢?1602什么意思,表示2行16个字符,也就是有不同的显示地点,那么如何确定显示地点呢?因此前面的分析可以总结为三个问题,如何初始化,如何传送显示的内容(显示什么),在哪里显示。这三个问题如何解答呢?当然要去看芯片手册了。
为了解决这三个问题,我们先来看看人与人之间是如何沟通的,如果当面沟通,你的信号(声音)能够直接传到对方,而且能让对方听懂。如果相距比较远,那么就使用电话等通信工具。前者信号传递载体是空气,后者是电话线。那么我们来看看MCU与LCD1602的信号传递载体是什么样的。查看原理图。因为是MCU与1602之间的沟通,当然这里我们只查看与单片机相连接的部分。
从图中我们看到,单片机通过P2.7,P2.6分别与RS,EN连接,P0端口与D0到D7连接,一共10根线。那么也就是说,单片机的所有指令,数据等都是通过这10根线来完成的。怎么样去控制LCD呢,当然是阅读LCD的说明手册。这里来个比喻,房间内一个人规定,敲三下门,屋内的人才把门打开。如果你要进入屋内,就必须敲三下,如果你不知道这个规则,敲了四下,或者大喊大叫,门也开不了。这个规定可以是多样化,比如一共敲两下,第一下要敲重一点,第二下要敲轻一点。或者重敲三下,轻敲一下,等等。而且这里你不需要问为什么,照着做就行了。其实LCD1602包括后面会讲到的其他模块同样如此,你要与它沟通,当然必须按照它的规则来。下面我们就来解读它的规则,来解决前面提到的三个问题,
LCD1602初始化;在哪里显示;显示什么。
(1)LCD1602初始化
关于这一点,说明手册上已经告诉我们了,这里全盘复制过来。
以上为初始化过程,延时部分好解决,前面讲过了。这里就看如何写指令了。写指令这个过程肯定是通过上图中10根线来完成的。D0-D7一共八根线应该是用来存放指令的内容。问题来了,1602怎么知道单片机给我的是命令还是数据。(命令是什么,在哪里显示,屏幕清零;数据是什么,显示什么内容,显示A还是B)。LCD1602看到RS为高时,就明白了,哦,你要通过P0端口给我数据了,于是LCD1602就把这些数据拿过来了。看到RS为低时,就知道你要给我指令了。通过这种方式,单片机能准确的传递指令或者数据信息,实现与LCD1602的沟通。是不是这样就能让LCD1602正常执行了。不是的。回到我们前面讲的那个例子,这里加个条件,屋内人听到敲门三下后,判断暗号正确了,但是没有直接开门,而是通知了他的上级,得到上级的授权后,才开门。也就是两个条件,暗号正确和上级授权。LCD1602也一样,收到指令没有立即执行,还要等另外一个信号,就是EN使能信号。此时EN给个一定宽度的脉冲,LCD1602开始执行。
时序图如上图所示,这里少了R/W信号,用于控制从LCD1602读取还是写入的,为了简化过程,在硬件上把R/W接地了,也就是只能写不能读。同时,读忙信号也不能操作,这里采用延时的方法替代。根据前面的分析很容易的写出写指令的代码:
void write_com(unsigned char mycmd)
& delayMs(5);//注意这里需要延时5ms比较保险 代替判断忙信号
& P0= & & & &//准备好指令
& RS=0; & & & & //告诉LCD1602,P0中放的是指令不是数据
& delayUs(5); //根据时序图,脉冲要有一定宽度
& EN=0; & & & & & //使指令有效,开始执行
同样的道理,以上代码中,只需改一下RS信号为1,就是写数据的代码了
void write_com(unsigned char mydata)
& delayMs(5);//注意这里需要延时5ms比较保险 代替判断忙信号
& P0= & & & &//准备好指令
& RS=1; & & & & //告诉LCD1602,P0中放的是数据不是指令
& delayUs(5); //根据时序图,脉冲要有一定宽度
& EN=0; & & & & & //使指令有效,开始执行
讲到这里,LCD1602初始化代码应该能写出了。同时我们也已经写出了传递指令的代码,那么现在我们只要知道指令内容就可以了。
1602LCD的指令说明及时序
1602液晶模块内部的控制器共有11条控制指令,如表2所示:
1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)
指令1:清显示,指令码01H,光标复位到地址00H位置。
指令2:光标复位,光标返回到地址00H。
指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。
指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。
指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。
指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。
指令7:字符发生器RAM地址设置。
指令8:DDRAM地址设置。
指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
指令10:写数据。
指令11:读数据。
你需要给LCD1602什么指令,只需要传递给void write_com(unsignedchar mycmd)函数中的mycmd参数就行了。
(2)在哪里显示
知道了这个,现在我们就能解决前面提到的第二个问题,在哪里显示,
例如第二行第一个字符的地址是40H,那么是不是它的地址就是40H了。注意表2中第8条数据存储地址,D7已经被写死了。最终的显示地址是40H+B,因此我们只要把这个值传给mycom,LCD1602就知道在第二行第一个位置显示了。
(3)显示什么
前面讲了,如果传送数据就是要显示的内容。比如我要显示字母A,怎么操作呢。
以上图中可以知道,如果你要显示A,那么数据的高位为0100,低位为0001,因此为。把这个数据传送给LCD1602,它就知道要显示A了。
现在回过头来看看,我们在使用单片机控制LCD1602这个过程中用到了单片机的哪些知识。回去看看图1,10根连接线,P2.6和P2.7引脚,再加上P0端口,主要是通过P2.6和P2.7高低变化来发出指令或数据,P0的变化反映指令或数据的内容。可见,这个过程中我们只用到了IO口控制和延时。其他很长的部分我们用在理解1602的使用规则了。注意这里是使用规则,谈不上原理。比如你给LCD1602发送清屏指令时,你明白LCD1602收到这个指令是如何操作清屏的吗?不知道,也没有必要知道。液晶模块说明书也不告诉你。好比你使用手机时,你点击一下某个应用程序就打开了,然后按照它的规则去使用就行了,比如听歌,上网等等,你不用关心它们是怎么实现的。其实手机也是个模块,我们只要学会操作就行了,不管它里面发生了什么事情。
附参考代码如下:
void LCD_init(void);
void delayUs(unsigned char t);
void delayMs(unsigned char t);
void write_com(unsigned char mycmd);
void write_data(unsigned char mydata);
sbit RS=P2^7;
sbit EN=P2^6;
void main (void)
& & & & LCD_init(); & & & &
& & & & write_com(0x0f);
& & & & write_data(0x41);
& & & & while(1);
void LCD_init(void)
delayMs(15);
write_com(0x38);
delayMs(5);
write_com(0x38);
write_com(0x08);
write_com(0x01);
write_com(0x06);
write_com(0x0c);
void delayUs(unsigned char t)
& & & & while(--t);
void delayMs(unsigned char t)
& & & & while(--t)
& & & & & & & & delayUs(245);
& & & & & & & & delayUs(245);
void write_com(unsigned char mycmd)
& delayMs(5);//注意这里需要延时5ms比较保险代替判断忙信号
& P0= & & & &//准备好指令
& RS=0; & & & & //告诉LCD1602,P0中放的是指令不是数据
& delayUs(5); //根据时序图,脉冲要有一定宽度
& EN=0; & & & & & //使指令有效,开始执行
} & & & & & & & &
void write_data(unsigned char mydata)
& delayMs(5);//注意这里需要延时5ms比较保险
& delayUs(5);
关键字:&&&&&&
编辑:什么鱼
引用地址:
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
关注eeworld公众号快捷获取更多信息
关注eeworld服务号享受更多官方福利
相关关键词
热门关键词
大学堂最新课程
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
热门资源推荐
频道白皮书
何立民专栏
北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。51单片机用LCD1602显示姓名学号的程序,先显示姓名后显示学号_百度知道
51单片机用LCD1602显示姓名学号的程序,先显示姓名后显示学号
我有更好的答案
你好!是有开发板还是用仿真,发一下原理图
驱动一般网上都有,或者直接问厂家要,然后再加上你要显示的就行了。
麓战斗力游 asmipi15
为您推荐:
其他类似问题
51单片机的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。正在初始化报价器求解lcd1602价格?3个回答弱肉强食江湖lcd1602性价比高,功能强大,官网售价1999,采用5英寸1080p显示屏,3050mAh锂离子聚合物大电池,索尼1300万像素相机,飞利浦双LED闪光灯,NFC及双频WIFI,8.1毫米超薄机身。
以上价格来源于网络,仅供参考,具体价格以购买时为准
希望我的回答能帮到你
3个回答dalingshuo你好,lcd1602是字符型的,得改形参为变量型的,也就是不能用" &&"号表示的字符,另外,LCD显示的字符要送ASCII码,具体做法是,分离出变量的每一位数,再将每一位加上0x30,这样就变成了ASCII码了,再送给LCD才能显示出来变量的每一位的值。
希望我的回答对你有所帮助。
3个回答等你一个春天lcd电子显示屏使用方法:
第1步:检查电源电压,找出直流正负连接开关电源,将220V电源线连接到开关电源。确认电压没有问题后,断开电源,继续组装其他部分。 &&&& &&&&
第2步: &&&&先把电源关闭。将V+连接红色线,V-连接黑线,分别连接到控制卡和LED单元板,黑线接控制卡和电源的GND。红线连接控制卡的+5V和单元板的VCC。每个单元板1条电源线。
第3步: &&&&连接RS232数据线,将做好的数据线一头连 &&&&接电脑的DB9串口,另一头连接控制卡,将DB9的5脚(棕)连接到控制卡的GND,将DB9的3脚(棕白)连接到控制卡的RS232-RX。如果你的PC没有串口,可以到电脑城买条USB转RS232串口的转换线。 &&&& &&&&
第4步: &&&&再次检查连线,是否正确,黑线连接的是-V和GND。红线连接的是+V和VCC &&&&+5V。 &&&& &&&&
第5步: &&&&接通220V,正常情况下,电源灯亮,控制卡亮,屏幕有显示。如果不正常,请检查连线。或者查看错误检修。 &&&& &&&
第6步: &&&&打开下载的软件,设定屏幕的参数,发送字幕。具体参照软件使用说明。 &&&&如果屏幕出现两个单元板显示相同的内容,请把用软件设定屏幕的大小为8个汉字。
希望对您有帮助。
0个回答0个回答5个回答德国威士迪1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。
1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。
目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。
3个回答轻舞灰羊LCD 分为带背光和不带背光两种,基控制器大部分为 HD44780,带背光的比不带背光 的厚,是否带背光在应用中并无差别 1602LCD 主要技术参数: 显示容量:16×2 个字符 芯片工作电压:4.5—5.5V 工作电流:2.0mA(5.0V) 模块最佳工作电压:5.0V 字符尺寸:2.95×4.35(W×H)mm
4个回答sofia_5433lcd1602指令集:
1602通过D0~D7的8位数据端传输数据和指令。
显示模式设置: (初始化)
[0x38] 设置16×2显示,5×7点阵,8位数据接口;
显示开关及光标设置: (初始化)
0000 1DCB D显示(1有效)、C光标显示(1有效)、B光标闪烁(1有效)
0000 01NS N=1(读或写一个字符后地址指针加1 &光标加1),
N=0(读或写一个字符后地址指针减1 &光标减1),
S=1 且 N=1 (当写一个字符后,整屏显示左移)
s=0 当写一个字符后,整屏显示不移动
数据指针设置:
数据首地址为80H,所以数据地址为80H+地址码(0-27H,40-67H)
其他设置:
01H(显示清屏,数据指针=0,所有显示=0);02H(显示回车,数据指针=0)。
5个回答jaksld454545亲,您好
引脚接口说明表&第1脚:VSS为地电源。&第2脚:VDD接5V正电源。&
第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。&
第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。&
第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。&第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。&第7~14脚:D0~D7为8位双向数据线。&第15脚:背光源正极。&第16脚:背光源负极。
希望我的回答对您有所帮助
4个回答朋凡凡的家使用汇编语言进行程序编写,确保程序正确后,打开实验箱上的电源,将程序
下载到实验箱上,
上首先显示滚动的名字,滚动到中间即停止下来,接着
按下键盘上的
键开始启动
当按下键盘上
键中任意一键则要切换
转换通道,通过不断改变旋钮改变模拟量值的大小并不断把转换好的值
与此时转换通道号送到
整个系统以单片机为主题,
通过软件控制
这些芯片联系在一起,实现所要求的功能。
热门问答123456789101112131415161718192021222324252627282930更多相关文档

我要回帖

更多关于 1602lcd液晶屏元件库 的文章

 

随机推荐