基于proteus的51系列单片机音乐盒设计

合集下载

(完整版)基于51单片机的电子八音盒详细设计步骤

(完整版)基于51单片机的电子八音盒详细设计步骤

一、设计目的利用8052单片机结合内部定时器设计一个八音盒,按下单键可以演奏预先设置的歌曲旋律。

二、设计要求其基本功能为:1,使用LED显示器来显示目前演奏的歌曲编号;2,具有8个按键操作来选择演奏哪一首歌曲;3,内建8首歌曲旋律,按下单键可以演奏歌曲。

三、设计器材T89C52单片机、晶振、八个按键、二位一体共阳极数码管、电阻电容若干、导线。

四、设计方案及分析设计思路:(1)选择8052单片机,通过T0定时中断,并配合P2.0引脚输出音频频率。

(2)P2.0引脚输出接蜂鸣器。

(3)通过P0口接LED。

(4)P1口接键盘,输入歌曲号。

音符产生方法:不同的音调有不同的频率。

频率不同,音调也就不同。

利用定时器,使其工作在模式1,定时中断,然后控制P2.0引脚的输出每次取反,就可以在P2.0的引脚输出相应的方波频率。

改变计数初值,就改变了频率。

定时器的定时时间等于半个周期,定时时间到就输出脉冲取反,重复此过程,就可在P2.0引脚得到一音频的脉冲。

如:中音1的频率=523HZ,周期T=1/523=1912us;定时器的定时时间为:T/2=1912/2us=956us;计算得TH0,TL0的计数初值THTL=64580下面是个音符计数初值节拍产生方法:音乐中的节拍用延时时间产生。

假设1/4拍执行一次延时程序,这1/2拍就执行两次延时程序,所以只要求出1/4延时时间,其余的节拍就是他的倍数。

为方便记谱,将节拍数也进行编码,如下:建立曲谱编码表:编谱用8位编码,高4位代表音符,低4位代表节拍。

如5 6中音5,中音6,都是1/2拍,则编码为:82H 92H程序清单:#include <reg52.h>#define uchar unsigned char#define uint unsigned int#define ulong unsigned longsbit SPEAK = P2^0;//接蜂鸣器管脚uchar th0_f;uchar tl0_f;uchar code SEG[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67};uchar code jie8[8]={12,14,16,17,19,21,23,24};/**************************中断函数*******************************************/ timer0() interrupt 1{TL0=tl0_f;TH0=th0_f;SPEAK =~SPEAK; //取反音乐输出IO}/********************T0的值,及输出频率对照表***********************************/ uchar code freq[36*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,//00415HZ ,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 //230xEF,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(uchar *song,uchar *diao,uchar *jie){uchar i,i1,j;char gaodi; //高低+/-12音阶uchar banyin;//有没有半个升音阶uchar yinchang;//音长uchar code jie7[8]={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 ',': gaodi=-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=jie7[j]+gaodi; //加上高低音yinc: switch(*(song+i)){case '#': //有半音j加一个音阶i++;j++;goto yinc;case '-': //有一个音节加长yinchang+=4;i++;goto yinc;case '_': //有一个音节缩短yinchang/=2;i++;goto yinc;case '.': //有一个加半拍yinchang=yinchang+yinchang/2;i++;goto yinc;}*(diao+i1)=j; //记录音符*(jie+i1)=yinchang; //记录音长i1++;}}/******************************奏乐函数***************************************/ //入口:要演奏的音乐符号串void play(uchar *songdata){uchar i,c,j=0;uint n;uchar diaodata[48]; //音调缓冲uchar jiedata[48]; //音长缓冲changedata(songdata,diaodata,jiedata); //解释音乐符号串TR0=1;while(P1=0xff){for(i=0;diaodata[i]!=0;i++) //逐个符号演奏{tl0_f=freq[diaodata[i]*2]; //取出对应的定时值送给T0th0_f=freq[diaodata[i]*2+1];for(c=0;c<jiedata[i];c++) //按照音长延时{for(n=0;n<29500;n++); //29500if(P1!= 0xff)//((!K1)||(!K2)||(!K3)||(!K4))//发现按键,立即退出播放{TR0=0;return;}}TR0=0;for(n=0;n<460;n++); //音符间延时TR0=1;}}TR0=0;}//茉莉花uchar code molihua[]={"33_5_6_`1_`1_6_|55_6_5-|33_5_6_`1_`1_6_|55_6_5-|""5553_5_|665-|32_3_53_2_|11_2_1|"//"3_2_1_3_2.3_|56_`1_5-|23_5_2_3_1_,6_|,5-,61|"//"2.3_1_2-1_,6_|,5--"};//世上只有妈妈好uchar code mamahao[]={"6.5_35|`16_5_6-|35_6_53_2_|1_,6_5_3_2-|""2.3_55_6_|321-|5.3_2_1_,6_1_|,5--"};//小毛驴uchar code xiaomaolv[]={"1_1_1_3_|5_5_5_5_|6_6_6_`1|5-|""4_4_4_6_|3_3_3_3_|2_2_2_2_|5-"};//我是一只菠萝uchar code boluo[]={"1-|2_4_3_2_55|5_6_3_4_22|2_4_3_2_1_`1_7_6_|5_4_2_3_11|""2_4_3_2_55|5_6_3_4_22|2_4_3_2_1_5_2_3_|1---|"};//小星星uchar code xiaoxingxing[]={"1155|665-|4433|221-|""5544|332-|5544|332-|""1155|665-|4433|221-|"};//春天在哪里uchar code chuntian[]={"3_3_3_1_|,5,5_|3_3_3_1_|3-|5_5_3_1_|,5_,5_,5|,6_,7_1_3_|2-|" "3_3_3_1_|,5,5_|3_3_3_1_|3-|5_6_5_6_|5_4_3_1_|,5_3_|2_1_"};//两只老虎uchar code laohu[]={"1231|1231|345-|345-|""5_6_5_4_31|5_6_5_4_31|""151-|151-"};//就是爱你uchar code jiushiaini[]={"3_2_3_4_5,7_1_|1`1_7_7 5_6_|66_5_5_3_2_1_3_|4_,6_,7_1_32|" "3_2_3_4_5,7_1_|1`1_7_7_`3_|3-6_|5_4_.4_5_5-|4_,6_ ,7_1_32._1_|"};//黑白配uchar code heibai[]={"32345-|1,7123-|3,5,611-|"};//找朋友uchar code zhaopeng[]={"5_6_5_6_|5_6_5|5_`1_7_6_|5_6_5"};//数鸭子uchar code shuya[]={"313_3_1|3_3_5_6_5-|6_6_5_5_4_4_4|2_3_2_1_2"};//欢乐颂uchar code huanle[]={"3345|5432|1123|322-|3345|5432|1123|211-|"};//一分钱uchar code yifen[]={"5`1|6_`1_5|3_5_2_3_|5|3_5_6_`1_|5_6_5_3_|5_13_2"};//乐谱方式输入的音乐播放/*******************************主函数****************************************/ void main(void){P1=0xff;P0=SEG[0];TMOD = 0x01; //使用定时器0的16位工作模式TR0 = 0;ET0 = 1;EA = 1;while(1){switch(P1){case 0xfe:while(P1==0xfe){;}P0=SEG[1];play(molihua);SPEAK=0;break;//0 按下相应的键显示相对应的码值case 0xfd:while(P1==0xfd){;}P0=SEG[2];play(yifen);SPEAK=0;break;//1case 0xfb: while(P1==0xfb){;}P0=SEG[3];play(mamahao);SPEAK=0;break;//2case 0xf7: while(P1==0xf7){;}P0=SEG[4];play(xiaomaolv);SPEAK=0;break;//3case 0xef: while(P1==0xfe){;}P0=SEG[5];play(laohu);SPEAK=0;break;//4case 0xdf: while(P1==0xdf){;}P0=SEG[6];play(huanle);SPEAK=0;break;//5case 0xbf: while(P1==0xbf){;}P0=SEG[7];play(chuntian);SPEAK=0;break;//6case 0x7f: while(P1==0x7f){;}P0=SEG[8];play(zhaopeng);SPEAK=0;break;//7default: break;}TR0 = 0;}}五、问题分析与解决方法问题一:仿真问题仿真图画好之后,开始运行,数码管和发光二极管都没有反应。

