已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
设计报告课题:基于单片机的简易音乐盒设计Subject: the simple music box based on single chip design姓 名: 学 号: 系 别: 专 业: 年 级: 指导教师: *年*月*日摘 要随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。我们都会抽空欣赏世界名曲,作为对精神的洗礼。本论文设计一个基于单片机的简易音乐盒。单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可或缺的一部分。本系统是以51系列单片机AT89C2051为主控制器,附有独立按键、数码管、扬声器组成。系统完成显示歌曲曲目、播放音乐等基本功能。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。关键词:AT89C2051,独立按键,数码管,扬声器。AbstractWith the development of society progress, music gradually become us to live in very important part of it, someone once said like music wont to evil. We will take time to enjoy the world famous songs, as to the baptism of the spirit. This paper based on single chip design a simple music box. SCM has strong control function and flexibility of the programming characteristics, it has dissolved into the modern peoples life, become an indispensable part of it. This system is based on single chip microcomputer AT89C2051 51 series mainly controller, with independent buttons, digital tube, the speaker is composed. System completes display songs, played music, and other basic functions. The system stable operation, its advantage is hardware circuit is simple, software perfect function, control system and reliable, price is higher, has certain practical and reference value.Key words: AT89C2051, independent key, digital tube, the speaker. 目录摘 要2Abstract2引言41.系统设计51.1设计任务51.2设计要求51.3设计目标51.4方案论证62.系统硬件设计62.1 AT89C2051芯片简介62.1.1电源和晶振62.1.2 I/O口72.1.3控制线72.2扬声器电路的设计72.3晶振电路模块的设计72.4复位电路的设计82.5 LED数码管显示电路83.系统软件设计93.1音乐的产生及编码93.1.1音调的确定及编码93.1.2节拍的确定103.2系统工作流程图114.调试与测试结果分析114.1调试与测试114.2测试结果分析125心得体会126参考文献13致谢13附录14附录一:元器件清单14附录二:程序代码14附录三:原理图18引言21世纪,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。单片机应用的重要意义还在于它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。随着科学技术的进步和社会的发展,人类所接触的信息也在不断增加并且日益复杂。面对浩如烟海的信息,人们已经能够利用计算机等工具高效准确地对之进行处理,但要想将处理完的信息及时,清晰地传递给别人,还必须通过寻求更加卓越的显示技术来实现。单片机技术与液晶显示技术的结合,使信息传输交流向着智能可视化方向迅速发展。随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化享受。传统音乐盒多是机械型的,体积笨重,发音单调,不能实现批量生产。本文设计的音乐盒是以单片机为核心元件的电子式音乐盒,体积小,重量轻,能演奏和旋音乐,功能多,外观效果多彩,使用方便,并具有一定的商业价值。1.系统设计1.1设计任务应用AT89C2051单片机设计单片机以实现音乐的播放。其原理框图如图1.1.1所示。图1.1.1最小系统电路原理框图1.2设计要求aAT89C2051b一位数码管来显示歌曲序号c. 一个按键选择歌曲d其余功能键自定1.3设计目标由于本设计主要用于人们娱乐方面,因此在设计上尽量使其安全以及简单易操作。其次,在这次设计可行性上进行分析如下:1、经济可行性:所谓经济可行性,即在这次设计上需要投入资金的多少,由于课程设计是没有项目资金,没有开发经费,因此在经济上必须能够承受,比较理想化的项目对于我们课程设计来说是不可行的。通过分析后,无论是在器件价格或是常见度上均是可行的。2、技术可行性:技术可行性主要是分析技术条件上是否能够顺利开展并完成开发工作,硬件、软件能否满足设计者的需要等。通过分析各种软件环境,硬件仿真环境等均已经具备。综上所述,本系统设计目标已经明确,在经济与技术上均可行,因此本系统的开发是完全可行的。1.4方案论证要实现音乐播放的设计有以下两种基本方案,但两种方案各有优缺点,现就两种基本方案的优劣进行具体论证,从而说明选择方案二的理由。方案一:利用数字电路来实现此设计,此方案主要是靠硬件电路来实现,思路简单,但要求对电路知识相当熟悉而且电路复杂,焊接相当麻烦,不够廉价。方案二:(1)利用I/O口产生一定频率的方波,驱动扬声器,发出不同的音调,从而演奏乐曲。(2)使用内部定时器产生方波使得喇叭发出声音,改变方波频率以实现乐曲的播放。(3)扬声器电路采用NPN管9013进行信号放大。(4)播放的音乐数据根据简谱的发音与码值写出T值存入CPU中。通过比较知道该课程设计是一种基于51单片机的音乐盒的设计方案,根据基本要求规划单片机音乐盒的硬件电路和软件程序,同时对单片机的型号选择(包括器件和元件的选择),硬件电路设计,电路焊接,软件分析(软件结构和软件流程图)以及音阶等都有注释。1)电路有两种工作模式:待机模式和演奏音乐模式。演奏音乐模式:演奏完整的一首的歌曲,数码管显示曲目。待机模式:刚通电,不会马上播放曲目。2)按下按键1进入待机模式,再按切换演奏音乐模式。3)进入演奏音乐模式,共四首歌曲。可上下首播放,可播放/暂停,还可以自动播放。本文介绍在计算机开发平台上利用单片机及C语言设计音乐盒电路,并定制单片机存储音乐数据,以“送别”为例,将音乐数据存储到单片机,就达到了以纯硬件的手段来实现乐曲的演奏效果。只要修改单片机所存储的音乐数据,将其换成其他的乐曲的音乐数据,再重新连接到程序中就可以实现其它音乐的演奏。2.系统硬件设计图2.1.1 AT89C2051引脚图2.1 AT89C2051芯片简介AT89C51芯片的引脚图如图2.1.1:2.1.1电源和晶振VCC运行和程序校验时加+5V。Vdd接地。XTAL1输入到振荡器的反相放大器。XTAL2反相放大器的输出,输入到内部时钟发生器。2.1.2 I/O口当使用片外存储器(ROM及RAM)时,作地址和数据总线分时复用。在程序校验期间,输出指令字节(这时需加外部上拉电阻)。作输入口时,应先用软件置“1”。P1-8位、准双向I/O口,具有内部上拉电阻。在编程/校验期间,用做输入低位字节地址。作输入口时,应先用软件置“1”。P3-8位、准双向I/O口,具有内部上拉电阻。作输入口时,应先软件置“1”。P3提供各种替代功能。在提供这些功能时,其输出锁存器应由程序置“1”。串行口:P3.0RXD串行输入口P3.1TXD串行输出口中断:P3.2/INT0外部中断0,输入。P3.3/INT1外部中断1,输入。定时器/计数器:P3.4T0定时器/计数器0的外部输入。P3.5T1定时器/计数器1的外部输入。2.1.3控制线输入:RST复位输入信号,高电平有效。在振荡器工作时,在RST上作用两个机器周期以上的高电平,将器件复位。EA/Vpp片外程序存储器访问允许信号,低电平有效。在编程时,其上施加21V的编程电压。图2.2 扬声器电路2.2扬声器电路的设计为了放大单片机输出的弱信号,在它外部加了一个三极管,其电路如图2.2所示:2.3晶振电路模块的设计AT89C2051中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一起构成自然振荡器。外接石英晶体及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1,C2虽然没有什么严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。如果使用石英晶体,推荐电容使用30PF10PF,而如果使用陶瓷振荡器建议选择40PF10PF。本实验采用石英晶体。振荡器电路图如下:图2.3 晶振电路2.4复位电路的设计系统在启动运行时都要复位,使中央处理器和系统中的其他部件都处于一个确定的初始状态, 并从这状态开始工作。 采用按键复位方式。在按键的瞬间,电容通过电阻充电,就在端出现一定时间的高电平。只要保持 RST 引脚为高电平时间足够长,就可使 CPU 复位。所需高电平时间的长短与 Vcc 上升时间和振荡器起振时间有关。10MHz 时,约1ms;1MHz 时,约10ms。若 Vcc 上升时间小于 20ms,那么从上电时间算起,只要保持 RST 引脚在高电平停留时间不小于 20ms 即EA端接VCC,让单片机读取内部存储器的数据。图2.4复位电路2.5 LED数码管显示电路本次课程设计的显示电路采用LED数码管显示, LED有单个LED和八段LED之分,也有共阴和共阳两种。本次设计采用共阳极。由于 LED是属于电流控制器件,使用时必须加限流电阻。通过单片机查表得出数码管显示编码,传送给数码管显示,以此来实现按键与显示程序的一致性。图2.5数码管3.系统软件设计3.1音乐的产生及编码一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能像电子琴那样能奏出多种音色的声音。因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和节拍表示一个音符唱多长的时间。3.1.1音调的确定及编码用单片机播放音乐,实际上是按照特定的频率,输出一连串的方波。为了输出合适的方波,首先应该知道音符与频率的关系。若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将P3.1反相,然后重复计时再反相。就可在P3.1口引脚上得到此频率的脉冲。利用AT89C2051的内部定时器使其工作计数器模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶,例如,频率为523Hz,其周期T1/5231912s,因此只要令计数器计时956s/1s956,每计数956次时将I/O反相,就可得到中音DO(523Hz)。计数脉冲值与频率的关系式是:Nfi/2/fr,式中,N是计数值;fi是机器频率(晶体振荡器为12MHz时,其频率为1MHz);fr是想要产生的频率。其计数初值T的求法如下:T65536N65536fi/2/fr例如:设K65536,fi1MHz,求中音DO(262Hz)。T65536N65536fi/2/fr655361000000/2/fr65536500000/fr,中音DO的T65536500000/52364580。单片机12MHZ晶振,音符与计数T0相关的计数值如表所示:C调音符频率/HzTH TLC调音符频率/HzTH TLC调音符频率/HzTH TL低音1262F88B1523FC43高音11045FE21低音2293F95B2586FCAB高音21171FE55低音3329FA143658FD08高音31316FE84低音4349FA664697FD33高音41393FE99低音5392FB035783FD81高音51563FEC0低音6440FB8F6879FDC7高音61755FEE3低音7494FC0B7987FE05高音71971FF023.1.2节拍的确定若要构成音乐,光有音调是不够的,还需要节拍,让音乐具有旋律(固定的律动),而且可以调节各个音的快满度。“节拍”,即Beat,简单说就是打拍子,就像我们听音乐不自主的随之拍手或跺脚。若1拍是0.5s,则1/4 拍为0.125s。至于1拍多少s,并没有严格规定,就像人的心跳一样,大部分人的心跳是每分钟72下,有些人快一点,有些人慢一点,只要听的悦耳就好。音持续时间的长短即时值,一般用拍数表示。休止符表示暂停发音。一首音乐是由许多不同的音符组成的,而每个音符对应着不同频率,这样就可以利用不同的频率的组合,加以与拍数对应的延时,构成音乐。了解音乐的一些基础知识,我们可知产生不同频率的音频脉冲即能产生音乐。对于单片机来说,产生不同频率的脉冲是非常方便的,利用单片机的定时/计数器来产生这样的方波频率信号。因此,需要弄清楚音乐中的音符和对应的频率,以及单片机定时计数的关系。本实验中采用数组表示音符和节拍,第i个是音符, 第i+1个是第几个八度,第i+2个是时间长度数值。用定时器T1设定定时时间,可求得节拍的时间。图3.2.2 读键状态及去抖等处理子程序流图图3.2.1 主程序框图3.2系统工作流程图图3.2.3中断子程序4.调试与测试结果分析4.1调试与测试在实验室焊好了喇叭后,整个设计就基本完成了。插上电源后,喇叭正常发出声音,即演奏歌曲,数码管正常显示,表示焊接成功。4.2测试结果分析单片机P3.1产生脉冲,从而扬声器发出声音。产生的脉冲含有音节频率成分,这些脉冲组合起来,就等同于每个音节连接起来,再把这些连续的脉冲送入P3.1,然后扬声器根据每个音节所对应的音符演奏出不同声调,即不同的振动组成一首完整的曲子。5心得体会单片机亦称单片微控制器,它的诞生是计算机发展史上一个里程碑,标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。它是在一块芯片内集成了计算机的各种功能部件,构成一种单片式的微型计算机。通过为期一个月的单片机课程设计,使得我们对单片机课程有了一个更深入得认识,更是对是对上学期的单片机知识做了一个系统的复习,让原本枯燥的课本知识变得生动而具有实际意义,这正是我们学习知识的最终目的,及是学以致用。在本次课程设计中,我在书上和网络上查阅了大量相关资料,并得到了同学们的帮助,是我这次课程设计成功的关键所在。在具体实践中我发现只有动手做才会孰能技巧,还有对材料的整理和理解。其中,硬件方面主要就是将元件焊接起来,这里就要求熟悉电路原理图,还要了解各芯片引脚的作用。对于软件方面则是灵活运用单片机有关的程序语言,灵活运用其扩展功能,由于对一些原理知识匮乏,在设计的过程中也曾遇到了许多困难,但通过老师和同学们的帮助以及自己在网络中搜寻的资料都一一化解了,获得知识的同时,同时又获得友情,相当喜悦。单片机知识领域博大精深,我们现在了解和掌握的知识只是皮毛,要深入和透彻运用单片机技术还需要今后更深层次的学习才有建树。由于是第一次进行单片机课程设计,不免有一些错误和纰漏,望老师能够给予帮助和指导。6参考文献1、童诗白,清华大学电子学教研组编,模拟电子技术基础(第三版),北京高等教育出版社,2001.2、郁文工作室编著,侯振鹏改编,嵌入式C语言程序设计使用MCS-51,人民邮电出版社,2006.3、陈明荧,8051单片机课程设计实训教材,清华大学出版社,2004.4、倪云峰,何蓉,詹训进,单片机原理与应用,西安电子科技大学出版社,2009.致谢在课程设计完成之际尤其要感谢带领我的指导老师及其他同学的帮助!感谢他们在百忙中抽出时间帮我鉴定原理图和程序的调试,有他们的帮忙我才能顺利完成我的课程设计。附录附录一:元器件清单序号名称型号及规格数量备注1电阻10K1%14K71%11K1%24701%81001%12电容10414.7uF130pF23发光二极管24芯片AT89C205115晶振石英晶体12MHz16万用板10*6cm17扬声器18按键39数码管7led110三极管9012190131附录二:程序代码18#define uint unsigned int#define uchar unsigned char/*- 端口定义-*/#define seg P1/ 数据端口sbit cs0=P37;/ 数码管位选sbit speaker=P31;/*- 定义变量-*/unsigned char bdata key,ekey;uchar keysta,ktime;uchar sta=0; /定义状态寄存器uchar wei;/时间设定模块设定位标志位uchar music;/表示第几首歌曲uchar zanting=1; /暂停标志位uchar g=0,i=0;/秒计数uint yis;/累加到秒uchar esw2num;/*- 标志位声明-*/sbit sw1=key3;sbit sw2=key4;sbit sw3=key5;sbit esw1=ekey3;sbit esw2=ekey4;sbit esw3=ekey5;bit zidong=0; /自动播放标志位bit miao; /秒标志秒计数器#include#includevadef.h /自定义符号/数码管段码表unsigned char table= 0x82, /0 0xEE, /1 0x43, /2 0x46, /3 0x2E, /4 0x16, /5 0x12, /6 0xCE, /7 0x02, /8 0x06, /9 0x0A, /A 0x32, /B 0x93, /C 0x62, /D 0x13, /E 0x1B, /F 0x2A, /H 0xB3, /L ;unsigned char k,j,s=1,h=0;unsigned char timer0h, timer0l;unsigned long p,time=0,x=0;/单片机晶振采用12MHz/ 频率-半周期数据表 高八位 / 音阶频率表 高八位code unsigned char FREQH=0xF8,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC, /低音12345670xFC,0xFC,0xFD,0xFD,0xFD,0xFD,0xFE, /中音12345670xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF, /高音 1234567;/ 音阶频率表 低八位code unsigned char FREQL=0x8B,0x5B,0x14,0x66,0x03,0x8F,0x0B, /低音12345670x43,0xAB,0x08,0x33,0x81,0xC7,0x05, /中音12345670x21,0x55,0x84, 0x99,0xC0,0xE3,0x02 /高音 1234567;/-code unsigned char music14200 = / 送别数据表5,1,2, 3,1,3, 5,1,1, 1,2,3, 6,1,2, 1,2,2, 5,1,4, 5,1,2, 1,1,1, 2,1,1, 3,1,2, 2,1,1, 1,1,1, 2,1,4,5,1,2, 3,1,1, 5,1,1, 1,2,2, 7,1,1, 6,1,2,1,2,2, 0,0,0,/生日歌数据表5,1,1, 5,1,1, 6,1,2, 5,1,2, 1,2,2, 7,1,4, 5,1,1,5,1,1, 6,1,2, 5,1,2, 2,2,2, 1,2,4, 5,1,1, 5,1,1, 5,2,2, 3,2,2, 1,2,2, 7,1,1, 6,1,1, 4,2,1, 4,2,1,3,2,2, 1,2,2, 2,2,2, 1,2,4, 0,0,0 ,/一辈子的孤单数据表5,0,1, 5,0,1, 3,1,1, 2,1,1, 2,1,1, 1,1,1, 3,1,1, 3,1,1, 2,1,1, 2,1,4, 5,0,1, 5,0,1, 3,1,1, 2,1,1, 2,1,1, 2,1,1, 1,1,1, 2,1,1, 3,1,1, 3,1,4, 5,0,1, 5,0,1, 3,1,1, 2,1,1, 2,1,1, 1,1,1, 3,1,1, 3,1,1, 2,1,1, 2,1,4, 2,1,1, 1,1,1, -3,1,1, 2,1,1, 1,1,1, 2,1,1, 1,1,1, 1,1,8, 3,1,1, 2,1,1, 2,1,1, 1,1,1, 1,1,1, 2,1,1, 2,1,6, 3,1,1, 2,1,2, 1,1,1, 1,1,1, -5,0,1, 6,0,1,0,0,0 ,/当你孤单你会想起谁数据表 3,2,2, 3,2,1, 4,2,1, 3,2,2, 2,2,1, 1,2,1, 2,2,2, 5,2,2, 2,2,2, 2,2,3, 1,2,2, 1,2,1, 2,2,1,1,2,2, 7,1,1, 6,1,1, 7,1,2, 3,2,2, 7,1,2, 7,1,3,6,1,2, 2,2,1, 3,2,1, 2,2,1, 1,2,1, 6,1,2, 5,1,2,2,2,1, 3,2,1, 2,2,1, 1,2,1, 6,1,2, 6,1,2, 2,2,1,3,2,1, 2,2,1, 1,2,1, 6,1,1, 7,1,1, 1,2,6, 0,0,0 ;/-函数申明-void t1init(void);/定时器初始化void song(void) ; /演奏一个音符void keyscan(void);/读独立按键/-主函数-void main() cs0=0; TMOD=0x11; /定时器0方式1,定时器1方式1 ET0=1; /开T0中断 EA=1; /开CPU中断 EX0=1; /开外部中断0 IT0=0; TH1=0xEC; /5ms延时 TL1=0x78; TR1=1;/启动定时器1 while(1) while(!TF1); /5ms到了? TF1=0; TH1=0xEC; TL1=0x78; keyscan(); if(esw2)esw2num+; seg=table16; yis+; /一秒计时 if(yis=200) yis=0; /一秒计时清零 switch(sta) case 0:/待机状态 if(esw1) sta=1; s=0; seg=table17; break; case 1:/ 音乐盒块 if(esw1) /esw1键,上曲 i=0; j-; if(j=0) j=4; if(music=0) music=3; else m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 食品与安全课件
- 浙江网盛生意宝股份有限公司偿债能力和盈利能力分析综合结论及建议
- 安全保密课件
- 家庭教育亲子互动游戏题库及答案解析
- 基于ARM的嵌入式系统编程测试题及解答手册全集
- 就业指导课程知识点总结与练习题集答案
- 懒癌测试题答案详解如何克服懒惰心理
- 2024年国家电工进网作业许可证考试复习题库及答案(共250题)
- 开播前bi备知识模拟题集
- 德勤春招笔试内容分析及备考技巧
- 机房设备维修服务项目投标方案(技术标)
- 全媒体运营师模考试题(附答案)
- 大学生职业生涯规划设计(园林专业)
- 小学数学课程重构设计
- 2025专精特新小巨人打分表(密件)
- 中老年人中医养生课件教学
- 集团本部制服管理办法
- 检察院实习生管理办法
- 小儿泄泻门诊病例分析
- 2025年物联网技术考试试题及答案文件
- 2024年江苏省南京市中考英语试卷真题(含答案)
评论
0/150
提交评论