蜂鸣器音乐程序设定C语言

4.4.4.4.1111 音调音调音调音调、、、、节拍节拍节拍节拍以及以及以及以及编码的确定编码的确定编码的确定编码的确定方法方法方法方法 一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能像电子琴那样能奏出多种音色的声音。因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和节拍表示一个音符唱多长的时间。 4.4.4.4.1111.1.1.1.1 音调的确定音调的确定音调的确定音调的确定 不同音高的乐音是用C、D、E、F、G、A、B来表示,这7个字母就是音乐的音名,它们一般依次唱成DO、RE、MI、FA、SO、LA、SI,即唱成简谱的1、2、3、4、5、6、7,相当于汉字“多来米发梭拉西”的读音,这是唱曲时乐音的发音,所以叫“音调”,即Tone。把C、D、E、F、G、A、B这一组音的距离分成12个等份,每一个等份叫一个“半音”。两个音之间的距离有两个“半音”,就叫“全音”。在钢琴等键盘乐器上,C–D、D–E、F–G、G–A、A–B两音之间隔着一个黑键,他们之间的距离就是全音;E–F、B–C两音之间没有黑键相隔,它们之间的距离就是半音。通常唱成1、2、3、4、5、6、7的音叫自然音,那些在它们的左上角加上﹟号或者b号的叫变化音。﹟叫升记号,表示把音在原来的基础上升高半音,b叫降记音,表示在原来的基础上降低半音。例如高音DO的频率(1046Hz)刚好是中音DO的频率(523Hz)的一倍,中音DO的频率(523Hz)刚好是低音DO频率(266 Hz)的一倍;同样的,高音RE的频率(1175Hz)刚好是中音RE的频率(587Hz)的一倍,中音RE的频率(587Hz)刚好是低音RE频率(294 Hz)的一倍。 1)要产生音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。利用定时器计时这半个周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。 2)利用AT89C51的内部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法。 此外结束符和休止符可以分别用代码00H和FFH来表示,若查表结果为00H,则表示曲子终了;若查表结果为FFH,则产生相应的停顿效果。 3)例如频率为523Hz,其周期T=1/523=1912us,因此只要令计数器计时956us/1us=956,在每次技术956次时将I/O反相,就可得到中音DO(523Hz)。 计数脉冲值与频率的关系公式如下: N=Fi÷2÷Fr N:计算值; Fi:内部计时一次为1us,故其频率为1MHz; 4) 其计数值的求法如下: T=65536-N=65536-Fi÷2÷Fr 例如:设K=65536,F=1000000=Fi=1MHz,球低音DO(261Hz)。中音DO(523Hz)。高音的DO(1046Hz)的计算值 T=65536-N=65536-Fi÷2÷Fr=65536-1000000÷2÷Fr=65536-500000/Fr 低音DO的T=65536-500000/262=63627 低音DO的T=65536-500000/523=64580 低音DO的T=65536-500000/1047=65059 5) C调各音符频率与计数值T的对照表如表4.1所示。

表4.1 C调各音符频率与计数值T的对照表

低音频率T参数中音频率T参数高音频率T参数Do2621908229Do523956115Do10465757 Do﹟2771805217Do﹟554903108Do﹟11095454Re2941701204Re587852102Re11755151 Re﹟3111608193Re﹟62280497Re﹟12454848Mi3301515182Mi65975991Mi13184545 Fa3491433172Fa69871686Fa13974343 Fa﹟3701351162Fa﹟74067681Fa﹟14804141So3921276153So78463877So15683838 So﹟4151205145So﹟83160272So﹟16613636La4401136136La88056868La17

