数字音乐盒硬件设计

2025-09-22

CHANGZHOU INSTITUTE OF TECHNOLOGY

设 计 说 明 书

项目名称: 数字音乐盒

二级学院: 电子信息与电气工程学院 专 业: 电气工程及其自动化 班级: 11电一 学生姓名: 夏蕊 学号: 11020434 指导教师: 蔡纪鹤 职称: 讲师 起止时间: 2013年12月30日— 20 13年1月9 日

1

目 录

1.简介

1.1 课题意义 .......................................................................................................................................... 1.2 设计方案 .......................................................................................................................................... 1.3 研究内容 .......................................................................................................................................... 2.总体方案设计

2.1 系统硬件组成图 .............................................................................................................................. 2.2主控机模块 ...................................................................................................................................... 3.最小系统

3.1 主控芯片介绍 .................................................................................................................................. 3.2 时钟电路 ......................................................................................................................................... 3.3 复位电路 ......................................................................................................................................... 3.4 电源 .................................................................................................................................................. 4.输入部分

4.1 按键模块 .......................................................................................................................................... 5.输出部分

5.1 显示模块 .......................................................................................................................................... 5.2 放声模块 ......................................................................................................................................... 5.3 音乐机模块 ..................................................................................................................................... 5.4 LM386功放模块 ................................................................................................................................ 6.实物制作与仿真

6.1实物制作 .......................................................................................................................................... 6.2仿真 ................................................................................................................................................... 7.节拍确定 ................................................................................................................................................. 8.总结 ......................................................................................................................................................... 参考文献 ..................................................................................................................................................... 附录:

附录一:元器件清单 ............................................................................................................................. 附录二:原理图 ..................................................................................................................................... 附录三:程序清单 ···························································································································· 附录四:实物图 ································································································································

2

1.简介

1.1 课题意义

音乐盒的起源,可追溯至中世纪欧洲文艺复兴时期。当时为使教会的钟塔报时,而将大小的钟表装上机械装置,被称为“可发出声音的组钟”。音乐盒有着300多年的发展历史,是人类文明发展的历史见证。

传统的音乐盒多是机械音乐盒,其工作原理是通过齿轮带动一个带有铁钉的铁桶转动,铁桶上的铁钉撞击铁片制成的琴键,从而发出声音。但是,机械式的音乐盒体积比较大,比较笨重,且发音单调。水、灰尘等外在因素,容易使内部金属发音条变形,从而造成发音跑调。另外,机械音乐盒放音时为了让音色稳定,必须放平不能动摇,而且价格昂贵,不能实现大批量生产。

本文设计的音乐盒,是基于单片机设计制作的电子式音乐盒。与传统的机械式音乐盒相比更小巧,音质更优美且能演奏和弦音乐。电子式音乐盒动力来源是电池,制作工艺简单,可进行批量生产,所以价格便宜。基于单片机制作的电子式音乐盒,控制功能强大,可根据需要选歌,使用方便。根据存储容量的大小,可以尽可能多的存储歌曲。另外,可以设计彩灯外观效果,使音乐盒的功能更加丰富。

1.2设计方案

设计一个单片机的音乐盒,利用按键切换演奏出不同的乐曲。扬声器发出乐曲,数码管显示当前为第几首歌曲。使用五个按键,两个用来切换歌曲,一个为电路的复位按键。两个用来启动和停止。

1.3研究内容

(1)电路的工作模式:演奏歌曲,数码管显示当前的歌曲。

(2)按下按键启动键进入演奏音乐模式,按上一曲下一曲来切换歌曲,共三首歌曲。 (3)按下按键停止键进入播放音乐停止数码管灭显。

2总体方案设计

2.1单片机音乐盒系统组成框图

3

图1 单片机音乐盒硬件方案

1、利用按键切换演奏出不同的乐曲。扬声器发出乐曲,使用5个按键,两个用来切换歌曲,一个用来启动,一个用来停止,另一个是复位。

2、用protel 99se设计电路图等。

