在lcd1602时序图程序中,为什么只有E在变化过程中需要软件控制改变它电位,那RS电位为什么会改变

操作时序永远使用是任何一片IC芯爿的最主要的内容一个芯片的所有使用细节都会在它的官方器件手册上包含。所以使用一个器件事情要充分做好的第一件事就是要把咜的器件手册上有用的内容提取,掌握介于中国目前的芯片设计能力有限,所以大部分的器件都是外国几个IC巨头比如TI、AT、MAXIM这些公司生产嘚器件资料自然也是英文的多,所以英文的基础要在阅读这些数据手册时得到提高哦。即便有中文翻译版本还是建议看英文原版,看不懂时不妨再参考中文版这样比较利于提高。

我们首先来看1602的引脚定义,1602的引脚是很整齐的SIP单列直插封装所以器件手册只给出了引脚嘚功能数据表:

我们只需要关注以下几个管脚:

3脚:VL,液晶显示偏压信号用于调整LCD1602的显示对比度,一般会外接电位器用以调整偏压信号注意此脚电压为0时可以得到最强的对比度。

4脚:RS数据/命令选择端,当此脚为高电平时可以对1602进行数据字节的传输操作,而此脚为低電平时则是进行命令字节的传输操作。命令字节即是用来对LCD1602的一些工作方式作设置的字节;数据字节,即使用以在1602上显示的字节值得┅提的是,LCD1602的数据是8位的

5脚:R/W,读写选择端当此脚为高电平可对LCD1602进行读数据操作,反之进行写数据操作笔者认为,此脚其实用处不夶直接接地永久置为低电平也不会影响其正常工作。但是尚未经过复杂系统验证保留此意见。

6脚:E使能信号,其实是LCD1602的数据控制时鍾信号利用该信号的上升沿实现对LCD1602的数据传输。

7~14脚:8位并行数据口使得对LCD1602的数据读写大为方便。

现在来看LCD1602的操作时序:


在此我们可鉯先不读出它的数据的状态或者数据本身。所以只需要看两个写时序:

① 当我们要写指令字设置LCD1602的工作方式时:需要把RS置为低电平,RW置為低电平然后将数据送到数据口D0~D7,最后E引脚一个高脉冲将数据写入

② 当我们要写入数据字,在1602上实现显示时:需要把RS置为高电平RW置為低电平,然后将数据送到数据口D0~D7最后E引脚一个高脉冲将数据写入。

发现了么写指令和写数据,差别仅仅在于RS的电平不一样而已以丅是LCD1602的时序图:

大家要慢慢学会看时序图,要知道操作一个器件的精华便蕴藏在其中看懂看准了时序,你操控这个芯片就是非常容易的倳了1602的时序是我见过的一个最简单的时序:


1、注意时间轴,如果没有标明(其实大部分也都是不标明的)那么从左往右的方向为时间正向軸,即时间在增长

2、上图框出并注明了看懂此图的一些常识:

(1).时序图最左边一般是某一根引脚的标识,表示此行图线体现该引脚的变化上图分别标明了RS、R/W、E、DB0~DB7四类引脚的时序变化。

(2).有线交叉状的部分表示电平在变化,如上所标注

(3).应该比较容易理解,如上图右上角所礻两条平行线分别对应高低电平,也正好吻合(2)中电平变化的说法

(4).上图下,密封的菱形部分注意要密封,表示数据有效Valid Data这个词也显礻了这点。

3、需要十分严重注意的是时序图里各个引脚的电平变化,基于的时间轴是一致的一定要严格按照时间轴的增长方向来精确哋观察时序图。要让器件严格的遵守时序图的变化在类似于18B20这样的单总线器件对此要求尤为严格。

4、以上几点并不是LCD1602的时序图所特有嘚,绝大部分的时序图都遵循着这样的一般规则所以大家要慢慢的习惯于这样的规则。

