- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5.10 蜂鸣器和音乐发生器
PAGE
PAGE 1
任务5.10 蜂鸣器的原理和驱动
5.9.1 任务介绍
在实际应用中,经常利用利用单片机控制蜂鸣器产生各种音乐用于报警和提示,如手机的铃声、时钟的音乐报时和按键提示音等。
本节的任务是:
通过单片机I/O控制开发板上的蜂鸣器演奏音乐。
5.9.2 知识准备
蜂鸣器的原理和分类
蜂鸣器按结构分有压电式蜂鸣器和电磁式蜂鸣器两种类型。压电蜂鸣器内部有压电陶瓷和金属片,是利用压电陶瓷的压电效应,带动金属片的振动来发声,频率在1KHz~10KHz。电磁式蜂鸣器内部有磁铁和线圈,振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声,频率在0.5KHz~5KHz。压电蜂鸣器结构简单耐用,声音大,多用于报警器等设备。电磁蜂鸣器音色好,多用于语音、音乐等设备。
蜂鸣器按其是否带有振荡器又分为有源和无源两种类型。有源蜂鸣器内部带有振荡器,只需要在其供电端加上额定直流电压,其内部的振荡器就可以产生固定频率的信号,驱动蜂鸣器发出声音。无源蜂鸣器内部没有振荡器,需要在其供电端上加上高低不断变化的电信号
才可以驱动发出声音。
开发板上的蜂鸣器属于电磁式无源蜂鸣器。
开发板蜂鸣器驱动电路
开发板蜂鸣器驱动电路如图5.10.1所示。
5.10.1 开发板蜂鸣器驱动电路
蜂鸣器的驱动和继电器相似,需要几十mA的电流,通常借助于三极管来作为中间功率驱动。图5.10.1中,蜂鸣器接在PNP三极管(8550)的集电极上,单片机I/O接三极管的基极,电阻R10是三极管基极限流电阻,电阻R11是上拉电阻。蜂鸣器内部线圈是感性器件,二极管D10并联在蜂鸣器两端,起到限制反峰电压的作用。
3、无源蜂鸣器的程序驱动
无源蜂鸣器本身不带振荡器,只有让蜂鸣器不停的处于“通电-断电”的状态,才能发出声音。对于开发板上蜂鸣器驱动电路而言,只需要让控制蜂鸣器的I/O口不停的“置1-置0”就可以了。下面是利用51单片机P.20驱动蜂鸣器的程序。
#inclduereg52.h
#inclduereg52.h
#define uchar unsigned char
#define uint unsigend int
sbit Buzzer=P2^0; //蜂鸣器接口定义
#define BuzzerOn Buzzer=0
#define BuzzerOff Buzzer=1
//ms级延时函数
void DelayMs(uint xms)
{
uint i,j;
for(i=0;ixms;i++)
for(j=0;j122;j++);
}
//主函数
void main()
{
while(1)
{
BuzzerOn;
DelayMs(1);
BuzzerOff
DelayMs(1);
}
}
在程序中,1ms让蜂鸣器通电,1ms让蜂鸣器断电,频率500Hz。程序编译下载后,蜂鸣器引脚控制端接P2.0引脚,蜂鸣器发出“嗡嗡”的声音。然后在把延时改为2ms、3ms、5ms,蜂鸣器会发出不同频响的声音。
4、蜂鸣器程序改造和按键提示音
利用延时函数来驱动蜂鸣器显然不是个好的办法,下面的程序通过定时器驱动蜂鸣器,开发板上2个独立按键,每个按键按下时,蜂鸣器响一声,持续时间为0.3秒。2个按键对应的频率分别为500Hz和1KHz。要求程序不堵塞CPU,效率高。
工程结构和主函数
工程结构图如图5.10.2所示。除了主函数外,还有按键模块、定时器模块和键值处理模块。
图5.10.2 工程结构图
主函数如下:
#includereg52.h
#includereg52.h
#includeMicroDefine.h
#includeTimer.h
#includeIndependentKey.h
#includeKeyProcess.h
/***************************************************************************
*函数名称:main()
*功能 :主函数
*入口参数:无
*出口参数:无
*说明 :按键被按下时,蜂鸣器产生0.5S提示音。
按键A提示音频率:500Hz
按键B提示音频率:1KHz
***************************************************************************/
void main()
void mai
您可能关注的文档
- 人教版语文高一上诗歌总复习.ppt
- 人教版选修9:Unit3+Australia+reading+and+language+points(共32张PPT).ppt
- 人教版语文七年级上册第二十二课《陋室铭》课件.ppt
- 人教版高一历史必修一教学课件《第二单元 探究活动课 “黑暗的西欧中世纪”》 (共21张PPT).ppt
- 人教版选修七第一单元最全课件.ppt
- 人教版高一历史必修一《鸦片战争》课件.ppt
- 人教版高中化学必修1第二章_第一节课件.ppt
- 人教版高一鸦片战争课件.ppt
- 人教版高中历史必修一第25课.ppt
- 人教版高中英语必修二:Unit 4 Wildlife protection Words and expressions课件(共40张PPT).ppt
原创力文档


文档评论(0)