本科毕业设计基于单片机的音乐盒的设计.docx

上传人:b****7 文档编号:11143852 上传时间:2023-02-25 格式:DOCX 页数:55 大小:232.63KB
下载 相关 举报
本科毕业设计基于单片机的音乐盒的设计.docx_第1页
第1页 / 共55页
本科毕业设计基于单片机的音乐盒的设计.docx_第2页
第2页 / 共55页
本科毕业设计基于单片机的音乐盒的设计.docx_第3页
第3页 / 共55页
本科毕业设计基于单片机的音乐盒的设计.docx_第4页
第4页 / 共55页
本科毕业设计基于单片机的音乐盒的设计.docx_第5页
第5页 / 共55页
点击查看更多>>
下载资源
资源描述

本科毕业设计基于单片机的音乐盒的设计.docx

《本科毕业设计基于单片机的音乐盒的设计.docx》由会员分享,可在线阅读,更多相关《本科毕业设计基于单片机的音乐盒的设计.docx(55页珍藏版)》请在冰豆网上搜索。

本科毕业设计基于单片机的音乐盒的设计.docx

本科毕业设计基于单片机的音乐盒的设计

Documentserialnumber【LGGKGB-LGG98YT-LGGT8CB-LGUT-LGG08】

 

本科毕业设计基于单片机的音乐盒的设计

本科毕业设计(论文)

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

学院名称:

专业:

班级:

学号:

姓名:

指导教师姓名:

指导教师职称:

二〇一四年六月

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

摘要:

本次设计根据单片机技术原理,通过硬件电路制作以及软件编程,制作出一个基于AT89C52单片机的简易音乐播放器,该系统以单片机作为电路的主控核心,硬件电路主要由按键电路、复位电路、显示电路等模块组成。

系统软件采用C语言进行编写,采用了模块化编程,其移植性较好。

系统程序主要包括主程序、播放子程序、按键子程序、延时子程序等。

该系统有歌曲播放、电子琴两种模式,可通过按键进行模式选择。

本论文包括系统方案的建立、硬件电路的具体设计及软件的程序实现等过程。

并通过软硬件的联合调试,验证了设计方案的可行性。

该系统最终实现了模式的选择、歌曲的选择及播放等功能,实验证明,该系统具有一定的实用性。

关键词:

AT89C52单片机;软件编程;音乐盒

TheDesignofMusicBoxoftheSingleChipMicrocomputer

Abstract:

Thisdesignaccordingtoprincipleofsinglechipmicrocomputertechnology,throughthehardwarecircuitsandsoftwareprogramming,makeasimplemusicplayerbasedonAT89C52singlechipmicrocomputer,thesystemwithsinglechipmicrocomputerascontrolcoreofthecircuit,thehardwarecircuitismainlycomposedofkeypadcircuit,resetcircuit,displaycircuitmodule.SystemsoftwareusingClanguagetowrite,usingthemodularportablilityisprogrammainlyincludesthemainprogramsubroutine,playedsubroutines,buttons,delaysystemhasasongplay,keyboardtwomodes,canthroughthebuttontochoose.

Thispaperincludestheestablishmentofthesystem,detaileddesignofhardwarecircuitandsoftwareprogramimplementationthroughthesoftwareandhardwarejointdebugging,verifythefeasibilityofdesignsystemfinallyrealizethepatternselection,selectionofsongsandplayfunction,suchasexperimentsshowthatthesystemhasacertainpracticality.

Keywords:

AT89C52microcontroller,;Softwareprogramming;themusicbox

第1章绪论1

课题背景及研究意义1

课题设计目的及主要工作2

第2章课题任务分析与方案选择3

课题任务分析3

硬件电路的组成3

设计功能要求3

总体设计原理4

总体设计框图4

选用的方案5

第3章系统硬件设计6

单片机最小系统6

AT89C52单片机介绍6

复位电路介绍8

9

显示电路10

4*4矩阵键盘识别电路11

声音电路12

第4章软件设计14

Proteus仿真软件与Keil编译介绍14

音调与节拍15

发声原理15

音调的确定16

节拍的确定17

音乐编码18

