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

📄 new.c

📁 电子钟的实例程序
💻 C
字号:
#include<reg51.h>
#include<intrins.h>

#define uchar unsigned char
int count;
uchar n,i;
uchar hour;
uchar minute;
uchar second;


uchar code  duan[]={0x3f,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6f};
uchar data sbuff[6];
   											 


void delay_20us(uchar a)
{  uchar time0,j;
for (j=0;j<a;j++)
{
 for (time0=0;time0<10;time0++) ;}
}

void lednew()
{ uchar m,*pointer;
   P3=0x7f;
   pointer=duan; 
   for(m=0;m<6;m++)
   {  P0=0;
   
     n=sbuff[i];
     i++;
   	 if((m==1)||(m==3))	//  m的作用小数点的显示
	 {  P0=(*(pointer+n))|0x80;}
    else P0=*(pointer+n);
   	 
       delay_20us(30);
	  P3=_cror_(P3,1);
	 if(i==6){i=0;}	 //等于六的必要性
	 }
	}

void timer0() interrupt 1 ///////////////////   定时一秒   
{  count++;

   if(count==100){second++;count=0;}
   if(second==60){minute++;second=0;}
   if(minute==60){hour++;minute=0;}
   if(hour==24){hour=0;}
  
}
/*先存入6个缓存区,在用显示函数依次把缓存中的数显示出来 注意算法*/
void main()
{  	 
    TMOD=0x02;
    TH0=0x9c;
	TL0=0x9c;
	EA=1;
	ET0=1;
    TR0=1;

   while(1){
	  sbuff[0]=hour/10;	
	  sbuff[1]=B;
	 
	  sbuff[2]=minute/10;
	  sbuff[3]=B;
	 
	  sbuff[4]=second/10;
	  sbuff[5]=B;
	  lednew();	
     
	  		}




  }
















 

⌨️ 快捷键说明

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