这是干嘛的 void timer1() interrupt 3 //取得并显示日历和时间 { TH1=0x3C; TL1=0xB0; // TR1=1; count1++; if(count1==10) { count1=0; buzzer=!buzzer; } }
时间: 2024-04-22 17:23:58 浏览: 153
基于C51单片机+PCF8591(AD0和AD1) 2路AD数码管显示 I2C接口软件例程源码+开发板原理图
这是一个定时器1的中断服务函数,其中的中断号为3。它的主要作用是定时器溢出计数,每当计数器count1的值达到10时,就将count1清零,并切换蜂鸣器的状态。具体实现过程是:
1. 设置定时器1的初值TH1为0x3C,TL1为0xB0,即定时器计数器初值为15536,计数器每隔50us加1。
2. 当定时器计数器溢出时,触发定时器1的中断服务函数。
3. 在中断服务函数中,将计数器count1加1,如果count1的值达到了10,就将计数器清零,并切换蜂鸣器的状态。
4. 中断服务函数执行完毕后,程序返回到主函数继续执行其他操作。
阅读全文