3、歌曲可以自己随意的写进音乐盒中。

4、由于歌曲的内存比较大,单片机内存小,将两块单片机一同使用,两者可以通讯。 5、数码管显示当前播放的是哪一首歌曲。 经过反复论证,最终确定了如下方案:

1.主控制器:选用两片51内核的单片机作为主控制器 主控机:负责显示状态,检测按键以及向下位机传输数据 音乐机:在接受到上位机的引号后产生一定频率方波从而发声 2.外设装置:这部分是由按键、数码管、扬声器等组成

2.2 系统硬件组成图

启动停止下一曲上一曲P36P37P34P33电源插口12R3S1VCC10k1kBEEPVccR2386运放3274IN+VccIN-V OUTBYPASSGAINGNDGAINLM3866518Vcc10ufBEEPR41010uf+104100uf473+-主控机11a22b33fbcgVCC44d55eced66fdpg7710uf88dpS1910复位按键SHUMAGUAN11R112P331310kP341415P3616P37171830p1911.0592MHZ2030pCOMaP10/TP11/TP12P13P14P15P16P17RESETRXDTXDINT0INT1T0T1WRRDX2X1GND89C52RCVccP00P01P02P03P04P05P06P07EA/VPALE/PPSENP27P26P25P24P23P22P21P204039383736353433323130292827262524232221P271P262P2534VCC567810uf91011R51210k13141516171830p1911.0592MHZ2030p音乐机P10/TP11/TP12P13P14P15P16P17RESETRXDTXDINT0INT1T0T1WRRDX2X1GND89C52RCVccP00P01P02P03P04P05P06P07EA/VPALE/PPSENP27P26P25P24P23P22P21P20P27P26P25VCC4039BEEP383736353410k33323130292827262524232221 图2 设计原理图

3.2主控机模块

作为此次设计的核心硬件,主控机的作用几乎囊括了除音乐播放外的其他所有功能。 功能一:控制显示模块 功能二:控制按键模块 功能三:向下位机传输控制信号

4

启动停止下一曲上一曲P36P37P34P33Vcc电源插口12S1VCC主控机11a22b33fbcgVCC44d55eced66fdpg7710uf88dpS1910复位按键SHUMAGUAN11R112P331310kP341415P3616P37171830p1911.0592MHZ2030pCOMaP10/TP11/TP12P13P14P15P16P17RESETRXDTXDINT0INT1T0T1WRRDX2X1GND89C52RCVccP00P01P02P03P04P05P06P07EA/VPALE/PPSENP27P26P25P24P23P22P21P204039383736353433323130292827262524232221P27P26P25 图3 主控机模块

3.最小系统

3.1主控芯片介绍

STC89C51是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89X51 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MhzU1,6T/12T可选。

1234567891011121314151617181920P10P11P12P13P14P15P16P17RESETP30/RXDP31/TXDP32/INT0P33/INT1P34/T0P35/T1P36WRP37/RDX2X1GNDVCCP00P01P02P03P04P05P06P07EA/VPALE/PPSENP27P26P25P24P23P22P21P204039383736353433323130292827262524232221 9C52单片机引脚图 图STC84 STC89C51

5

单片机是美国STC公司最新推出的一种新型51内核的单片机。片内含有Flash程序存储器、SRAM、UART、SPI、PWM等模块。

(一)STC89C51主要功能、性能参数如下:

(1)内置标准51内核,机器周期:增强型为6时钟,普通型为12时钟; (2)工作频率范围:0~40MHZ,相当于普通8051的0~80MHZ; (3)STC89C51RC对应Flash空间:4KB; (4)内部存储器(RAM):512B; (5)定时器\\计数器:3个16位; (6)通用异步通信口(UART)1个; (7)中断源:8个;

(8)有ISP(在系统可编程)\\IAP(在应用可编程),无需专用编程器\\仿真器; (9)通用I\\O口:32\\36个; (10)工作电压:3.8~5.5V;