基于51单片机音乐盒课程设计

基于51单片机音乐盒课程设计
4.3音频、音调程序设计- 15 -
4.4按键与蜂鸣器接口端程序设计- 16 -
4.5外部中断程序设计- 16 -
4.6定时程序设计- 17 -
4.7延时程序编写- 18 -
4.8主程序的编写- 18 -
五、系统仿真与调试- 20 -
5.1仿真平台- 20 -
5.2仿真调试- 20 -
5.3测试总结- 21 -
上拉电阻就是将电源通过电阻接到输出端。如果输出端是OC(集电极开路,TTL)或OD(漏极开路,CMOS)输出,不接上拉电阻则输出端无驱动能力。对于P1、P2、P3口内部就以及有上拉电阻,如果其端口电流较大,电平就会降低(电阻大,相应压降也太大),就可以通过外接上拉电阻(就是并一个电阻在IC内部的上拉电阻上,这时总电阻减小,总电流增大)提供电流分量,将电平“拉高”。
本设计中的晶振振荡电路(如图2)是在一个反相放大器(注意是放大器不是反相器)的两端接入晶振,再有两个电容分别接到晶振的两端,每个电容的另一端再接到地,这两个电容串联的容量值就应该等于电路的负载电容。同时,晶振可以等效为一个电感,所以只要晶振的两端并联上合适的电容它晶振等效为一个电感,所以只要晶振的两端并联上合适的电容它就会组成并联谐振电路。其中端点1接STC89C52RC芯片的19引脚,端点2接芯片的18引脚。这个并联谐振电路加到一个负反馈电路中就可以构成正弦波振荡电路,由于晶振等效为电感的频率范围很窄所以即使其他元件的参数变化很大这个振荡器的频率也不会有很大的变化。本实验中使用的是22PF的电容,如果再考虑元件引脚的等效输入电容,则两个22PF的电容构成晶振的振荡电路就是比较好的选择,但本设计简易,所以对于等效输入电容带来的误差不予讨论。
1.2
完成该模块的硬件和软件的设计,在Proteus软件上仿真通过后,用Altium_Designer软件进行PCB单面板的绘制,修改合理后制成单面覆铜板。随后将程序下载到单片机进行硬件验证。最后就课程设计本身提交一篇课程设计说明文档。

单片机应用技术课程报告~音乐盒的设计

单片机应用技术课程报告~音乐盒的设计

单片机应用技术课程报告实验名称音乐盒的设计实验时间2020年7月3 日学生姓名实验地点钉钉群线上同组人员专业班级1、实验目的1、能够在Keil软件中查看变量,掌握程序调试的基本方法;2、掌握定时器/计数器的使用和编程方法3、掌握在µVision环境中调试定时器/计数器程序的方法;4、掌握在Proteus环境中,实现定时器/计数器仿真应用。

2、任务设计要求任务要求:利用单片机定时器/计数器设计一个音乐盒。

以51单片机芯片作为控制核心,按键作为输入部分通过K2按键可以选择待播放的几段音乐种的一段,K1按键可播放选定的音乐段,在播放的过程中还可以用暂停,扬声器作为输出设备,数码管显示按键的4个字符,来表示当前所按下的键,设计采用单片机控制的音乐播放器,实现内置音乐播放功能。

3、总体设计方案根据实验任务要求,通过功能分析,设计的系统总体方案如图所示。

并行接口AT89C51单片机电源时钟电路复位电路数码管显示扬声器4、硬件电路设计5、软件程序设计(2)程序清单#include<reg51.h>#define uchar unsigned char#define uint unsigned intuchar Song_Index=0,Tone_Index=0;sbit SPK=P3^7; //蜂鸣器sbit K1=P1^0; //播放和停止键uchar code TAB[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x30}; uchar code HT_LTS[]={0,226,229,232,233,236,238,240,241,242,244,245,246,247,248}; uchar code L0_LIS[]={0,4,13,10,20,3,8,6,2,23,5,26,1,4,3}; //标准音符对应的延时表uchar code Song[][50]={{1,2,3,1,1,2,3,1,3,4,5,3,4,5,5,6,5,3,5,6,5,5,3,2,1,2,1,-1},{3,3,3,4,5,5,5,5,6,5,3,5,3,2,1,5,6,5,3,3,2,1,1,-1}, {3,2,1,3,2,1,1,2,3,1,1,2,3,1,3,4,5,3,4,5,5,6,5,3,5,2,1,3,2,1,1,-1},{1,1,5,5,6,6,5,4,4,3,3,2,2,1,5,5,4,4,3,3,2,5,5,4,4,3,3,2,1,1,5,5,6,6,5,4,4 ,3,3,2,2,1,-1}}; //四段音乐的音符(这些音乐是可以任意编写的,可以自己修改)uchar code2)性能指标测试及结果分析。

基于51单片机的音乐盒设计报告

基于51单片机的音乐盒设计报告

摘要本作品利用单片机的IO口对蜂鸣器输送不同频率的信号,让单片机发出不同音调的声音。

以“新年好”曲调为基础以C51为语法编出51音乐盒的程序。

根据电路图焊接了蜂鸣器模块与TX-1C51开发板用杜邦线进行连接。

除了蜂鸣器外接模块外还使用了1602液晶显示模块作为外设连接。

本人对单片机演奏音乐比较有兴趣。

在此,本人将就这方面的知识做一些简介,但愿能对单片机演奏音乐比较有兴趣而又不知其解的朋友能有所启迪。

一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能象电子琴那样能奏出多种音色的声音。

因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和“节拍”。

音调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间。

一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能象电子琴那样能奏出多种音色的声音。

因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和“节拍”。

音调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间。

关键词: 51单片机音乐盒液晶屏幕显示模块蜂鸣器模块 C51目录1 设计任务目的与要求 (1)1.1任务设计目的 (1)1.2任务要求 (1)2 模块及其原理介绍 (2)2.1蜂鸣器模块 (2)2.21602液晶显示模块 (2)3 设计方案 (3)3.1软件设计 (3)3.2硬件设计 (3)4 实验结果与数据分析 (4)4.1测试步骤 (4)4.2实验现象 (4)5 结论与问题讨论 (4)5.1完成设计的要求程度 (4)5.2遇到的问题以及解决办法 (4)5.3存在的不足及改进思路 (4)参考文献 (5)附录 (5)附录一:C51程序 (5)1 设计任务目的与要求1.1任务设计目的本人对单片机演奏音乐比较有兴趣,所以选择51音乐盒的题目。

