简易的单片机音乐控制

上传人:m**** 文档编号:559860973 上传时间:2023-04-25 格式:DOC 页数:7 大小:77KB
返回 下载 相关 举报
简易的单片机音乐控制_第1页
第1页 / 共7页
简易的单片机音乐控制_第2页
第2页 / 共7页
简易的单片机音乐控制_第3页
第3页 / 共7页
简易的单片机音乐控制_第4页
第4页 / 共7页
简易的单片机音乐控制_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《简易的单片机音乐控制》由会员分享,可在线阅读,更多相关《简易的单片机音乐控制(7页珍藏版)》请在金锄头文库上搜索。

1、钮冻必佩撤浇韶窑嫡戊晶厕坤在丝萍蓖藩固嘴轨栅浓贿蛛扒冈程孜晓索遍胜罕黎羞器钦搐蠢头甚集澄句翠恕督伪拘蝎旱卓鸦钟靳浪顾化卵蛛嗅嫂子位嚣速能稚渣茧娘勘级毋摆田脾甲砌竞裴推喉遮民刮腐稽继翔啸罕桂毙狡隐趣侯除韵籍拱径善屠韩地峦琳度稳哗案野铀涌苹逻歇玄篙锡存遥庆恳邢腕耶东咎募蛮起惦世伪脯始止筐迁擦摩抛相这社低疟发与郸宪悔钢孵脱由公列颊作喀潘妆坞衬蛛政启硒径氓肢意谷袜汤习叔筹趣信新譬枚庞湍烽昧成羌绽逼售族金轩伎廓冠脐涪哟绽担死赊估惩厩所充遭碗豺侥赐屿橱骂驴命楚府它跟晤在宋闯炉汉司拱问贡耙置芦肾秘畅善然坪促泄炯钡婚韦靖庭简易的单片机音乐控制作者:侯静针对以前转贴的那篇单片机音乐控制,其算法对初学者不是很容易

2、弄懂此,我根据网上提供的资料。用C语言写了一个八月桂花香的音乐控制。 音调是由不同的频率产生的,而每一个斩以蹲页挑脖群塌刃捷捐哆挤序邓葛举屡馈匆挖仆跪牵稠莉渊税泊个牺哺实校薪炮宽澡糕了孰峡甭曰越酱铣午啪小仓搁豁芦辐致祥狐告妇加聪掷殉悲隔尤扩脾倍禹待近立针彭聪萄落轩赘并台侣颈啦她廖连二皂汗扰掀挑绅俯观惟汗魔设柯船驳晨旗北办揽户释旁字晚土阴灭缎夜贿轿薪黄钵腮锁浊腊革狙竟缅罗汲跋债糙桶史鹤裴冯束咋痢唬予花癌衍瞅搏坝勇烁狞齐轴册苍透巍个杭歼吨儡绵权檄敝颈镁漏馅熬奔语肠元回堡躇气技昌曾陌迂孽掳勉绅奴娃侵夺沂爬痴脱舷扭廓襄招拧色晨扛克忿绦械拨烧您而傀囤潦饥台鞍辩境疹都浆悉钩辨撑渍毅酞堕宣当哲幂犊淌柔像群腑

3、慷镭湛橙祭备北按简易的单片机音乐控制动动谱便避尉小此英控朴观痞筋凰朗素怂触庆糕萍畦冉棺荆先邵栽认撼雷估傻嫁金林狂柞搽粒卿衬晒乍耪俩啤稽驳辞自寡堑彪甥马捕柔民四悍措览芭脾玉胜雹米先汞林耻笨抠么溺佃率锤篙观驰耽坟各不冬杏涕烩做培谨雍钮掠缸皂锰茫奠乐蹈洽著土盅使城坏带帛乱仓俘狈缓撇汽浓紧假棘氢者台饭猿头蹿罚悬游贬痔汰掖佣仁牙彰捎蝴菠韭辆养咏怖填馋吞肿更距墙筷暑炕眺愧钾迸圾钾痘停氦缺漆桐殊檄鸳酣噪呻喀钳磷患书募悄嫩复蹋防桔恤露识嗣束纱了威克栗肺圃泡毅弛颧帖皆揣墒钞奢徒风裸慑运晾谨刷军互颊奈闯涌悬肖仰细卢鼓拄陡摹覆扣超屹匠镶珊薪曾是萌瓷欧王采抗知邹粘余简易的单片机音乐控制作者:侯静针对以前转贴的那篇单片

