打印

驱动液晶LM016L的问题

[复制链接]
2466|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mhjerry|  楼主 | 2011-7-7 11:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 mhjerry 于 2011-7-8 20:43 编辑

为什么资料上说需要40us才能完成此过程,而我仅仅一个NOP,NOP不是一个机器周期吗,我用的是51,12MHZ,那就是1us了,就解决问题了,纠结中~~~
判断液晶是否处于忙状态,即判断BF的值。根据资料:
“当RS=0,R/W=1是执行读取的操作,这时候,LCM的忙碌标志BF将放置在数据总线上的D7位。。。整个执行过程需要40us。”
下面是我的代码:
 

CHECK_BF:
PUSH ACC
BUSY: CLR RS ;RS清零
SETB RW   ;RW置为1
SETB EN    ;使能EN
NOP       ;注意延时(去掉就不可以正常工作,我纳闷为什么这里延时1US就OK了?)
MOV A,LCD ;LCD代表液晶的8位值(前有语句LCD  EQU  P2)
CLR EN
JB ACC.7,BUSY
CALL DELAY
POP ACC
RET
;============================================================

电路图:

相关帖子

沙发
mhjerry|  楼主 | 2011-7-7 18:06 | 只看该作者
NOP去掉就不行了

使用特权

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

本版积分规则

个人签名:本人回复,均代表个人观点。 个人经验不错,如有错误,敬请指教!

0

主题

103

帖子

1

粉丝