(11)外形封装:40脚PDIP、44脚PLCC和PQFP等。 (二)STC89C51单片机的引脚说明: VCC:供电电压。 GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入)

P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。只有读端口时才真正地把外部的数据读入到内部总线。上面图中的两个三角形表示的就是输入缓冲器CPU将根据不同的指令分别发出读端口或读引脚信号以完成不同的操作。这是由硬件自动完成的,不需要我们操心,1然后再实行读引脚操作,否则就可能读入出错,为什么看上面的图,如果不对端口置1端口锁存器原来的状态有可能为0Q端为0Q^为1加到场效应管栅极的信号为1,该场效应管就导通对地呈现低阻抗,此时即使引脚上输入的信号为1,也会因端口的低阻抗而使信号变低使得外加的1信号读入后不一定是1。若先执行置1操作,则可以使场效应管截止引脚信号直接加到三态缓冲器中实现正确的读入,由于在输入操作时还必须附加一个准

6

备动作,所以这类I/O口被称为准双向口。89C51的P0/P1/P2/P3口作为输入时都是准双向口。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。

3.2时钟电路

89C51单片机的时钟信号通常有两种方式产生:一是内部时钟方式,二是外部时钟方式。内部时钟方式如图3所示。在89S51单片机内部有一振荡电路,只要在单片机的XTAL1(18)和XTAL2(19)引脚外接石英晶体(简称晶振),就构成了自激振荡器并在单片机内部产生时钟脉冲信号。图中电容C1和C2的作用是稳定频率和快速起振,电容值在5~30pF,典型值为30pF。晶振CYS的振荡频率范围在1.2~12MHz间选择,典型值为12MHz和6MHz。 C21830pFY1C311.0592MHz19图5 89c51内部时钟电路

30pF 3.3 复位电路

当在89C51单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作(若该引脚持续保持高电平,单片机就处于循环复位状态)。

复位电路通常采用上电自动复位和按钮复位两种方式。

最简单的上电自动复位电路中上电自动复位是通过外部复位电路的电容充放电来实现的。只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。

除了上电复位外,有时还需要按键手动复位。本设计就是用的按键手动复位。按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST(9)端与电源Vcc接通而实现的。按键手动复位电路见图4。时钟频率用11.0592MHZ时C取10uF,R取10kΩ。

VCCS49C1R110uF10k 图6 89C52 复位电路

7

3.4电源

使用直流电源。2、3脚接地,1脚实际是VCC(电源),但是电路中要接蓝色的自锁开关,然后开关的另一个脚再接电源。

图7 DC电源插口原理图

4.输入部分

4.1 按键模块

(1)按键是输入信号的主要工具。 (2)该模块主要由五个独立按键组成:

按键1:复位 按键2:上一曲 按键3:启动 按键4:下一曲 按键5:停止

单片机键盘有独立键盘和矩阵式键盘两种:独立键盘每一个I/O 口上只接一个按键,按键的另一端接电源或接地(一般接地),这种接法程序比较简单且系统更加稳定;而矩阵式键盘式接法程序比较复杂,但是占用的I/O少。根据本设计的需要这里选用了独立式键盘接法。

独立式键盘的实现方法是利用单片机I/O口读取口的电平高低来判断是否有键按下。将常开按键的一端接地,另一端接一个I/O 口,程序开始时将此I/O口置于高电平,平时无键按下时I/O口保护高电平。当有键按下时,此I/O 口与地短路迫使I/O 口为低电平。按键释放后,单片机内部的上拉电阻使I/O口仍然保持高电平。我们所要做的就是在程序中查寻此I/O口的电平状态就可以了解我们是否有按键动作了。

