无源蜂鸣器
这个很简单就是用管脚的翻转就可以。
以下是程序
#include <avr/io.h>
#define uchar unsigned char
#define uint unsigned int
//延时函数
void s_ms(unsigned int t)
{
uint m;
for(;t>1;t--)
{
for(m=0;m<100;m++);
}
}
//主函数
int main(void)
{
uint i;
DDRC=0xff; //端口C为输出
PORTC=0xff;
while(1)
{
s_ms(12000); //间隔延时
for(i=0;i<500;i++) //在端口c产生音频信号
{
PORTC|=0x80; //端口=1
s_ms(3); //延时
PORTC&=~0x80; //端口=0
s_ms(3);
}
}
}
|