51单片机进阶篇
---IO控制之蜂鸣器
本文作者:Cepark
更新时间:2010/07/15
作者博客:
上一节课,我们学习了如何使用实验板控制LED。
在本次课中,我们将学习蜂鸣器的使用。
我们常用的蜂鸣器是一种直流电压驱动的电子器件,常用的蜂鸣器有无源和有源之分。
两种蜂鸣器的硬件驱动电阻大致相同,只是控制方法略有区别。
有源蜂鸣器只要在其两端加一点的工作电压即可工作,而无源蜂鸣器需要加一定频率的波形才可以发声,通过设置占空比和周期可以使无源蜂鸣器发出不同的声音。
有源蜂鸣器和无源蜂鸣器的外观相似,不过实际中还是可以区分的。
有源蜂鸣器高度一般是9mm,而无源蜂鸣器高度为8mm。
将两种蜂鸣器的引脚郡朝上放置时,可以看出有绿色电路板的一种是无源蜂鸣器,没有电路板而用黑胶封闭的一种是有源蜂鸣器。
判断有源蜂鸣器和无源蜂鸣器,还可以用万用表电阻档Rxl档测试:用黑表笔接蜂鸣器 "+"引脚,红表笔在另一引脚上来回碰触,如果触发出咔、咔声的且电阻只有8Ω(或16Ω)的是无源蜂鸣器;如果能发出持续声音的,且电阻在几百欧以上的,是有源蜂鸣器。
我们实验板上使用的是5v的有源蜂鸣器。
使用单片机进行蜂鸣器的控制时需要编写的程序是比较简单的。
在这一课中,我们简单讲解一下其程序编写和硬件的控制电路。
一、程序编写
上图是CEPARK51实验板的蜂鸣器模块原理图。
可见在三极管的基极给一个低电平(0V)的时候,三极管将导通,此时蜂鸣器将发声。
原理图清楚以后程序的编写就变得非常容易。
如下:
/**********************************************************************
* 文件名称: main.c/蜂鸣器发声
* 程序作者: kidcao1987
* 程序版本: V1.0
* 编制日期: 2010/07/15
* 功能描述: 蜂鸣器发声
* 编译器:KEIL C51
* 芯片:STC89C52,外部11.0592MHZ晶振
* 技术支持:
* Cepark暑期51在线免费培训用程序:
/forum-116-1.html
**********************************************************************/
#include <REG52.H>
sbit beep = P1^7; //位定义
void main(void) //主函数
{
beep =0; //使蜂鸣器发声
while(1); //程序循环
}
二、硬件驱动电路的分析
由于单片机的IO驱动能力有限(10MA左右),所以若是直接将蜂鸣器接至单片机的IO,上电以后很会将单片机的IO烧坏。
所以一般都是通过三极管的放大作用来控制。
电阻R4的作用是限流,使通过单片机的IO电流不至于过大而烧坏单片机。
三极管8550的作用是放大,8550是PNP型三极管,可以使用9012等其他型号的三极管代替。
放大电路对大家并不陌生,这里讨论一下蜂鸣器的控制电路在选用三极管的使用为什么用PNP而不是用NPN型。
因为51单片机在上电的时候IO引脚默认是高电平,而在IO为高的情况下,PNP三极管8550的不导通的,也就是蜂鸣器不工作。
若是三极管是NPN型,在IO为高电平的时候上电蜂鸣器即工作,也就是说实验板一上电,蜂鸣器就会发出声音,这将是非常不方便的。
作业:
1、结合上一节课说讲的延时函数,使实验板上的蜂鸣器以0.5秒的间隔发声,即响0.5秒,
停0.5秒,依次循环。
2、试画出使用NPN三极管驱动蜂鸣器的电路,并结合上面的分析理解在51实验板上不实
用NPN驱动蜂鸣器的原因。
1、电子园网站简介
CEPARK 电子园是一个以讨论电源、单片机、MCU、DSP、嵌入式软件、电子DIY等电子技术的开放社区网站。
CEPARK电子园的宗旨是给所有爱好电子的朋友提供一个自由、开放、免费的交流空间,并通过零利润的公益助学活动,让爱好电子的朋友能用相当低廉的价格开始学习电子,而CEPARK电子园的论坛、“家园”、资源中心、博客、群组等功能,又为您提供了开放的学习、讨论、请教求助的空间和渠道。
CEPARK电子园的目标是建成中国最好的电子技术开放共享社区,为推动中国电子工程师终生学习以及电子产品研发作出贡献。
为广大网友提供一个自由、开放、专业的技术交流空间,并努力与广大CEPARK电子园的朋友们一起建设一个更轻松的、更惬意、更完善的技术、生活交流家园!
CEPARK电子园创办于2008年。
在短短的时间里,因其便利的学习方式和货真价实的助学产品,获得了广大电子爱好者的支持和帮助,并对网站的内容建设提出了建设性的意见和建议。
CEPARK电子网今天已经成为获得了Alexa排名15万以内、论坛每天的平均在线交流人数超过300多人、每天平均PaveView超过5万次、访问独立IP数超过1万的活跃社区。
2、电子园分站点
电子园论坛
电子园百科
电子园商城
电子园家园
电子园网址
3、电子园子站点
51单片机学习网
USB开发学习网
CAN总线学习网
A VR单片机学习网
ARM开发学习网
FTPA开发学习网
DIY开发学习网
GPS开发学习网
GUI开发学习网
STM32开发学习网 EDA软件学习网
DSP开发学习网
PIC单片机学习网
电源技术专区 射频技术专区
医疗电子专区 汽车电子专区 消费电子专区
更多子站建设中,敬请关注!。