数码管个为位总是从5开始倒计时,之后才正常,十位显示不全
我想看看你写的程序!可以就发我一下你的代码和你的那个硬件图吧。
然后下面这个程序你可以参考一下。是符合我的硬件图的。
#include <reg51.h>
unsigned char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void show(unsigned char n);
void delay(unsigned int k);
void main()
{
unsigned char i;
int j;
while(1)
{
for(i=60;j=60,i>0;i--)
while(j--)
show(i);
}
}
void show(unsigned char n)
{
P0=table[n%10];
P1=0x01;
delay(10);
P1=0xFF;
P0=table[n/10];
P1=0x02;
delay(10);
P1=0xFF;
}
void delay(unsigned int k)
{
unsigned char i,j;
for(i=0;i<100;i++)
for(j=0;j<k;j++);
}
追问感谢解答,我那个问题已经解决了,我用的定时器计时的。
追答嗯,用定时器精准些。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2020-10-28
个位数能够显示正常,那么就说明十位数的处理代码出了问题;
给出代码看看吧
本回答被网友采纳