基于51单片机的电子八音盒详细设计步骤(共13页).doc
《基于51单片机的电子八音盒详细设计步骤(共13页).doc》由会员分享,可在线阅读,更多相关《基于51单片机的电子八音盒详细设计步骤(共13页).doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上一、 设计目的利用8052单片机结合内部定时器设计一个八音盒,按下单键可以演奏预先设置的歌曲旋律。二、 设计要求 其基本功能为:1,使用LED显示器来显示目前演奏的歌曲编号;2,具有8个按键操作来选择演奏哪一首歌曲;3,内建8首歌曲旋律,按下单键可以演奏歌曲。三、 设计器材 T89C52单片机、晶振、八个按键、二位一体共阳极数码管、电阻电容若干、导线。四、 设计方案及分析设计思路:(1) 选择8052单片机,通过T0定时中断,并配合P2.0引脚输出音频频率。(2) P2.0引脚输出接蜂鸣器。(3) 通过P0口接LED。(4) P1口接键盘,输入歌曲号。音符产生方法:不
2、同的音调有不同的频率。频率不同,音调也就不同。利用定时器,使其工作在模式1,定时中断,然后控制P2.0引脚的输出每次取反,就可以在P2.0的引脚输出相应的方波频率。改变计数初值,就改变了频率。定时器的定时时间等于半个周期,定时时间到就输出脉冲取反,重复此过程,就可在P2.0引脚得到一音频的脉冲。如:中音1的频率=523HZ,周期T=1/523=1912us;定时器的定时时间为:T/2=1912/2us=956us;计算得TH0,TL0的计数初值THTL=64580下面是个音符计数初值音符THTL音符编码低音50F66FH1低音60F724H2低音70F81BH3中音10F88FH4中音20F9
3、5EH5中音30FA17H6中音40FA6BH7中音50FB08H8中音60FB92H9中音70FC0EHA高音10FC4BHB高音20FCAFHC高音30FD0CHD高音40FD36HE高音50FD84HF节拍产生方法:音乐中的节拍用延时时间产生。假设1/4拍执行一次延时程序,这1/2拍就执行两次延时程序,所以只要求出1/4延时时间,其余的节拍就是他的倍数。为方便记谱,将节拍数也进行编码,如下:节拍编码节拍11/421/233/441建立曲谱编码表:编谱用8位编码,高4位代表音符,低4位代表节拍。如5 6中音5,中音6,都是1/2拍,则编码为:82H 92H程序清单:#include #de
4、fine uchar unsigned char#define uint unsigned int#define ulong unsigned longsbit SPEAK = P20;/接蜂鸣器管脚uchar th0_f; uchar tl0_f; uchar code SEG10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67;uchar code jie88=12,14,16,17,19,21,23,24;/*中断函数*/timer0() interrupt 1 TL0=tl0_f;TH0=th0_f; SPEAK =SPEAK; /取
5、反音乐输出IO/*T0的值,及输出频率对照表*/uchar code freq36*2=0xA9,0xEF,/00220HZ ,1 /00x93,0xF0,/00233HZ ,1#0x73,0xF1,/00247HZ ,20x49,0xF2,/00262HZ ,2#0x07,0xF3,/00277HZ ,30xC8,0xF3,/00294HZ ,40x73,0xF4,/00311HZ ,4#0x1E,0xF5,/00330HZ ,50xB6,0xF5,/00349HZ ,5#0x4C,0xF6,/00370HZ ,60xD7,0xF6,/00392HZ ,6#0x5A,0xF7,/00415H
6、Z ,70xD8,0xF7,/00440HZ 1 /120x4D,0xF8,/00466HZ 1# /130xBD,0xF8,/00494HZ 2 /140x24,0xF9,/00523HZ 2# /150x87,0xF9,/00554HZ 3 /160xE4,0xF9,/00587HZ 4 /170x3D,0xFA,/00622HZ 4# /180x90,0xFA,/00659HZ 5 /190xDE,0xFA,/00698HZ 5# /200x29,0xFB,/00740HZ 6 /210x6F,0xFB,/00784HZ 6# /220xB1,0xFB,/00831HZ 7 /230xE
7、F,0xFB,/00880HZ 10x2A,0xFC,/00932HZ 1#0x62,0xFC,/00988HZ 20x95,0xFC,/01046HZ 2#0xC7,0xFC,/01109HZ 30xF6,0xFC,/01175HZ 40x22,0xFD,/01244HZ 4#0x4B,0xFD,/01318HZ 50x73,0xFD,/01397HZ 5#0x98,0xFD,/01480HZ 60xBB,0xFD,/01568HZ 6#0xDC,0xFD,/01661HZ 7 /35 ;/*音乐符号串解释函数*/入口:要解释的音乐符号串,输出的音调串,输出的时长串changedata(uc
8、har *song,uchar *diao,uchar *jie)uchar i,i1,j;char gaodi; /高低+/-12音阶uchar banyin;/有没有半个升音阶uchar yinchang;/音长uchar code jie78=0,12,14,16,17,19,21,23; /C调的7个值*diao=*song;for(i=0,i1=0;)gaodi=0; /高低=0banyin=0;/半音=0yinchang=4;/音长1拍if(*(song+i)=|) | (*(song+i)= ) i+; /拍子间隔和一个空格过滤switch(*(song+i)case ,: ga
9、odi=-12;i+;/低音break;case : gaodi=12;i+; /高音break;if(*(song+i)=0) /遇到0结束*(diao+i1)=0; /加入结束标志0*(jie+i1)=0;return;j=*(song+i)-0x30; i+; /取出基准音j=jie7j+gaodi; /加上高低音yinc: switch(*(song+i)case #: /有半音j加一个音阶i+;j+;goto yinc;case -: /有一个音节加长yinchang+=4;i+;goto yinc;case _: /有一个音节缩短yinchang/=2;i+;goto yinc;c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 电子 八音盒 详细 设计 步骤 13
限制150内