系统软件总体设计流程图18

主程序流程图18

歌曲播放流程图20

按键扫描流程图20

延时子程序流程图21

第5章总结23

致谢24

参考文献25

附录1:

电路原理图27

附录2:

元器件清单28

附录3:

源程序29

第1章绪论

课题背景及研究意义

单片机应用到当前社会的各个领域中,既提高了社会的信息化水平又大力的发展了社会的生产力,同时也使目前电子产品的性能有了更高的提升,从而使产品更新换代的周期也逐渐变短。

如今,单片机不仅有着高性能与多品种性能的发展趋势,并且还向着其他优良方向发展,比如向着CMOS化、低耗能、小巧、大容量、高性能、廉价和外围电路内装化等。

单片机从本质上转变了传统控制系统中的设计思想与设计方式,这在其应用中具有很重要的价值[1]。

以前的状态是,只能通过模拟电路或者是数字电路的应用,才可以将大部分的功能实现,而目前的状态可以直接使用软件编程的方式来实现单片机的功能。

这种被称为微控制技术的方法是对传统控制技术的一次革命,就是使用软件的方式取代使用硬件的方式来实现功能的控制技术[2]。

单片机可以很成功的应用到嵌入式系统当中,因此它获得了更多应用的机会,相比与专用处理器来说,这是超越其应用的优势。

换个方式讲单片机是世界上个数最多的计算机。

集成单片机已经应用到到的大部分电子和机械产品中,是目前人类的生产生活的主流。

大多数电子产品中都会配有1到2部单片机,比如正常生活中人们通讯时用到的手机、电话,生产生活中用到的计算器、家用电器,以及娱乐项目中的电子玩具、掌上电脑,另外还包括一些电脑配件键盘鼠标之类的。

而台式机,笔记本电脑等个人电脑中也都有许多单片机在工作。

其他的一些大一点的产品中通常会配有40部以上的单片机,比如汽车等,而特殊的一些大型机械上的单片机会有更多,甚至能达到上百台,并且可以同时工作,在庞大的工业控制系统上就是如此。

由此可见就算PC机和其他控制系统的合在一起,他们的总数也远远不及单片机的数目,甚至比人的数量还要多[3]。

因此单片机地研究前景有非常广阔的空间。

所以现实生活中单片机的影响已经融入到大多数的研究领域,例如军事中装配的导弹导航系统,装在飞机上的各种仪器的控制系统,计算机之间的网络通讯和数据传输,包括运用在工业自动化过程的实时控制和数据处理,还有人们在生活中用到的各类智能IC卡,在民用轿车中应用到的安全保障系统,包括一些普通生活的一些控制系统中也有应用,比如录像机、摄像机、全自动洗衣机,包括其他的一些电子玩具、电子宠物等娱乐产品,这些都离不开单片机的应用[4]。

我们所接触的信息在随着科学技术的提高和人类社会的进步发展中会不断扩大并且越来越复杂。

面对如此多如牛毛的信息,人们已经可以利用计算机等工具准确高效地对其进行处理,但是想要将处理成功的信息能及时,清晰地传递给别人,还必须利用更加高效的显示技术来实现相应的功能。

其中能成熟的结合单片机技术和液晶显示技术,使得智能可视化技术成为信息传输交流技术发展的主流方向[5]。

说到音乐盒的历史发展,可以上溯到欧洲文艺复兴的年代,也就是中世纪时期。

那个时候其主要的作用只是为教会的钟塔提供时间提醒用的,这种装置构成单一,就是把各种不一样的钟表装在一个机器上,所以也叫做“可发出声音的组钟”。

所以音乐盒的成长历史有将近300多年,同时也见证了人类历史文化的发展[6]。

机械音乐盒在最初的音乐盒中是占据主流的,他是利用齿轮来让铁桶滚动,铁桶上装有铁棒,通过铁棒与铁片相互碰撞从而制成琴键,从而发出声音的原理。

但是,机械音乐盒的缺点很多,比如外形大,个体沉重,且发声单一。

而且有着一些容易让内部铁条变形的外在因素在影响,比如水,粉尘等,都会造成音准失调,时间一长就会让音乐盒的发音跑调。