本设计通过两个模块的制作并与开发板一并使用。

通过本次设计不止熟悉焊接和熟悉各个电子元器件,而且还提高了对外设模块使用单片机编程的技能。

基于51单片机数字音乐盒的设计毕业设计

基于51单片机数字音乐盒的设计毕业设计
作者签名:日 期:
学位论文原创性声明
本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。
b. 可通过功能键选择乐曲、暂停、播放。
第二章
2.1
该系统由延时165MS,即十六分音符子函数、延时1MS子函数、按键扫描子函数、播放音乐子函数、定时器1中断子函数、定时器0中断子函数、主函数和数据定义这几部分组成。
3、论文(设计说明书)所体现的整体水平
□ 优 □ 良 □ 中 □ 及格 □ 不及格
建议成绩:□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
评阅教师:(签名)单位:(盖章)
年 月 日
摘 要
本设计是一个基于STC89C51RC系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。本音乐盒共有四首歌曲,用4个按键控制。播放歌曲时,蜂鸣器发出某个音调。本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试,节约了设计时间。
单片机实物设计
题 目:单片机音乐盒设计
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

基于51单片机的音乐盒的设计与实现

基于51单片机的音乐盒的设计与实现

沈阳航空航天大学课程设计报告课程设计名称:单片机系统综合课程设计课程设计题目:基于51单片机的音乐盒的设计与实现目录第1章总体设计方案 (1)1.1设计原理 (1)1.2设计思路 (1)1.3实验环境 (2)第2章详细设计方案 (3)2.1硬件电路设计 (3)2.2主程序设计 (6)2.3功能模块的设计与实现 (7)第3章结果测试及分析 (10)3.1结果测试 (10)3.2结果分析 (10)参考文献 (11)附录1:元件清单 (12)附录2:总电路图 (13)附录3:程序代码 (14)第1章总体设计方案1.1设计原理电子音乐已广泛地应用于社会生活的各个领域。

其类型从音乐卡片到CD、MP3 等多种多样,制作原理也各不相同。

声音是通过振动产生的。

单片机对某一I/O 引脚以一定的频率循环置1和清0,这一引脚便产生一定频率的方波,该方波通过放大后作用于扬声器便产生一定频率的声音。

若改变输出方波的频率,产生的声音也就改变了。

通过控制输出方波的时间长短,声音的长短也就得到控制。

因此,根据乐谱,单片机就可产生电子音乐。

音乐中最关键的两个要素是音符和节拍。

单片机控制的音乐发生器系统由硬件电路和软件两部分构成。

利用单片机控制的电子音乐发生器软硬件上具有独特的优点,系统的开发周期短,成本低,电路制作容易。

更换歌曲时,硬件电路无需作任何修改,只需修改软件即可实现。

软件编程时,可用51系列单片机的汇编语言。

同时还可根据个人的习好通过软件改变节拍的延时时间,增加电子音乐的趣味性。

1.2 设计思路采用汇编语言程序设计的方法结合硬件电路设计方法,利用Lab6000实验箱上已有芯片来实现音乐盒的各项功能。

1)提出方案利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O口反相就可在I/O脚上得到此频率的脉冲。

当键盘有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。

基于c51单片机音乐盒设计.

基于c51单片机音乐盒设计.

基于c51单片机音乐盒设计.音乐盒是一种通过内置于其中的机械结构或者电流来制造音乐的一种装置,它是一种完全可以自己动手制作的小型装置。

音乐盒可以引起大家的兴趣,并且对于音乐爱好者而言,它更是不可或缺的工具。

而在本文中,我们将介绍一种基于c51单片机的音乐盒设计方案。

首先,我们需要了解c51单片机的一些基本特性和特点,这样才能更好地去理解音乐盒的设计方案。

c51单片机是一种非常常见的单片机,它具有操作简单,可扩展性强,代价低廉等特点,在市场中被广泛的应用在各种电子产品中。

基于c51单片机的音乐盒设计方案主要包括硬件部分和软件部分,接下来我们将详细介绍这两部分的内容。

硬件设计:1、音源部分音乐盒的核心部分是音源,所以我们需要采用一种高质量、高保真度的音源。

音源可以采用蜂鸣器、扬声器等。

2、时钟部分c51单片机的时钟部分是控制器的基础。

我们采取计数器,通过方波的输出频率来控制计数器进行计数,并通过定时器来实现时钟的计数。

时钟部分包括一定的高级电路,这些电路包括晶振、电容、电阻等等。

3、输入输出端口为了方便对音乐盒进行控制,我们需要在音乐盒中设置一些输入输出端口,这些端口可以通过外部设备来实现,可以通过按键来控制音乐盒的运作。

1、程序框架首先,我们需要确定程序的框架。

程序框架分为以下几个部分,包括时钟设置、中断处理、函数处理、主函数等。

时钟设置部分主要包括两个功能:时钟的计时和频率控制。

这些设置应该与硬件的时钟部分配合符合音乐节拍和时间的要求,通过设计、调整达到准确、稳定的效果。

3、中断处理音乐盒的中断处理部分是整个程序的核心,它包括多种中断请求,包括时钟中断、按键事件中断等。

这些中断请求可以被设置成高优先级或低优先级,以实现更好的控制效果。

4、功能处理对于在音乐盒运行中,需要频繁进行操作的函数,我们应该单独设置一个处理函数,并将其函数调用编入到主函数中。

5、主函数最后,我们需要编写主函数,以实现音乐盒在不同的运行模式中切换,及处理各种异常情况。

任务书开题报告基于-51系列单片机多功能音乐盒设计

任务书开题报告基于-51系列单片机多功能音乐盒设计
2、此表双面打印,一式三份,学生、指导教师、教研室各1份。
三、课题研究已具备的条件(包括实验室、主要仪器设备、参考资料)
实验室:实验楼A502,503
主要仪器设备:1.硬件环境: PC一台,相关集成芯片等
2.软件环境: Keil uVision3, Proteus,DXP,Protel 99SE等
参考资料:
随着科学技术的进步和社会的发展,人类所接触的信息也在不断增加并且日益复杂。面对浩如烟海的信息,人们已经能够利用计算机等工具高效准确地对之进行处理,但要想将处理完的信息及时,清晰地传递给别人,还必须通过寻求更加卓越的显示技术来实现。单片机技术与液晶显示技术的结合,使信息传输交流向着智能可视化方向迅速发展。
2015年6月30日:下达毕业论文任务书;
2015年7月1日—2016年3月5日:查阅参考文献,课题前期准备,撰写开题报告;
2016年3月6日:论文开题;
2016年3月7日—5月7日:系统设计与论文撰写;
2016年4月17日:中期检查;
2016年5月8日:毕业论文答辩;
2016年5月17日前:毕业设计文档汇总,论文档案整理。
二、本课题研究现状
21世纪,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路装化等几个方面发展。单片机应用的重要意义还在于它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。

