电子音乐盒设计论文

电子音乐盒设计论文
电子音乐盒设计论文

目录

1 引言 (1)

2 系统总体设计 (2)

2.1 系统组成框图 (2)

2.2 电子音乐盒功能框图 (2)

2.3 设计软件 (3)

3 硬件设计 (4)

3.1 AT89S51简介 (5)

3.2 复位电路和时钟电路 (6)

3.3 按键电路 (8)

3.4 LED显示电路 (8)

4 软件设计 (9)

4.1 电子音乐的产生 (10)

4.2 音乐播放 (17)

4.3 花样灯 (19)

4.4 源程序代码 (21)

5 仿真 (21)

5.1 硬件电路的仿真 (21)

5.2 软件电路的仿真 (21)

5.3 联调 (21)

5.4 仿真结果 (21)

6 电路板焊接与调试 (22)

6.1 元器件处理 (22)

6.2 电路焊接 (22)

6.3 电路调试 (23)

7 程序烧录、调试与运行结果 (24)

结论 (26)

致谢 (27)

参考文献 (28)

附录 (29)

1 引言

电子技术是十九世纪末才开始发展起来的新兴技术,二十世纪发展最迅速,应用最广泛,成为近代科学技术发展的一个重要标志。特别是集成电路的出现和应用,标志着电子技术发展到了一个新的阶段。而计算机技术的高速发展把我们带入了信息社会,同时也加速了电子技术的发展,现在电子技术与计算机技术的结合,为我们的生活带来了翻天覆地的变化,其中单片机在其中扮演着一个重要的角色。

单片微型计算机简称单片机,是典型的嵌入式微控制器。单片机简单的说是一种集成电路芯片,具有强大的处理数据能力,从上世纪80年代开始出现以来,根据市场的需要,正朝着高性能和多品种方向发展趋势发展,进一步向着低功耗、CMOS化、小体积、低价格、高性能、大容量以及外围电路内装化等发展。现在的单片机已经不仅仅是应用于用来实现数据采集,对象的控制和信号的检测等的工业控制领域,现在在电子玩具、家用电器、通信、机器人、汽车、计算机、图形图像处理等等与我们日常生活息息相关的方面都能看到它的影子,我们的生活离不开它,已经成为生活的“必需品”。

现在随着社会的发展,人类物质文明的提高,对精神文明的要求也已提上日程,音乐可以改变我们的心情,可以改变我们对生活的看法,可以影响我们的命运,音乐也是我们生活中的必需品。小小的音乐盒可以影响我们的心情,可以给我们带来愉悦的精神享受,有时甚至可以改变我们的一生。传统的音乐盒大多是机械式的,体积大,发音单调,不能多次载入歌曲,比较单调。而单片机的出现为我们解决了这一难题,本文设计的音乐盒就是以单片机为核心的电子式音乐盒,具有体积下,重量轻,可多次写入不同的歌曲,存储量大,外观美观等的特点,使用方面,趣味性强,有一定的商业价值。

音乐盒又称八音盒。音乐盒的起源,可追溯至中世纪欧洲文艺复兴时期。当时为使教会的的钟塔报时,而将大小的钟表上机械装置,被称为“可发出声音的组钟”。 1796年由瑞士钟表匠安托·法布尔发明,转动盒内的链环,可自动演奏音乐。这是最古老的音乐盒。1992年,中国第一台具有知识产权的八音琴在韵升诞生。

音乐盒悠扬的乐声,经常勾起人们对美好往事的回忆,甚至魂牵梦萦,坠入时光岁月的追忆中。300多年来席卷全球市场的音乐盒的最大魅力,也许就在于它能将抽象的音乐,凝固成具象的艺术品。成为人们表达美好情感,追思逝去岁月的最佳选择。现代科技的发展为我们提供了更方便快捷的制作音乐盒的方式,不用经过繁琐的工艺,可以利用单片机自己制作一个简单的电子音乐盒,很用意义。

本文设计的电子音乐盒,就是基于单片机芯片设计制作的电子音乐盒。体积小巧,音质优美且能演奏和弦音乐。电子音乐盒以点为动力,制作工艺简单,且可批量生产,因此价格便宜。基于单片机芯片制作的电子式音乐盒,控制功能很强大,可根据需要选歌,使用方便。根据存储容量的大小,可以尽可能多的存储歌曲。另外,可以设计彩灯外观效果,使小小的音乐盒达到愉悦身心的目的。

2 系统总体设计

2.1 系统组成框图

