急!急!小白问一个关于1602显示的问题

2019-07-15 20:25发布

本帖最后由 dingwenke 于 2014-3-28 20:46 编辑

事情是这样的,小白编写了一个51单片机驱动1602LCD的小程序,希望显示的内容是:第一行,空两格+welcome!!  第二行,空一格+I am LCD。结果程序烧入单片机后显示第一行没有空格,但第二行正常,即第一行,welcome!!  第二行,空一格+I am LCD。(这个程序是分为三个文件,一个main.c文件,一个1602.c文件,一个1602.h文件,模块化编程嘛。。结果不成功)                 后来小白又重新编了一边,程序内容几乎和第一个程序完全相同,只是把所有东西都弄到main.c里面了,即只有一个main.c文件,令人意外的是这样就正确显示了。。鼓捣好几天也没有一点头绪,请大神们指点指点。。。小白把程序和1602的文档压缩成附件了。。第一次发帖,不知道合不合规矩
1602.zip 下载积分: 积分 -1 分
596.65 KB, 下载次数: 4, 下载积分: 积分 -1 分
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
dingwenke
2019-07-16 01:10
少年农民工 发表于 2014-3-28 21:03
这么奇葩的问题!!期待大神解答!!

不用了,我找到原因所在了,while(--i);和while(i--);这两者的问题。本来以来这两个语句在延时的时候差别很小,可以忽略的,所以我两次编的程序其中这地方有点不一样,开始没放心上,后来又试了下,就找到问题所在了。。。还有,我说的显示的时候空格显示不出,是因为延时不够的原因。。看到的同志们可以引以为戒     最后,while(--i);和while(i--)这两个语句差别怎么会这么大?希望有懂得大神解释下      唉,让这个问题纠结了好几天,结果居然是这么不起眼的地方出错误。。。。

一周热门 更多>