c语言蜂鸣器放音乐程序,蜂鸣器音乐程序设定C语言.doc相关推荐

  1. 利用C语言编写放烟花的程序(同时也可以播放音乐)

    这是一个利用C语言编写放烟花的程序(同时也可以播放音乐) 代码如下 #pragma once #include<stdio.h> #include<graphics.h> // ...

  2. arduino学习笔记二十--无源蜂鸣器+ARDUINO开发板播放音乐

    无源蜂鸣器+ARDUINO开发板播放音乐 用到材料 1个无源蜂鸣器 2根杜邦线 一片开发板 原理图 蜂鸣器长脚的为正,短脚为负极. 在蜂鸣器的底下也有标价正负. 接好线,选择喜欢的程序 1超级玛丽 扬 ...

  3. 小型音乐喷泉工作程序c语言,【毕业设计】51音乐喷泉 原理图/PCB/程序/论文等...

    [毕业设计]51音乐喷泉 原理图/PCB/程序/论文等说明: 本设计主要以MCS-51系列单片机STC89C52为控制核心,它自带8K的FLASH程序存储器,它的核心处理单元为8位.数据处理主要是对数 ...

  4. c语言烟花百度云,C语言实现放烟花的程序

    这是一个利用C语言编写放烟花的程序(同时也可以播放音乐),供大家参考,具体内容如下 代码如下 #pragma once #include #include //图形界面库头文件 #include // ...

  5. 如何用c语言编写炫酷烟花程序,C语言实现放烟花的程序

    这是一个利用C语言编写放烟花的程序(同时也可以播放音乐),供大家参考,具体内容如下 代码如下 #pragma once #include #include //图形界面库头文件 #include // ...

  6. 用c语言编程最简单的烟花代码,C语言实现放烟花的程序

    这是一个利用C语言编写放烟花的程序(同时也可以播放音乐),供大家参考,具体内容如下 代码如下 #pragma once #include #include //图形界面库头文件 #include // ...

  7. 可以放烟花的c语言程序,C语言实现放烟花的程序

    这是一个利用C语言编写放烟花的程序(同时也可以播放音乐),供大家参考,具体内容如下 代码如下 #pragma once #include #include //图形界面库头文件 #include // ...

  8. 计算机毕业设计php+vue基于微信小程序的音乐播放器系统

    随着计算机技术的高速发展,现代计算机系统已经从以计算为中心向以信息化处理为中心的方向发展.如何充分利用互联网,这是大家共同关心的问题.本文主要介绍了关于音乐云微信小程序的实现方法,设计规划了音乐云微信 ...

  9. 计算机毕业设计php+vue基于微信小程序的音乐云系统-音乐播放系统

    项目介绍 随着计算机技术的高速发展,现代计算机系统已经从以计算为中心向以信息化处理为中心的方向发展.如何充分利用互联网,这是大家共同关心的问题.本文主要介绍了关于音乐云微信小程序的实现方法,设计规划了 ...

  10. MIDI应用: 播放midi音乐文件的方法 [Win32版本+ C语言版本]

    播放midi音乐文件的方法 背景说明: 在游戏编程中,给程序增加音效几乎是必须的;在普通程序中增加音效也会给使用者带来更好的体验;而mid格式的音效文件体积最小(大约1k到数十k),效果却不亚于MP3 ...

最新文章

  1. 使用intellij idea制作可执行jar文件
  2. oracle里面查询重复数据的方法
  3. Spring JTA应用JOTM Atomikos III Atomikos
  4. 一个excel文档里复制黏贴另外表单跟着变动_利用Excel连接Power BI,实现PPT报告自动输出...
  5. android rxbus 一个页面监听,Android RxBus的使用
  6. 买电脑主要看什么配置_我的专业要买什么配置电脑可以用到毕业?
  7. SpringBoot2整合Flyway(二)
  8. Android TV CTS 测试认证汇总
  9. 5大网站汇总,搞定新颖的计算机专业毕业设计网站汇总
  10. iOS UILabel字体设置
  11. 大一学科不挂科 速冲方法推荐(高数上+高数下+线代+大物)
  12. IIS允许下载APK安装包
  13. 虚拟盘可以挂载多个服务器吗,两台云服务器挂载一个云硬盘吗
  14. 【西电—英美国家概况(英美概况/英美文化)2023第一学期】第六章参考课后答案
  15. 利用flex弹性布局实现图片水平及垂直方向居中
  16. Python 跨类传参与跨模块传参
  17. Java面试官:java高级工程师简历csdn
  18. Lammps压力控制之活塞控压—一个代码循环限域空间内的气体分子数
  19. 安装黑苹果时不识别内置磁盘_【让天下没有难装的黑果】3 Legacy传统BIOS使用CLOVER引导在GPT硬盘安装OSX+WIN双系统...
  20. 50个Java精品源码免积分下载

热门文章

  1. Qt 学习(四) —— qrc资源文件介绍与使用
  2. 目不暇接!华为2020春季新品发布会群英荟萃
  3. 信号与系统Matlab实验1
  4. Deeping_Learning 02
  5. 本特利330906-02-12-05-02-CN传感器
  6. 本特利330505-02-02-02-00速度传感器
  7. 项目案例:浙江宁波江北区道路照明智慧化改造见成效
  8. JAVA调用U盾进行客户认证实例
  9. 杭电ACM 第2007题
  10. 【标准】ISO14001:2015新版标准正式发布