找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

关于51单片机液晶写入数据或者命令的时序问题

查看数: 4798 | 评论数: 12 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-8-1 21:38

正文摘要:

这是一个1602液晶的时序图 前提:向1602输入“写命令”,所以设置RS=0,RW=0,E=0;由于本时序延时的时间为纳秒级,远远小于指令周期,则未写入延时函数。 例程给的程序: RS=0; RW=0; DB=   ; E ...

回复

ID:381977 发表于 2018-8-2 14:01
按照我的理解:
RW是指示读写信号的,必须要有
E信号是用来锁存数据到LCD显示的下降沿信号,亦即你传输数据的时候只是传输到了lcd的控制器里面,并没有更新到LCD;
在写入的时候,LCD并不关心RS信号;
严格来说例程是不太严谨的,考虑到锁存过程中的干扰,应该在锁存后加一个RW=1的信号
你可以试试下面的写入操作
RW=0;
DB=   ;
E=1;
E=0;
RW=1;
也是可以的

评分

参与人数 1黑币 +40 收起 理由
admin + 40 回帖助人的奖励!

查看全部评分

ID:74868 发表于 2018-8-2 16:21
杨雪飞 发表于 2018-8-2 15:49
两个水桶,一个叫命令,一个叫数据。RW的0或者1是决定是往里放水还是从里边取水出来,RS的0或者1是决定这 ...

讲评头头是道
ID:74868 发表于 2018-8-2 16:19
51程序运行本身需要时间
ID:97554 发表于 2018-8-2 15:49
pinenut 发表于 2018-8-2 12:38
在传输数据的时候rs和rw不会变吗?可是时序图上rs和rw有变化啊

两个水桶,一个叫命令,一个叫数据。RW的0或者1是决定是往里放水还是从里边取水出来,RS的0或者1是决定这个取水或者放水是对命令水桶操作还是对数据水桶操作,这两个决定完了可以不用管了,然后EN就是下达的开始干的命令,然后开始在一个周期内,放多少水或者取多少水,周期结束,EN归0,这个周期就是八个脉冲,这八个脉冲分别对D0---D7操作,是给高还是低电平。

这就是一个操作过程,所以,RS   RW只是前边的决策,后边实施的时候他就不能再改变了。
ID:233756 发表于 2018-8-2 15:12
pinenut 发表于 2018-8-2 12:38
在传输数据的时候rs和rw不会变吗?可是时序图上rs和rw有变化啊

时序图是把整个发送过程描述出来,一个字节发送完后,程序再重新从发送那里开始,不久等于RS和RW 变化一次了么
ID:233756 发表于 2018-8-2 13:14
pinenut 发表于 2018-8-2 12:38
在传输数据的时候rs和rw不会变吗?可是时序图上rs和rw有变化啊

那是一个字节传输完了,你要调整到数据或者命令,又或者读或写的时候才会改变,只有E时每位都要改变一次的
ID:278709 发表于 2018-8-2 12:38
omikeai 发表于 2018-8-2 11:13
当你确定好是传数据还是命令,读还是写的时候,RS和RW是传输一个字节内不会改变的
而E是传输每一个位的时 ...

在传输数据的时候rs和rw不会变吗?可是时序图上rs和rw有变化啊
ID:382063 发表于 2018-8-2 11:48
个人感觉E是上升或下降沿触发的,类似于触发器,而别的端口则只是电平控制,只是一个0 1的信号

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

ID:233756 发表于 2018-8-2 11:13
当你确定好是传数据还是命令,读还是写的时候,RS和RW是传输一个字节内不会改变的
而E是传输每一个位的时候控制的

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

ID:97554 发表于 2018-8-2 08:48
我也是个老年初学者,只能按自己的理解跟你说这么多,不对的地方还请论坛大神斧正。

评分

参与人数 1黑币 +100 收起 理由
admin + 100 回帖助人的奖励!

查看全部评分

ID:97554 发表于 2018-8-2 08:46
RS =   ;判断命令还是数据
RW =  ;判断是读还是写

DB =       数据准备阶段,在寄存器。

EN = 1 ;开始写入或者读出;
EN = 0 ; 结束写入或者读出;

有的高速单片机需要加延时。
RS    RW为前置判断,所以时序提前,判断完之后就往下操作,无需再转换电平。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

ID:97554 发表于 2018-8-2 08:42
首先写命令写数据是一个子程序,会反复不断执行,是反复执行的。每执行一次RS判断是读写数据还是读写命令,判断完之后开始准备数据或指令的数据,EN=1时开始写,EN=0时结束,子程序执行完毕,下一次再读写重复这样的操作。所以不能再重复在子程序中写RS   RW。时序图是判断他们置高低还有先后的顺序,而且要按要求控制在时序图时间内完成操作才能正确写入。并不是让你按照时序图微妙不差的完成各个引脚的高低转换。

评分

参与人数 1黑币 +40 收起 理由
admin + 40 回帖助人的奖励!

查看全部评分

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表