请问大神们读取1602液晶显示的状态是什么意思

  • 朋朋
  • LV2工程师
  • |      2015-12-29 23:03:53
  • 浏览量 895
  • 回复:2

请问读取1602的状态是什么意思?有些什么状态,每个状态的输出是多少?

#define BUSY        0x80;
addr = read_state()&~BUSY;
这是什么意思?

  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:1
Eagleson 2015-12-30

这个指令用来读取LCD1602状态。对于单片机来说,LCD1602属于慢速设备。当单片机向其发送一个指令后,它将去执行这个指令。这时如果单片机再次发送下一条指令,由于LCD1602速度较慢,前一条指令还未执行完毕,它将不接受这新的指令,导致新的指令丢失。因此这条读忙指令可以用来判断LCD1602是否忙,能否接收单片机发来的指令。当BF=1,表示LCD1602正忙,不能接受单片机的指令;当BF=0,表示LCD1602空闲,可以接收单片机的指令。

通俗的讲就是这样的:

读状态是用来读1602是否在忙,意思是如果你给1602传输两个东西,1602要先吃完第一个,忙,此时不能吃第二个,等到第一个吃完了,变闲,通过这函数知道1602可以吃第二个了,,再发第二个给它。

书上有这么一句话是这样说的,由于单片机不是很快,只需要做简单延时即可,就是说,用比较慢的单片机时,你发第二个给1602时,1602早就把第一个吃完了。或者做简单延时,如1602吃第一个要用1 秒,那么我就延时3秒,它总吃完了吧,那么我就不用检测它是否忙而直接给它第二个,我个人理解是,在要求时间相当快而紧时,1602一旦吃完第一个就要吃第二个的准确要求下,就要用到这个读状态。一旦不忙,就让它继续忙。。。。。。。
0   回复
举报
发布
x
收藏成功!点击 我的收藏 查看收藏的全部帖子