51单片机 驱动有源/无源蜂鸣器+Proteus仿真
51单片机 驱动有源/无源蜂鸣器+Proteus仿真
🔨电路搭建
- 🌿采用NPN管驱动有源蜂鸣器电路

- 🌿采用PNP管驱动有源蜂鸣器电路

- 🌿采用PNP管驱动无源蜂鸣器

- 🌿采用NPN管驱动无源蜂鸣器

- 📋Proteus元器件列表

📝实例代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| /\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
\* 实验现象:下载程序后"蜂鸣器模块"的蜂鸣器发声 P2^2 注意事项:
\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
\*/
#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器 #include<intrins.h> //因为要用到左右移函数,所以加入这个头文件
typedef unsigned int u16; //对数据类型进行声明定义 typedef unsigned char u8;
sbit beep=P2^2; /\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* \* 函 数 名 : delay \* 函数功能 : 延时函数,i=1时,大约延时10us \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/ void delay(u16 i) { while(i--); }
/\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* \* 函 数 名 : main \* 函数功能 : 主函数 \* 输 入 : 无 \* 输 出 : 无 \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/ void main() { while(1) { beep=~beep; delay(100); //延时大约1ms 通过修改此延时时间达到不同的发声效果 } }
|
🏳🌈使用蜂鸣器注意事项
- 蜂鸣器默认供电电压是12V需要改为5V供电,否则蜂鸣器仿真不响。

📑蜂鸣器选型

📚仿真资源和程序源码
1 2 3
| 链接:https://pan.baidu.com/s/1gOWe7rZwEHC6uQ38H7cp\_w 提取码:20ig
|
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!