另外,机械音乐盒放音时必须放平不可动摇,才能发出好的音质。

而且机械音乐盒价格昂贵,不允许大批量生产,商业价值不高[7]。

而如今随着科技的进步,人们能将现代电子科技和音乐相结合,并产生一个新的产物,被称为电子琴,这种全新的乐器通过键盘来实现弹奏,俨然已成为现代音乐发展中的不可或缺的角色。

由此可见单片机也凭借着其控制功能的强大与软件编程的灵便的特征,成功渗透到当今人们生活的各个领域,是人类正常生产生活中必须要用到的存在。

课题设计目的及主要工作

本文的主要设计内容中,电路的核心控制元件就是AT89C52单片机,即主控核心为单片机,硬件电路设计中还包括键盘、扬声器、4*4矩阵键盘、液晶显示器等模块。

通常来讲一部好听的音乐由不少各不一样的音阶所构成的,但是许多音符又是由各不相同的频率相互对照,这样在使用该系统时就能够通过操纵不一样的频率的相连,就能变为所需的音乐,在单片机工作中发出不一样的频率是十分容易的,它能够通过单片机的定时/计数器T0来发出不同方波频率的信号,所以,只需直接将一部歌曲的音符与频率之间的对应关系根据音符与频率关系对照表弄清楚就行了。

本系统中电子音乐盒有着外形小巧,播放的音质优美,另外其演奏的音乐也有非常方便的优势,而这些都是传统的机械式音乐盒无法达到的。

通过电池来供电使得电子音乐盒更加方便,并且它的制作过程也非常简单,而且非常廉价,厂商能成批的进行制造。

基于单片机制作的音乐盒,控制功能强大,可根据不同需求进行选歌,且使用方便。

第2章课题任务分析与方案选择

课题任务分析

本次设计中硬件电路的主要核心就是AT89C52芯片,用扬声器作为外部放音电路,这样就能够实现音乐播放控制器的功能。

设计中运用软件程序通过在单片机内部控制定时器,从而达到能够实现演奏出幽美悦耳的音乐的功能。

本次设计中对运用单片机设计音乐盒与电子琴时,分析其原理,发现其本质就是利用单片机来生成不同的频率以便在系统中可以得到自己所需的音符,最终可以弹奏各种不同的音乐。

此次论文主要论述各个模块的功能,芯片等元器件和电路的原理图,以及软件程序流程图等。

在此次设计的内容中,利用计算机当做控制终端,方便在软件仿真和调试过程可以顺利进行。

用1602显示器显示发音值和扬声器的发音状态。

使用4X4矩阵键盘,作为电子琴的琴键。

系统整体设计简洁,精练。

用户能够根据自身的兴趣演奏乐曲,也能够播放不同的音乐。

而对于不同型号的单片机来讲直接改变一下地址就可以继续使用该音乐盒放音了。

由此可看出它的硬件系统和软件系统都拥有较优的通用性,而且它的实用价值和参考价值也是相当高的。

硬件电路的组成

本次硬件电路设计可以分为以下几个部分:

(1)单片机部分以AT89C52单片机为核心控制整个系统;

(2)液晶显示部分是用1602液晶显示器,通过单片机P1口控制,以实现开机画面,音乐盒与电子琴功能的显示,以及电子琴不同音调的显示;(3)功能键盘部分是用4*4矩阵键盘作为按键开关,通过单片机P3口控制,实现电路复位,歌曲的播放,功能的选择,以及电子琴音调的播放的功能;(4)发声部分是用蜂鸣器,通过单片机P2口实现歌曲的播放以及电子琴音调的发声。

设计功能要求

1.汇编或C语言程序设计。

2.程序调试,在Proteus上进行仿真。

3.使用I/O处口生成相应频率的方波信号,并驱动喇叭,以此来放出不一样的音调,从而进行乐曲的播放。

4.采用1602液晶显示歌曲。

此次设计的电路共分为两种工作模式:

音乐盒模式与电子琴模式

(1)音乐盒模式下演奏完整的一首歌。

(2)电子琴模式下通过4*4键盘演奏不同的音乐。

