基于51单片机的蜂鸣器及简谱的学习(编曲)
目录
文章目录
前言
一、蜂鸣器
1、无源蜂鸣器原理图
2、集成电路驱动(五线四项步进电机)
3、三极管驱动编辑
4、应用电路
4、控制原理
二、乐律部分
1.键盘与音符的对照编辑
2.音符与频率对照表
总结
前言
学习基于51单片机无源蜂鸣器的使用,学习使用震动脉冲不同的频率以及配合乐律的学习来进行简单音乐的实现。
一、蜂鸣器
蜂鸣器分为两大类:无源蜂鸣器、有源蜂鸣器。将电信号转换为声音信号器件。
无源蜂鸣器:内部不带震荡源,需要控制器提供震荡脉冲才可发声,调整提供震荡脉冲频率,可发出不同声音。
有源蜂鸣器:内部自带震荡源,将正负极接上直流电压就可以持续发声,频率固定。
1、无源蜂鸣器原理图
图1.1
2、集成电路驱动(五线四项步进电机)
图1.2
ULN2003D一般用于步进电机的驱动,使用于风蜂鸣器有点大材小用,可以直接使用三极管驱动。(五线四项步进电机内部逻辑是取反)
3、三极管驱动
4、应用电路
图1.3
4、控制原理
由图1.1可知,蜂鸣器响起来需要BEEP口低电平,所以电路图中可以看到IO口给1取反后才能使BEEP端为低电平0。这样蜂鸣器就能简单的响起来。
以图1.2为例,控制P15输出1或0就能控制蜂鸣器是否有电流,又因为是无源蜂鸣器,所以需要控制P15来形成不同的频率来使它发出不同的声音。(无源蜂鸣器靠震荡转换为声音,不能一直通电)
二、乐律部分
1.键盘与音符的对照
图中分为四组:
C D E F G A B :大字组 1234567(下两点)
c d e f g a b :小字组 1234567 (下一点)
c1 d1 e1 f1 g1 b1 :小字1组 1234567 (无点)
c2 d2 e2 f2 g2 b2 :小字2组 1234567 (上一点)
其他组以此类推
每组一一对应的字母相差8°,每组相邻的两字母相差1°(全音)而中间的黑键与字母相差1/2°(半音)
黑键:升半音:# 降半符号:b 例:#f == bg
2.音符与频率对照表
对应键盘与音符的三组
基准频率为低音6对应音名a,440赫兹。小字1组a是他的两倍,880赫兹。大字组A为220赫兹。
因为a的频率是A的两倍,中间隔了12个音,所以由此得
#A的频率=A * 2 ^(1 /12);
#G的频率=A / 2 ^(1 /12);
单片机中使用定时器来控制频率:
周期 = 1 / 频率;
总结
根据震动周期来控制发音长短,最终实现蜂鸣器的编曲。
未完持续更新...
基于51单片机的蜂鸣器及简谱的学习(编曲)相关推荐
- linux串口蜂鸣器报警电路,基于51单片机的蜂鸣器鸣叫震动主从机同步报警设计-BELL--(电路图+程序源码)...
https://v.youku.com/v_show/id_XNDc2MzA2NjQzNg==.html?spm=a2hzp.8253869.0.0 2017-525.51蜂鸣器鸣叫震动主从机同步报警 ...
- 基于51单片机的蜂鸣器音乐,李宗盛林忆莲《为你我受冷风吹》
看到最近反馈还挺好的就多发点存货,所用板材51单片机开发板(普中科技),个人还是很喜欢李宗盛的音乐的,于是就有了今天这期为你我受冷风吹的蜂鸣器版(请使用无源蜂鸣器) 下面是主程序,这套模板也可以用于其 ...
- 基于51单片机的adc0832程序编写的学习
adc0832程序编写 文章目录 前言 一.ADC0832是什么? 二.执行代码 总结 前言 基于C51单片机项目的传感器数据采集,由于传感器是模拟输出,单片机接收传感器需要将模拟信号转换为数字信号才 ...
- 51单片机计算器_基于51单片机的倒计时温度检测报警器
基于51单片机的倒计时温度检测报警器 学习单片机断断续续半年了,在学长学姐的教学帮助下,完成了51单片机的入门学习,开始实践做项目,在一周时间内设计和制作出个人项目.起初,我设计和选择的是12864显 ...
- 基于51单片机的倒计时温度检测报警器
广西河池学院 广西高校重点实验室培训基地 系统控制与信息处理重点实验室 本篇博客来自河池学院:OpenWRT无线路由组 写作时间:2020年8月12日16:00:03 基于51单片机的倒计时温度检 ...
- 基于51单片机的DS1302涓流充电计时芯片详细学习(时钟制作)
目录 前言 一.初学者需要了解DS1302的一些基本特性 二.脉冲串模式数据传输 1.单字节写入 2.单字节读取 3.BCD码的转换 三.理论存在实践开始(代码模块) 1.DS1302时钟模块原理图 ...
- 51单片机数控电源c语言设计,基于51单片机的数控电源
<基于51单片机的数控电源>由会员分享,可在线阅读,更多相关<基于51单片机的数控电源(8页珍藏版)>请在人人文库网上搜索. 1.基于51单片机的数控电源摘要:学习如何以单片机 ...
- 基于单片机超声波视力保护系统设计-基于51单片机8音键电子琴仿真设计-基于8086八路模拟信号采集均值显示系统设计-基于8086八路数据电压温度采集系统-基于8086波形发生器仿真设计【毕设课设分享】
539基于单片机超声波视力保护系统设计-设计资料 硬件构成:单片机+最小系统+LCD1602液晶显示模块+超声波模块+DS18B20温度采集模块+光线检测模块+ADC0832模块+蜂鸣器模块+LED指 ...
- 【网络收录】基于51单片机开发音乐播放器
[网络收录]基于51单片机开发音乐播放器 本文作者:天析 作者邮箱:2200475850@qq.com 发布时间: Thu, 22 May 2014 18:14:00 +0800 特别声明:本资料来源 ...
- 基于51单片机电子时钟
keil工程与protues仿真电路 1 基于51单片机用LCD1602实现时-分的显示 2. 按键控制时-分的调整 3. 能实现整时报时的功能(蜂鸣器响) 4. 闹钟模式 5.按键切换模式(模式一: ...
最新文章
- “忽悠”智能机器人,竟然改改物品纹理就成功了!北航新研究:时空融合对抗攻击算法...
- Spring MVC-表单(Form)标签-下拉框(Dropdown)示例(转载实践)
- java两个对象属性比较
- Forrester:工业4.0 中国制造企业用ICT换来改变
- Servlet(10)—请求转发和请求重定向
- mir显示服务器,The Legend Of Mir 服务器程序安装说明(图片)
- UE4 简单记录EQS的使用方法
- 怎么样防止服务器被入侵
- linux 搭建snmp服务器,linux snmp安装配置
- 6-4 静态成员应用
- 百度云虚拟主机bch 重定向
- 【ROS】—— ROS快速上手(一)
- Oracle 解析cron定时表达式
- html5关于校庆作品名称,校庆征集令 | 桃李春风六十载 我们等你一起来
- 2013.10.6日在109机房维护电脑心得_红蜘蛛出现异常
- unity生成安卓Logo和名字更换配置
- 知道网址怎么转HTML文件,网页链接怎么转换成文件
- 基于SOPC的MPEG-4视频播放器
- (二)MATLAB数学建模——规划问题
- 对计算机专业大一新生的忠告
热门文章
- java json转excel_JSON转Excel怎么转?
- 苏宁成立快递员节PK京东封杀快递,谁的做法更聪明?
- 王晶:华为云OCR文字识别服务技术实践、底层框架及应用场景 | AI ProCon 2019
- MATPOWER中case文件的编写经验与技巧
- linux c编译 utf-8,在Linux C编程中使用Unicode和UTF-8
- 基于SNMP的网络管理软件设计方案和实现
- 微信小程序引入阿里巴巴icon步骤及报错解决
- 2022年美赛C题M奖思路复盘(附代码、附论文)
- matlab状态空间程序,实验四用MATLAB求解状态空间模型
- 【理论】浅解硬件网络通信+交换机芯片+通信系统设计