单片机倒计时程序修改,懂的给个思路!

2020-01-30 14:15发布

我用网上的程序修改了一个倒计时程序,但是我的单位是秒倒计时的,假如倒计时5分钟时间,我的程序是从300秒开始慢慢倒计时下来的,我现在想把程序修改为“时”“分”“秒”,就像秒表那种,请懂的人给个思路,指点一二,谢谢!


void Timer0(void)     //定时器定时50毫秒
        {
         if(TF0==1)
                 {
                          t++;
                          TH0=0x3C;
                          TL0=0xB0;
                          TF0=0;
                 }                
        }

void data_tim(void)
        {
                Timer0();
                if (t==20)    // 计数20次为1秒
                        {
                                 a--;
                                t=0;
                                if(a==0)
                                {
                                        a=300;
                                }
                        }
        }
void data_in(void)     //  分离各位数据
        {
         HG=a/10;
         data_G =a%10;
         HS=HG/10;
              data_S =HG%10;
         HB=HS/10;
         data_B =HS%10;
         HQ=HB/10;
         data_Q =HB%10;
void display(void)     // 显示
        {
                 P2=0x20;
                 P0=tab[data_G];
                 delay(1);
                 P2=0x10;
                 P0=tab[data_S];
                 delay(1);
                 P2=0x08;
                 P0=tab[data_B];
                 delay(1);
                 P2=0x04;
                 P0=tab[data_Q];
void main(void)
   {
         while(1)
                 {      
                                         T0_init();
                       data_tim();
                       data_in();
                       display();
                }
        }
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。