按下复位键进入开机画面,按下选择键进入音乐盒模式播放音乐,再按选择键进入电子琴模式,可以进行演奏。

总体设计原理

基本发声原理是通过单片机的定时器产生一定长度的方波,方波脉冲驱动扬声器发出声音。

只需直接算出一个音频的周期(1/音频),然后直接取半个周期的时间进行定时,就可以生成音频脉冲了。

利用定时器计使用这个半周期的时间,然后在重复计时此半周期时间,在计时结束后再将I/O口进行反相,直接就能在I/O脚上获得这个频率的脉冲信号。

如中音D0,频率为523HZ,其周期T=1/523=1912微秒,要想获得中音D0(523HZ),就将令计数器直接定时为1912/2=956,这样每当计数956次后,就将I/O口反相就可以了[8]。

想要播放音乐时,直接按下按键,然后判断键值,并启动计数器T0,这样生成相应频率的脉冲,通过单片机来驱动喇叭,就能放出乐曲了。

同时启动定时器T1,在液晶显示器上显示模块。

显示相应的功能必须要使用显示器,本次设计采用的是1602显示器,通过单片机P1口控制,实现功能切换的显示;如果要进行相应的操作时,就使用按键开关来作为按键模块的功能按键,在单片机的P3口上实施控制,来实现歌曲的播放与模块切换的功能;扬声器则是通过单片机的P2口进行控制的,主要是能实现播放乐曲和演奏的功能;同时有液晶显示器显示电子琴琴键的键值,扬声器播放出音乐。

总体设计框图

电源供电是单片机工作的动力来源,单片机工作中用到的时钟信号是由晶振电路提供的,外部中断由功能按键来实施控制,以此来控制选择音乐盒模块与电子琴模块,扬声器发声是通过I/O口向外输出的,液晶显示器则是进行功能的显示。

而复位电路的作用就是建造程序的初始状态,在发生意外或者程序报错时,就能将单片机重新启动,保证电路的安全。

系统总体设计框图如图2-1所示。

图2-1总体设计框图

选用的方案

(1)硬件设计:

系统把AT89C52当做整个电路主控制核心,而外部的程序存储器需要扩展则是利用74LS373与27512,对播放器的控制是采用按键来实现的,4*4键盘矩阵控制电子琴的发音,显示电路采用1602液晶显示器来显示,晶振部分用的频率大小是12MHz,从P3.0口输出的音乐信号由扬声器传出并放出动听的音乐。

(2)软件设计:

软件编程的程序中选取了C调中一个8度内的一共7个音阶的音符来作为音调。

按照十二平均律,(就是把八度定义为1200音分,其中全因音符占用200音分,半音占100音分,共十二个半音)每个音符所对应的频率由定时器T0产生。

我们在表中放入定时器初值,一共十二个半音,这样我们在加载计数初值是就可以直接在程序中以查表的方式来进行,而在放音时就可以不用再计算定时器的初值了,每个编码都会有一个音符所对应着,占用一个字节,这样可以更方便的将程序进行调用。

鉴于人耳有限的分辨力,所以曲谱中的节拍码直接可以用延时来替换,每个音符发音30MS,这样就使编程更加的简单了。

矩阵式键盘在设计中得到较好的应用,目的是让按键能够及时的响应,程序的编写中的主线编写是其中的扫描键盘的程序(就是在主程序中循环的扫描按键,并在扫描按键模块时在调用其他的功能模块),每当按下一次按键,利用扫描按键的功能计算出键盘的键值,并将键值存储起来,跳转到相应的标号执行程序,并将键值调用液晶显示器子程序显示在制定的位置上,在检测到复位键按下时,就会恢复带开机画面。

此方案中选用1602液晶显示器的优点是其在编写程序时方便,显示的也稳定,而且占用的CPU时序少,另外它和矩阵键盘一样在其外围电路中可以有不少的扩展功能。

第3章系统硬件设计

单片机最小系统

3.1.1AT89C52单片机介绍