在用单片机对键盘处理的时候涉及到了一个重要的过程,那就是键盘的去抖动。这里说的抖动是机械的抖动,是当键盘在未按到按下的临界区产生的电平不稳定正常现象,并不是我们在按键时通过注意可以避免的。这种抖动一般10~200毫秒之间,这种不稳定电平的抖动时间对于人来说太快了,而对于时钟是微秒的单片机而言则是慢长的。硬件去抖动就是用部分电路对抖动部分加之处理,软件去抖动不是去掉抖动,而是避抖动部分的时间,等键盘稳定了再对其处理。所以这里选择了软件去抖动,实现法是先查寻按键当有低电平出现时立即延时10~200毫秒以避开抖动(经典值为20毫秒),延时结束后再读一次I/O 口的值,这一次的值如果为1 表示低电平的时间不到10~200 毫秒,视为干扰信号。当读出的值是0时则表示有按键按下,调用相应的处理程序。硬件电路如图8所示:

8

启动停止下一曲上一曲P36P37P34P33

图8 按键模块

5.输出部分

5.1显示模块

显示模块主要包括数码管,单片机等其他元件。该模块的主要功能: (1)播放开机动画 (2)显示点歌的曲目

LED数码管(LED Segment Displays)是由多个发光二极管封装在一起组成―8‖字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。数码管分为动态显示和静态显示驱动两种,静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个STC89C52的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划\的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。

9

VCC主控机abfbcgdecedfdpgdpSHUMAGUANCOMa123456781234567891011121314151617181920P10/TP11/TP12P13P14P15P16P17RESETRXDTXDINT0INT1T0T1WRRDX2X1GNDVccP00P01P02P03P04P05P06P07EA/VPALE/PPSENP27P26P25P24P23P22P21P204039383736353433323130292827262524232221图9 显示模块

89C52RC 5.2 放声模块

采用LM386驱动

由于单片机输出的是方波,不经过电路信号放大驱动喇叭发声很小,基本听不见,采用典型的386运放驱动电路可以将声音驱动的清晰动听。LM386功放电路特点是外围电路复杂,声音清晰。

5.3音乐机模块

作为此次设计的存储音乐的核心硬件,音乐机机的作用就是根据主控机传输的相应信号进行判断,相应的播放对应的歌曲。通过主控机的P2.5~P2.7传过来的数据给音乐机的P1.0~P1.2,实现两块单片机的通讯,最终通过音乐机的P0.0口传输出音乐信号,后经声音驱动电路放出美妙的音乐。

音乐机P27P26P25VCC1234567891011121314151617181920P10/TP11/TP12P13P14P15P16P17RESETRXDTXDINT0INT1T0T1WRRDX2X1GND89C51RCVccP00P01P02P03P04P05P06P07EA/VPALE/PPSENP27P26P25P24P23P22P21P20VCC4039BEEP383736353410k3332313029282726252423222110ufR510k30p12MHZ30p

图10 音乐机模块

5.4 LM386功放模块

功率放大器的作用是给音响放大器的负载(扬声器)提供一定的输出概率。当负载一定时,希望输出的功率尽可能大,输出的信号的非线性失真尽可能小,效率尽可能高。 LM386是美国

10

的国家半导体公司生产的音频功率放大器,主要应用于低电压消费类产品。为使外围元件最少,电压增益内置为20,但在1脚和8脚之间增加一只外接电阻或电容,便可将电压增益调为任意值,直至200。输入端以地为参考,同时输出端被自动地偏置到电源电压的一半,工作电压范围宽,4~12V或5~18V,在6V电源电压下,它的静态功耗仅为24mV,且外围元件少。

LM386是8引脚双排直插式塑料封装结构,其外形与引脚排列如图所示,

图11 LM386引脚图

2脚为反向输入端,3脚为同向输入端,5脚为输出端,6脚与4脚分别为电源和地端,1脚和8脚为电压增益设定端;使用时,引脚7和地之间接旁路电容,通常为10uf。 功放电路如图10所示;

386运放R3R23274IN+VccIN-V OUTBYPASSGAINGNDGAINLM386BEEP6518Vcc10ufBEEPR410104100uf473+-10k1k图12 LM386运放电路 6.实物制作与仿真

6.1实物制作

