打印

请教1602液晶的读“忙”

[复制链接]
4297|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
182006|  楼主 | 2007-10-22 21:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
很多资料里有介绍1602在送指令或数据之前需要检测“忙”状态,资料上是这样讲的:

BF为忙碌信号(Busy Flag,简称BF),当BF为1时,不接收微机送来的数据或指令;当BR为0时,接收外部数据或指令,所以,在写数据或指令到LCD之前,必须查看BF是否为0;

请教大侠们:这个检测“忙”状态要掌握怎样的时序啊?下面的这种写法对吗?
DELAY:  MOV P1,#0FFH        ;P1为D0-D7数据端口。
        CLR RS
        SETB RW
        CLR E
        NOP
        SETB E 
        MOV A,P1
        JZ  DELAY
        RET               
经调试,这种方式调不过。
我看过一些别人的程序,有些根本就不去检测“忙”,直接用个记数延时,请问真正的读“忙”是怎么样检测的呢?请给个子程序或完整的程序参考,谢谢!

相关帖子

沙发
一级菜鸟| | 2007-10-22 21:08 | 只看该作者

先SETB E,然后读,然后CLR E

使用特权

评论回复
板凳
182006|  楼主 | 2007-10-22 21:25 | 只看该作者

是这样的吗?

DELAY:  MOV P1,#0FFH 
        SETB E
        CLR RS
        SETB RW
        MOV A,P1
        CLR E
        JZ  DELAY
        RET     

请问是这样的吗?   

使用特权

评论回复
地板
rightnow51| | 2007-10-22 23:16 | 只看该作者

这样

DELAY:  MOV P1,#0FFH 
        SETB E
        CLR RS
        SETB RW
        SETB E
        MOV A,P1
        CLR E
        JZ  DELAY
        RET     

使用特权

评论回复
5
wtfshxkj| | 2007-10-23 07:46 | 只看该作者

Datasheet

Lz其Datasheet上有具体的时序要求,照猫画虎就Okay了。

使用特权

评论回复
6
ayb_ice| | 2007-10-23 07:55 | 只看该作者

这个并口的时序很简单的。。。

用延时程序代替也可以。。。
要习惯看DATASHEET,那才是最正确的。。。

使用特权

评论回复
7
pannu| | 2007-10-23 13:03 | 只看该作者

试试这个程序

       DELAY:  MOV P1,#0FFH        ;P1为D0-D7数据端口。
        CLR E
        CLR RS
        SETB RW
        SETB E        
        MOV A,P1
        CLR E
        JB ACC.7,  DELAY
        RET           

使用特权

评论回复
8
keer_zu| | 2007-10-23 13:25 | 只看该作者

对了,看看数据手册

使用特权

评论回复
9
182006|  楼主 | 2007-10-23 14:02 | 只看该作者

可以了!


嘿嘿,调出来了,十分感谢各位大侠的指点!
我用的读“忙”子程序是:
BUZY:   MOV P1,#0FFH      
        CLR RS
        SETB RW
        SETB E
        CLR E
        JB P1.7,BUZY
        SETB RS
        CLR RW
        RET
总结:
        MOV A,P1
        CLR E
        JZ  DELAY
调的时候,用A 来判断P1.7状态不是太好,因为在P1.7为0的时候,有可能存在P1.1-6为非0状态,那么就会造成误判而形成死循环,所以我还是采用了位式判断:
         JB P1.7,BUZY
        SETB RS
        CLR RW
在此封贴!谢谢各位!


 

使用特权

评论回复
10
ayb_ice| | 2007-10-23 14:07 | 只看该作者

即使用A也只能用位测试指令。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

53

主题

127

帖子

0

粉丝