单片机事实上是一种集成的电路芯片(实际上就是一块硅片),也被称为微型计算机系统,它的主要技术是超大规模集成电路技术,主要的组成部分有中央处理器CPU(具有数据处理能力)、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统和定时器/计数器等(其他的还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路模块),这种集成电路不仅体积小,而且功能完善,所以在工业控制领域得到广泛应用[10]。

从80年代开始,最初只有4位、8位的单片机,到现在的高速单片机已经达到了300M。

本次设计中用的是AT89C52单片机,AT89C52的主要功能是控制会聚调整时的功能,它用的内核是工业上标准的C51内核,是一种8位的通用微处理器,所以它的内部功能和管脚排布和正常使用的8xc52没什么差别[11]。

AT89C52有许多功能,主要包括初始化一些功能部件,比如把主IC的内部寄存器与数据RAM和外部接口等进行汇聚,还有可以把调整控制汇聚,将测试图控制汇聚以及接受并解码红外遥控信号IR和对主板CPU进行通信等[12]。

AT89C52单片机中的XTAL1(19脚)在振荡器中是被当做输入脚,而XTAL2(18脚)在振荡器中是当做输出脚,另外它的外借晶振可以接到12MHz。

单片机中的复位电路是由电阻和电容组成的,其中电阻和电容都是从外部接入的,复位电路的输出端口是RST/Vpd(9脚)。

单片机的工作需要电源供电,而在52单片机中的供电端口有VCC(40脚)接+5V电源的正极,VSS(20脚)接电源的负极,运行单片机需要软件编程来实现,依靠软件来定义单片机的功能用途,可以通过P0-P3口的通用I/O脚来实现软件程序的导入,此次设计过程中,我们把P0端的32-39脚分别和N1的对应的功能管脚相连,如此就可以将N1功能控制端口用P0端的32-39脚来定义,其他的连接在N1的SDAS(18脚)与SCLS(19脚)端口上的10脚与11脚,就可以将这两个引脚定义成I2C总线上的控制端口,另外一些相应的功能端是连接主板CPU上的,主要功能是把目前制式的检测和汇聚进行状态调整,并进入控制功能,而这些连接到主板CPU的引脚就定义为握手信号功能端口,而52单片机中的12脚,27脚以及28脚都可以实现此功能[13]。

现如今,尽管单片机的品种繁多,各具特色,但是80C51单片机由于兼容其他类型单片机产品的结构和指令系统,所以80C51依然是主流,可以说占据了该领域的半壁江山。

而随着Microchip公司的PIC精简指令集合(RISC)发展势头强劲,中国台湾的HOLTEX公司单片机的产量也日渐增加,而且其质量高,价格廉,所以占据一定的市场份额。

此外还有MOTOROLA公司的产品,日本几大公司的专用单片机。

在一定的时期内,这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,走的是依存互补、相辅相成、共同发展的道路。

九十年代以后,单片机在结构上采用双CPU或内部流水线,CPU位数有8位、16位、32位,时钟频率高达20MHZ,片内带有PWM输出、监视定时器WDT、可编程计数器阵列PCA、DMA传输、调制解调器等。

芯片向高度集成化、低功耗方向的发展,使得单片机在大量数据的实时处理、高级通信系统、数字信号处理、复杂工业过程控制、高级机器人以及局域网等方面得到大量应用[8]。

这类单片机有NEC公司的MPD7800,MITSUBISHI公司的M337700,REVKWELL公司的R6500[9]。

此次设计之所以选用52单片机是因为AT89C52比AT89C51多个定时器,而RAM大小也不一样,51的大小只有128,52的却有256。

根据这些信息可以看出52其实是51的增强型,在定时器方面52也比51的定时器多了一个T2,在串行通信中可以设置更高的波特率,由此可见T2的功能实现上与其他的两个定时器也不同样,在ROM上52比51要多4K,中断也多2个,意味着看门狗也比51多出一个来,另外52在掉电与数据指针等方面也有一些改善[14]。

而在外接晶振上C52可以拥有最高能达到33MHz,而C51的极限也只能达到24MHz。

单片机有个最小应用系统,也就是单片机最小系统,这种系统是可以正常工作的,但由于构成此系统只用了最少的元器件,所以功能也相应的比较单一。