1.先将每个元器件插好并焊接2.将引脚剪掉(无斜口钳)3.焊接一些近的焊点,用焊锡直接连线4.焊接数码管和一些不会挡住其他焊点的连线5.在焊接距离远的6.焊接喇叭7.将没焊接的线全焊接上,并检查(有无短路)8.插上元器件,通电测试。

6.2仿真

11

图13 仿真运行后

7.节拍的确定

一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能象电子琴那样能奏出多种音色的声音。因此单片机奏乐只需弄清楚两个概念即可,也就是―音调‖和―节拍‖。音调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间。在音乐中所谓―音调‖,其实就是我们常说的―音高‖。在音乐中常把中央C上方的A音定为标准音高,其频率f=440Hz。当两个声音信号的频率相差一倍时,也即f2=2f1时,则称f2比f1高一个倍频程, 在音乐中1(do)与,2(来)与……正好相差一个倍频程,在音乐学中称它相差一个八度音。在一个八度音内,有12个半音。以1—i八音区为例,12个半音是:1—#1、#1—2、2—#2、#2—3、3—4、4—#4,#4—5、5一#5、#5—6、6—#6、#6—7、7—i。这12个音阶的分度基本上是以对数关系来划分的。如果我们只要知道了这十二个音符的音高,也就是其基本音调的频率,我们就可根据倍频程的关系得到其他音符基本音调的频率。知道了一个音符的频后,怎样让单片机发出相应频率的声音呢?一般说来,常采用的方法就是通过单片机的定时器定时中断,将单片机上对应蜂鸣器的I/O口来回取反,或者说来回清零,置位,从而让蜂鸣器发出声音,为了让单片机发出不同频率的声音,我们只需将定时器予置不同的定时值就可实现。那么怎样确定一个频率所对应的定时器的定时值呢?以标准音高A为例: A的频率f = 440 Hz,其对应的周期为:

T = 1/ f = 1/440 =2272μs

T t 图14 频率表

由上图可知,单片机上对应蜂鸣器的I/O口来回取反的时间应为:

t = T/2 = 2272/2 = 1136μs

这个时间t也就是单片机上定时器应有的中断触发时间。一般情况下,单片机奏乐时定时器为工作方式1,它以振荡器的十二分频信号为计数脉冲。设振荡器频率为f0,

则定时器的予置初值由下式来确定:

t = 12 *(TALL – THL)/ f0,式中TALL = 216 = 65536,THL为定时器待确定的计数初值。因此定时器的高低计数器的初值为:

TH = THL / 256 = (TALL–t* f0/12) / 256TL = THL % 256 = (TALL–t* f0/12) %6

将t=1136μs代入上面两式(注意:计算时应将时间和频率的单位换算一致),即可求出标准音高A在单片机晶振频率f0=12Mhz,定时器在工作方式1下的定时器高低计数器的予置初值为 :

TH440Hz = (65536 – 1136 * 12/12) /256 = FBH TL440Hz = (65536 – 1136 * 12/12)%6 = 90H

根据上面的求解方法,我们就可求出其他音调相应的计数器的予置初值。

说明************************************************************************

12

曲谱存贮格式 unsigned char code MusicName{音高,音长,音高,音长...., 0,0}; 尾:0,0 表示结束(Important)

音高由三位数字组成:

音长最多由三位数字组成:

调用演奏子程序的格式

Play(乐曲名,调号,升降八度,演奏速度);

是指乐曲升多少个半音演奏; : 1:降八度, 2:不升不降, 3:升八度; 值越大速度越快;

|乐曲名 : 要播放的乐曲指针,结尾以(0,0)结束; |调号(0-11) : |升降八度(1-3) |演奏速度(1-12000):

个位表示音符的时值,其对应关系是:

|数值(n): |0 |1 |2 |3 | 4 | 5 | 6 |几分音符: |1 |2 |4 |8 |16 |32 |64

音符=2^n

个位是表示 1~7 这七个音符

十位是表示音符所在的音区:1-低音,2-中音,3-高音; 百位表示这个音符是否要升半音: 0-不升,1-升半音。

