基于单片机数字音乐盒的设计.docx
《基于单片机数字音乐盒的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机数字音乐盒的设计.docx(21页珍藏版)》请在三一文库上搜索。
1、精心整理单片机实物设计题目:单片机音乐盒设计班级:K0312416-17姓名:湛俊朱斌杨裕庆学号:摘要本设计是一个基于STC89c51RC系列单片机的音乐盒,依据单片机技术原理,通过 硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐盒。该音乐盒主要由 按键电路、复位电路、时钟电路以及蜂鸣器组成。本音乐盒共有四首歌曲,用4个按 键控制。播放歌曲时,蜂鸣器发出某个音调。本设计利用KEIL编程软件对音乐盒源程 序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试,节约了设计时间。【关键词】STC89c51RC按键蜂鸣器LCD1602液晶目录-A-C- _x_ 刖台第一章工作原理1.
2、1设计目标第二章软件设计与分析2.1软件设计的组成2. 2各部分软件分析2. 2.1延时165MS,即十六分音符子函数2. 2. 2延时1MS子画数2. 2. 3定时器0中断子函数2. 2. 4播放音乐子函数2. 5定时器1中断子函数2.6按键扫描子函数2. 2. 7主函数2 . 3总源程序第三章软件仿真3 .仿真图3.1 元件清单总结参考文献第一章工作原理1.1设计目标具体要求是:以单片机为核心,设计一个数字音乐盒:利用I/O 口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从 而演奏乐曲(最少3首乐曲,每首不少于30s)。采用LCD显示信息。a.开机时有英文欢迎提示字符,播放时显示歌曲序
3、号(或名称)。b.可通过功能键选择乐曲、暂停、播放。第二章软件设计与分析2.1 软件设计的组成该系统由延时165Ms,即十六分音符子函数、延时IMS子函数、按键 扫描子函数、播放音乐子函数、定时器1中断子函数、定时器0中断子函 数、主函数和数据定义这几部分组成。2.2 各部分软件分析2. 2.1延时165MS,即十六分音符子函数延时165MS,即十六分音符子函数voiddelay l(uintz)uintx,y;fof(x=z;x0;x)fof(y=19000;y0;y-);)2.2.2 延时1MS子函数延时IMS子函数voiddelay2(uintz)(uintx,y;foi(x=z;x0;
4、x)foi(y=U0;y0;y-);)2.2.3 定时器。中断子函数定时器o中断子函数voidtO()intenupt 1 用于产生各种音调 (THO=a;TLO=b;BEEP=BEEP;)2.2.4 播放音乐子函数播放音乐子函数voidsongOuinttemp;ucharaa;/aa 是简谱 c=0;while(l)if(count2=0)(break;)if(count2= 1) 选 曲 temp=tablelc;if(count2=2)temp=table2c;if(count2=3)temp=table3c;if(count2=4)temp=table4c;if(temp=Oxff)
5、break;aa=temp/16;取数的高4位if(aa!=O)(a=cuzhiaa*2;b=cuzhiaa*2+l;)else(TR1=O;BEEP=1;关蜂鸣器)delayl(temp%16);取数的低 4 位TR1=O;唱完一个音停10MSBEEP=1;delay2(10);TR1=1;C+;TR1=O;BEEP=1;)2.2.5 定时器1中断子函数定时器1中断子函数voidt l()intenupt3 用于产生各种音调(key();)2.2.6 按键扫描子函数voidkey()(if(k3=0)(delay2(10);if(k3=0)(numl+;if(numl=l)TR1=O;aa=
6、count2;count2=0;)if(numl=2)(num 1=0;count2=aa;TR1 = 1;)while(!k3);)if(k4=0)delay2(10);if(k4=0)(TR1=O;count2=0;c=0;wtite_com(0x01);清屏 write_com(0x80+0);write_date(,W,); write_com(0x80+1); wnte-dateCe1);write_c om( 0x80+2);write_dateCr);write_com(0x80+3);wiite-dateCc1);write_com(0x80+4);write-datefo1)
7、;write_c om(0x 80+5); w】ite_dateCm);wiite_com(0x80+6);wiite_date(e);write_c om(Ox 80+7);wnte_date(M);write_c om(0x 80+8);wnte.dateCt1);wiite_com(0x80+9);write_date(lo!);wr i t e_c om( Ox 80+10);wnte_date(M);wr i t e_c om( Ox 80+11);wite_date(u);wr i t e_c om( Ox 80+12);2.2.7 主函数主函数voidmain()(TMOD=Ox
8、lO;定时器0工作在方式1TH1=O;TL1=O;ET1 = 1;EA=1;开总中断EX1 = 1;开外部中断1IT1=1;下降沿时触发中断EXO=1;开外部中断0ITO=1;下降沿时触发中断count2=0;唱第一首歌LCD1602_mit();while(l)/大循环songQ;2. 3总源程序#include/51 单片机头文件typedefunsignedchaiuchai;typedefunsignedintuint;sbitRS=P2A7;/LCD1602 数据/命令选择端(H/L)sbitRW=P2A6;/LCD1602 读/写选择端(H/L)sbitE=P2A5;/LCD160
9、2 使能信号端sbitBEEP=P2八0;蜂鸣器接口sbitkl=P3 八 2;/下一首sbitk2=P3 八 3;上一首sbitk3=P2八1;播放/暂停sbitk4=P2 八 2;复位chaicount2;歌曲标志uchaia,b,c,aa,num;uchainuml,num2;/简谱编程规则:字节高位是简谱,低位是持续时间,代表多少个十六分音符/1-7代表中央C调,8-E代表高八度,0代表停顿最后的0是结束标志uchaicodetablel= 千年之恋0x12,0x22,0x34,0x84,0x74,0x54,0x38,0x42,0x32,0x22,0x42,0x34,0x84,0 x7
10、2,0x82,0x94,0xA8,0x08,前奏0x32,0x31,0x21,0x32,0x52,0x32,0x31,0x21,0x32,0x62,竹林的灯火到过 的沙漠0x32,0x31,0x21,0x32,0x82,0x71,0x81,0x71,0x51,0x32,0x22,/ 七 色的国 度不断飘逸风中0x32,0x31,0x21,0x32,0x52,0x32,0x31,0x21,0x32,0x62有一种神秘灰色 的旋涡0x32,0x31,0x21,0x329x83,0x82,0x71,0x72,0x02, 将 我卷入了迷雾中0x63,0xAL0xA2,0x62,0x92,0x82,0x
11、52,看不清的双 手0x31,0x51,0x63,0x51,0x63,0x51,0x63,0x51,0x62,0x82,0x7C,0x02,/ 一朵 花传来谁经过的温柔0x61,0x71,0x82,0x71,0x62,0xA2,0x71,0x76,/ 穿越千 年的伤痛0x61,0x71,0x82,0x71,0x62,0x52,0x31,0x36, 只 为 求 一个结果0x61,0x71,0x82,0x71,0x62,0xA3,0x73,0x62,0x53,你 留下的轮廓指引我0x42,0x63,0x83,0x83,0x91,0x91,黑夜中不寂寞0x61,0x71,0x82,0x71,0x62
12、,0x0A2,0x71,0x76,/ 穿 越 千年的哀愁0x61,0x71,0x82,0x71,0x62,0x52,0x31,0x36,/ 是你在 尽头等我0x61,0x71,0x82,0x71,0x62,0xA3,0x73,0x62,0x53,最 美丽的感动会值得0x42,0x82,0x88,0x02,0x74,0x93,0x89,Oxff结束标?;ucharcodetable2 =寂寞沙洲冷0x12,0x12,0x22,0x32,0x31,0x22,0x21,0x22,/ 自你走 后心憔悴0x21,0x31,0x51,0x52,0x31,0x52,0x6l,0x 15,0x14,/ 白 色
13、油桐风中纷飞0x51,0x52,0x31,0x52,0x62,0x13,0x11,0x13,0x32,0x28,0x08,0x28,/ 落花 似人有情这个季节0x31,0x32,0x31,0x32,0x11,0x21,0x51,0x52,0x5 L0x52,河畔的风放肆拼 命地吹0x51,0x51,0x31,0x32,0x31,0x32,0x81,0x72,0x63, 不 断拨弄离人的眼泪0x62,0x71,0x81,0x72,0x61,0x61,0x52,0x31,0x21,0x32,0x51,0x54,/ 那 样 浓烈的爱再也无法给0x22,0x12,0x11,0x12,0x11,0x12
14、,0x12,0x14,0x26,0x32,0x26,/ 伤感一夜 一夜0x32,0x61,0x51,0x51,0x31,0x31,0x21,0x31,0x51,0x61,0x51,0x31,0x51,/ 当记忆的线缠绕过往支离破碎0x02,0x32,0x81,0x81,0x81,0x81,0x62,0x52,0x34,/ 是 慌乱占据了心扉0x31,0x81,0x81,0x81,0x61,0x91,0x82,/ 有花 儿伴着 蝴蝶0x51,0x51,0x51,0x51,0x31,0x61,0x53,/ 孤雁 可以双 飞0x21,0x11,0x21,0x 11,0x22,0x11,0x21,0x
15、26,/ 夜深入静独徘徊0x32,0x61,0x51,0x51,0x31,0x31,0x21,0x31,0x51,0x61,0x51,0x31,0x51,0x52,当幸福恋人寄来红色分享喜悦0x31,0x31,0x81,0x81,0x81,0x61,0x91,0x81,0x61,0x31,0x56,/ 闭 上双眼 难过头也不敢回0x32,0x32,0x81,0x81,0x81,0x81,0x91,0x81,0x61,0x81,0x61,0x51,0x31,0 x51,0x34仍然捡尽寒枝不肯安歇微带着后悔0x21,0x31,0x51,0x31,0x2l,0x 11,0x61,0x2l,0x 1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 数字 音乐盒 设计
链接地址:https://www.31doc.com/p-13730491.html