51单片机蜂鸣器代码(用定时器)
时间: 2023-07-18 11:11:24 浏览: 116
门铃设计_51单片机_蜂鸣器;定时器_
5星 · 资源好评率100%
好的,以下是51单片机使用定时器控制蜂鸣器的代码:
```c
#include<reg52.h> //头文件
sbit beep=P3^5; //定义蜂鸣器接口
void delay(unsigned int xms) //延时函数
{
unsigned int i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void main()
{
TMOD=0x01; //定时器T0工作在模式1
TH0=0xFC; //装定时初值
TL0=0x66;
ET0=1; //打开定时器T0中断
EA=1; //打开总中断
TR0=1; //启动定时器T0
while(1)
{
beep=1; //蜂鸣器响
delay(500); //持续一段时间
beep=0; //蜂鸣器不响
delay(500); //间隔一段时间
}
}
void timer0() interrupt 1 //定时器T0中断处理函数
{
TH0=0xFC; //重新赋初值
TL0=0x66;
beep=!beep; //每次中断时翻转蜂鸣器状态
}
```
这段代码使用定时器T0产生中断,每次中断时翻转蜂鸣器状态,从而控制蜂鸣器的响与不响。同时,使用延时函数控制蜂鸣器的持续时间和间隔时间。这是一种非常简单且常用的控制蜂鸣器的方法。
阅读全文