十位表示音符的演奏效果(0-2): 0-普通,1-连音,2-顿音 百位是符点位: 0-无符点,1-有符点

13

结 论

在进行了长达一个多星期的时间的摸索与实验,我与同学分工合作完成了硬件编制,使我不仅仅是对于单片机入门软件与硬件的常用设计与功能加深了理解,还使我对于一项设计研究的制作过程所需要的详细步骤和具体的实现方法的力度的掌握。

当然在这次宝贵的课程设计活动中,经验才是对于我们最大的收获,而且还增强了自身对未知问题以及对知识的深化认识的能力,用受益匪浅这个词语来概括这次难忘的活动我觉得再合适不过了。但是,光是完成了作品还是不可以自我满足的,在从一开始的时候就怀着将作品制作得更加人性化,更加令人满意,更加地使功能完美又方便地被应用领域这个最终目的下,随着对单片机这门学科的认识加深,到达了拓展的程度,我想这个目的将在不远的时期内被实现。 总之,这次设计从软件编写、调试到软硬件联机调试,真是曾经为程序的编写而冥思查找过,曾经为无法找出错误而郁闷苦恼过,也曾经为某一功能不能实现而犹豫彷徨过,但最终我们成功了。 我不仅品味到了结果的喜悦,更明白了过程的弥足珍贵。

14

参考文献

[1] 李建忠.单片机原理及应用[M],西安电子科技大学出版社,2008.2.

[2] 黄智伟.全国大学生电子设计竞赛系统设计[M],北京:北京航空航天大学出版社,2006.6. [3] 黄智伟.凌阳单片机课程设计指导[M],北京:北京航空航天大学出版社,2006.11. [4] 李广弟,朱月秀,王秀山.单片机基础[M],北京:北京航空航天大学出版社,2001.7.

[5] 赵曙光,郭万有,杨颂华.可编程逻辑器件原理开发与应用[M],西安:西安电子科技大学, 2000. [6] 候伯亨.VHDL硬件描述语言与数字逻辑电路设计[M], 西安:西安电子科技大学出版社, 1999. [7] 康华光. 模拟电子技术基础(第四版)[M], 武汉:华中理工大学出版社,1999. [8] 谭浩强.C语言程序设计(第二版)[M],北京:清华大学出版社,1991.

[9] 陈小忠,黄宁. 单片机接口技术实用子程序[M],北京:北京人民邮电出版社, 2005. [10] 欧伟明,周春临,瞿遂春.电子信息系统设计[M],西安电子科技大学出版社,2005.9. [11] 贾立新,王涌.电子系统设计与实践[M],北京:清华大学出版社,2007. [12] 罗亚非.凌阳16位单片机应用基础[M],北京:北京航空航天大学出版社,2003. [13] 雷思孝.凌阳单片机原理及实用技术[M],西安电子科技大学,2004.

15

附录一:元器件清单 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 元器件名 万用板 小喇叭 数码管 电源插口 自锁开关 晶振 电阻 电容 电容 电容 电容 脚座 按键 usb电源线或电池盒+DC插头 单片机 电阻 电阻 电容 脚座 音频功率放大器 导线/焊锡 型号 9*15 8Ω0.25w 一位共阳数码管 12m 10k 30pf 10uf 473瓷片 104 40引脚 stc89c51 1k 10Ω 100uf电解电容 8引脚 LM386 数量 1 1 1 1 1 2 4 4 4 1 1 2 5 1 2 1 1 1 1 1 若干 备注

16

附录二:原理图