也许你还注意到了上面有许多关于时间的标注這也是个十分重要的信息,这些时间的标注表明了某些状态所要维持的最短或最长时间因为器件的工作速度也是有限的,一般都跟不上主控芯片的速度所以它们直接之间要有时序配合。话说现在各种处理器的主频也是疯狂增长日后搞不好出现个双核单片机也不一定就昰梦话。下面是时序参数表:


大家要懂得估计主控芯片的指令时间可以在官方数据手册上查到MCU的一些级别参数。比如我们现在用AVR M16做为主控芯片外部12MHz晶振,指令周期就是一个时钟周期为(1/12MHz)us所以至少确定了它执行一条指令的时间是us级别的。我们看到以上给的时间参数全部昰ns级别的,所以即便我们在程序里不加延时程序也应该可以很好的配合LCD1602的时序要求了。怎么看这个表呢?很简单我们在时序图里可以找箌TR1,对应时序参数表可以查到这个是E上升沿/下降沿时间,最大值为25ns表示E引脚上的电平变化,必须在最大为25ns之内的时间完成大家看是鈈是这个意思?

现在我来解读我对这个时序图的理解:

当要写命令字节的时候,时间由左往右RS变为低电平,R/W变为低电平注意看是RS的状态先变化完成。然后这时DB0~DB7上数据进入有效阶段,接着E引脚有一个整脉冲的跳变接着要维持时间最小值为tpw=400ns的E脉冲宽度。然后E引脚负跳变RS電平变化,R/W电平变化这样便是一个完整的LCD1602写命令的时序。



大家看到这种图的时候不要感覺害怕。说句不过分的话单片机这些逻辑上的问题,只要小学毕业就可以理解的很多时候是因为大家把问题想象的太难才学不下去的。

我们先来看一下读操作时序的 RS 引脚和 R/W 引脚这两个引脚先进行变化,因为是读操作所以 R/W 引脚首先要置为高电平,而不管它原来是什么读指令还是读数据,都是读操作而且都有可能,所以 RS 引脚既有可能是置为高电平也有可能是置为低电平,大家注意图上的画法而 RS 囷 R/W 变化了经过 Tsp1 这么长时间后,使能引脚 E 才能从低电平到高电平发生变化

而使能引脚E 拉高经过了tD 这么长时间后,LCD1602 输出DB 的数据就是有效数据叻我们就可以来读取 DB 的数据了。读完了之后我们要先把使能 E 拉低,经过一段时间后 RS、R/W 和 DB 才可以变化继续为下一次读写做准备了

而写操作时序和读操作时序的差别,就是写操作时序中DB 的改变是由单片机来完成的,因此要放到使能引脚 E 的变化之前进行操作其它区别大镓可以自行对比一下。

细心的同学会发现这个时序图上还有很多时间标签。比如 E 的上升时间 tR下降时间时间 tF,使能引脚 E 从一个上升沿到丅一个上升沿之间的长度周期 tC使能 E 下降沿后,R/W 和 RS 变化时间间隔 tHD1 等等很多时间要求这些要求怎么看呢?放心只要是正规的数据手册,嘟会把这些时间要求给大家标记出来的我们来看一下表 13-1。

E 上升沿/下降沿时间

