[蜂鸣器驱动模块.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[蜂鸣器驱动模块

蜂鸣器驱动模块 在单片机应用的设计上,很多方案都会用到蜂鸣器,大部分都是使用蜂鸣 器来做提示或报警,比如按键按下、开始工作、工作结束或是故障等等。这里对 中颖电子的单片机在蜂鸣器驱动上的应用作一下描述。 1. 驱动方式 由于自激蜂鸣器是直流电压驱动的,不需要利用交流信号进行驱动,只需对 驱动口输出驱动电平并通过三极管放大驱动电流就能使蜂鸣器发出声音,很简 单,这里就不对自激蜂鸣器进行说明了。这里只对必须用1/2duty 的方波信号进 行驱动的他激蜂鸣器进行说明。 单片机驱动他激蜂鸣器的方式有两种:一种是PWM 输出口直接驱动,另一种 是利用I/O 定时翻转电平产生驱动波形对蜂鸣器进行驱动。 PWM 输出口直接驱动是利用PWM 输出口本身可以输出一定的方波来直接驱动 蜂鸣器。在单片机的软件设置中有几个系统寄存器是用来设置PWM 口的输出的, 可以设置占空比、周期等等,通过设置这些寄存器产生符合蜂鸣器要求的频率的 波形之后,只要打开PWM 输出,PWM 输出口就能输出该频率的方波,这个时候利 用这个波形就可以驱动蜂鸣器了。比如频率为2000Hz 的蜂鸣器的驱动,可以知 道周期为500μs,这样只需要把PWM 的周期设置为500μs,占空比电平设置为 250μs,就能产生一个频率为2000Hz 的方波,通过这个方波再利用三极管就可 以去驱动这个蜂鸣器了。 而利用I/O 定时翻转电平来产生驱动波形的方式会比较麻烦一点,必须利用 定时器来做定时,通过定时翻转电平产生符合蜂鸣器要求的频率的波形,这个波 形就可以用来驱动蜂鸣器了。比如为2500Hz 的蜂鸣器的驱动,可以知道周期为 400μs,这样只需要驱动蜂鸣器的I/O 口每200μs 翻转一次电平就可以产生一 个频率为2500Hz,占空比为1/2duty 的方波,再通过三极管放大就可以驱动这 个蜂鸣器了。 2. 蜂鸣器驱动电路 由于蜂鸣器的工作电流一般比较大,以致于单片机的I/O 口是无法直接驱动 的,所以要利用放大电路来驱动,一般使用三极管来放大电流就可以了。 蜂鸣器的驱动电路有很多种,这里举两个常用的例子,也是建议使用的驱动 电路: 1.1. 无源压电式蜂鸣器、无源电磁式蜂鸣器(他激) 图1-1 无源压电式蜂鸣器、无源电磁式蜂鸣器驱动电路 1.2. 有源压电式蜂鸣器、有源电磁式蜂鸣器(自激) 图1-2 有源压电式蜂鸣器、有源电磁式蜂鸣器驱动电路 3. 蜂鸣器驱动设计 由于这里要介绍两种驱动方式的方法,所以在设计模块系统中将两种驱动方 式做到一块,即程序里边不仅介绍了PWM 输出口驱动蜂鸣器的方法,还要介绍 I/O 口驱动蜂鸣器的方法。所以,我们将设计如下的一个系统来说明单片机对蜂 鸣器的驱动:系统有两个他激蜂鸣器,频率都为2000Hz,一个由I/O 口进行控 制,另一个由PWM 输出口进行控制;系统还有两个按键,一个按键为PORT 按键, I/O 口控制的蜂鸣器不鸣叫时按一次按键I/O 口控制的蜂鸣器鸣叫,再按一次停 止鸣叫,另一个按键为PWM 按键,PWM 口控制的蜂鸣器不鸣叫时按一次按键PWM 输出口控制的蜂鸣器鸣叫,再按一次停止鸣叫。 ?? 电路原理图 如图1-3 所示,使用SH69P43 为控制芯片,使用4MHz 晶振作为主振荡器。 PORTC.3/T0 作为I/O 口通过三极管Q2 来驱动蜂鸣器LS1,而PORTC.2/PWM0 则作 为PWM 输出口通过三极管Q1 来驱动蜂鸣器LS2。另外在PORTA.3 和PORTA.2 分 别接了两个按键,一个是PWM 按键,是用来控制PWM 输出口驱动蜂鸣器使用的; 另一个是PORT 按键,是用来控制I/O 口驱动蜂鸣器使用的。连接按键的I/O 口 开内部上拉电阻。 图1-3 SH69P43 驱动蜂鸣器原理图 ?? 软件设计方法 先分析一下蜂鸣器。所使用的蜂鸣器的工作频率是2000Hz,也就是说蜂鸣 器的驱动信号波形周期是500μs,由于是1/2duty 的信号,所以一个周期内的 高电平和低电平的时间宽度都为250μs。 软件设计上,我们将根据两种驱动方式来进行说明。 a) PWM 输出口直接驱动蜂鸣器方式 由于PWM 只控制固定频率的蜂鸣器,所以可以在程序的系统初始化时就对 PWM 的输出波形进行设置。 首先根据SH69P43 的PWM 输出的周期宽度是10 位数据来选择PWM 时钟。系 统使用4MHz 的晶振作为主振荡器,一个tosc 的时间就是0.25μs,若是将PWM 的 时钟设置为tosc 的话, 则蜂鸣器要求的波形周期500μs 的计数值为 500μs/0.25μs=(2000)10=(7D0)16,7D0H 为11 位的数据,而SH69P43 的PWM 输出周期宽度只是10 位数据,所以选择PWM 的时钟为tosc 是

文档评论(0)

317shaofen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档