怎么由芯片的时序图写程序?_单片机对1602液晶时序图编程设计

-回复 -浏览
楼主 2020-06-29 14:29:23
举报 只看此人 收藏本贴 楼主

单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。

如何看懂芯片的时序图,进行编程设计是单片机对外接芯片进行操作的基础。本文以1602为例,解析单片机对芯片时序图的编程思路。

1602液晶引脚功能

从下表中可以看到,单片机能控制的主要是RS.R/W和E三个引脚。怎么控制它们呢?这需要从1602的读写时序图中寻找答案。如何看懂时序图是关键,操作一个器件的精华就蕴藏在时序图中,看懂了时序,就很容易操控这个芯片了。

1602液晶引脚接口功能说明

1602写时序图

单片机控制1602液晶一般主要对其进行写操作,控制1602显示,很少从1602读数据,故而这里只给写操作时序图,如下图所示。

写操作时序

根据以上的时序图,解读1602的写操作时序。

(1)如果没有标明,那么从左往右的方向为时间正向轴,即时间在增长。

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

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

(4)如上图右上角所示,两条平行线分别对应高低电平。

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

以上几点,并不只是1602的时序图所特有的,其实绝大部分的时序图都遊循着这样的一般规则,,由此可归纳时序图读写方法:从上:到下,从左到右,高电平在上,低电平在下,高阻态在中间,双线表示可能高也可能低。视数据而定。交叉线表示状态的高低变化点,可以是高变低,也可以是低变高,也可以不变。

除了时序规则,还有关于时间的标注,这些时间的标注表明了某些状态所要维持的最短或最长时间,,因为器件的工作速度也是有限的,一般都跟不上主控芯片的速度,所以它们直接之间要有时序配合,如果用51系列单片机控制1602则不必关注时间,也能很好的配合1602的时序要求。因为51系列单片机的指令周期一般是US级别的,而1602所有的时序参数却是ns级别的。故而在程序里不用加延时程序。

基于1602写时序图的程序编写

由前述对1602写时序图的解读分析,可以这样理解1602的写操作:当要写命令字节的时候,时间由左往右,RS变为低电平,R/W变为低电平,注意看是RS的状态先变化完成。然后这时,DBO—DB7上数据进入有效阶段,接着E引脚有一个整脉冲的跳变,按着要维持时间最小值为tpw=400ns的E脉冲宽度,然后E引脚负跳变,RS电平变化,R/W电平变化。由此可写出写命令子函数的程序如下:

写数据子函数的程序如下

文章来自:电子发烧友 网络整理



我要推荐
转发到

友情链接