本科毕业设计 基于proteus的51单片机应用

本科毕业设计 基于proteus的51单片机应用

一、概述在现代科技飞速发展的时代背景下,单片机技术作为一种集成度高、性能稳定的微型电子元件,已经广泛应用于各个领域中。

本科毕业设计旨在基于Proteus评台,利用51单片机进行应用开发,旨在探究单片机在电子领域中的应用潜力,同时提升自身的工程实践能力。

二、设计背景1. 单片机技术的发展随着科技进步和市场需求的推动,单片机技术不断完善和更新,已经成为电子产品制造中不可或缺的核心技术之一。

在自动控制、通讯、仪器仪表等领域,单片机技术展现出无可比拟的优势。

2. Proteus评台的应用价值Proteus是一款专业的电子设计自动化软件,被广泛应用于模拟和数字电路的设计、仿真和PCB布局。

通过Proteus评台,可以进行精确的仿真和虚拟实验,节省了实际搭建电路的时间和成本。

三、设计目标1. 了解51单片机的基本原理和结构通过深入研究51单片机的内部结构和工作原理,全面掌握单片机的核心技术,为后续应用开发打下坚实的基础。

2. 运用Proteus评台进行单片机应用开发利用Proteus软件,进行仿真实验和应用开发,验证单片机的实际应用效果。

通过模拟实验,可以直观地观察和评估单片机的工作状态和性能。

3. 提升工程实践能力通过本科毕业设计的研究和实践,提升自身的工程实践能力,增强对单片机技术的理解和掌握,为未来的科研和工程实践奠定扎实的基础。

四、设计内容1. 51单片机基础知识学习需要对51单片机的基本原理、内部结构和工作方式进行深入学习和研究。

通过查阅相关文献和资料,了解单片机的组成部分、指令系统、存储器结构、时序控制等方面的知识,为后续的应用开发做好充分的准备。

2. Proteus评台的使用方法掌握在51单片机的基础知识学习之后,需要熟悉Proteus软件的使用方法,包括仿真实验的搭建、参数设置、仿真分析等方面的操作技巧。

通过实际操作,掌握Proteus评台的应用技能,为后续的单片机应用开发做好准备。

3. 基于Proteus的51单片机应用开发在掌握了51单片机的基础知识和Proteus评台的使用方法之后,可以开始进行基于Proteus的单片机应用开发。

基于51单片机的音乐盒设计

基于51单片机的音乐盒设计

课程设计:嵌入式系统应用题目名称:基于51单片机的音乐盒设计1设计的任务(包含设计的内容和设计的目标)设计内容:本设计是一个基于AT89C52系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐盒。

该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器和点阵组成。

使用按键控制音乐盒,三个用来切换歌曲,一个用来暂停音乐和开启LED点阵,一个用来从暂停位置开始播放音乐。

本音乐盒共有三首歌曲,点阵式样有四种。

播放歌曲时,蜂鸣器发出某个音调。

本设计利用KEIL编程软件对音乐盒源程序进行编程并调试。

设计目标:初始:点阵显示作者信息;按键1:播放歌曲1;按键2:播放歌曲2;按键3:播放歌曲3;按键A:暂停播放,点阵显示当前歌曲的名字;按键B:从暂停位置继续播放。

2 设计的过程2.1 基本结构1、总体设计框图2、AT89C52介绍8K 在系统可编程Flash 使用Atmel 与工业80C51 产品指令和引脚完全兼容。

片上Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。

Flash,25632 位I/O 口16 位定时器一个6向量2AT89S52 可降至CPU 停止工中断继续工作。

掉电保护方式下,RAM 位为止。

P0 口:P0口是一个8口。

作为输出口,每位能驱TTL P0端口写“1”P08位地址/P0P0P1 口:P1 8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。

