关于while 和 do while 在单片机上消除鬼影的作用

2019-07-15 16:10发布

我在学习lcd1602时遇到了一些有趣的现象。首先,我是运用while语句写了这段代码:
while( sta & 0x80)
{
  LCD1602_E = 1;
sta  =  LCD1602_DB ;
LCD1602_E = 0;
}

但是出现了鬼影,而且只能显示单行的信息,如图:
但是我用了do while 之后,不但鬼影消失了,还可以显示两行,感觉不科学啊!哪位大神可以解释一些其中的原理,谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。