⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 count_disp.h

📁 数字钟的单片机实现
💻 H
字号:
//********************************
void delay10ms(uchar x)
{//延时10ms,自己确定
    uchar i,j;
    for(i=x;i>0;i--)
        for(j=20;j>0;j--);
}
//********************************
void display_time(uchar hour,uchar min,uchar sec)
{//数码管动态显示函数,显示时、分、秒
    uchar hour1,hour0,min1,min0,sec1,sec0,temp;
    hour1=hour/10;
    hour0=hour%10;
	min1=min/10;
    min0=min%10;
	sec1=sec/10;
    sec0=sec%10;
	if(we==0){temp=hour1;}
	else if(we==1){temp=hour0;}
	else if(we==2){temp=min1;}
	else if(we==3){temp=min0;}
	else if(we==4){temp=sec1;}
	else {temp=sec0;}

    P2=wei[we];
    if(we==1||we==3){P0=tab2[temp];}
    else {P0=tab1[temp];}
    delay10ms(50);
	we++;
	if(we==6){we=0;}
}
//********************************
void s_count()
{//动态显示秒表
    uchar swec1,swec0,swws2,swws1,swws0,temp;
    swec1=swec/10;
    swec0=swec%10;
    swws2=swws/100;
	swws1=swws/10%10;
    swws0=swws%10;
	if(we==1){temp=swec1;}
	else if(we==2){temp=swec0;}
	else if(we==3){temp=swws2;}
	else if(we==4){temp=swws1;}
    else if(we==5){temp=swws0;}
    else {};

    if(s_on==0)
    {
        P2=wei[we];
        if(we==0){P0=0x71;}
        else if(we==2){P0=tab2[temp];}
        else {P0=tab1[temp];}
        delay10ms(40);
    	we++;
    	if(we==6){we=0;}
    }
    else
    {
        P2=wei[we];
        if(we==0){P0=0x80;}
        else if(we==2){P0=tab2[temp];}
        else {P0=tab1[temp];}
        delay10ms(24);
    	we++;
    	if(we==6){we=0;}
    }
}
//********************************/
void T1_srv() interrupt 3
{
     TH1=(65536-10000)/256;
     TL1=(65536-10000)%256;
     swws++;
     if(swws==100)
     {
         swws=0;
         swec++;
         if(swec==60)
         {
             swec=0;
         }
     }
}
//********************************/
void T0_srv() interrupt 1
{
     TH0=(65536-10000)/256;
     TL0=(65536-10000)%256;
     count++;
     if(count==80)
     {
          if(ring_up==1)
          {
             ring_time++;
             ring_flag=1;
             if(ring_time==60)
             {ring_flag=0;ring_time=0;ring_up=0;}
          }
          count=0;
          sec++;
          if(sec==60)
          {
               sec=0;
               min++;
               if(min==60)
               {
                    min=0;
                    hour++;
                   if(hour==24)
                   {
                       hour=0;       
                   }
               }
          }
     }
}
//***********************************************

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -