论文.docx
《论文.docx》由会员分享,可在线阅读,更多相关《论文.docx(16页珍藏版)》请在冰豆网上搜索。
论文
摘要
21世纪,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域。
目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展[1]。
小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化享受。
本设计是一个基于AT89C51系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐盒。
该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成[2]。
使用两个按键控制音乐盒,一个用来控制音乐,另一个用来切换8路LED的变化花样,本音乐盒共有两首歌曲,花样灯花样共计3种。
本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试,节约了设计时间。
关键词:
音乐盒,AT89C51单片机,LED
Abstract
Inthe21stcentury,electronictechnologyhasexperiencedrapidgrowthinitspromotion,modernelectronicproductalmostpermeatedeachsocialfields.Atpresent,theSCMareonahighperformanceandmanyvarietiesdirectionwillbefurtherdevelopmenttrendtowardstheCMOS,lowpowerconsumption,smallvolume,highcapacity,highperformance,lowpriceandperipheralequipmentinthecircuitofseveralaspectssuchasthedevelopment[1].Smallmusicboxcanbringpeoplehappymemories,raisepeople'sspiritualcultureenjoy.ThisdesignisabasedonAT89C51singlechipmicrocomputerseriesofmusicbox,basedonthesinglechipmicrocomputerprinciple,hardwarecircuitandsoftwaremadebycompiler,designandmakeoutamulti-functionmulti-functionmusicbox.Themusicboxofmainlybythekeycircuitandresetcircuit,clockingcircuitandabuzzercomposition[2].Theuseoftwokeycontrolmusicbox,ausedtocontrolmusic,anothertoswitchthechangeof8roadLEDpattern,thismusicboxesweretwosongs,synchronizedlampofthreekindsofpatterns.ThisdesignusingKEILsoftwareprogrammingtomusicboxofsourceprogramforprogramminganddebugging,cooperatePROTEUSsimulationsoftwareofthesimulationofhardwaredebugging,managingthedesigntime.
Keywords:
Musicbox,AT89C51single-chipmicrocomputer,LED
目录
1概述1
1.1课题意义1
1.2设计方案1
1.3研究内容1
2系统总体方案介绍3
2.1系统组成框图3
2.2音乐盒的功能结构图3
3硬件设计4
3.1总体设计框图4
3.2各部分硬件设计及其原理4
3.2.1AT89C51简介4
3.2.2LED显示电路设计与原理5
3.2.3时钟振荡电路5
3.3硬件电路图及功能6
4软件设计8
4.1软件程序设计8
4.1.1程序流程图及相应代码块8
5调试14
5.1检查硬件连接14
5.2检查软件系统14
5.3测试结果14
5.3.1总体运行图14
5.3.2花样灯3种花样图16
致谢17
参考文献18
1概述
本设计是以AT89C51芯片的电路为基础,外部加上放音设备,以此来实现音乐演奏控制器的硬件电路,通过软件程序来控制单片机内部的定时器使其演奏出优美动听的音乐。
用户可以按照自己的喜好选择音乐并将其转化成机器码存入单片机的存储器中。
对于不同型号的单片机只需要相应的改变一下地址即可。
该软、硬件系统具有很好的通用性,很高的实际使用价值,为广大的单片机和音乐爱好者提供了很好的借鉴。
1.1课题意义
音乐盒的起源,可追溯至中世纪欧洲文艺复兴时期。
当时为使教会的钟塔报时,而将大小的钟表装上机械装置,被称为“可发出声音的组钟”。
音乐盒有着300多年的发展历史,是人类文明发展的历史见证。
传统的音乐盒多是机械音乐盒,其工作原理是通过齿轮带动一个带有铁钉的铁桶转动,铁桶上的铁钉撞击铁片制成的琴键,从而发出声音。
但是,机械式的音乐盒体积比较大,比较笨重,且发音单调。
水、灰尘等外在因素,容易使内部金属发音条变形,从而造成发音跑调。
另外,机械音乐盒放音时为了让音色稳定,必须放平不能动摇,而且价格昂贵,不能实现大批量生产。
本文设计的音乐盒,是基于单片机设计制作的电子式音乐盒。
与传统的机械式音乐盒相比更小巧,音质更优美且能演奏和弦音乐。
电子式音乐盒动力来源是电池,制作工艺简单,可进行批量生产,所以价格便宜。
基于单片机制作的电子式音乐盒,控制功能强大,可根据需要选歌,使用方便。
根据存储容量的大小,可以尽可能多的存储歌曲。
另外,可以设计彩灯外观效果,使音乐盒的功能更加丰富[3]。
1.2设计方案
设计一个基于AT89C51系列单片机的音乐盒,利用按键切换演奏出不同的乐曲。
蜂鸣器发出某个音调,与之相对应的LED亮起。
使用两个按键,一个用来切换歌曲,另一个切换八路LED的变化花样。
1.3研究内容
(1)电路有两种工作模式:
演奏音乐模式和花样灯模式。
演奏音乐模式:
演奏完整的一首的歌曲,八路LED随着音乐变化。
花样灯模式:
八路LED变化出各种花样,蜂鸣器随着发出“嘀嘀”声
(2)按下按键1进入演奏音乐模式,再按切换歌曲,共两首歌曲。
(3)按下按键2进入花样灯模式,再按切换LED花样,共三种花样。
此电路的程序只占用了1K左右,可编制更多的音乐和LED花样,使系统的功能更加强大。
2系统总体方案介绍
2.1系统组成框图
音乐盒的系统结构以AT89C51单片机位控制核心,加上2个按键、时钟复位电路、蜂鸣器、LED模块组成。
单片机负责接收按键的输入,根据输入控制音乐播放曲目和音乐花样灯的显示样式以及蜂鸣器发音[4]。
系统组成框图如图2.1所示。
图2.1系统组成框图
2.2音乐盒的功能结构图
音乐盒的功能结构如图2.2所示。
Key1负责切换播放歌曲,播放歌曲共2首,分别是挥着翅膀的女孩和寂寞沙洲冷。
Key2负责切换LED显示花样,显示花样共3种,第一种顺序显示,第二种由两边向中间移动然后向两边移动,第三种循环显示[5]。
图2.2音乐盒功能结构图
3硬件设计
3.1总体设计框图
图3.1总体设计框图
3.2各部分硬件设计及其原理
3.2.1AT89C51简介
AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
外形及引脚排列如图3.2所示
图3.2AT89C51系列单片机
3.2.2LED显示电路设计与原理
LED显示电路是由8个LED发光二极管组成,连接方式为共阳极,LED接到单片机的P1口,若为低电平,可使LED亮起。
发光二极管的亮、灭由内部程序控制,8个LED发光二极管会按照程序设计的花样变换[6]。
3.2.3时钟振荡电路
AT89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。
这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一起构成自然振荡器。
外接石英晶体及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。
对外接电容C1,C2虽然没有什么严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。
如果使用石英晶体,我们推荐电容使用30PF
10PF,而如果使用陶瓷振荡器建议选择40PF
10PF。
用户也可以采用外部时钟。
采用外部时钟的电路如图示。
这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。
由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求[4]。
振荡器电路图如下:
图3.3单片机内部、外部振荡电路
3.3硬件电路图及功能
总体硬件电路实现功能如下,如图3.4所示
(1)电路中用P3.2、P3.3控制按键。
(2)P1.0~P1.7控制LED。
(3)P2.3控制蜂鸣器。
(4)电路为12MHZ晶振频率工作,起振电路中C1、C2均为30PF。
图3.4硬件电路图
4软件设计
在本程序中设置了两个标志——count1和count2,分别初始化为1和0。
按键1使得count1在1和2之间切换,按键2使得count2在1~4之间切换。
程序检测count1的值,count1等于1时播放第一首歌曲,等于2时播放第二首。
另一方面根据count2的值来切换LED的花样。
count1和count2的值是互斥的,设置count1等于1、2时,count2同时设置为0;设置count2等于1~4时,count1也同时设置为0。
4.1软件程序设计
4.1.1程序流程图及相应代码块
主程序流程图[7]
图4.1主程序流程图
主程序代码:
main()
{ucharx;
count1=0;//流水灯无花样
count2=1;//唱第一首歌
P34=0;//选取矩阵键盘的一列
EA=1;//开总中断
EX0=1;//开外部中断0
IT0=1;//外部中断0下降沿触发方式
EX1=1;//开外部中断1
IT1=1;//外部中断1下降沿触发方式
TMOD=0x01;//定时器0工作在方式1
TH0=0;
TL0=0;
ET0=1;
while
(1)
{
if(count1!
=0)//音乐停止,花样灯开始按照花样闪烁
{
switch(count1)
{
case1:
for(x=0;x<14;x++)
{
duan=1;
P1=huayang1[x];
beep();
delay1(300);
duan=0;
if(count1!
=1)
break;
}
break;
case2:
for(x=0;x<14;x++)
{
duan=1;
P1=huayang2[x];
beep();
delay1(300);
duan=0;
if(count1!
=2)
break;
}
break;
case3:
for(x=0;x<16;x++)
{
duan=1;
P1=huayang3[x];
beep();
delay1(300);
duan=0;
if(count1!
=3)
break;
}
break;
}
}
else
{
song();
delay1(1000);
}
}
}
播放音乐子程序流程图
图4.2播放音乐子程序流程图
播放音乐子程序代码:
voidsong()
{
uinttemp;
ucharjp;//jp是简谱
i=0;
while
(1)
{if(count2==0)
{
break;
}
if(count2==1)//选曲
temp=qnzl[i];//播放千年之恋
if(count2==2)
temp=jmszl[i];//播放寂寞沙洲冷
if(temp==0xff)//结束标志
break;
jp=temp/16;//取数的高4位
duan=1;
P1=yinyue[jp];
duan=0;
if(jp!
=0)
{
timeh=cuzhi[jp*2];
timel=cuzhi[jp*2+1];
}
else
{
TR0=0;
fm=1;//关蜂鸣器
}
delay(temp%16);//取数的低4位
TR0=0;//唱完一个音停10MS
fm=1;
delay1(10);
TR0=1;
i++;
}
TR0=0;
fm=1;
}
延时程序代码:
voiddelay(uintz)//延时165MS,即十六分音符
{uintx,y;
for(x=z;x>0;x--)
for(y=19000;y>0;y--);
}
voiddelay1(uintz)//延时1MS
{uintx,y;
for(x=z;x>0;x--)
for(y=112;y>0;y--);
}
5调试
5.1检查硬件连接
在PROTUES检查各硬件管脚是否连接正确,线路逻辑是否正确,例如:
晶振电路的连接,复位电路是否设计正确。
5.2检查软件系统
(1)根据系统的原理结构检查各流程图是否正确,再根据流程图来检查程序是否也正确。
(2)将所有程序组织起来,在软件环境下运行,检查程序是否正确。
通过对硬件和软件系统的认真检查,反复测试,如果没有出现问题即可把源程序编译成HEX文件装载到单片机中,对硬件进行仿真。
5.3测试结果
5.3.1.总体运行图
图5.1系统总体运行图
5.3.2.花样灯3种花样图[8]
由于截图只能看到静态图,不能看到整体图样,下面画图说明:
图5.2花样灯
(1)第一种花样灯显示方式为:
从D1移向D2,然后D1熄灭,再从D2移向D3,然后D2熄灭,以此类推,往复循环。
图5.3第一种花样
(2)第二种花样灯显示方式为:
从两边向中间移动,首先从D1移向D8,再从D8移向D2,以此类推,往复循环。
具体如图5.4。
图5.4第2种花样
(3)第三种花样灯显示方式为:
从D1移向D2,然后D1熄灭,再从D2移向D3,然后D2熄灭,以此往复循环。
与第一种方式的不同之处为:
当D1移向D2时,D1不熄灭,再从D2移向D3时,D2也不熄灭,以此类推。
图5.5第3种花样
致谢
历时将近两个月的时间终于将这篇论文写完,在论文的写作过程中遇到了无数的困难和障碍,都在同学和老师的帮助下度过了。
尤其要强烈感谢我的论文指导老师—屈晓良老师,他对我进行了无私的指导和帮助,不厌其烦的帮助进行论文的修改和改进。
另外,在校图书馆查找资料的时候,图书馆的老师也给我提供了很多方面的支持与帮助。
在此向帮助和指导过我的各位老师表示最中心的感谢!
感谢这篇论文所涉及到的各位学者。
本文引用了数位学者的研究文献,如果没有各位学者的研究成果的帮助和启发,我将很难完成本篇论文的写作。
感谢我的同学和朋友,在我写论文的过程中给予我了很多你问素材,还在论文的撰写和排版过程中提供热情的帮助。
由于我的学术水平有限,所写论文难免有不足之处,恳请各位老师和学友批评和指正!
参考文献
[1]李国兴,李伟.单片机开发应用技术[M].北京:
北京大学出版社,2007.8:
1—6。
[2]黄智伟.全国大学生电子设计竞赛系统设计[M].北京:
北京航空航天大学出版社,2006.6:
152—155。
[3]潘晓利,陈学煌,刘永志.基于MIDI模块的音乐发生器设计[J].电子测量技术,2007.6:
108—110。
[4]李广弟,朱月秀,王秀山.单片机基础[M].北京:
北京航空航天大学出版社,2001.7:
132—135。
[5]贾立新,王涌.电子系统设计与实践[M].北京:
清华大学出版社,2007:
108—112。
[6]周良权,傅恩赐,李世鑫.模拟电子技术基础(第三版)[M].北京:
高等教育出版社,2005.6:
132—136。
[7]陈明荧.8051单片机课程设计实训教材[M].北京:
清华大学出版社,2004:
80—85。
[8]黄鑫,马善农,赵永科.基于CPLD的电子琴研究与设计[J].科技广场,2007.5。