在51中执行这样的程序会有什么结果?数码管到底是亮还是灭?

2025-02-25 19:46:52
推荐回答(3个)
回答1:

首先是数码管的连接方式不确定。其次因为这样的亮灭时间间隔较短,所以会导致余辉效应,让你感觉到一直是亮的,如果你用高速相机(快门小于于晶振周期)是可以观察到的。最后,要确定是亮灭,直接去掉while语句就可以清晰判断
P0=0xff; //数码管灭
P0=0x00; //数码上所有“线条”和“点”亮
的功能

回答2:

P0=0x00; 数码管各段亮,P0=0xff; 数码管各段灭,顺序变化时没用的

P0=0xff; //数码管灭
P0=0x00
P0=0xff; //数码管灭
P0=0x00
P0=0xff; //数码管灭
P0=0x00
.
.
.
while(1)循环执行

中间间隔时间太短,灯有余辉,眼睛看事物每秒超过24帧,就会觉得是连贯的,

回答3:

因为速度太快了,
P0=0xff; //数码管灭
延时
P0=0x00; //数码上所有“线条”和“点”亮
延时

加上延时就好了