电子琴设计和制作

电子琴设计和制作

ID:30107927

大小:2.57 MB

页数:14页

时间:2018-12-27

电子琴设计和制作_第1页
电子琴设计和制作_第2页
电子琴设计和制作_第3页
电子琴设计和制作_第4页
电子琴设计和制作_第5页
资源描述:

《电子琴设计和制作》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、电子琴设计与制作1.1项目描述或许你从小就想拥有一台属于自己的电子琴,或许你在音乐方面有很高的天赋,但却一直苦于没工具玩弄。让我们来通过这个项目做一个属于自己的电子琴,你肯定满意通过单片机主机和功放产生的音乐效果。1.2项目分析通过思考我们得知这样一个信息:要想电子琴发出音乐的效果,我们就必须先知道音乐的组成元素。简单的来说音乐乐谱包含两个基本的参数:“音调”和“节拍”。音调:表示一个音符的高低即频率的高低。节拍:表示一个音符持续的时间。弄懂这些问题之后我们可以开始这手这个项目了。下面先从几个简单的任务开始。下图为本项目的图片:1.3任务一中断控制发音实验1.3.1任务分析本实验主机中的晶振

2、为11.0592MHZ,利用单片机主机的定时器中断定时,计时到后就将输出脉冲的I/O反相,从而控制输出口按照一定时间比例取反就达到中断发音的效果。1.3.2硬件电路设计中断控制发音实验电路由单片机主机、LM386功放组成。具体电路如下:1.3.3软件编程程序流程图如下图所示。任务程序如下:#include#defineuintunsignedint#defineucharunsignedcharsbitP3_7=P3^7;sbitP2_0=P2^0;chartemp1,temp2;voiddelay(uintz){uintx,y;for(x=z;x>0;x--)for(y=

3、110;y>0;y--);}voidinit(){ET0=1;EA=1;TMOD=0x01;TR0=0;}voidmain(){init();while(1){P3_7=1;if(P2_0==0){while(P2_0==0);TR0=1;temp1=0Xfb;temp2=0Xe9;TH0=temp1;TL0=temp2;delay(250);}TR0=0;}}voidtime0()interrupt1{P3_7=~P3_7;TH0=temp1;TL0=temp2;}1.3任务二音乐盒开发实验1.4.1任务分析在前面中断控制功放发音的基础上,让我们从中体会到了原来单片机是可以发出音乐的。现在

4、先来了解一下想要单片机自动播放一首优美的音乐到底需要怎样做。前面已经说过了,音乐乐谱包含两个基本的参数:“音调”和“节拍”。音调:表示一个音符的高低即频率的高低。节拍:表示一个音符持续的时间。先来分析一下音乐中的音调,该任务中我们采用的是标准的C调。例如C调中的DO的频率是523Hz。然后单片机的内部定时器使其工作计数器模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音调,例如,频率为523Hz,其周期T=1/523=1912μs,因此只要令计数器计时956μs/1μs=956,每计数956次时将I/O反相,就可得到中音DO(523Hz)。计数脉冲值与频率的关系式(

5、如式2-1所示)是:N=fi÷2÷fr2-1式中,N是计数值;fi是机器频率(晶体振荡器为12MHz时,其频率为1MHz);fr是想要产生的频率。其计数初值T的求法如下:T=65536-N=65536-fi÷2÷fr以下为音符频率表音符频率(HZ)简谱码(T值)音符频率(HZ)简谱码(T值)低1 DO262F921#4FA#739FD90#1 DO#277F980中5SO784FDB3低2 RE294F9DB#5SO#830FDD4#2RE#311FA36中6LA879FDF3低3M330FA87#6931FE11低4FA349FAD7中7SI987FE2D#4FA#370FB22高1DO1

6、045FE47低5SO392FB68#1DO#1106FE5F#5SO#415FBA9高2RE1171FE76低6LA440FBE8#2RE#1241FE8C#6466FC23高3M1316FEA1低7SI494FC5B高4FA1393FEB5中1DO523FC8E#4FA#1476FEC7#1DO#554FCBE高5SO1563FED9中2RE587FCED#5SO#1658FEEA#2RE#621FD19高6LA1755FEF9中3M658FD43#61860FF08中4FA697FD6A高7SI1971FF16现在我们再来分析一下音乐中的节拍,通俗的来讲节拍就是每个音调的延时的长短。每

7、个节拍有1/4节拍,2/4节拍,3/4节拍,4/4节拍。在这里我们定义最小节拍1/4节拍延时100ms为基准吧。1.4.2硬件电路设计1.4.3软件编程程序流程图如图所示,具体程序如下。#includesbitspeak=P3^0;unsignedintcodetable[9]={0xfc5b,0xfc8e,0xfced,0xfd43,0xfd6a,0xfdb3,0xfdf3,0xfe2d,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。