本设计的系统以AT89S51为核心,和按键电路,复位电路,时钟电路,蜂鸣器,LED 流水灯电路共同组成。以单片机为核心模块,完成按键的输入,音调的产生,蜂鸣器和LED灯的输出等,系统组成框图如下图2.1所示。

图2.1 系统组成框图

2.2 电子音乐盒功能框图

本次设计主要设计了三个标志位,count1、count2和count3,对应按键电路的key1、key2和key3,key1用来选择播放不同的歌曲,key2用来改变LED流水灯的显示花样,key3用来暂停和播放歌曲。功能结构图如下图2.2所示。

图2.2 电子音乐盒功能框图

2.3 设计软件

本设计主要使用三个软件,proteus、keil和SLISP。用proteus进行硬件电路设计,用keil进行软件设计,使用proteus和keil进行联调,等程序功能都实现且调试好了之后,在使用USB-ISP软件将程序烧入制作好的实物中,实现电子音乐盒的设计与制作。

2.3.1 proteus

Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台。且在编译方面,它支持IAR、Keil和MPLAB等多种编译器。可以与他们进行联调,结合使用。

2.3.2 keil

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。使用C语言编程,Keil是很好的选择。

Keil公司是一家业界领先的微控制器(MCU)软件开发工具的独立供应商。Keil公司由德国慕尼黑的Keil Elektronik GmbH和美国德克萨斯的Keil Software Inc公司联合运营。Keil公司制造和销售种类广泛的开发工具,包括ANSI C编译器、宏汇编程

序、调试器、连接器、库管理器、固件和实时操作系统核心(real-time kernel)。Keil C51编译器自1988年引入市场以来成为事实上的行业标准,并支持超过500种8051变种。Keil公司在2005年被ARM公司收购。而后ARM Keil推出基于uVision界面,用于调试ARM7,ARM9,Cortex-M内核的MDK-ARM开发工具,用于为控制领域的开发。在使用单片机C语言开发时,大多使用keil编程,与proteus进行联调,达到软硬件结合的目的。

2.3.3 SLISP

SLISP 是一款单片机下载编程烧录软件。支持USB1.1或USB2.0通信,支持WIN98,WINME,WIN2K,WINXP等操作系统,采用USB口供电,供电输出有500MA自恢复,可有效防止外面短路对USB影响,目标板亦可同时与USB一起供电,下载完成不影响目标板的运行。支持AT89S51及AVR芯片的烧录,速度比并口ISP要快,更稳定,是没有并口的笔记本和电脑使用的最佳选择。使用标准是IDC10接口。

3 硬件设计

本设计主要是以单片机AT89S51芯片为核心,由复位电路,时钟电路,按键电路,蜂鸣器和LED流水灯电路组成,实现的功能如下,电路图如图3.1所示。

a)P3.2,P3.3,P3.5控制按键

b)P1.0—P1.7控制LED流水灯

c)P3.7控制蜂鸣器

d)RST键控制复位

e)XTAL1、 XTAL2接晶振

图3.1 电路图

3.1 AT89S51简介

AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,是C 系列的升级版。芯片内集成了通用8位中央处理器和ISP Flash存储单元,实现了ISP 下载功能,故而取代了AT89C系列的单片机,在众多嵌入式控制应用系统中得到广泛应

用。AT89S51的管脚图如图3.2所示。

图3.2 AT89S51管脚

AT89S51的主要功能特性

a)4k Bytes Flash片内程序存储器

b)128 bytes的随机存取数据存储器(RAM)

c)32个外部双向输入/输出(I/O)口

d)2个中断优先级、2层中断嵌套中断

e)5个中断源

f)2个16位可编程定时器/计数器

g)2个全双工串行通信口

h)看门狗(WDT)电路

i)片内振荡器和时钟电路

j)与MCS-51兼容

k)全静态工作:0Hz-33MHz

l)三级程序存储器保密锁定

m)可编程串行通道

n)低功耗的闲置和掉电模式。

3.2 复位电路和时钟电路

时钟电路和复位电路共同组成了单片机的最小系统,即最少的元件组成的单片机可以工作的系统。是单片机应用中不可缺少的一部分,若没有最小系统,好多的设计将不能完美运行。图3.3为本设计的复位电路和时钟电路。

图3.3 复位电路和时钟电路

3.2.1 复位电路

在上电或复位过程中,控制CPU的复位状态,这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令,执行错误操作,也可以提

