給你一個適合這個電路的演示程序試試
#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);
}
} |