欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOCX文档下载  

    基于单片机数字音乐盒的设计.docx

    • 资源ID:13730491       资源大小:24.85KB        全文页数:21页
    • 资源格式: DOCX        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于单片机数字音乐盒的设计.docx

    精心整理单片机实物设计题目:单片机音乐盒设计班级:K0312416-17姓名:湛俊朱斌杨裕庆学号:摘要本设计是一个基于STC89c51RC系列单片机的音乐盒,依据单片机技术原理,通过 硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐盒。该音乐盒主要由 按键电路、复位电路、时钟电路以及蜂鸣器组成。本音乐盒共有四首歌曲,用4个按 键控制。播放歌曲时,蜂鸣器发出某个音调。本设计利用KEIL编程软件对音乐盒源程 序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试,节约了设计时间。【关键词】STC89c51RC按键蜂鸣器LCD1602液晶目录-A-C- _x_ 刖台第一章工作原理1.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.开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称)。b.可通过功能键选择乐曲、暂停、播放。第二章软件设计与分析2.1 软件设计的组成该系统由延时165Ms,即十六分音符子函数、延时IMS子函数、按键 扫描子函数、播放音乐子函数、定时器1中断子函数、定时器0中断子函 数、主函数和数据定义这几部分组成。2.2 各部分软件分析2. 2.1延时165MS,即十六分音符子函数延时165MS,即十六分音符子函数voiddelay l(uintz)uintx,y;fof(x=z;x>0;x")fof(y=19000;y>0;y-);)2.2.2 延时1MS子函数延时IMS子函数voiddelay2(uintz)(uintx,y;foi(x=z;x>0;x)foi(y=U0;y>0;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)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=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);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=OxlO;定时器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<reg5 l.h>/51 单片机头文件typedefunsignedchaiuchai';typedefunsignedintuint;sbitRS=P2A7;/LCD1602 数据/命令选择端(H/L)sbitRW=P2A6;/LCD1602 读/写选择端(H/L)sbitE=P2A5;/LCD1602 使能信号端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 x72,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,0x52,看不清的双 手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,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,/ 白 色油桐风中纷飞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,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,0x26,/ 夜深入静独徘徊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 16,/ 寂 寞沙洲我该思念谁Oxff;uchaicodetable3=0x26,0x20,0x20,0x20,0x20,0x20,0x26,0x10,0x20,0x10,0x20,0x80,0x26,0 x20,0x30,0x20,0x30,0x20,0x39,0x10,0x30,0x10,0x30,0x80,0x26,0x20,0x20,0x20,0x20,0 x20,0xlc,0x20,0x20,0x80,0x2b,0x20,0x26,0x20,0x20,0x20,0x2b,0xl0,0x26,0xl0,0x2b,0 x80,0x26,0x20,0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x60,0x40,0x10,0x39,0 xlO,0x26,0x20,0x30,0x20,0x30,0x20,0x3 9,0x10,0x26,0x10,0x26,0x80,0x26,0x20,0x2b,0 xl0,0x2b,0xl0,0x2b,0x20.0x30,Ox 10.0x39.Ox 10.0x26.Ox 10,0x2b,Ox 10.0x2b,0x20.Ox2b.Ox40,0x40,0x20,0x20,0x10,0x20,Ox 10,0x2b.Ox 10,0x26,0x30,0x30,0x80.Ox 18,0x20,Ox 18,0 x20,0x26,0x20,0x20,0x20,0x20,0x40,0x26,0x20,0x2b,0x20,0x30,0x20,0x30,0x20,Ox lc,0 x20,0x20,0x20,0x20,0x80,Ox lc,0x20,Ox lc,0x20,Ox lc,0x20,0x30,0x20,0x30,0x60,0x39, Ox 10,0x30,0x10,0x20,0x20,0x2b,Ox 10,0x26,Ox 10,0x2b,Ox 10,0x26,Ox 10,0x26,0xl0,0x2b,0 xl0,0x2b,0x80,Ox 18,0x20,Ox 18.0x20,0x26.0x20,0x20,0x20,0x20,0x60.0x26,Ox 10,0x2b.0 x20,0x30,0x20,0x30,0x20,Ox lc,0x20,0x20,0x20,0x20,0x80,0x26,0x20,0x30,0x10,0x30,0 xlO,0x30,0x20,0x39,0x20,0x26,Ox 10,0x2b,Ox 10,0x2b,0x20,0x2b,0x40,0x40,0xl 0,0x40,0 xlO,0x20,0x10,0x20,0xl0,0x2b,0x 10,0x26,0x30,0x30,0x80,Oxff,;ucharcodetable4=0x30,0x1 C,Ox 10,0x20,0x40,Ox IC,Ox 10,0x18,Ox 10,0x20,0x10,Ox IC,Ox 10, 0x18,0x40,OxlC,0x20,0x20,0x20,Ox IC,0x20,Ox 18,0x20,0x20,0x80,0xFF,0x20,0x30,Ox 1C,OxlO,0x18,0x20,0x15,0x20,Ox IC,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,0x20,0x26,0 x20,0x20,0x20,0x30,0x80,0xFF,0x20,0x20,Ox IC,Ox 10,Ox 18,Ox 10,0x20,0x20,0x26,0x20,0 x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x20,Ox IC,Ox 10,Ox 18,Ox 10,0x20,0x20,0x26,0x20,0 x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x30,Ox IC,Ox 10,Ox 18,0x20,Ox 15,0x20,Ox IC,0x20, 0x20,0x20,0x26,0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,0x30,Ox 80,0x20,0x30,0 xlC,0x10,0x20,0xl0,0xlC,0xl0,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40, 0x20,Ox 15, Ox IF,0x05,0x20,Ox 10,Ox IC,Ox 10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0 x2B,0x40,0x20,0x30,Ox IC,Ox 10,Ox 18,0x20,Ox 15,0x20,Ox IC,0x20,0x20,0x20,0x26,0x40,0 x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,0x30,0x30,0x20,0x30,0xlC,0x 10,0x18,0x40,0 xlC,0x20,0x20,0x20,0x26,0x40,0x13,0x60,0x18,0x20,0x15,0x40,0x13,0x40,0x18,0x80,0xff.);简谱音调对应的定时器初值适合12的晶振ucharcodecuzhi=Oxff,Oxff, 占位0xFC,0x8E,中央 C 调 1-7OxFC,OxED,0xFD,0x43,0xFD,0x6A,0xFD,0xB3,0xFD,0xF3,0xFE,0x2D,OxFE,0x47, 高八度 1-70xFE,0x76,0xFE,0xAl,0xFE,0xC7,0xFE,0xD9,0xFE,0xF9, 0xFF,0xl6 ;ucharcodeyinyue=0xff,0xfe,0xfd,0xfb,0xf7.0xef0xdt0xbt0x7f,0x00,0x00 );将音调转化为对应的LED样式延时165MS,即十六分音符子函数voiddelay l(uintz)(uintx,y;for(x=z;x>0;x")for(y=19000;y>0;y");)/延时IMS子函数voiddelay2(uintz)uintx.y;foi(x=z;x>0;x")fof(y=110;y>0;y-);/LCD 1602液晶写命令子函数 voidwrite_c om(u chaico m)(RS=0;选择写指令RW=0;E=0;P0=com;E=l;delay2(5);无延时不能正常工作E=0;/LCD1602液晶写数据子函数voidwrite_date(uchardate)RS=1;选择写数据RW=0;E=0;P0=date;E=l;delay2(5);无延时不能正常工作E=0;/LCD 1602液晶初始化子函数voidLCD 1602_init()初始化delay2(15);主函数voidniain()TMOD=Oxll;定时器0工作在方式1TH1=O;TL1=O;ET1 = 1;TH0=0;TLO=O;ETO=1;TRO=1;EA=1;开总中断EX1 = 1;开外部中断1IT1 = 1;下降沿时触发中断EXO=1;开外部中断0"0=1;下降沿时触发中断count2=0;0昌第一首歌LCD1602_init();while(l)/大循环songQ;)定时器0中断子函数voidtO()intenuptl(nuni2+;if(num2=5)num2=0;key。;定时器1中断子函数voidt l()intenupt3 用于产生各种音调 (THl=a;TLl=b;BEEP=BEEP;)voidwbOQinteiTuptO(TR1=O;if(kl=O)(delay2(10);if(kl=O)(count2+;c=0;从头开始唱if(count2=l) wiite_com(0x01);delay2(10);wiite_com(0x80+0);write_date(n);wiite_com(0x80+1);write_date(n);wiite_com(Ox 80+2);write_date(n);wiite_com(0x80+3);write_com(0xc0+8);wnte.date(M);wiite_com(0xc0+9);write_date(T);wiite_com(OxcO+10);write_date(fr);wiite_com(0xc0+l 1);wiite_date(ro,);wiite_com(0xc0+12);write_date(,wl);wiite_com(0xc0+13);write_date(le,);wiite_com(0xc0+14);write_date(,rl);wiite_com(0xc0+15); write_date(ls,);if(count2>4)(count2=l;c=0;从头开始唱TR1 = 1;while(!kl);)voidwb 1 ()intenupt2(TR1=O;if(k2=0)delay2(10);if(k2=0)(count2;c=0;从头开始唱if(count2=l)if(count2<=0)count2 =4;c=0;从头开始唱TR1=1;wliile(!k2);)3仿真图3. 1原理图4. 2元件清单总结这次设计进一步端了我的学习态度,学会了实事求是,严谨的作风,对自己要严格要求,不能够一知半解,要力求明明白白。急于求成是不好的,我有所感受。如果省略了那些必要的步骤,急于求成,不仅会浪费时 间,还会适得其反。我觉得动手之前,头脑里必须清楚该怎么做,这一点是很重要的。就目前来说,我的动手能力虽然差一点,但我想,通过我的 不懈努力,在这方面,我总会得到提高。这一点,我坚信。因为别人能做到的,我也一定能做到。参考文献1李群芳,张士军,黄建.单片微型计算机与接口技术.北京:电子工业出 版社,20082李群芳.单片机原理接口与应用.北京:清华大学出版社,20053张迎新.单片微型计算机原理、应用及接口技术.北京:国防工业出版社, 19994高峰.单片微机应用系统设计及使用技术.北京:机械工业出版社,2007 5彭伟.单片机c语音程序设计实例基于protues仿真.北京:电子工业出 版社,20077张冬林,李鑫,戴梅基于DHH1的低成本蚕室温湿度自动控制系统设 计J.现代农业科技,2010, (18) :14-15.8徐春河.浅谈AT89s51 J.制造业自动化,2010, (12): 80-82.9吴汉清.常用的典型单片机资料J.无线电,2007, (11):72-80.10叶健斌.基于单片机嵌入式系统的GPS应用J.电子质量,2008, (7) : 16-24.11刘宝元,张玉虹,姜旭,段存丽.基于单片机的温湿度监控系统设计JL 国外电子测量技术,2009, (12): 77-80,83.12王静.通用库房温湿度测控系统D.中国海洋大学,2009.13陈汝全.实用微机与单片机控制技术.电子科技大学出版 社.1995. 712.14张广军,黄俊钦.温度传感器现场动态校准方法与实验研究J北京航 空航天大学学报1997年23卷3期311-315.15李建民.单片机在温度控制系统中的应用川.江汉大学学报, 1996.6210-215.16.薛玲,孙曼,张志会,夏莉丽,魏希文.基于单片机AT89s51的温湿 度控制仪J.2010,37, (7) :66-69

    注意事项

    本文(基于单片机数字音乐盒的设计.docx)为本站会员(scccc)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开