学51单片机遇到点问题,希望大家能帮帮我。

在学习51单片机的1602LCD显示实验时,
写函数的延时函数时间如果是:delay_10us(1),会导致显示出现错误。
如下:

img


显示出现错误

img


如果将delay_10us(1)改为delay_10us(100),则图像显示正常。

img


img


可是我看这里的时序图,它的间隔时间都没有超过1us的,我不太明白为什么会出现这样的错误。希望大家能够帮帮我,找找问题。

img


以下是我的完整代码。

img


img

    学习的是下面的实验。

img

这种延时都是非精确延时,如果要确定是不是时间不够引起的话可以去买个逻辑分析仪,测量下确切的时间,网上很便宜的