对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入的原因,将输出电流(IIL)P1.0和P1.1(P1.0/T2)计数器2 的触发输入(P1P1.1 T2EX(定时器的捕捉/重载触发信号和方向控制)P1.5 MOSIP1.6 MISOP1.7 SCKP2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动 4 个TTL 逻辑电平。

基于51单片机音乐盒程序设计

基于51单片机音乐盒程序设计

基于51单片机音乐盒程序设计一、功能设计说明1、电路设计实物图矩阵键盘部分电路图2、运行流程图3、电子琴模式按键对应发音设计按键 发音 按键 发音 K1 低 1 K9 中 2 K2 低 2 K10 中 3 K3 低 3 K11 中 4 K4 低 4 K12 中 5 K5低 5K13中 6程序开始播放小苹果歌曲判断任意按键是否按下继续播放小苹果歌曲否是进入电子琴模式判断K16按键是否按下播放完成是否按键发音按键发音K6 低6 K14 中7K7 低7 K15 高1K8 中1 K16 重新播放小苹果二、硬件电路说明1、程序下载电路音乐盒电路图ISP下载接口本设计采用的单片机为A T89S52单片机,需使用ISP下载器进行下载程序,程序下载电路图如图中ISP1接口.2、音乐发音电路IO口P10发出不同频率的脉冲,则BUZZER产生各种不同的声音,本设计采用12MHZ 晶振,系统频率1MHZ,定时器计数一个1us,其对应关系如下表所示:音符频率(HZ)简谱码(T值)音符频率(HZ) 简谱码(T值)低 1 DO 262 63628 # 4 FA# 740 64860 # 1 DO# 277 63731 中 5 SO 784 64898 低 2 RE 294 63853 # 5 SO# 831 64934 # 2 RE# 311 63928 中 6 LA 880 64968 低 3 M 330 64021 # 6 932 64994 低 4 FA 349 64103 中 7 SI 988 65030 # 4 FA# 370 64185 高 1 DO 1046 65058 低 5 SO 392 64260 # 1 DO# 1109 65085 # 5 SO# 415 64331 高 2 RE 1175 65110 低 6 LA 440 64400 # 2 RE# 1245 65134 # 6 466 64463 高 3 M 1318 65157 低 7 SI 494 64524 高 4 FA 1397 65178中1 DO 523 64580 # 4 FA# 1480 65198# 1 DO# 554 64633 高 5 SO 1568 65217中 2 RE 587 64684 # 5 SO# 1661 65235# 2 RE# 622 64732 高 6 LA 1760 65252中 3 M 659 64777 # 6 1865 65268中 4 FA 698 64820 高 7 SI 1967 65282 计算方法:例如产生262HZ频率(发音DO),周期T=1/262=3816 us,由于定时器中断使IO不停取反,故周期T=3816/2=1908 us 定时器初值N=65536-1908=63628TH0=63628/256TL0=65536%256三、程序代码说明1 、脉冲产生采用定时器0溢出中断产生脉冲,定时器初始化如下:TMOD = 0x01; //定时器0工作方式1 ,即十六位计数器计数TR0 = 1; //启动定时器ET0 = 1; //定时器0溢出中断使能EA = 1; //总中断使能定时器0溢出中断产生脉冲,void Timer0() interrupt 1代码如下:TH0 = th0;TL0 = tl0;if(th0==0)BUZZER=1; //判断停顿,有停顿不发音else{BUZZER = ~BUZZER;} //无停顿发音2、音普规则:a、音普由一个字节十六进制数组成b、高4位代表节拍,一拍约400MS,将一拍分成8份c、低4位代表音符,一一对应Note[]列表d、0x20代表歌曲结束符e、uint code Note[]={0,64580,64684,64777,64820,64898,64968,65030,/*中音*/63628,63853,64021,64103,64260,64400,64524,/*低音*/65058,65110,65157,65178,65217,65252,65282/*高音*/};该列表为发音所对应的定时器初装值例如编写如下一段音乐列表:0x83,0x81,0x82,0x8d,0x43,0x42,0x41,0x42,0x8d,0x8d,0x40 0x40表示停顿4*50MS /*你是我的小呀小苹果*/3、音普列表解读while(Xiaopingguo[temp]!=0x20) //不停判断音乐是否结尾,结尾跳出{jiepai=Xiaopingguo[temp]>>4; //获取节拍,即高4位数yinpu=Xiaopingguo[temp]&0x0F; //获取音普,即低4位数Timer_Set(yinpu); //根据列表对应发音Delay(jiepai*50); //节拍temp++;P0 = 0x0f;if(P0!=0x0f)goto out;}void Timer_Set(uchar num)为定时器0赋值子程序,包含的代码如下:th0=Note[num]/256;tl0=Note[num]%256;四、程序代码编写/**********************************************************************************************项目名称:音乐盒单片机型号:AT89S52频率:外部石英晶振12MHZ设计时间:2014-08-06设计者:小左MCU工作室Q Q: 576689422******************************************************************************* **************/#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit BUZZER=P1^0;//蜂鸣器输出uchar th0,tl0; //定时器0赋值变量uchar start_; //返回变量uint code Note[]={0,64580,64684,64777,64820,64898,64968,65030,/*中音*/63628,63853,64021,64103,64260,64400,64524,/*低音*/65058,65110,65157,65178,65217,65252,65282/*高音*/};/*************************************************************************音普规则:1、音普由一个字节十六进制数组成2、高4位代表节拍,一拍约400MS,将一拍分成8份3、低4位代表音符,一一对应Note[]列表4、0x20代表歌曲结束符**************************************************************************/uchar code Xiaopingguo[]={0x83,0x81,0x82,0x6d,0x43,0x42,0x41,0x42,0x8d,0x8d,0x40,/*你是我的小呀小苹果*/0x83,0x81,0x82,0x82,0x45,0x43,0x8e,0x81,0x40,/*怎么爱你都不嫌多*/0x41,0x4e,0x8d,0x4e,0x41,0x82,0x8c,0x46,0x45,0x83,0x83,0x43,0x40,/*红红的小脸温暖我的心窝*/0x42,0x81,0x42,0x43,0x42,0x43,0x42,0x23,0x25,0x85,0x30,0x45,0x10,0x45,0x30,0x45,0x10,0x 45,0x30,0x85,0x85,0x85,0x40,/*点亮我生命的火火火火火火*/0x83,0x81,0x82,0x6d,0x43,0x42,0x41,0x42,0x8d,0x8d,0x40,/*你是我的小呀小苹果*/0x83,0x81,0x82,0x82,0x45,0x43,0x8e,0x81,0x40,/*就像天边最美丽的云朵*/0x41,0x4e,0x8d,0x4e,0x41,0x82,0x8c,0x46,0x45,0x83,0x83,0x43,0x40,/*春天又来到了花开满山坡*/0x42,0x81,0x42,0x43,0x82,0x8c,0x8d,0x4d,0x41,0x8d,0x20/*种下希望就会收获*/};//----延时子程序--------------------------------------------------void Delay(uint xms){uint j;for(;xms>0;xms--)for(j=110;j>0;j--);}//---------------------------------------------------------------//----定时器变量赋值--------------------------------------------- void Timer_Set(uchar num){th0=Note[num]/256;tl0=Note[num]%256;}//---------------------------------------------------------------//----系统初始化------------------------------------------------- void Init(){BUZZER = 1; //关闭蜂鸣器TMOD = 0x01; //定时器0工作方式1TR0 = 1; //启动定时器ET0 = 1; //定时器0溢出中断使能EA = 1; //总中断使能start_ = 0; //返回变量初始化}//---------------------------------------------------------------//----按键扫描--------------------------------------------------- void Key_Scan(){P0 = 0x0f;if(P0!=0x0f){Delay(5);if(P0!=0x0f){P0=0xfe;if(P0==0xee){Timer_Set(8);} //按键1被按下else if(P0==0xde){Timer_Set(12);}//按键5被按下else if(P0==0xbe){Timer_Set(2);} //按键9被按下else if(P0==0x7e){Timer_Set(6);} //按键13被按下else;P0=0xfd;if(P0==0xed){Timer_Set(9);} //按键2被按下else if(P0==0xdd){Timer_Set(13);}//按键6被按下else if(P0==0xbd){Timer_Set(3);} //按键10被按下else if(P0==0x7d){Timer_Set(7);} //按键14被按下else;P0=0xfb;if(P0==0xeb){Timer_Set(10);} //按键3被按下else if(P0==0xdb){Timer_Set(14);}//按键7被按下else if(P0==0xbb){Timer_Set(4);} //按键11被按下else if(P0==0x7b){Timer_Set(15);}//按键15被按下else;P0=0xf7;if(P0==0xe7){Timer_Set(11);} //按键4被按下else if(P0==0xd7){Timer_Set(1);} //按键8被按下else if(P0==0xb7){Timer_Set(5);} //按键12被按下else if(P0==0x77){start_=1;} //按键16被按下else;}}else{th0=0;}}//---------------------------------------------------------------//----主程序----------------------------------------------------- void main(){uchar temp,yinpu,jiepai;Init();while(1){start:temp=0;while(Xiaopingguo[temp]!=0x20){jiepai=Xiaopingguo[temp]>>4; //获取节拍yinpu=Xiaopingguo[temp]&0x0F; //获取音普Timer_Set(yinpu);Delay(jiepai*50);temp++;P0 = 0x0f;if(P0!=0x0f)goto out;}out:th0 = 0;BUZZER = 1;//关闭蜂鸣器while(1){Key_Scan();if(start_==1){start_=0;goto start;}}}}//---------------------------------------------------------------//----定时器0中断服务程序----------------------------------------void Timer0() interrupt 1{TH0 = th0;TL0 = tl0;if(th0==0)BUZZER=1; //判断停顿,有停顿不发音else{BUZZER = ~BUZZER;} //无停顿发音}//----------------------------------------------------------------更多精彩程序请在淘宝店铺中搜索“小左MCU”QQ:576689422。

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

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

单片机实物设计题目: 单片机音乐盒设计摘要本设计是一个基于STC89C51RC系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐盒。

该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。

本音乐盒共有四首歌曲,用4个按键控制。

播放歌曲时,蜂鸣器发出某个音调。

本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS 仿真软件对硬件进行仿真调试,节约了设计时间。

【关键词】STC89C51RC 按键蜂鸣器LCD1602液晶前言.................................................................................................................................................... 第一章工作原理..............................................................................................................................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设计目标1.1.1基本功能具体要:以单片机为核心,设计一个数字音乐盒:利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲(最少3首乐曲,每首不少于30s)。

基于51单片机的音乐盒课程设计开题报告精品

基于51单片机的音乐盒课程设计开题报告精品

基于51 单片机的音乐盒设计开题报告内容课程设计目的利用单片机,根据它的原理制作音乐盒播放音乐课程设计内容1、以单片机为核心部件组成一个音乐盒2、利用单片机的定时器产生乐谱的各种频率方波,信号进过放大电路后由蜂鸣器发出声音3、定义几个按键,能满足相应的播放、停止控制音乐的播放主要内容有:1、基本原理2、设计方案3、课题实施计划4、问题重点难点基本原理1、一首完整的歌曲往往是由音调和节拍组成音调主要就是有声音的频率决定的节拍,让音乐具有旋律并且可以调节各个音的快慢度2、歌曲的音符怎样在单片机中得以实现,必然成为首先要解决的问题3、对于单片机来说,产生不同频率的脉冲是很容易实现的,利用单片机的定时、计数器来4、产生这样的方波频率信号。

需要弄清楚音乐中音符和对应的频率,以及单片机定时计数的关系5、要产生音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。

利用定时器计时这半个周期时间,每当计时到后就将输出脉冲的I/O 反相,然后重复计时此半周期时间再对I/O 反相,就可在I/O 脚上得到此频率的脉冲。

6、利用AT89C51 的内部定时器使其工作在计数器模式MODE1 下,改变计数值TH0 及TL0 以产生不同频率,这样就可以利用不同频率的组合,加以与拍数对应的延迟,构成音乐1、设计方案图2、音乐播放器的基本硬件电路有六部分组成:单片机、时钟与复位电路、选择按键输入电路、音频发生器、音频放大器和扬声器3、单片机对某一引脚以一定的频率循环置 1 置0,该引脚便产生一定频率的方波,方波通过放大,作用于蜂鸣器,就产生了一定频率的声音。

若改变输出方波的频率,产生的声音随之改变。

通过控制输出方波的时间长短,声音的长短也可以得到控制,因此,根据乐谱,以类似的音及同样的节拍,单片机就可以产生电子音乐。

4、方波的产生由定时器控制。

定时器T0 工作在定时方式1,改变TH0 及TL0 ,产生不同的音频频率。

基于51单片机的音乐盒的设计-论文

基于51单片机的音乐盒的设计-论文

摘要:随着人类社会的不断繁荣与发展,人们对自身生活品质的要求也变得越来越高,在听觉方面传统的音乐盒能带给人们的更多的只是美好的回忆,而由于单片机具有的体积小、成本低、运算快和功耗小等特点得到了人们越来越广泛的运用。

本设计是一个基于STC89C52系列单片机的音乐盒,依据单片机技术及原理,通过硬件电路的制作以及软件编译,设计制作出一个插卡式音乐盒。

该音乐盒主要是由按键电路、继电器电路、LCD显示电路以及扬声器组成。

使用五个按键控制音乐盒,分别用来控制音乐盒的播放/暂停,复位,切换上一曲/下一曲,本音乐盒利用优盘共存有五首歌曲。

本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,之后下载进51单片机中使用。

关键词:单片机音乐盒LCDAbstractWith the continuous development of human society, people's quality of life demands are increasingly high, the traditional music box in the auditory aspectto bring people more good memories, but due to the microputer has the advantages of small volume, low cost, low power consumption and fast operation has been more and more extensive use. The design is based on the music box STC89C52 Series MCU, based on single chip microputer principle, the hardware circuit and software pilation, designed to produce aplug-in music box. The music box is posed of a key circuit, a relay circuit,LCD display circuit and a loudspeaker. The use of four buttons control themusic boxes, music boxes were used to control the play / pause, switch on a /the next song, the music box using the USB coexist with five songs. The design of programming on the music box and debug source code using KEIL programming software, then download into 51 single chip processor.Keywords: SCM Music Box LCD目次目次31 引言41.1 音乐盒的意义51.2 研究容62.1系统总体框架图72.2音乐盒的设计原理82.3 单片机芯片概述83 硬件电路设计103.1 单片机最小系统原理图103.1.1 复位电路103.1.2 晶振电路113.1.3时钟电路113.2 LCD显示模块113.3 继电器模块143.3.1电磁继电器的工作原理和特性14 3.3.2 固态继电器的工作原理和特性14 3.3.3 继电器主要产品技术参数153.4 按键模块153.5 其它164 软件设计174.1 软件总体流程图174.2播放/暂停子程序184.3 LCD显示模块软件设计214.3.1 LCD的初始化函数214.3.2 LCD与继电器的函数215 系统实现235.1 硬件调试245.1.1 按键控制的实现245.1.2 LCD显示255.1.3 其他25总结27致错误!未定义书签。

基于51单片机的音乐盒设计

基于51单片机的音乐盒设计

基于51单片机的音乐盒设计成绩课程设计, 嵌入式系统应用题目名称,基于51单片机的音乐盒设计1设计的任务,包含设计的内容和设计的目标,设计内容:本设计是一个基于AT89C52系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐盒。

该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器和点阵组成。

使用按键控制音乐盒,三个用来切换歌曲,一个用来暂停音乐和开启LED点阵,一个用来从暂停位置开始播放音乐。

本音乐盒共有三首歌曲,点阵式样有四种。

播放歌曲时,蜂鸣器发出某个音调。

本设计利用KEIL编程软件对音乐盒源程序进行编程并调试。

设计目标:初始: 点阵显示作者信息;按键1:播放歌曲1;按键2:播放歌曲2;按键3:播放歌曲3;按键A:暂停播放,点阵显示当前歌曲的名字;按键B:从暂停位置继续播放。

2 设计的过程2.1 基本结构1、总体设计框图按键输入蜂鸣器AT89C52单片机晶振复位电路点阵2、AT89C52介绍AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K 在系统可编程Flash 存储器。

使用Atmel 公司高密度非易失性存储技术制造,与工业器80C51 产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。

AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

基于51单片机实现的音乐盒播放器

基于51单片机实现的音乐盒播放器

摘要随着电子技术的发展和计算机越来越普遍的使用,单片机作为这两项技术的有机结合也得到了广泛的应用,在某些领域具有不可替代的作用。

音乐播放功能随处都会用到,如,在开发儿童智力的玩具中,等等。

目前,基于单片机实现音乐播放,其体积小、价格低、编程灵活等特点在这一领域独领风骚。

本次课程设计主要内容是通过单片机C51语言进行编程,以产生乐曲音符和节拍,把乐谱翻译成计算机语言(音符转换诚成相对应的方波频率即定时器装载初值,节拍转换成相对应的延长时间),并将其预先存储到单片机里,然后根据按键调用再由单片机进行信息处理,在经过信号放大,由喇叭放出乐曲声,实现音乐播放的功能。

其主要表现在可以播放十首歌曲,可以用十个数字键控制播放的歌曲,并且能在LCD液晶屏显示器上显示相应播放歌曲的曲名和滚动歌词。

再加上一个开关键来控制歌曲的播放停止。

本设计的目的是培养理论联系实际的学习方法以及独立解决工程实际问题的能力。

能够熟识单片机C51语言的编程特性,及其应用。

能够用C51语言进行编程,能成功的编出较为简单的程序。

关键词:单片机,音乐,蜂鸣器,同步显示AbstractWith the development of electronic technology and computer more and more common use, the single chip microcomputer as two of the organic combination of technology and a wide range of applications and, in some areas has the role that cannot be replaced. Music play function everywhere can use, such as, in the development of children's intelligence toys, and so on. At present, based on the single chip microcomputer music playback, its small size, low price, programming characteristics such as flexible in this field dominate. This course design main content is through the single-chip microcomputer C51 language programming, to produce music notes and beat, the score translated into computer language (note conversion ChengCheng corresponding square wave frequency that is loaded initial value, timer beat converted into a corresponding extended time), and the storage to the single chip microcomputer in advance, and then based on the button again call by MCU is information processing, after amplification, released by the speaker strains, realizing the function of the music played. The main performance can play in ten songs, can use ten numeric keys control play songs, and in LCD screen monitors displayed the corresponding play songs music name and rolling lyrics. Plus a open key to control the songs played to stop. The purpose of this design is to cultivate the theory with the practice as well as independent learning methods solving engineering problem ability. Familiar with single-chip microcomputer C51 language to programming characteristics, and its application. To be able to use language C51 programming, to the success of the make up of the simpler program.Keywords:Microcontroller, music, buzzer, simultaneous display目录课程设计(论文)任务书 ..................................... 错误!未定义书签。

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

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

基于单片机的数字音乐盒的设计摘要这次的数字音乐盒是建立在At89C51单片机程序上设计的,利用一系列单片机智能化设计的多功能实体。

用Proteus软件对所有系统进行仿真制作,而音乐盒源程序的C语言编译部分则是利用Keil软件来实现的。

本系统设计的音乐盒能产生不同的频率波形,主要是通过单片机控制定时器,使喇叭发出不同的音阶音律。

喇叭发出的音调定时常数被转化为乐谱,从而使音乐设备能够演唱出非常动听的音乐节律。

关键词:数字音乐盒;数码管;单片机;Proteus;KeilThe Designation Of Controllable Digital Music BoxBased On 51 ScmABSTRACT Digital music box that is built in At89C51 chip design procedure, using a series of single-chip design of intelligent multi function entity. For all the system simulation using Proteus software,and the music box source program of C language compiler is to use Keil software to implement. The music box design of the system can produce different frequency waveform, is mainly controlled by single chip microcomputer timer, the horn of different scale temperament. Timing constant pitch horn was transformed into the music, which makes music equipment can sing very pleasant music rhythm.Key words:Digital music box; Digital tube; AT89C51; PROTEUS; KEIL目录第1章前言 (1)1.1 课题背景 (1)1.2 课题研究的目的及意义 (1)1.3 论文的主要任务和所做的工作 (1)第2章单片机和音乐盒硬件的功能 (3)2.1 AT89C51芯片的功能 (3)2.2 音乐盒的硬件及其功能 (6)第3章数字音乐盒的主体设计方案 (8)3.1 音乐盒的主体结构 (8)3.2 主设计软件的介绍 (8)3.2.1 编程软件KEIL的简介 (8)3.2.2 仿真软件PROTEUS的简介 (9)第4章音乐盒硬件设计 (10)4.1 总设计框图 (10)4.2各部分硬件的作用 (10)4.2.1时钟振荡电路 (10)4.2.2 LED和数码管的设计 (11)第5章音调和节拍的设计 (13)5.1 音调和节拍的设计以及音乐基础知识 (13)5.2 音调和节拍的编码 (14)第6章 C源程序设计 (15)6.1 音乐程序 (15)6.2 LED花样程序 (15)6.3 数码管程序 (16)第7章数字音乐盒总设计图与总程序 (18)7.1 仿真总图设计图 (18)7.2 音乐播放切歌部分程序 (18)第8章结论 (19)参考文献 (20)附录A总程序源代码及注释 (21)第1章前言1.1 课题背景21世纪的科技是属于单片机的科技时代,现在单片机应用极其普遍,技术也愈来愈成熟,基本上现如今各行各业都能看到单片机的存在。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

成绩课程论文题目:基于proteus的51系列单片机音乐盒设计学生姓名:韩向前学生学号: ********** 系别:电气信息工程学院专业:电子信息工程年级: 10 级任课教师:张水锋电气信息工程学院制2012年12月基于Protues的51系列单片机音乐盒设计学生:韩向前指导教师:张水锋电气信息工程学院电子信息工程(2)班目录1、课程设计任务与要求 (2)1.1、课程设计的任务 (2)1.2、课程设计的要求 (2)1.3、课程设计的研究基础 (2)2、音乐系统方案制定 (2)2.1、方案提出 (2)2.2、方案比较 (3)2.3、方案论证 (3)2.4方案选择 (4)3、音乐系统方案设计 (4)3.1、各单元模块功能介绍及电路设计 (4)3.2、电路参数的计算及元器件的选择 (6)3.3、特殊器件的介绍 (10)3.4、系统整体电路图 (11)4、音乐系统仿真和调试 (11)4.1、仿真软件介绍 (11)4.2、系统仿真实现 (13)4.3、系统测试 (13)5、总结 (14)6、参考文献 (14)7、附录 (15)1课程设计任务与要求1.1 课程设计的任务1>、综合运用所学的理论知识去独立完成设计课题;2>、通过查阅手册和相关文献资料,培养独立分析、解决问题的能力;3>、进一步熟悉单片机和常用接口电路,加深对专业知识和理论知识学习的认识和理解;4>、学会电路的连接与仿真调试;5>、撰写课程设计的总结报告;1.2 课程设计的要求以AT89C51单片机为核心的音乐播放器1>、选用AT89C51单片机和适当的存储器及接口芯片完成相应的功能。

2>、画出详细的硬件连接图。

3>、给出程序设计思路、画出软件流程图。

4>、给出所有程序清单并加上必要注释。

5>、撰写设计报告、调试报告及设计心得。

1.3 课程设计的研究基础为了实现单片机控制音乐播放,通过计算机控制系统,以Proteus和Keil仿真软件为核心来构建完成音乐盒设计仿真。

利用单片机产生乐曲音符,再把乐曲音符翻译成计算机音乐语言,由单片机进行信息处理,再通过蜂鸣器放出音乐。

音乐的产生主要是通过I/O口输出高低不同的脉冲信号来控制蜂鸣器发音。

主要工作过程通过按下功能键实现上一首和下一首及暂停播放,同时有液晶屏显示当前播放歌曲的序号,扬声器播放音乐。

2 音乐系统方案制定2.1 方案提出方案一:单片机接+5V电源供电,晶振电路产生单片机所需的时钟信号,通过功能键产生外部中断,控制音乐盒的上一首和下一首曲目,再由I/0接口输出控制扬声器发声,LCD显示。

另外,复位电路在于营造一个程序运行的初始状态,在程序出错时,重新启动单片机工作。

系统组成框图如图1所示图1方案一 系统框图方案二:设计一个音乐播放器同样使用AT89C51,蜂鸣器一端与一个按钮串联后再和P17焊接,另一端直接接地;P31和RST 端口并联后和主电源串接,如图2所示:图2方案二系统框图2.2 方案比较方案一是通过按键控制系统的音乐播放。

利用I/0口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏出乐曲;采用LCD 显示信息,开机时有欢迎提示字符,播放时显示歌曲序号或名称;可通过功能键选择乐曲暂停,播放;当键盘有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲,同时启动计数器T0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。

同时启动定时器T1,在LCD 显示歌曲号。

通过单片机P1口控制,实现功能键盘的功能;功能键盘采用按键开关,通过单片机P2口控制,实现歌曲播放顺序的调换和暂停播放功能;扬声器由单片机的P3控制,实现歌曲播放。

方案二是利用AT89C51芯片通过播放按键直接控制音乐,使得蜂鸣器发出声音,方案一所需的电子元件少,这就大大减少了生产成本,此外,对于一个轻便易携的音乐盒,其附加能耗越低越好。

2.3 方案论证虽然方案一的设计比较全面,但其难度较大,且编程方面要求较高;方案二要求简单,容易实现,编程方面也较简单,因设计的是翻盖式音乐盒,其功能是在翻开翻盖的同时开关闭合,播放音乐,翻盖盖上,开关断开,音乐盒停止运行,因此方案二更符合实际需要达到了设计音乐盒的目的。

2.4 方案选择通过2.3的方案论证,决定选择方案二,方案二的实施性更强。

3 音乐系统方案设计3.1各单元模块功能介绍及电路设计3.1.1时钟振荡电路AT89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端[1]。

这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一起构成自然振荡器。

外接石英晶体及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。

对外接电容C1,C2虽然没有什么严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。

如果使用石英晶体,我们推荐电容为20PF—40PF,而如果使用陶瓷振荡器建议选择30PF—50PF。

用户也可以采用外部时钟。

采用外部时钟的电路如图示。

这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。

由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求[1]。

振荡器电路图3所示:图3 单片机内部、外部振荡电路3.1.2 音乐发生部分蜂鸣器是一种把警示电信号转化成人耳能够感知的声音信号的转换装置。

通过开关的闭合与断开,来控制音乐的播放和暂停,实现了翻盖式音乐盒的功能,如图4所示:图4 单片机内部、外部振荡电路3.1.3电路设计(1)硬件电路设计总体硬件电路实现功能如下,如图5所示电路中用控制按键控制蜂鸣器。

电路为12MHZ晶振频率工作,起振电路中C1、C2均为20PF。

图5总体硬件电路设计图(2)软件设计在本程序中使用C语言编程,音乐的产生主要是通过单片机的I/O口输出高低不同的脉冲信号来控制蜂鸣器发音。

要想产生音频脉冲信号,需要算出某一音频的周期,然后将此周期除以2,即为半周期的时间。

利用单片机定时器计时这个半周期时间,每当计时到后就输出脉冲的I/O口反向,然后重复计时此半周期时间再对I/O口反向,这样就能在此I/O口上得到此频率的脉冲。

本例利用T0定时器方式1的中断产生音调,利用T1定时器方式1的中断产生节拍。

所以,将纯音乐《天空之城》的乐谱以代码的形式编写,用于主函数的调用。

(3)软件程序设计主程序流程图如图5所示:C语言编程的优越性很明显,其具有丰富的运算符,数据类型,语言简练,生成目标代码质量高等优点[2]。

许多大的软件都用C语言编写,这主要是由于C语言的可移植性好和硬件控制能力高,表达和运算能力强[2]。

再考虑到自己对C语言具有良好的掌握,因此决定用C语言编程。

图6主程序流程图3.2电路参数的计算及元器件的选择3.2.1音调、节拍以及编码的确定方法一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能像电子琴那样能奏出多种音色的声音。

因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和节拍表示一个音符唱多长的时间。

(1) 音调的确定不同音高的乐音是用C、D、E、F、G、A、B来表示,这7个字母就是音乐的音名,它们一般依次唱成DO、RE、MI、FA、SO、LA、SI,即唱成简谱的1、2、3、4、5、6、7,相当于汉字“多来米发梭拉西”的读音,这是唱曲时乐音的发音,所以叫“音调”,即Tone。

把C、D、E、F、G、A、B这一组音的距离分成12个等份,每一个等份叫一个“半音”。

两个音之间的距离有两个“半音”,就叫“全音”。

在钢琴等键盘乐器上,C–D、D–E、F–G、G–A、A–B两音之间隔着一个黑键,他们之间的距离就是全音;E–F、B–C两音之间没有黑键相隔,它们之间的距离就是半音。

通常唱成1、2、3、4、5、6、7的音叫自然音,那些在它们的左上角加上﹟号或者b号的叫变化音。

﹟叫升记号,表示把音在原来的基础上升高半音,b叫降记音,表示在原来的基础上降低半音。

例如高音DO的频率(1046Hz)刚好是中音DO的频率(523Hz)的一倍,中音DO的频率(523Hz)刚好是低音DO频率(266 Hz)的一倍;同样的,高音RE的频率(1175Hz)刚好是中音RE的频率(587Hz)的一倍,中音RE的频率(587Hz)刚好是低音RE频率(294 Hz)的一倍。

要产生音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。

利用定时器计时这半个周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。

利用AT89C51的内部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法。

此外结束符和休止符可以分别用代码00H和FFH来表示,若查表结果为00H,则表示曲子终了;若查表结果为FFH,则产生相应的停顿效果。

例如频率为523Hz,其周期T=1/523=1912us,因此只要令计数器计时956us/1us=956,在每次技术956次时将I/O反相,就可得到中音DO(523Hz)。

计数脉冲值与频率的关系公式如下:N=Fi÷2÷FrN:计算值;Fi:内部计时一次为1us,故其频率为1MHz;Fr要产生的频率。

其计数值的求法如下:T=65536-N=65536-Fi÷2÷Fr例如:设K=65536,F=1000000=Fi=1MHz,球低音DO(261Hz)。

中音DO(523Hz)。

高音的DO(1046Hz)的计算值T=65536-N=65536-Fi÷2÷Fr=65536-1000000÷2÷Fr=65536-500000/Fr低音DO的T=65536-500000/262=63627低音DO的T=65536-500000/523=64580低音DO的T=65536-500000/1047=65059C调各音符频率与计数值T的对照表如表1所示:表1 C调各音符频率与计数值T的对照表低音频率T 参数中音频率T 参数高音频率T 参数Do 262 1908 229 Do 523 956 115 Do 1046 57 57Do﹟277 1805 217 Do﹟554 903 108 Do﹟1109 54 54Re 294 1701 204 Re 587 852 102 Re 1175 51 51Re﹟311 1608 193 Re﹟622 804 97 Re﹟1245 48 48Mi 330 1515 182 Mi 659 759 91 Mi 1318 45 45Fa 349 1433 172 Fa 698 716 86 Fa 1397 43 43Fa﹟370 1351 162 Fa﹟740 676 81 Fa﹟1480 41 41So 392 1276 153 So 784 638 77 So 1568 38 38So﹟415 1205 145 So﹟831 602 72 So﹟1661 36 36La 440 1136 136 La 880 568 68 La 1760 34 34La﹟464 1078 129 La﹟932 536 64 La﹟1865 32 32Si 494 1012 121 Si 988 506 61 Si 1976 30 30(2)节拍的确定若要构成音乐,光有音调是不够的,还需要节拍,让音乐具有旋律(固定的律动),而且可以调节各个音的快满度。

相关文档
最新文档