80C51单片机中关于末尾while(1)导致的问题,加了while(1)之后造成数码管乱码。
答案:1 悬赏:10 手机版
解决时间 2021-03-31 03:20
- 提问者网友:星軌
- 2021-03-30 07:22
80C51单片机中关于末尾while(1)导致的问题,加了while(1)之后造成数码管乱码。
最佳答案
- 五星知识达人网友:摆渡翁
- 2021-03-30 08:41
如果是动态扫描的数码管的话,这个程序显然是不能正确运行的,可以做如下修改:
#include
sbit dula = P2^6;
sbit wela = P2^7;
int main()
{
while(1)
{
P0 = 0xff;
dula = 1;
dula = 0;
P0 = 0xc0;
wela = 1;
wela = 0;
}
}追问嗯,是动态扫描的,修改过的程序没有问题,但是其中的原理还是不太清楚,我之前的代码错误错在哪里?追答动态扫描当然要“扫描”了,你之前的程序,没有扫描这个东东了,赋值完就停止了。最后的P0当然是最后一次的赋值也就是0xc0了。
#include
sbit dula = P2^6;
sbit wela = P2^7;
int main()
{
while(1)
{
P0 = 0xff;
dula = 1;
dula = 0;
P0 = 0xc0;
wela = 1;
wela = 0;
}
}追问嗯,是动态扫描的,修改过的程序没有问题,但是其中的原理还是不太清楚,我之前的代码错误错在哪里?追答动态扫描当然要“扫描”了,你之前的程序,没有扫描这个东东了,赋值完就停止了。最后的P0当然是最后一次的赋值也就是0xc0了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