蓝桥杯DK107S单片机写数码管静态显示(共阳极)的时候只写了第一个数码管,但是烧进去八个都亮了,在中间加了一个Delay后好了,删掉Delay也是好的。这是为什么?
Keil uVision5 stc-v6
参考GPT和自己的思路:
这可能是由于程序在不加Delay的情况下运行太快,导致闪烁或无法正常显示。加入Delay可以让程序等待一段时间,使数码管能够正常显示。建议可以尝试调整Delay的时间,看看是否能够达到更好的效果。另外,也可以检查一下程序逻辑是否有问题,是否正确地控制了各个数码管的显示。
不知道你这个问题是否已经解决, 如果还没有解决的话:首先,你只写了第一个,是指写了第一个数码管显示的内容,如果没加判断,其他位没写显示内容并不代表不亮,单片机默认认为其他位为全亮,数码管并没坏,所以会亮,你可以选择写一个消影全关的函数,关掉不用的数码管显示。