STC89C52学习笔记(九)

STC89C52学习笔记(

综述:本文主要介绍了蜂鸣器、蜂鸣器如何使用以及如何利用蜂鸣器播放不同频率声音。

一、蜂鸣器

1.定义和作用

电信号→声音信号,常用来产生按键音和报警音。

2.分类

有源:自带振荡器,给正负极接直流电压即可持续发生,频率稳定

无源:需要控制器提供震荡脉冲,可发出不同频率声音

3.原理

(1)高电平触发蜂鸣器

Q1做开关作用,如果给高电平,那么Q1的发射结正偏,三极管Q1相当于开关的闭合状态,蜂鸣器发生发声;如果给低电平,那么Q1的发射结反偏,三极管Q1相当于开关的断开状态,蜂鸣器不发生发声。

(2)低电平触发蜂鸣器

类似的,这张图就是低电平触发,也即是给低电平时,开关闭合,高电平时,开关断开。

(3)ULN2003驱动蜂鸣器

在51开发板上借用了ULN2003(给步进电机驱动)的一个空余引脚来驱动蜂鸣器,但是,自己设置的时候可以只用上面的低电平触发就行。

①ULN2003的逻辑框图如下:

②内部的非门相当于达林顿管,与二极管的连接电路具体如下:

③常见的达林顿管驱动蜂鸣器的电路:

4.播放提示音

利用之前建立的xmsDelay函数,每隔1ms响一次

Buzzer=!Buzzer;

Delay(1);

xms提示音

for(i=0;i<xms;i++)

{

  Buzzer=!Buzzer;

  Delay(1);

}

写一个500us延时函数,放置在蜂鸣器函数内,构成1ms蜂鸣器响声一次的函数。

void Buzzer_Delay500us ()

{

  unsigned char i;

  nop ()

  1=247;

  while (--i);

}

void Buzzer_Time (unsigned int ms)

{

  unsigned int i;

  for(i=0;i<ms*2;i++)

  Buzzer=!Buzzer;

  Buzzer_Delay500us ();

}

5.播放音乐

①认识乐谱

乐谱记得看音高和音长。假设4分音符是500ms,2分音符是1s。

②转化乐谱

音符→频率→周期→翻转一次时间(周期一半)→取整→定时器的重载值


参考视频:51单片机学习.视频

侵权联系删除!

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STC89C52RC单片机的封装形式是DIP-40封装,它具有以下特点:8位CPU、4kbytes程序存储器(ROM)、128bytes的数据存储器(RAM)、32条I/O口线、111条指令,大部分为单字节指令、21个专用寄存器、2个可编程定时/计数器、5个中断源,2个优先级、一个全双工串行通信口、外部数据存储器寻址空间为64kB、外部程序存储器寻址空间为64kB、逻辑操作位寻址功能和双列直插40PinDIP封装单一5V电源供电。 此外,学习STC89C52RC单片机时,一种常见的封装习惯是在完成一个模块后进行调试并将其封装起来,以便在下次使用该模块时可以方便导入。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [51单片机学习笔记_15 stc89c52rc 模块库函数封装说明(附代码下载地址)](https://blog.csdn.net/jtwqwq/article/details/129822290)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [STC89C52概念 ----- 自学笔记](https://blog.csdn.net/RONG_YAO/article/details/105978384)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值