很多资料里有介绍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 经调试,这种方式调不过。 我看过一些别人的程序,有些根本就不去检测“忙”,直接用个记数延时,请问真正的读“忙”是怎么样检测的呢?请给个子程序或完整的程序参考,谢谢! |