

免费预览已结束,剩余10页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
成绩 课程设计: 嵌入式系统应用 题目名称:利用蜂鸣器实现音乐播放功能 姓 名: 学 号: 班 级: 完成时间: 1设计的任务 设计内容:动手焊接一个51单片机设计目标:利用单片机上的蜂鸣器实现音乐播放功能2 设计的过程2.1 基本结构1.STC89C52RC在本次的试验中采用了STC89C52RC单片机,STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期,工作电压:5.5V3.3V(5V单片机)/3.8V2.0V(3V单片机),工作频率范围:040MHz,相当于普通8051的080MHz,实际工作频率可达48MHz,用户应用程序空间为8K字节。 (STC89C52RC引脚图)STC89C52RC单片机的工作模式:(1) 典型功耗 拍手:| 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七个字母,就须加在它们的后方。在五綫谱中,C小调要把B-E-A三个音降低半音。所以表达它的和声小调时,就会把一个还原号放在B前面。简谱就一定得写5,因为5不能下降。延音线、圆滑线与其他音乐符号简谱延音线(Tie)跟圆滑綫(slur)都是跟五线谱相同,一定得置在数字上方。表达跳音(staccato)时需要特别小心,因为很容易会跟低八度的那一点混淆,因此在表达跳音时把那一点写得粗点及低点。*简谱编码将简谱中的每个音符进行编码,每个音符用一个unsigned char字符类型表示,简谱可用一个unsigned char字符数组表示。字符的前四位表示音频,可以表示0-f共十六个音符。本实验中采用了中音区和高音区。中音do-si分别编码为17,高音do-si分别编码为8E,停顿编为0。字符的后四位表示节拍,节拍以十六分音符为单位(在本程序中为165ms),一拍即四分音符等于4个十六分音符,编为4,其它的播放时间以此类推。以0xff作为曲谱的结束标志。程序从数组中取出一个数,然后分离出高4位得到音调 ,将值赋给定时器0,得到音调;接着分离出该数的低4位,得到节拍。本实验中播放音乐使用简谱如下:将其编码成:uchar code zbjbxf=0x64,0xA3,0xC1,0xA2,0x62,0x84,0x61,0x81,0x61,0xA4,0xA1,0x91,0xA1,0x81,0x64,0xA3,0xC1,0xD2,0xD2,0xD2,0xA2,0xC4,0xA1,0xC1,0xA1,0xC1,0xD2,0xD2,0xD2,0xA2,0xC4,0xC2,0x62,0xC2,0x62,0xA2,0xA2,0x84,0x94,0x94,0x92,0x81,0x91,0xA2,0xC2,0xD4,0xE4,0xA4,0xE4,0xA2,0xE2,0xA2,0xE2,0xA2,0xA2,0x84,0x94,0x94,0x92,0x81,0x91,0xA2,0xC2,0xD8;2.3 程序流图及说明(主程序流程图)程序代码:#include #define uchar unsigned char#define uint unsigned intsbit fm=P34;/蜂鸣器控制端口uchar timeh,timel;/用于存放定时器的高8位和低8位uchar code zbjbxf=/定义猪八戒背媳妇的简谱数组0x64,0xA3,0xC1,0xA2,0x62,0x84,0x61,0x81,0x61,0xA4,0xA1,0x91,0xA1,0x81,0x64,0xA3,0xC1,0xD2,0xD2,0xD2,0xA2,0xC4,0xA1,0xC1,0xA1,0xC1,0xD2,0xD2,0xD2,0xA2,0xC4,0xC2,0x62,0xC2,0x62,0xA2,0xA2,0x84,0x94,0x94,0x92,0x81,0x91,0xA2,0xC2,0xD4,0xE4,0xA4,0xE4,0xA2,0xE2,0xA2,0xE2,0xA2,0xA2,0x84,0x94,0x94,0x92,0x81,0x91,0xA2,0xC2,0xD8;/适合12M的晶振定时器初值表,高低8位分开uchar code chuzhi= 0xff,0xff,/占位 0xFC,0x8E,/中央C调1-7 0xFC,0xED, 0xFD,0x43, 0xFD,0x6A, 0xFD,0xB3, 0xFD,0xF3, 0xFE,0x2D, 0xFE,0x47,/高八度1-7 0xFE,0x76, 0xFE,0xA1, 0xFE,0xC7, 0xFE,0xD9, 0xFE,0xF9, 0xFF,0x16 ;void timer0() interrupt 1 /定时器0中断服务程序TH0=timeh;/将timeh赋给计时器的高8位TL0=timel; /将timel赋给计时器的低8位fm=fm; /定时器每次到时将蜂鸣器反相void delay(uint z)/延时165MS,即十六分音符uint y;for(z;z0;z-) for(y=19000;y0;y-);/大致时间void delay1(uint z)/延时1MSuint y;for(z;z0;z-) for(y=112;y0;y-);/大致时间void main()uint temp;/存放简谱数组中的每一个音符的临时变量uchar i=0;uchar jp;/jp用于取出temp中的高8位和低8位TMOD=0x01;/设置定时器T0工作于方式1IE=0x82; /允许T0中断while(1)temp=zbjbxfi;if(temp=0xff)break;jp=temp/16; /取数的高4位,音频数值if(jp!=0)timeh=chuzhijp*2;/构造定时器初值高8位timel=chuzhijp*2+1; /构造定时器初值低8位TR0=1; /开定时器elseTR0=0; /关定时器fm=1; /关蜂鸣器delay(temp%16); /取数的低4位,节拍(音符总时延)TR0=0; /唱完一个音停5MSfm=1;delay1(5); /TR0=1; i+;TR0=0;/关定时器fm=1;/关蜂鸣器3 运行结果或者测试结果 测试结果:利用蜂鸣器实现了播放音乐的功能,达到了预期的目标,测试成功。4 遇到的问题及解决的方法在设计的过程中主要遇到以下问题:1.计算机与单片机的连接不上问题计算机与单片机的连接需要在电脑端安装相应的USB转串的驱动,由于我组没有使用实验室windows xp系统,而使用的是个人计算机windows 7系统,所以需要针对win 7 的驱动。后来联网搜索下载相应的驱动之后解决了这一问题。2.如何使蜂鸣器发出声音而非Be-Be声为了解决这个问题,我们深入研究了蜂鸣器发声原理与乐谱相关的知识。通过学习相关知识发现,不同的音符对应不同的音高,音高取决于发声频率。所以可以通过构造不同频率的方波来使蜂鸣器发出不同频率的声音,具体实现时利用定时器计时,定时器每一次累加消耗一个机器周期,即12个时钟周期。本实验采用晶振频率为12MHz,即定时器每一次累加消耗1us,通过设置定时器初值设定蜂鸣器取法的时间间隔,从而产生相应的音频。每个音符不但有频率属性,还有节拍属性。对不同节拍的控制可以采用延迟一定的时间来得到。5 总结 在本次课程设计中,我们进一步加深了对小型嵌入式系统的认识。实验初期单片机
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 起重工设备调试考核试卷及答案
- 软木烘焙工抗压考核试卷及答案
- 继电保护员技术考核试卷及答案
- 多晶硅制取工应急处置考核试卷及答案
- 殡仪服务员设备调试考核试卷及答案
- 橡胶管材市场增长潜力分析报告
- 安全评估分析报告
- 初中化学重点难点解析报告
- 油脂及脂肪酸加氢操作工专项考核试卷及答案
- 毛织参数改进分析报告
- 拼多多培训课件
- 2025年铜化集团招聘笔试备考题库(带答案详解)
- GB/T 45696-2025公共汽电车场站分类及等级划分
- 以桂为墨:高中桂花文化校本课程的开发与实践探索
- 2025年计算机二级JAVA考试中的真题练习试题及答案
- 数字政府效能评估体系-洞察阐释
- 2025年电力机车钳工(高级)职业技能鉴定理论考试题库(含答案)
- 智联招聘银行试题及答案
- 安置点管理制度
- 麻醉科职责及管理制度
- 教科版五年级上册科学期中测试卷附答案(夺分金卷)
评论
0/150
提交评论