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

📄 text1.c

📁 单片机写的程序都含有Protues仿真结果
💻 C
字号:

 #include<REG51.H>
#define	uchar unsigned char;
#define	uint unsigned int;
uchar tcount,count=0,second=0,minute=0,hour=0;
uint a=0,b=0,c=0,i,j;
uchar SG2[]={0X00,0X10,0X20,0X30,0X40,0X50};
uchar dispbuf[6];
sbit key1=P3^5;
sbit key2=P3^4;
sbit key3=P3^3;
void main(void)  
{ 
  TMOD=0x01; 
  TH0=(65536-2500)/256; 
  TL0=(65536-2500)%256; 
  TR0=1; 
  ET0=1;
   EA=1;
   while(1)
   	{
	         if(key1==0) 
        { 
          for(i=5;i>0;i--) 
          for(j=248;j>0;j--); 
          if(key1==0) 
            { 
              second++; 
              if(second==60) 
                { 
                  second=0; 
                } 
              dispbuf[0]=second%10; 
              dispbuf[1]=second/10; 
              while(key1==0); 
            } 
        } 
      if(key2==0) 
        { 
          for(i=5;i>0;i--) 
          for(j=248;j>0;j--); 
          if(key2==0) 
            { 
              minute++; 
              if(minute==60) 
                { 
                  minute=0; 
                } 
              dispbuf[2]=minute%10; 
              dispbuf[3]=minute/10; 
              while(key2==0); 
            } 
        } 
      if(key3==0) 
        { 
          for(i=5;i>0;i--) 
          for(j=248;j>0;j--); 
          if(key3==0) 
            { 
              hour++; 
              if(hour==24) 
                { 
                  hour=0; 
                } 
              dispbuf[4]=hour%10; 
              dispbuf[5]=hour/10; 
              while(key3==0); 
            } 
        } 


	   }
}
void t0(void) interrupt 1 using 0
{ TH0=(65536-2500)/256; 
  TL0=(65536-2500)%256;
   dispbuf[0]=second%10;
 	 dispbuf[1]=second/10;
	 dispbuf[2]=minute%10;
 	 dispbuf[3]=minute/10;
	 dispbuf[4]=hour%10;
 	 dispbuf[5]=hour/10;


  tcount++;
  if(tcount==400)
      {tcount=0;
   	   second++;
       if(second==60)
  	     {second=0;
	      minute++;
	     if(minute==60)
	        {minute=0;
	        hour++;
	        if(hour==24)
	           {hour=0;}
			 }
	      }
        }

P1=(dispbuf[count])|(SG2[count]);
	count++;
	if(count==6)
	{count=0;}
 }

⌨️ 快捷键说明

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