高电磁兼容性能。所以说单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。若不设置复位电路,或设置不可靠,在程序运行时,可能出现死机、程序跑飞等现象。

单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初始状态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期以上,则CPU就可以响应并将系统复位。单片机主要有手动复位和上电复位两种复位方式。

本设计使用的是手动复位方式,在RST端与正电源VCC之间接一个按钮,当按下按钮时,在复位输入端RST上加入一个高电平,由于人的动作再快也会使按键保持接通数十毫秒,完全能满足复位时间的要求。

3.2.2 时钟电路

单片机晶振的作用是为单片机系统提供基本的时钟信号,单片机晶振提供的时钟频率越高,单片机的运行速度就越快,单片机的一切指令的执行都是建立在单片机晶振提供的时钟频率。没有晶振,就没有时钟周期,没有时钟周期,就无法执行程序代码,单片机就无法工作。

89系列的时钟信号由两种方式产生,一种是利用芯片内部的震荡电路,产生时钟信号的内部方式,一种是时钟信号有外部引入的外部方式。内部时钟方式为:89系列单片机内部有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端,其频率范围为1.2~12MHz,这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一起构成自然振荡器。89系列单片机虽然有内部震荡电路,但要形成时钟,必须外接元件.外接晶振以及电容C2,C3构成并联谐振电路,接在放大器的反馈回路中,这种方式称为内部时钟方式。对外接电容C2,C3没有严格的要求,石英晶体的电容值一般使用30PF±10PF,陶瓷振荡器一般选择40PF±10PF。

本设计的晶振选择11.0592MHz,而不是12MHz,是因为在进行通信时,12M频率进行串行通信时不容易实现标准的波特率,而11.0592M计算时正好可以产生理论误差为零的波特率时钟。基于本设计对串口的要求,选用11.0592MHz的晶振。电容值选择30pF。

若采用外部时钟,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。

3.3 按键电路

AT89S51系列单片机有五个中断源,引脚与中断源的对应关系如表3.1所示

表3.1 AT89S51中断源与引脚的对应关系

中断源对应的管脚

外部中断0 P3.2/INT0

外部中断1 P3.3/INT1

定时/计数器T0中断P3.4 T0

定时/计数器T1中断P3.5 T1

串口中断P3.6/WR

串口中断P3.7/RD 本设计按键电路有三个按键key1,key2和key3组成,分别接单片机的P3.2,P3.3和P3.5口。三个按键分别对应程序中的三个标志位count1,count2和count3。P3.2口控制LED流水灯的花样,P3.3口控制歌曲的选择,P3.5口控制歌曲的暂停与继续。按键电路如图3.4所示

图3.4 按键电路

3.4 LED显示电路

由8个LED发光二极管组成,连接方式为共阳极,由于加10K上拉电阻LED灯的亮度太低,最终使用4.7KΩ的电阻。LED接到单片机的P1口,低电平时,LED亮起。发光二极管的亮、灭由内部程序控制,8个LED发光二极管分别对应不同的音阶,所以LED 会随着音阶的变化按规律亮、灭。LED流水灯电路如图3.5所示。

图3.5 LED流水灯电路图

4 软件设计

本设计中,相对于简单的硬件电路设计,程序设计的重要性不言而喻。

在本程序中设置了3个标志——count1,count2和count3,分别初始化为1,0和0。key1使得count1在1和4之间切换,key2使得count2在1~5之间切换。Key3使得count3在1~2之间切换。程序检测count1的值,count1等于1时流水灯执行花样一,值为2时,执行花样2程序,共四种花样程序,所以count1的值在1~4之间切换。而count2的值控制着歌曲的播放,count2等于1时播放第一首歌曲,等于2时播放第二首,以此类推。在播放音乐的过程中,检测count3的值,等于1时,暂停播放,等于2时,继续播放。另一方面根据count2的高四位值来切换LED的花样。count1和count2的值是互斥的,设置count1等于1~4时,count2同时设置为0;设置count2等于1~5时,count1也同时设置为0。

从上面的描述可以看出,程序的设计主要可分为这几个模块。音乐产生模块,音乐播放模块,蜂鸣器发声模块,音乐暂停/继续模块,流水灯花样模块,按键与中断模块和延时模块。通过这些模块的相互联系,与硬件相结合,组成一个完整的多功能电子音乐播放系统。主程序主要完成了程序的标志位的赋值,中断的开启,定时/计数器初值以及花样灯程序和音乐程序的调用。程序流程图如下图4.1所示。

相关主题
相关文档
最新文档