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

📄 60timer1.c

📁 60计数器
💻 C
字号:
#include<reg51.h>
#define TH_M1 (65636-50000)/256
#define TL_M1 (65636-50000)%256
#define TH_M2 256-250
#define TL_M2 256-250
int count_t0=0;
int count_t1=0;
int second=0;
int savesecond;
char count_PB0=0;
#define sm P1
sbit PB0=P3^2;
sbit PB1=P3^3;
#define LED P2
int t1=0x00;
char tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x83,0xf8,0x80,0x98};
//int disp[];
main()
{
 IE=0x8f;
 //IP=0x02;
 TCON=0x00;
 TMOD=0x21;
 TH0=TH_M1;
 TL0=TL_M1;
 TH1=TH_M2;
 TH1=TH_M2;
 TR0=1;
 TR1=1;
 //LED=1;
 while(1);
}
void timer0(void)interrupt 1
{
 TH0=TH_M1;
 TL0=TL_M1;
 if(++count_t0==20)
 { 
  count_t0=0;
  second++;
  if(second==60)
     second=0;
   //disp[1]=second%10;
  // disp[0]=second/10;
 }

}
void timer1(void)interrupt 3
{
  TH1=TH_M2;
  TH1=TH_M2;
  
  if(++count_t1==32)
  {
    t1++;
    if(t1==2)
    t1=0x00;
	switch(t1)
	{
	 case 0x01:
       {
	   sm=0x01;
       LED=tab[second%10];
	   }
	   break;
     case 0x00:
       {
	   sm=0x02;
       LED=tab[second/10];
	   }
	   break;
	 default:
	   break;
     
	}
	count_t1=0;
  }
}
void PB0m(void)interrupt 0
{
 while(!PB0);

   TR0=~TR0;


}

 void PB1m(void)interrupt 2
 { 
   while(!PB1)//////抖动是怎么一回事
   second=0; 
 }

⌨️ 快捷键说明

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