蓝桥杯单片机 -数码管显示

问题遇到的现象和发生背景

蓝桥杯DK107S单片机写数码管静态显示(共阳极)的时候只写了第一个数码管,但是烧进去八个都亮了,在中间加了一个Delay后好了,删掉Delay也是好的。这是为什么?

操作环境、软件版本等信息

Keil uVision5 stc-v6

参考GPT和自己的思路:

这可能是由于程序在不加Delay的情况下运行太快,导致闪烁或无法正常显示。加入Delay可以让程序等待一段时间,使数码管能够正常显示。建议可以尝试调整Delay的时间,看看是否能够达到更好的效果。另外,也可以检查一下程序逻辑是否有问题,是否正确地控制了各个数码管的显示。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

首先,你只写了第一个,是指写了第一个数码管显示的内容,如果没加判断,其他位没写显示内容并不代表不亮,单片机默认认为其他位为全亮,数码管并没坏,所以会亮,你可以选择写一个消影全关的函数,关掉不用的数码管显示。