




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
成就课程设计:嵌入式系统应用标题:使用蜂鸣器播放音乐姓氏:号码:班级级别:完成时间:1设计任务设计内容:开始焊接一台51单片机设计目的:利用单片机上的蜂鸣器实现音乐播放功能2设计过程2.1基本结构1.STC89C52RC本次测试采用了STC89C52RC单片机。STC89C52RC单片机是宏景科技引进的新一代高速/低功耗/超强抗干扰单片机。该指令代码与传统8051单片机完全兼容,12个时钟/机周期,工作电压:5.5V 3.3V (5V单片机)/3.8V 2.0V (3V单片机),工作频率范围:0 40MHz,相当于普通8051的0 80MHz,实际工作频率可达48MHz,用户应用空间为8K字节。(STC89C52RC引脚图)单片机的工作模式;(1)典型功耗为0.1A,可由外部中断唤醒。中断返回后,原始程序将继续执行。(2)空闲模式:典型功耗2mA(3)正常工作模式:典型功耗为4 ma 7 ma(4)唤醒,适用于电池供电系统,如水表、煤气表和便携式设备2.蜂鸣器及其工作原理:根据结构不同,蜂鸣器主要分为压电蜂鸣器和电磁蜂鸣器。电磁蜂鸣器由振荡器、电磁线圈、磁铁、振动膜和外壳组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,电磁线圈产生磁场,振动膜在电磁线圈和磁铁的相互作用下周期性振动发声。这个实验使用电磁蜂鸣器。蜂鸣器根据是否有信号源分为主动型和被动型。有源蜂鸣器只需在其电源端加上额定DC电压,其内部振荡器就能产生固定频率的信号,驱动蜂鸣器发声。无源蜂鸣器可以理解为扬声器,它需要增加一个不断变化高度的电信号来驱动和发出声音。这个实验使用了一个主动蜂鸣器。(蜂鸣器和单片机的接线图)2.2软件设计过程1.蜂鸣器发声的原理由于在本实验中使用了主动蜂鸣器,因此蜂鸣器只能通过清除引脚端口P34.来发声P34准备好了,蜂鸣器停止鸣响。将1设置为0的方法只能使蜂鸣器发声或停止发声。要发出蜂鸣声,必须控制蜂鸣声的音频和节拍。(音乐基金会语气:不同音高的音调由C、D、E、F、G、A和b来表达。这七个字母是音乐的名称。它们通常被依次唱为“多”、“重”、“密”、“法”、“所以”、“啦”和“司”,即1、2、3、4、5、6和7的简化符号,相当于汉字“多来密法苏拉西”的发音。这是唱歌时音调的发音,所以它被称为音调。将组C、D、E、F、G、A、B的距离分成12等份,每等份称为“半音”。两个音之间的距离有两个“半音”,称为“全音”。在钢琴等键盘乐器上,在CD、DE、FG、GA和AB之间有一个黑键,它们之间的距离是全音。E-F和B-C之间没有黑键,它们之间的距离是半音。通常被唱成1、2、3、4、5、6、7的声音被称为自然声音,那些左上角加有#或b的声音被称为可变声音。上升符号意味着在原来的基础上提高半音,而下降音符意味着在原来的基础上降低半音。例如,高音调溶解氧(1046赫兹)的频率正好是中音调溶解氧(523赫兹)的两倍,中音调溶解氧(523赫兹)的频率正好是低音调溶解氧(266赫兹)的两倍;类似地,高音RE(1175赫兹)的频率正好是中音RE(587赫兹)的两倍,中音RE(587赫兹)的频率正好是低音RE (294赫兹)的两倍。节拍:节拍是使音乐有旋律(固定节奏),并能调节每个声音的快速丰满度。“拍”,或称“拍”,仅仅意味着拍时间,就像我们在听音乐时不自觉地拍拍手或跺脚一样。如果1拍是0.5秒,那么1/4拍是0.125秒。对于一拍是多少秒没有严格的规定,就像一个人的心跳一样,大多数人的心跳是每分钟72次,有些人更快,有些人更慢,只要他们听音乐。声音持续时间的实时值通常由节拍数来表示。停顿表示发音的停顿。)1)控制探测频率要产生音频脉冲,只需计算某个音频频率的周期(1/频率),并将该周期除以2,即半周期时间。定时器用于计算半周期时间,每次达到该时间时,输出脉冲的输入/输出被反转,然后半周期时间被重复计数,输入/输出被反转,从而可以在输入/输出支路上获得该频率的脉冲。STC89C52RC的内部定时器用于使其在计数器模式1下工作,并且改变计数值TH0和TL0以产生不同的频率。此外,结尾字符和剩余字符可以分别由代码00H和FFH表示。如果查找表的结果是0x00,则表示歌曲结束。如果查找表的结果是0xff,将产生相应的暂停效果。以标准音高a为例,a的频率为440赫兹,周期T=1/440=2272微秒。在占空比为50%、导通时间=关断时间=半周期t=2272us/2=1136us的条件下,利用P34端口的位操作和连续反转转换可以获得标准音调a的音频脉冲。端口的开启时间和关闭时间由定时器实现。具体方法是将微控制器定时器的中断触发时间设置为半周期T,使端口每半周期反转一次,输出对应音高的连续频率。假设晶体振荡器的频率是f0,中断触发时间(半周期)是t,当定时器在模式1下工作时,计数器的初始值是THL,高8位是THL,低8位是t1。时钟周期为1/f0。计时器的每次累计需要一个机器周期,一个机器周期包含12个时钟周期,即每次增加计时器所需的时间为12/f0。定时器在模式1中使用16位数字,最大计数为2 16-1 (65535),并再次增加溢出1(65536)以触发中断。根据以上分析,可以得出以下关系:音频对应定时器初始值的高8位=THL/(2 8)=(65536-t * f/12)/256;Tl=音频对应定时器初始值的低8位的THL %(2 8)=(65536-t * f/12)% 6;附件:八度12音阶计时器初始值表(仅限自然音调)低音名称频率赫兹晶体振荡器12兆赫晶体振荡器11.0592兆赫中间名频率赫兹晶体振荡器12兆赫晶体振荡器11.0592兆赫高音名称频率赫兹晶体振荡器12兆赫晶体振荡器11.0592兆赫做2620xF8850xF91B做5230xFC430xFC8E做10460xFE210xFE47再2940xF95A0xF9DF再5870xFCAD0xFCED再11750xFE560xFE76大音阶的第三音3300xFA130xFA8A大音阶的第三音6590xFD0A0xFD43大音阶的第三音13180xFE850xFEA1Fa3490xFA680xFAD8Fa6980xFD340xFD6AFa13970xFE9A0xFEC7因此3920xFB040xFB68因此7840xFD820xFDB3因此15680xFEC10xFED9a音的唱名4400xFB900xFBE9a音的唱名8800xFDC80xFDF3a音的唱名17600xFEE40xFEF9Si4940xFC0C0xFC5BSi9880xFE060xFE2DSi19760xFF030xFF162)控制发声节拍每个音符的节拍可以通过延迟某个时间来实现。主函数需要一个带参数的基本延时程序,根据不同的音符调用不同的延时。如果将第十六个音符的持续时间作为基本延迟时间,则第十六个音符只需要调用延迟程序一次,第八个音符需要调用延迟程序两次,依此类推。3)简单谱及其编码*简化的符号知识规模CDEFGAB点名做再大音阶的第三音fa因此a音的唱名si数字1234567笔记音符编号为1到7。这七个数字在大调上等于自然音阶。如果是c大调,加上音名,它会是这样的:八度音阶如果它高一个八度,一个点会加在数字上。如果低一个八度,数字下面会加一个点。中间的八度音阶没有什么可添加的。如果你想高一个八度,在垂直方向上加两个点(例如:);要降低一个八度音阶,在垂直下方加两点(例如:),依此类推。请参见下表:主要的.较小的.声音长度通常只有数字是四分音符。在数字下面加一条水平线可以把四分音符的长度减半,也就是说,成为第八个音符。两条水平线可以将第八个音符的长度减半,即第十六个音符,依此类推。简而言之,下划线行的数量对应于五线谱结尾的数量。数字后面的水平线延长音符,每增加一条水平线延长四分之一音符的长度。就像虚线一样,在数字后加上一个点会使音符长度增加一半。休息其余部分用“0”表示。比四点休息时间长,你只需要给每个四点休息时间加一个“0”,不需要在它后面加一条水平线。如果整个小节处于静止状态,则在每个四分音符上添加一个“0”,就像在3拍4中写入“| 0 0 0 |”,在4拍4中写入“| 0 0 0 |”。非音高音符就像打击乐器一样,没有音高。在这种情况下,简化的符号需要用“x”或“x”来表示。例如,当啦啦队长拍手时,简单的符号需要这样说:4/4拍手:| X X X X X | X X X X 0 X X | |条形线就像五线谱一样,小节由一条垂直线(称为小节线)隔开。一首音乐的结尾是由一条直线和一条粗线和一条细线组成的(但通常厚度和厚度没有区别)。重复线段从垂直线的后两点开始,到垂直线的前两点结束。拍子记号拍数的表达是:“2/4”、“3/4”、“4/4”、“6/8”等等。签名通常放在密钥签名后面。变调和按键签名有两种方式表达密钥签名:直接写“C键”、“C小调”或“Key: C”和“Key: Cm”。也可以清楚地写出主音代表哪个音调,例如,1=C,这是C大调(大调由1主导)。6=C是C小调(以6为主音的小调)。2=D是D-多里安键(多里安键有2作为主音)。五线谱有上升和下降的符号,简单的音乐也有上升和下降的符号。在简单的符号中,如果你想表达上升和下降的符号,在数字1到7前面加上符号来提高或降低音调。如果您想在七个键签名和和弦CDEFGAB的字母上添加上升和下降符号,您必须在它们之后添加。在五线谱中,B-E-A的三个音调在C小调中应该减少一半。因此,当表达它的和声小调时,它会在b前面加上一个减少数。简单的分数必须写成5,因为5不能减少。延音线、平滑线和其他音乐符号领结和连音与五线谱相同,必须放在数字的上方。在表达断奏时要特别小心,因为很容易把它和较低的八度音混淆,所以在表达断奏时,要写得又粗又低。*简单频谱编码用简化的符号对每个音符进行编码,每个音符由无符号字符类型表示,简化的符号可以由无符号字符数组表示。字符的前四位代表音频,总共可以代表16个从0到f的音符。在本实验中,使用了中音和高音区域。中音do-si编码为17,高音do-si编码为8E,暂停编码为0。字符的最后四个数字表示节拍,以16个音符为单位(本程序中为165毫秒)。一拍意味着四分音符等于4个16音符单位,被编程为4,其他播放时间被类比。以0xff作为分数的结束标记。该程序从数组中取一个数字,然后将高4位分开以获得音调,并将该值赋给定时器0以获得音调。然后数字的低4位被分离以获得节拍。在这个实验中,播放的音乐使用以下简单的符号:将其编码为:uchar代码zbjbxf=0x64,0xA3,0xC1,0xA2,0x62,0x84,0x61,0x81,0x61,0xA4,0xA1,0x91,0xA1,0x81,0x64,0xA3,0xC1,0xD2,0xD2,0xD2,0xD2,0xA2,0xC4,0xA1,0xC1,0xD2,0xD2,0xd 2,0xA2,0x84,0xA22.3程序流程图和描述(主程序流程图)程序代码:#包括#定义uchar无符号字符#定义uint无符号整数sbit fm=p34;/蜂鸣器控制端口uchar timeh,timel/用于存储定时器的高8位和低8位UCHAR代码ZJBXF=/定义了猪八戒媳妇的简单频谱数组0x64,0xA3,0xC1,0xA2,0x62,0x84,0x61,0x81,0x61,0xA4,0xA1,0x 91.0 xa 1.0 x 81.0 x 64.0 xa 3.0 xc 1.0 xd 2.0 xd 2.0 xa 2.0 xc 4,0 xa 1.0 xc 1.0 xa 1.0 xc 1.0 xd 2.0 xd 2.0 xa 2.0 xc 4.0 xc 2.0 x 62,0x 2.0 x 62.0 xa 2.0 xa 2.0 x 84.0 x 94.0 x 94.0 x 92.0 x 81.0 x 91,0 xa 2.0 xc 2.0 xd 4.0 xe 4.0 xa 4.0 xe 4.0 xa 2.0 xe 2.0 xa 2.0 xe 2.0 xa 2.0 xa 2.0 xa 2.0 xa 2.0 xa 2.0 xa 2.0 xa 2.0,0 xa 2.0 x 84.0 x 94.0 x 94.0 x 92.0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全应急专业知识考试题及答案
- 眼科疾病诊疗与护理考核试题与答案
- 道路运输企业主要负责人模拟试题(含答案)
- 2025年工业园区污水处理站水质监测与安全评估报告
- 解析卷人教版7年级数学上册期中试题及答案详解【基础+提升】
- 2025年数字货币对货币政策传导机制影响下的金融资源配置与金融政策优化报告
- 2025年盐湖提锂技术成本优化策略与产能升级分析报告
- 2025年数字货币与货币政策传导的金融风险防范与治理策略研究报告
- 2025年工业互联网平台网络安全态势感知技术安全事件分析与防范报告
- 银行招聘能力检测试卷及答案详解【典优】
- 已付款返还协议书
- 屋面防水改造项目施工组织设计
- 中医养生课件大纲
- 2025年渔业行业市场趋势分析报告
- 迈瑞注射泵的操作流程
- 2025年电子信息工程专业综合能力考试卷及答案
- 门市转租合同协议书
- 空调系统故障应急预案
- 《探索《资本论》的奥秘》课件
- 临床化疗药物外渗预防及处理护理团体标准
- 小学音乐人音版三年级上册摇啊摇教案
评论
0/150
提交评论