单片机中lcd12864的时序程序

单片机中lcd12864的时序程序,第1张

LZ 迷糊的只是 应该 先 En=1 再 P0=DATA, 还是 先 P0=DATA 再 En=1;

En 是 LCD 使能端,En=1 表示 使能 LCD *** 作,En=0 表示 禁止 LCD *** 作。

程序前面 已经 对 RS 跟 RW 进行了选择(写指令),如果 这时候 开启 En 使能端,那么 LCD 将 允许 该 *** 作(写指令),同时 将 数据端P0 的数据 读取到 LCD,这个过程的时间 是 ns 级别 的,程序还没来得及 将 DATA 的 数据 送到 P0 ,就已经发生了 数据被读取的 *** 作,也就是说,LCD 读进去的数据,并不是 LZ 想要的 DATA 数据,而是 之前 的数据,很可能是随机的。这将导致LCD 执行了错误 的命令,或是 无法识别命令。

所以 ,要在使能端 En=1 前,先将 数据 DATA 放到 数据口P0,再 使能 En,如此 LCD 就会 读取到 正确 的命令数据了。

变量里面存放的是纯数值,要先转换成能显示的字符格式(ASCII),才能送到LCD做显示,比较方便的方式,是借用标准库里的sprintf。输出ASCII格式到字符串array中,然後再经由LCD显示程序,将内容送到屏幕上。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/10988341.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-12
下一篇2023-05-12

发表评论

登录后才能评论

评论列表(0条)

    保存