51单片机综合学习系统之继电器、蜂鸣器篇
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
51 单片机综合学习系统之继电器、蜂鸣器篇 《电子制作》 2007 年 12 月 转自
9.4 蜂鸣器实验 在很多的单片机系统中除了显示器件外经常还有发声器件,最常见的发声器件是蜂鸣器。蜂鸣器一般用于一些要 求不高的声音报警及按键操作提示音等场合。蜂鸣器的形状一般如图 9-11 所示。虽然它有自己的固有频率,但是它也 可以被加以不同频率的方波,从而编制一些简单的音乐。
图 9-11 蜂鸣器实物图 9.4.1 实例功能 本实例就是来实现蜂鸣器发声,通过本小节的实验,可以使读者熟练掌握蜂鸣器的应用。
图 9-12 蜂鸣器实验演示图
9.4.2 器件和原理 蜂鸣器和普通扬声器相比,最重要一个特点是只要按照极性要求加上合适的直流电压,就可以发出固有频率的声 音,因此使用起来比扬声器简单。由此可知,蜂鸣器的控制和 LED 的控制对单片机而言是没有区别的。 9.4.3 硬件电路 虽然蜂鸣器的控制和 LED 的控制对于单片机是一样的,但在外围硬件电路上却有所不同,因为蜂鸣器是一个感性 负载,一般不建议用单片机 I/O 口直接对它进行操作,所以最好加个驱动三极管,在要求较高的场合还会加上反相保 护二极管。本例实验只为了达到学习目的并没有加反相二极管保护,硬件电路可以参考下图 9-13。
图 9-13 硬件原理图 通过硬件原理图可知,图中三极管用了 PNP 型,所以要使蜂鸣器发声只要给单片机 P3.6 置低电平就可,由此可以 为下文的程序编写提供关键参考。 9.4.4 程序设计 01#include
06{ 07BUZZER = 0; 08while(1); 09} 9.4.5 代码分析 序号 1:包含 51 单片机寄存器定义地头文件 序号 3:位定义蜂鸣器为 P3.7 序号 5-9:main 程序 序号 7:使 P3.7 端口输出电平 0,蜂鸣器发声 序号 8:循环等待 9.5 继电器实验 在现代自动控制设备中,都存在一个电子电路(弱电)与电气电路(强电)的互相连接问题,一方面要使电子电 路的控制信号能够控制电气电路的执行元件(如电动机、电磁铁、电灯等),另一方面又要为电子线路的电气电路提 供良好的电隔离,以保护电子电路和人身的安全。继电器便能完成这一桥梁作用。 9.5.1 实例功能 本实例通过单片机来控制继电器吸合、释放,读者可以熟练掌握继电器的使用方法。在本例中读者也可以用继电 器的常开、常闭触点控制电灯的亮灭,实现“以小控大”。
图 9-14 继电器实验演示图 9.5.2 器件和原理 继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自 动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、 转换电路等作用。在大多数的情况下,继电器就是一个电磁铁,这个电磁铁的衔铁可以闭合或断开一个或数个接触点。 当电磁铁的绕组中有电流通过时,衔铁被电磁铁吸引,因而就改变了触点的状态。继电器一般可以分为电磁式继电器、 热敏干簧继电器、固态继电器等。本实验板上配置的继电器如图 9-15。
图 9-15 继电器实物图
继电器也是属于感性器件, 所以不能用单片机的 I/O 口直接来控制, 且要在三极管等控制器件上加反相保护电路。 一般实验中都是单片机通过一个 PNP 型三极管,把三极管作为电子开关来驱动继电器,继电器的开和关完全由三极管 的基极电平进行控制。当三极管基极为高电平,PNP 型三极管截止,这时继电器不工作;反之为低电平的话,PNP 型三 极管导通,继电器得电吸合。 9.5.3 硬件电路 继电器实验原理图可以参考下图 9-16。
图 9-16 硬件原理图 9.5.4 程序设计 01#include
07unsigned char i,j; 08for(i=0;i<255;i++) 09for(j=0;j<255;j++); 10} 11 12void main() 13{ 14while(1) 15{ 16RELAY = 0; 17Delay(); 18RELAY = 1; 19Delay(); 20} 21} 8.5.5 代码分析 序号 1:包含 51 单片机寄存器定义的头文件 序号 3:位定义继电器为 I/O 口 P1.3 序号 5-10:一个延时函数,具体延长的时间和使用的晶体相关 序号 7:定义两个无符号变量 i,j 序号 8-9:通过 i,j 的自加嵌套循环执行,达到延时目的 序号 12-21:main 函数 序号 14:进入主程序的 while 循环 序号 16:继电器吸合
序号 17:调用延时程序 序号 18:继电器释放 序号 19:调用延时程序