我们考虑52单片机中的结构,可以看出最小系统正常是由单片机芯片、晶振电路、复位电路构成的。

基于52单片机的最小系统的电路原理图,如图3-1所示。

图3-1单片机最小系统

3.2.2复位电路介绍

复位电路是由电容串联电阻构成的。

复位电路原理图如图3-2所示。

图3-2复位电路原理图

电源通电后,就会在RST引脚上显示出高电平,而高电平的可持续时间是由电路的RC值来决定的。

在设计实现功能时要适当组合RC的取值就可以保证复位的可靠性,因为单片机一般会在RST脚上持续两个机器周期以上的高电平时就会复位。

本次设计中C取用的是22uf,R取10K。

要想在RST脚上能生成的高电平多于2个机器周期,就直接将RC按照这个数值进行组合。

在复位电路中复位信号是在系统供电时就会提供,而想要撤消复位信号,只需等到系统中的电源稳定了即可。

为了在实现功能时电路的安全,在系统中电源稳定以后,等待撤消的复位信号必须要经过一个延时,这样的目的是为了防止在电源开关启动或关闭过程中引发的抖动而影响复位。

复位电路复位的过程中有两种,一种是通电自动复位,另一种是按键手动复位,根据电路原理图可知,复位电路的复位信号的输入端是RST引脚,而且复位必须在高电平的情况下才有效。

想要实现复位电路的功能,就是通过外接电容C1与外接电阻R8来实现。

3.2.3晶振电路介绍

52单片机中的引脚XTAL1和的引脚XTAL2都是在片内一个反相放大器(高增益)中的,它的作用是用来组成稳定的自激振荡器,组成自激振荡器的电路是由有石英晶体的振荡器和微调电容进行外接,而能直接进入系统内部时钟电路的信号就是这个振荡器发出的脉冲信号。

本次设计晶振电路中使用的是固定电容C5与C6,两个电容都是30pF。

晶体振荡频率范围是1.2MHz~12MHz,一般情况下,选用振荡频率为12MHz的石英晶体。

而要将信号变成单片机的时钟信号,只有在内部时钟发生器上将振荡脉冲信号通过二分频的操作才能实现。

单片机工作状态下要想从先取指令,再进行译码,最后再微操做的过程能有序的进行,就必须通过时钟信号来控制,由此可知单片机在工作状态下提供基本时钟的电路就是时钟电路。

生成时钟信号的方式可以分为两种,一种是内部时钟的方式,另一种是外部时钟的方式,本课题采用就是内部时钟方式。

晶振电路就是在单片机内组成一个自激振荡器,而这个稳定的自激振荡器是将一个晶振和两个稳频电容外接到单片机的XALT1与XLAT2两个引脚上构成的。

晶振频率选择12MHz。

晶振电路原理图如图3-3所示。

图3-3晶振电路原理图

显示电路

本设计显示部分是采用液晶显示器1602,单片机的P0口是一个地址/数据复用的双向I/O口,当使用P0口访问外部存储器和数据存储器时,P0口内部已有上拉电阻,当P0口作程序检验,输出指令字节时,必须外接上拉电阻。

1602的控制信号RS、RW、E分别接到单片机的、、。

本设计中1602液晶显示器可以实现多种显示功能,比如在开机过程中能够显示开机画面,提示开机;在功能选择上可以显示当前所选择的功能模块画面以及电子琴模式中可以显示在琴键上按下的键值。

显示电路原理图如图3-4所示。

图3-4显示电路原理图

4*4矩阵键盘识别电路

设计中经常使用的键盘按键分为好多种,比如有电容式,有导电式,还有机械式和薄膜式等,而将电路接通与断开就是这些键盘按键的基本功能,所以不管是什么种类的按键,都有这些基本的功能。

而现今使用的键盘在功能应用方面主要有两种基本类型,一种是编码键盘,另一种是非编码键盘,编码键盘的键盘本身就有一个硬件电路,而这些硬件电路就能够实现接口处在按键被自动检测到时,实现一些比如去抖动和防串键等功能,而且这些与按键功能相对应的键码也会被送往CPU中。

但是由于编码键

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 中国风

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1