单片机 数码管 显示时分秒
voidt1()interrupt3//定时器1中断,中断标号计算:y=8*x+3(y是十进制中断向量地址x是中断标号){staticuint32s=0,m=0,h=0;...
void t1() interrupt 3 //定时器1中断 ,中断标号计算:y=8* x+3 (y是十进制中断向量地址x是中断标号)
{
static uint32 s=0,m=0,h=0;
TH1=(65536-1000)/256;
TL1=(65536-1000)%256;
counter++;
if(counter==1000)
{
counter=0;
s++;
a[0]=s%10; //个位
a[1]=s/10%10; //十位
if(s==60)
{
s=0;
m++;
a[2]=m/100%10; //百位
a[3]=m/1000%10; //千位
if(m==60)
{
m=0;
h++;
a[4]=h/10000%10; //万位
a[5]=h/100000%10; //十万位
if(h==24)
{
h=0;
}
}
}
}
refresh_led(); //对6个数码1ms刷新一次
}
为什么我用仿真软件,仿真只能显示秒位。求大侠指点 展开
{
static uint32 s=0,m=0,h=0;
TH1=(65536-1000)/256;
TL1=(65536-1000)%256;
counter++;
if(counter==1000)
{
counter=0;
s++;
a[0]=s%10; //个位
a[1]=s/10%10; //十位
if(s==60)
{
s=0;
m++;
a[2]=m/100%10; //百位
a[3]=m/1000%10; //千位
if(m==60)
{
m=0;
h++;
a[4]=h/10000%10; //万位
a[5]=h/100000%10; //十万位
if(h==24)
{
h=0;
}
}
}
}
refresh_led(); //对6个数码1ms刷新一次
}
为什么我用仿真软件,仿真只能显示秒位。求大侠指点 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询