启动停止下一曲上一曲P36P37P34P33电源插口12R3S1VCC10k1kBEEPR2386运放3274IN+VccIN-V OUTBYPASSGAINGNDGAINLM386Vcc6518Vcc10ufBEEPR41010uf+104100uf473+-主控机112233VCC4455667710uf88S1910复位按键SHUMAGUAN11R112P331310kP341415P3616P37171830p1912MHZ20abfbcgdecedfdpgdp30pCOMaP10/TP11/TP12P13P14P15P16P17RESETRXDTXDINT0INT1T0T1WRRDX2X1GND89C51RCVccP00P01P02P03P04P05P06P07EA/VPALE/PPSENP27P26P25P24P23P22P21P204039383736353433323130292827262524232221P271P262P2534567891011121314151617181920音乐机P10/TP11/TP12P13P14P15P16P17RESETRXDTXDINT0INT1T0T1WRRDX2X1GND89C51RCVccP00P01P02P03P04P05P06P07EA/VPALE/PPSENP27P26P25P24P23P22P21P20VCC10ufR5P27P26P2510k30p12MHZ30pVCC4039BEEP383736353410k33323130292827262524232221

声音驱动

386运放R3R23274IN+VccIN-V OUTBYPASSGAINGNDGAINLM386BEEP10uf+Vcc651810ufBEEPR410104100uf473+-10k1k

17

附录三:程序清单 主控机程序

#include #include

sbit start=P3^6; sbit up=P3^4; sbit down=P3^3; sbit stop=P3^7;

sbit signal_1=P2^6; sbit signal_2=P2^7; sbit signal_3=P2^5;

unsigned char code kaiji_hua[]={0xfe,0xffd,0xfb,0xf7,0xef,0xdf};//开机画面 unsigned

unsigned char huanqu,c;

void yanshi(unsigned int q)//系统延时 { }

void job()//工作显示 {

if(c==1) { } else {

P1=0xff;

18

char code

tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//显示数组

unsigned int i,j; for(i=q;i>0;i--)

for(j=110;j>0;j--);

P1=tab[huanqu]; yanshi(5);

}

}

void kaiji()//开机画面 { }

void anjian()//按键 {

if(start==0)//启动 { }

if(stop==0) {

yanshi(5); if(stop==0) { }

while(!stop) job();

19

unsigned char a; for(a=0;a<7;a++) { } P1=0x00; yanshi(400);

P1=kaiji_hua[a]; yanshi(100);

yanshi(5); if(start==0) { }

while(!start) job();

signal_3=1; c=1;

signal_3=0; c=0;

}

}

if(up==0) { }

if(down==0) { }

yanshi(5); if(down==0) { }

while(!down) job();

huanqu--; signal_3=0; signal_1=1; signal_2=1; if(huanqu==0) huanqu=3;

yanshi(5); if(up==0) { }

while(!up) job();

huanqu++; signal_3=0; signal_1=1; signal_2=1; if(huanqu>3) huanqu=1;

void chuansong() {

if(c==0) {

signal_1=1;

20

单 片 机 课程设计任务书

二级学院: 电子信息与电气工程学院 班 级: 11电一 姓 名: 夏蕊 学 号: 11020434 指导教师: 蔡纪鹤 职 称: 讲师 项目名称 起止时间 课题内容及其目标(指标)要求 本设计是以STC89C51芯片的电路为基础,外部加上放音设备,以此来实现音乐演奏控制器的硬件电路,通过软件程序来控制单片机内部的定时器使其演奏出优美动听的音乐。 指标1:扬声器发出乐曲,数码管显示当前为第几首歌曲。 指标2:五个按键,两个用来切换歌曲,一个为电路的复位按键。两个用来启动和停止。 第 1 天:下达任务书、课题需求分析,收集和消化相关资料; 第 2-3 天:方案论证、比较和拟定,具体方案设计,元器件采购; 第 4-5 天:硬件原理图绘制、实物制作和调试; 进程安排 第 6-7 天:软件流程图绘制、程序编制和调试; 第 8 天:系统联调和优化; 第 9 天:撰写设计报告; 第 10 天:作品演示、答辩。 数字音乐盒 2013年12月30日—2013年1月9日 指标类型 C 设计地点 秋白楼 五楼

26


数字音乐盒硬件设计.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中国石油大学(北京)考研《化工原理Ⅱ》计算题真题

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219