无源蜂鸣器
这个很简单就是用管脚的翻转就可以。
以下是程序
- #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);
- }
- }
- }
|