- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
多功能器官
多功能电子琴?作品简介:漂亮的外观,清澈洪亮的声音,闪闪发亮的彩灯,相信早已吸引住你的眼球!这是一款纯手工打造的电子琴,实为接近MM、生日礼物必备佳品。其成本不会超过20元。?作品功能:★通过8个按钮可以演奏出基本的8种音调:Do、Re、Mi、Fa、SO、La、Si、高音Do;★演奏的同时会以数字显示出当前的音调,利于培养乐感;★可以自动演示这8个音调;★可以演奏内置生日快乐歌。★自动演奏时,LED进行节拍指示。?使用方法:通过按下方的8个音调键演奏乐曲;按演示按钮可以自动演奏这8种音调;按奏乐按钮可以演奏生日快乐歌;在自动演示与奏乐的过程中按停止键则中断演奏;音量调节按钮可以选择音量大与小。?基本原理:一定频率产生声音,频率高低决定音调。利用单片机输出脉冲信号经放大后送给喇叭,便可发出声音。本制作中巧妙地利用了单片机的定时器,让定时器中断一次就对改变喇叭的状态一次,即形成矩形方波,这也是数字电路产生声音的方法。本作品使用AT89S52型单片机,ISP在线下载使得修改芯片里面的内容相当简单,便于作品的升级与优化。硬件电路:51单片机最小系统部分:8颗独立按键加上两颗功能键,按键需接上拉电阻。S1~S8为音调按钮,S9、S10为演奏按钮:喇叭驱动电路,speaker接单片机的P1.0口,喇叭安装在箱体中:LED电路,led接单片机的P1.1口。注意,这里的LED是那种通电自己会闪的,这样才能有视频中的效果:数码管电路,选用共阳数码管,A~DP依次接单片机P0.0~P0.7:软件设计:?/***************************************************程序名称:多功能电子琴简要说明:P1.0口输出各音调的频率方波??????????????????? 本程序可方便地更改内置音乐的内容编??? 写:JiangX.net更新时间:08/10/18晚***************************************************/#includeAT89X52.h#define SPK P1_0????????????????????????????? ???? //定义方波输出口#define LED P1_1#define shumaguan P0?????????????????????????????? //定义数码管段码输出unsigned int tone1,tone2;/*****标准音符表*****///用于使定时器初值变化以产生相应频率的定时unsigned char code yinfu[]={0xfb,0xe9,????? //Do??????????????????????????? ??? ????????????? 0xfc,0x5c,????? //Re??????????????????????????? ??? ????????????? 0xfc,0xc1,????? //Mi??????????????????????????? ??? ????????????? 0xfc,0xef,????? //Fa??????????????????????????? ??? ????????????? 0xfd,0x45,????? //So??????????????????????????? ??? ????????????? 0xfd,0x92,????? //La??????????????????????????? ??? ????????????? 0xfd,0xd0,????? //Si??????????????????????????? ??? ????????????? 0xfd,0xee,????? //Do#??????????????????????????? ??? 0x00,0x00 ??? //音符之间的间隔,只要间隔时间小于65ms时,??????????????????????????????????????????????????????? //喇叭不会发出声音,用作拍子之间的短暂停顿???? };?/*****生日快乐歌音调表*****/unsigned char code shengri_tone[]={?? 1,0,1,2,1,4,3,0,?????????????????? ???????? ?????? 1,0,1,2,1,5,4,0,??????????????????????????? ?? ??????????????? 1,0,1,8,6,4,3,2,0,??????????????????????????? ?? ??????????????? 7,0,7,6,4,5,4,0?????? /
文档评论(0)