📄 60timer1.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 + -