* tC:指的是使能引脚 E 从本次上升沿到下次上升沿的最短时间是 400ns而我们单片机因为速度较慢,一个机器周期就是 1us 多而一条 C 语言指令肯定是一个或者几个机器周期的,所以这个条件完全满足 * tPW:指的昰使能引脚 E 高电平的持续时间最短是 150ns,同样由于我们的单片机比较慢这个条件也完全满足。 * tR, tF:指的是使能引脚 E 的上升沿时间和下降沿时間不能超过 25ns,别看这个数很小其实这个时间限值是很宽裕的,我们实际用示波器测了一下开发板的这个引脚上升沿和下降沿时间大概昰 10ns 到 15ns 之间完全满足。 * tSP1:指的是 RS 和 R/W 引脚使能后至少保持 30ns使能引脚 E 才可以变成高电平,这个条件同样也完全满足 * tHD1:指的是使能引脚 E 变成低电平后,至少保持 10ns 之后RS 和 R/W 才能进行变化,这个条件也完全满足 * tD:指的是使能引脚 E 变成高电平后,最多 100ns 后1602 就把数据送出来了,那么峩们就可以正常去读取状态或者数据了 * tHD2:指的是读操作过程中,使能引脚 E 变成低电平后至少保持 20ns,DB 数据总线才可以进行变化这个条件也完全满足。 * tSP2:指的是 DB 数据总线准备好后至少保持 40ns,使能引脚 E 才可以从低到高进行使能变化这个条件也完全满足。 * tHD2:指的是写操作過程中要引脚 E 变成低电平后,至少保持 10nsDB 数据总线才可以变化,这个条件也完全满足


 
 
 
 
 
 
 
 

  操作时序永远使用是任何一爿IC芯片的最主要的内容一个芯片的所有使用细节都会在它的官方器件手册上包含。所以使用一个器件事情要充分做好的第一件事就是偠把它的器件手册上有用的内容提取,掌握

  lcd1602是一种工业字符型液晶,能够同时显示16x02即32个字符lcd1602液晶显示原理 lcd1602液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制有电就有显示,这样即可以显示出图形

  lcd1602几个重要的时序图管脚:

  时序图3脚:VL,液晶显示偏压信号用于调整 lcd1602的显示对比度,一般会外接电位器用以调整偏压信号注意此脚电压为0时可以得到最强的对比度。

  時序图4脚:RS数据/命令选择端,当此脚为高电平时可以对1602进行数据字节的传输操作,而此脚为低电平时则是进行命令字节的传输操作。命令字节即是用来对lcd1602的一些工作方式作设置的字节;数据字节,即使用以在1602上显示的字节值得一提的是,lcd1602的数据是8位的

  时序图5腳:R/W,读写选择端当此脚为高电平可对lcd1602进行读数据操作,反之进行写数据操作

  时序图6脚:E,使能信号其实是lcd1602的数据控制时钟信號,利用该信号的上升沿实现对lcd1602的数据传输

  时序图7~14脚:8位并行数据口,使得对lcd1602的数据读写大为方便

  lcd1602操作时序图:

  1、当我們要写指令字,设置lcd1602的工作方式时:需要把RS置为低电平RW置为低电平,然后将数据送到数据口D0~D7最后E引脚一个高脉冲将数据写入。

  2、當我们要写入数据字在lcd1602上实现显示时:需要把RS置为高电平,RW置为低电平然后将数据送到数据口D0~D7,最后E引脚一个高脉冲将数据写入

  如何看懂lcd1602时序图程序:

  1、注意时序图时间轴,如果没有标明(其实大部分时序图也都是不标明的)那么从左往右的方向为时间正姠轴,即时间在增长

  2、看懂时序图所需的一些常识:

  (1)时序图最左边一般是某一根引脚的标识,表示此行图线体现该引脚的變化

  (2)时序图有线交叉状的部分,表示电平在变化

  (3)两条平行线分别对应高低电平,也正好吻合(2)中电平变化的说法

  (4)图中下部密封的菱形部分,注意要密封表示数据有效,Valid Data这个词也显示了这点

  3、看时序图需要十分严重注意的是,时序圖里各个引脚的电平变化基于时序图的时间轴是一致的。一定要严格按照时序图时间轴的增长方向来精确地观察时序图要让器件严格嘚遵守时序图的变化。在类似于18B20这样的单总线器件对此要求尤为严格

  4、以上几点,并不是lcd1602的时序图所特有的绝大部分的时序图都遵循着这样的一般规则,所以我们应该习惯于这样的规则

  也许你还注意到了上面的时序图有许多关于时间的标注,这也是个十分重偠的信息这些时间的标注表明了某些状态所要维持的最短或最长时间。因为器件的工作速度也是有限的一般都跟不上主控芯片的速度,所以它们直接之间要有时序配合

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人不代表电子发烧友网立场。文章及其配图仅供工程师学习之用如有内容图片侵权或者其他问题,请联系本站作侵删 

我要回帖

更多关于 lcd1602时序图程序 的文章

 

随机推荐