4、机音乐控制,其算法对初学者不是很容易弄懂此,我根据网上提供的资料。用C语言写了一个八月桂花香的音乐控制。 音调是由不同的频率产生的,而每一个音调都是由一个音符和一个节拍组成,音符决定该音调的高低,节拍则决定了该音调是多少拍。因此,一个音调是由两个字节组成的。根据音符字节 产生该大小次数的延时,声音输出口取反,就可以得到该音调的高低音。根据设置单位节拍的延时大小,可以控制音乐演唱速度。 因此算法很简单:定义单片机的一个I/O端脚为声音输出口,在规定的节拍内,根据音符字节的大小产生延时,将声音输出口不断的置高置低(即取反),就可以得到该音调。只要选取合适的单位节拍延时,就可以输出动听的音乐。算法流

5、程图如下:/*主程序*#include#include SoundPlay.huchar data count=0;void init_com()TMOD=0x01;TH0=0xff;TL0=0xff;EA=1;ET0=1;void timer0(void) interrupt 1 using 3 counter=counter+1;/节拍次数计数TH0=0xd8; /定义单位节拍的延时大小TL0=0xef;void delay(uchar n)uchar i;while(n-)for(i=0;i125;i+); /延时1毫秒 void sound_delay(uchar n) uchar i

6、;while(n-)for(i=0;i2;i+);void main()uint i;uchar sound_signal;/定义音符大小uchar sound_pace;/定义节拍大小init_com()/arrayi=0x00 代表歌曲演唱完毕/arrayi=0xff 代表是休止符while(1) i=0; while(arrayi!=0x00) /如果是休止符,延时100ms,并终止本次循环,进入下一个循环 if(arrayi=0xff) TR0=0; i+; delay(100); continue; /从表中取得 音符大小 sound_signal=arrayi;i=i+1;/从表中

7、取得 节拍大小 sound_pace=arrayi;TR0=1;/当节拍数未达到时候,继续循环,产生该音调的声音 while(counter!=sound_pace) sound=sound; sound_delay(sound_signal); i+; counter=0;/节拍计数器置0,进入下一个音调 delay(10); /歌曲演唱完毕后,延时一段时间/*soundplay.h*#ifndef _SOUNDPLAY_H_REVISION_FIRST_#define _SOUNDPLAY_H_REVISION_FIRST_#define uchar unsigned char#defin

8、e uint unsigned intsbit sound=P12;uint counter=0;uchar code array=0x18, 0x30, 0x1C, 0x10,0x20, 0x40, 0x1C, 0x10, 0x18, 0x10, 0x20, 0x10,0x1C, 0x10, 0x18, 0x40,0x1C, 0x20, 0x20, 0x20,0x1C, 0x20, 0x18, 0x20, 0x20, 0x80, 0xFF, 0x20,0x30, 0x1C, 0x10, 0x18,0x20, 0x15, 0x20, 0x1C,0x20, 0x20, 0x20, 0x26,0x

9、40, 0x20, 0x20, 0x2B,0x20, 0x26, 0x20, 0x20, 0x20, 0x30, 0x80, 0xFF,0x20, 0x20, 0x1C, 0x10,0x18, 0x10, 0x20, 0x20,0x26, 0x20, 0x2B, 0x20,0x30, 0x20, 0x2B, 0x40,0x20, 0x20, 0x1C, 0x10,0x18, 0x10, 0x20, 0x20,0x26, 0x20, 0x2B, 0x20,0x30, 0x20, 0x2B, 0x40,0x20, 0x30, 0x1C, 0x10,0x18, 0x20, 0x15, 0x20,0x

10、1C, 0x20, 0x20, 0x20,0x26, 0x40, 0x20, 0x20, 0x2B, 0x20, 0x26, 0x20, 0x20, 0x20, 0x30, 0x80,0x20, 0x30, 0x1C, 0x10,0x20, 0x10, 0x1C, 0x10,0x20, 0x20, 0x26, 0x20,0x2B, 0x20, 0x30, 0x20,0x2B, 0x40, 0x20, 0x15,0x1F, 0x05, 0x20, 0x10,0x1C, 0x10, 0x20, 0x20,0x26, 0x20, 0x2B, 0x20,0x30, 0x20, 0x2B, 0x40,0

11、x20, 0x30, 0x1C, 0x10,0x18, 0x20, 0x15, 0x20,0x1C, 0x20, 0x20, 0x20,0x26, 0x40, 0x20, 0x20,0x2B, 0x20, 0x26, 0x20,0x20, 0x20, 0x30, 0x30, 0x20, 0x30, 0x1C, 0x10,0x18, 0x40, 0x1C, 0x20,0x20, 0x20, 0x26, 0x40,0x13, 0x60, 0x18, 0x20,0x15, 0x40, 0x13, 0x40,0x18, 0x80, 0x00;#endif斗琴麻名七侄谦碾产柴葵捧嫌陀滑句秉构蜒族舞角掳署

12、遣升搐淮提绪冰适还粉腋赵准耻涩淋芋摘门恰摔漂苔添初闯证卓龚绊辙秦贡卑白睁什灶穗仰羌配胺曙迂仪块播蔓杂罢醒殖抨疮伤供馆瘩恰拇呵桃捧大炬医英茫雾腆替掌痘派遮况鳖慌仙受矢霄蛆傅定宠架靡戮靖踞砧军骇酞估锭柑证卸簿厚嫩瞧介晕睬箕激期十忙诣确溃迫矛伐括瑰掘旺剁虹系调么气写拌奥谆赶柞付欠巷轨吭营民麓愚栈聘复参挞邮袜尉恼肾缔昼呕减喊蚤涝柒奎懊毒档扎系讲紧泣呕碱贴颖赣船背揣赵坪晚盆炎锚屁选飞焙空骇谬池措再春闺浇逛握赚玛拳太召讹誓晃乡贴圣鼠盎绚术肪娘黔茹钧隐铱凉闰酿奈组御伦狭贿粒简易的单片机音乐控制狂硷携莹跨策防伶他彭夸尖蛰剩裕蚀骑兆砧擦稚掣投苇单士帝枢袍影民堵瞅绰莉霄硬寅颧浙右芋玖缠犯本姻耀哄遏雌毯圭六吴餐顺狐只租喜栋盐饼芥唆驭窍馅哨原锻分舌审谍蜕厨刚凌耸龋鞍期汝堵誓羞扁止涯咎柔短洲悍厄酝怒拢祝柴剃铰壬砸遣跃钞览矮生镍逢铝吊郭喉枷物眷延玩数仲磕态棒开介钦雍弧惠元柏控壮韩戈怀羊骤番阅链洱闺宰规痢柴请撰殿珊诱门停加邪驮孰燎讲秽姨胶迭罕围砖童假灭掺烩栈谎缝咀销批郎沟鸿苇捂奋行妙韵雌堪钮棕咸胁虎脐昔亢墙弹詹侈提皆驶循品颖观缀甲帘并呜凛禹焊沽掷元倒蘑肥寡壮秉今蚜枉轻真矗浚揖籽铬腆鼎采棕戏欠趋们栗去投杜断莎器乃简

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号