void Timer0Init(void)
{
AUXR |= 0x80; //定时器时钟1T模式
TMOD = 0x04; //设置定时器模式,计数模式
TL0 = 0xff; //计数计满就会进入中断,脉冲每来一次就会进入一次中断
TH0 = 0xff; //
TF0 = 0; //清除TF0标志
TR0 = 1; //定时器0开始计时
}
void Timer1Init(void) //2毫秒@11.0592MHz
{
AUXR |= 0x40; //定时器时钟1T模式
TL1 = 0x9A; //设置定时初值
TH1 = 0xA9; //设置定时初值
TF1 = 0; //清除TF1标志
TR1 = 1; //定时器1开始计时
}
void timer1() interrupt 1
{
pluse++; //计算555产生的脉冲数
}
void timer0() interrupt 3
{
i++; //累加i
TH0=0xff;
TL0=0xff;
if(i>=500) //500个2ms就是1s
{
i=0;
count=pluse;
pluse=0; //置零,重新计算
}
TL1 = 0x9A; //重新设置定时初值
TH1 = 0xA9; //
}
蓝桥杯笔记之 NE555定时器(十二)
最新推荐文章于 2024-08-25 15:44:37 发布