切换到宽版
  • 4714阅读
  • 42回复

[C51]求助工程师无法搞定 1602液晶按照教程例程都不能正常显示 修改无果 [复制链接]

上一主题 下一主题
离线cgrrty_zs

发帖
2
M币
-497
专家
0
粉丝
0
只看该作者 40楼 发表于: 06-23
把移屏函数放在延时函数后面或放在FOR函数外面就正常了,写完一个字符就直接移屏肯定看不到,0x80+0x50是加了16byte,所以看到8个空格,用仿真软件仿真一样出现你这样的问题,能显示一行的那说明硬件都是好的,代码的逻辑要加强
离线暗双魂

发帖
67
M币
1065
专家
0
粉丝
8
只看该作者 41楼 发表于: 06-25
d2xs<blockquote class="blockquote3"><div class="text" style="padding:15px;"><a href="http://bbs.mydigit.cn/u.php?username=cqqwing" target="_blank">cqqwing</a><span style="color:gray ">:</span>第一行是能正常显示的, 就是第二行不行, 这个也是初始化问题?<span style="color:gray "> (2018-06-15 08:31) </span><a href="http://bbs.mydigit.cn/job.php?action=topost&tid=2453145&pid=70424137" target="_blank" onclick="return checkUrl(this)" id="url_12"><img src="http://bbs.mydigit.cn/images/back.gif" border="0" onclick="if(this.parentNode.tagName!='A'&&this.width>=740) window.open('http://bbs.mydigit.cn/images/back.gif');" style="max-width:100%;" onload="if(is_ie6&&this.offsetWidth>740)this.width=740;" title="回 cqqwing 的帖子" alt="回 cqqwing 的帖子"></a><br></div></blockquote><br>1602的写指令需要大约2ms的时间来执行,在这2ms内写入任何指令或数据都是无效的!<br>1602的写数据需要大约100us的时间来执行,在这100us内写入任何指令或数据都是无效的!<br>所以需要读忙或直接用延时来解决!<br><br>说明一下,1602每条指令执行时间是不相同的,这里的2ms实际是常温下清屏指令(0x10)的大概执行时间,不同的液晶厂家可能会有差别。<br>如果考虑到液晶需要工作在低温环境下,这个时间会变得更长!<br>写数据需要的时间在50-100us左右!<br>不建议直接用延时的办法,白白浪费MCU的时间。<div id="alert_70424562" style="color:gray;margin-top:30px">[ 此帖被d2xs在2018-06-15 09:36重新编辑 ]</div>
      
高人啊,终于把我心中疑惑解开了,能否给个判忙程序

发帖
521
M币
903
专家
11
粉丝
15
只看该作者 42楼 发表于: 06-25
解决问题没有?没有的话我发一个测试程序给你,汇编语言的,用的单片机是stc15w408as
快速回复
限80 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个