给你一个适合这个电路的演示程序试试
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit Buzzer=P2^4;
/*-------------------------------
1ms延时程序(12MHz 12T)
-------------------------------*/
void delayms(uint k)
{
uint i,j;
for(i=k;i>0;i--)
for(j=114;j>0;j--);
}
/*---------------------------
无源蜂鸣器驱动程序(12MHz 12T)
---------------------------*/
void BUZZER(uint x) //0.24ms半周期蜂鸣器程序
{
uchar t;
while(x--)
{
Buzzer=~Buzzer; //蜂鸣器谐振频率2048Hz
for(t=0;t<28;t++); //0.24ms半周期=2083Hz
}
Buzzer=1; //复位
}
void main()
{
while(1)
{
BUZZER(500);
delayms(500);
}
} |