音乐盒设计报告

音乐盒设计报告
音乐盒设计报告

音乐盒设计报告

一、引言

随着EDA技术的进展,基于可编程的数字电子系统设计的完整方案越来越受到人们的重视。与利用微处理器(CPU或MCU)来实现乐曲演奏相比,以纯硬件完成乐曲演奏电路的逻辑要复杂得多,如果不借助于功能强大的EDA工具和硬件描述语言,仅凭传统的数字逻辑技术,即使最简单的演奏电路也难以实现。如何使用EDA工具设计电子系统是人们普遍关心的问题。本课程设计主要是采用FPGA器件驱动小扬声器构成一个乐曲演奏电路,FPGA器件选择Altera的EPM570,在MAXⅡ的EDA软件平台上,实现了乐曲演奏电路的设计。

关键词:Verilog HDL;模块文件;蜂鸣器

二、设计目的

1.加深对EDA技术的理解,掌握乐曲演奏电路的工作原理;

2.了解怎样控制音调的高低变化和音长,从而完成乐曲的自动循环演奏;

3.培养自主学习、正确分析和解决问题的能力。

三、设计内容

1.能自动演奏一段乐曲,曲目不限。

2.利用verilog HDL编程语言编写合适的能实现1中要求的基本具体功能的语言程序。

四、功能介绍

1.循环播放程序内预存的第1首乐曲;

2.设置开始/暂停键,乐曲播放过程中按该键则暂停播放,再按则继续播放;。

3.设置停止键,乐曲播放过程中按该键则停止播放,再按开始键则从头开始播放;

五、基本原理

1.乐曲演奏原理

组成乐曲的每个音符的频率值(音调)及其持续的时间(音长)是乐曲能连续演奏所需的两个基本数据,因此只要控制输出到扬声器的激励信号频率的高低和持续的时间,就可以使蜂鸣器发出连续的乐曲声。

2.音调的控制

频率的高低决定了音调的高低。音乐的十二平均率规定:每两个8度音(如简谱中的中音1与高音1)之间的频率相差一倍。在两个8度音之间,又可分为12个半音,每两个半音的频率比为12√2。另外,音名A(简谱中的低音6)的频率为440Hz,音名B到C之间、E 到F之间为半音,其余为全音。由此可以计算出简谱中从低音1至高音1之间每个音名对应的频率,如下表所示:

简谱中的音名与频率的关系

音名频率/Hz 音名频率/Hz 音名频率/Hz

低音1 261.6 中音1 523.3 高音1 1046.5

低音2 293.7 中音2 587.3 高音2 1174.7

低音3 329.6 中音3 659.3 高音3 1318.5

低音4 349.2 中音4 698.5 高音4 1396.9

低音5 392 中音5 784 高音5 1568

低音6 440 中音6 880 高音6 1760

低音7 493.9 中音7 987.8 高音7 1975.5

所有不同频率的信号都是从同一个基准频率分频得到的。由于音阶频率多为非整数,而分频系数又不能为小数,故必须将计算得到的分频数四舍五入取整。若基准频率过低,则由于分频比太小,四舍五入取整后的误差较大;若基准频率过高,虽然误差变小,但分频数将变大。实际的设计综合考虑这两方面的因素,在尽量减小频率误差的前提下取合适的基准频率。本设计中选取12MHz为基准频率。实际上,只要各个音名间的相对频率关系不变,演奏出的乐曲听起来都不会“走调”。

在下表中,除给出了分频比以外,还给出了对应于各个音阶频率时计数器不同的预置数。对于不同的分频系数,只要加载不同的预置数即可。采用加载预置数实现分频的方法比采用反馈复零法节省资源,实现起来也容易一些。

各音阶频率对应的分频比及预置数

音名分频比预置数音名分频比预置数低音3 9102 7281 中音2 5111 11272 低音5 7653 8730 中音3 4552 11831 低音6 6818 9565 中音5 3827 12556 低音7 6073 10310 中音6 3409 12974 中音1 5736 10647 高音1 2867 13516 此外,对于乐曲中的休止符,只要将分频系数设为0,即初始值为2141=16383即可,此时蜂鸣器将不会发声。

3.音长的控制

音符的持续时间必须根据乐曲的速度及每个音符的节拍数来确定。乐谱产生电路用来控制音乐的音调和音长。控制音调通过设置计数器的预置数来实现,预置不同的数值可以使计数器产生不同频率的信号,从而产生不同的音调。控制音长是通过控制计数器预置数的停留时间来实现的,预置数停留的时间越长,则该音符演奏的时间越长。每个音符的演奏时间都是0.25s的整数倍,对于节拍较长的音符,如2分音符,在记谱时将该音名连续记录两次即可。

音调显示电路用来显示乐曲演奏时对应的音调的高低。可以用8个led灯,根据音调的高低不同,被点亮的数目也不相同。为了使演奏能循环进行,需另外设置一个时长计数器,当乐曲演奏完成时,保证能自动从头开始演奏。

六、设计实现

1.查阅资料熟悉verilog HDL语言并了解实验目的编写如下程序:

module music(clk,pause,beep); //定义时钟及几个功能变量

input clk,pause; //输入变量

output beep;

reg a; //输出变量,即蜂鸣器发声

reg beep_r; //定义几个中间变量

reg[7:0]state;

reg[7:0]state1;

reg[15:0]count,count_end;

reg[23:0]count1;

parameter L_5=16'd61224,

L_6=16'd54545,

M_1=16'd45863,

M_2=16'd40864,

M_3=16'd36402,

M_5=16'd30612,

M_6=16'd27273,

H_1=16'd22956;

parameter TIME=12000000; //时钟频率assign beep=beep_r;

always@(posedge pause)

begin

a=!a; //暂停

end

always@(posedge clk)

begin

if(a)

beep_r=1'b0;

else

count<=count+1'b1;

if(count==count_end)

begin

count<=16'h0;

beep_r<=!beep_r;

end

end

always@(posedge clk)

begin

if(count1

count1=count1+1'b1;

else

begin

count1=24'd0;

if(state1==8'd47)

state=8'd0;

if(a)

begin

state=state;

end

if(!a)

state=state+1'b1;

begin

state1=state;

case(state1)

8'd0,8'd1,8'd2,8'd3: count_end=M_1; 8'd4,8'd5: count_end=L_5; 8'd6,8'd7,8'd8,8'd9: count_end=M_3; 8'd10,8'd11,8'd12: count_end=M_1; 8'd13: count_end=M_3; 8'd14,8'd15,8'd16,8'd17: count_end=M_5; 8'd18,8'd19: count_end=M_3; 8'd20,8'd21,8'd22,8'd23,8'd24: count_end=M_2; 8'd25: count_end=M_3; 8'd26,8'd27,8'd28,8'd29: count_end=M_5; 8'd30: count_end=M_3; 8'd31: count_end=M_2; 8'd32,8'd33: count_end=M_3; 8'd34,8'd35,8'd36: count_end=M_1; 8'd37: count_end=M_3; 8'd38,8'd39: count_end=M_2; 8'd40,8'd41: count_end=L_5; 8'd42: count_end=M_6; 8'd43: count_end=M_2; 8'd44,8'd45,8'd46,8'd47: count_end=M_1; default:count_end=16'hffff;

endcase

end

end

end

endmodule

顶层模块:

2将程序下载到既定的实验板上运行;

3进行实验的调试让实验板上按键与所要实现的功能匹配;

4撰写实习报告。

七、心得体会

本次实验设计花费了好长时间,通过这次实验,一方面让我初步认识了verilog语言的编写特点并对其完成简易程序有所掌握,另一方面握巩固了我的编程下载方面的知识同时大大增强了我的信心,让我对自己的实验能力充满自信。同时我也总结了许多我还应该改进的地方,我想,面对困难,要知难而进,逃避是不能够解决问题的,另外纵使时间再紧迫也要调整好学习和生活的关系,学会从容面对挑战,在动手实践的过程中一定要专心致志,这次设计让我学到了很多东西,我会再接再厉。

八、参考文献

《EDA技术实用教程》科学出版社

潘松,黄继业.EDA技术实用教程.北京:科学出版社,2002

音乐盒设计

基于89c52单片机音乐播放的设计安庆师范学院物理与电气工程学院

1、设计任务和要求 (1) 2、总体设计 (1) 3、硬件设计 (2) 3.1 硬件电路 (2) 3.2 原理说明 (2) 4、软件设计 (2) 5、仿真、安装和调试 (5) 6、收获与体会 (6) 附件1:元件清单 (6) 附件2: 总仿真电路图 (7) 附件3:音乐程序 (8)

音乐盒设计 1、设计任务和要求 (1)利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演乐曲。 (2直接当前播放的歌曲。 (3)可通过功能键选择播放上一首、下一首和暂停播放歌曲。 2、总体设计 (1)要产生音频脉冲,只要算出某一音频的周期(1/音频),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O口反相,就可在I/O脚上得到此频率的脉冲 (2)利用8052的内部定时器使其工作在计数器模式MODE1下,改变记数值TH0及TL0以产生不同频率的方法。例如频率为523HZ,其周期T=1/523=1912微秒,因此只要令计数器定时956/1=956在每记数9次时将I/O口反相,就可得到中音D0(523HZ)。 记数脉冲值与频率的关系公式如下: N=Fi/2/Fr N:记数值 Fi:内部计时一次为1微秒.故其频率为1MHZ Fr;要产生的频率 (3):起记数值的求法如下: T=65536-N=65536-Fi/2/Fr 例如:设K=65536,F==Fi=1MHZ,求低音D0(523HZ),高音的D0(1046HZ)的记数值。 T=65536-N=65536-Fi/2/Fr=65536-/2/Fr=65536-500000/Fr 低音D0的T=65536-500000/262=63627 中音D0的T=65536-500000/523=64580 高音D0的T=65536-500000/1047=65059

音乐盒课程设计报告

音乐盒课程设计报告 XXXXXXXXXXXXX 一、项目概述: 随着社会的发展进步,许多人性化的电子产品被用在人们的日常生活中,而单片机被广泛运用到人们长期接触的事物上,比如银行交易窗口的滚动字幕,还有各种彩灯的控制,手机、计算机、机器人等各行各业中。基于AT89C52单片机的数字音乐盒就是这类产品,它不仅给人们带来了快乐,而且提高了人们的生活质量。 二、项目要求: 基于AT89C52单片机的数字音乐盒的设计要求如下: (1)用AT89C2单片机的I/O端口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲。 (2)共有10首乐曲,每首乐曲都有相应的按键控制,并且有开关键、暂停键、上一曲以及下一曲的控制键。 (3)LCD液晶显示歌曲的序号、播放时间、开机时显示英文欢迎提示字符。 三、知识要点: (一)、AT89C2芯片资料: 1)功能说明: 1、兼容MCS51指令系统。 2、8k可反复擦写(大于1000次)Flash ROM。 3、2KB的E2PROM程序存储器,可擦写10万次 4、32个双向I/O口。 5、256x8bit内部RAM。 5、3个16位可编程定时/计数器中断。 6、时钟频率12MHz。 7、1个可编程UART串行通道。 8、2个外部中断源,共9个中断源,6个中断矢量。 9、2个读写中断口线,3级加密位。 10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能。 11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。 2)引脚说明:

AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。AT89C52为40 脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/VPd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0~ P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(32~39 脚)被定义为 N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。 本项目使用到的单片机引脚说明: 1)20、40号引脚分别接地和+5V电源。 2)18、29号引脚分别接振荡器反相放大器的输出端和振荡器反相放大器的及内部时钟发生器的输入端。 3)9号引脚接RST复位电路。 3)单片机使能信号接31号引脚,接+5V。 4)17号引脚(P3.7)接蜂鸣器电路通过定时器控制P3.7引脚上方波的占空比可以实现驱动蜂鸣器,发出不同的音调的功能。 5)P1端口控制4×4矩阵键盘,其中P1.0~P1.3 进行列扫描,P1.4~P1.7进行行扫描。6)P0端口用于接液晶显示器的数据位,由于P0端口驱动能力小,需外接电源和上拉电阻,此项目中接1K的排阻。 (二)、LCD1602资料: 1)、LCD1602介绍: 1602液晶显示器也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔,每行之间也有也有间隔,起到了字符间距和行间距的作用,正因为如此所以他不能显示图形。 LCD1602是指显示的内容为16X2,即可以显示2行,每行16个字符液晶模块(显示字符和数字)。 1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A” 。 2)1602引脚说明:

单片机电子琴音乐盒课程设计

课程设计报告 设计题目:单片机多功能音乐盒设计 【摘要】本设计是一个基于AT89C51系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。使用两个按键控制音乐盒,一个用来暂停歌曲,另一个用来切换歌曲本音乐盒共有四首歌曲,还有4*4矩阵键盘电子琴弹奏功能,播放歌曲时,蜂鸣器发出音调,矩阵键盘无扫描信号,不动作。当按下暂停歌曲键时,可继续弹奏电子琴。本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试,节约了设计时间。 设计作者:吴文豪 专业班级/学号:10应电三班 1006020144 合作者1:专业班级/学号: 合作者2:专业班级/学号: 指导教师:王明文 设计时间:2012年5月12日———2012年6月3日

目录 引言 (1) 1.设计任务及要求 (2) 1.1设计任务 (2) 1.2设计要求 (2) 1. 3研究内容 (2) 2.系统总体设计 (3) 2.1系统结构框图设计及说明 (3) 3.软、硬件设计…………………………………………………………….. 3.1 系统硬件设计………………………………………………………… 3.1.1系统硬件原理图及工作原理说明………………………… 3.1.2单元电路设计原理与元件参数选择……………………… 3. 2系统软件设计…………………………………………………….. 3. 2. 1软件系统总流程图及设计思路说明…………………... 3. 2. 2软件各功能模块的流程图设计及思路说明…………... 4.安装与调试………………………………………………………………. 4.1安装调试过程……………………………………………………… 4.2调试中遇到的问题…………………………………………………5.结论………………………………………………………………………. 6.使用仪器设备清单………………………………………………………. 7.收获、体会和建议………………………………………………………. 8.参考文献…………………………………………………………………. 9.附录………………………………………………………………………

单片机课程设计---电子音乐盒的设计

课程设计(说明书) 电子音乐盒的设计 院(系)名称工学院机械系 专业名称机械设计制造及其自动化学生姓名 指导教师 2013年01月12日

课程设计任务书 题目: 电子音乐盒的设计 课程:单片机课程设计 课程设计时间 2012年12月21 日至2012年1 月3日共2 周课程设计工作内容与基本要求(设计要求、设计任务、工作计划、所需相关资料)(纸张不够可加页) 1.设计要求 查阅资料,了解单片机控制单音喇叭发声原理;设计基于单片机的电子音乐盒;通过按钮可选择不同的音乐。 创新设计: 1、安装复位键,暂停、播放键; 2、有6首不同的音乐用程序编出可供选择。 2. 设计任务与要求 2.1系统硬件电路设计 根据该系统设计的功能要求选择所用元器件,设计硬件电路。要求用Proteus绘制整个系统电路原理图。 2.2软件设计 根据该系统要求的功能进行软件设计,绘制整个系统的软件流程图;根据流程图编写程序并汇编调试通过;列出软件清单,软件清单要求逐条加以注释。 2.3 Proteus仿真 用Proteus对系统进行仿真并进行软硬件调试。 2.4 编写设计说明书 内容包括任务书、设计方案分析、硬件部分设计、软件部分设计、调试结果整理分析、设计调试的心得体会等,字数不少于4000字;硬件部分设计要绘制整个系统电路原理图,对各部分电路设计原理做出说明;软件设计部分要绘制整个系统及各部分的软件流程图,列出程序清单,逐条加以注释,并在各功能块前

加程序功能注释。 3.工作计划 4.主要参考资料 单片机课程设计指导书皮大能北京理工大学出版社2010.7 8051单片机实践与应用吴金戎清华大学出版社2003.8 单片机技术基础教程与实践夏路易电子工业出版社2008.1 MCS-51单片机原理接口及应用王质朴北京理工大学出版社2009.11 基于Proteus的单片机系统设计与仿真实例蒋辉平机械工业出版社2009.7 指导老师签字: 日期:

基于51单片机数字音乐盒的设计

单片机实物设计 题目: 单片机音乐盒设计 班级: K0312416-17 姓名:湛俊朱斌杨裕庆 学号:K031241705 K031241632 K031241737

摘要 本设计是一个基于STC89C51RC系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。本音乐盒共有四首歌曲,用4个按键控制。播放歌曲时,蜂鸣器发出某个音调。本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS 仿真软件对硬件进行仿真调试,节约了设计时间。 【关键词】STC89C51RC 按键蜂鸣器 LCD1602液晶

目录 前言 ................................................................................................................................. 第一章工作原理 .............................................................................................................. 1.1设计目标 ............................................................................................................... 第二章软件设计与分析................................................................................................... 2.1 软件设计的组成................................................................................................... 2.2 各部分软件分析 ................................................................................................. 2.2.1 延时165MS,即十六分音符子函数 .......................................................... 2.2.2 延时1MS子函数...................................................................................... 2.2.3 定时器0中断子函数 .............................................................................. 2.2.4 播放音乐子函数...................................................................................... 2.5 定时器1中断子函数.................................................................................. 2.6 按键扫描子函数 ......................................................................................... 2.2.7 主函数..................................................................................................... 2.3 总源程序 ............................................................................................................ 第三章软件仿真 .............................................................................................................. 3.仿真图...................................................................................................................... 3.1 元件清单 ............................................................................................................... 总结 ..................................................................................................................................... 参考文献..............................................................................................................................

数字音乐盒课程设计

基于单片机多功能数字音乐盒 《单片机原理及应用》课程设计任务书 一、目的意义 《单片机原理及应用》是高校工程专业的一门专业基础课,该门课程具有很强的实践性。通过课程的学习,使学生掌握基本概念、基本理论和基本技能,为今后从事相应的生产设计和科研工作打下一定的基础。因此,除课程的理论教学和实验教学外,课程设计也是一个必要和重要的实践教学环节。通过课程设计,进一步培养学生理论联系实际的能力,学会正确地分析工程实际问题,善于查阅参考文献,准确地选择相应的数据、参数,具备全面地解决实际问题的素质,同时课程设计也为今后的毕业设计打下基础。 二、设计时间、地点、班级 时间:第16、17周(二周) 地点:三教433 、426 班级:09电气99人 三、设计内容 (二十)基于单片机的多功能数字音乐盒的设计 1、功能描述 用A T89S52单片机的I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲。 共有4乐曲,每首乐曲都由相应的按键控制,并且有开关键、暂停键、上一曲以及下一曲控制键。 按键输入电路的设计 复位电路的设计;时钟电路的设计 显示电路及驱动电路的设计;扫描模式的选择设计 系统主程序及子程序的设计;元件及元件参数的选择

前言:本设计是以AT89C51芯片的电路为基础,外部加上放音设备,以此来实现音乐演 奏控制器的硬件电路,通过软件程序来控制单片机内部的定时器使其演奏出优美动听的音乐。用户可以按照自己的喜好选择音乐并将其转化成机器码存入单片机的存储器中。对于不同型号的单片机只需要相应的改变一下地址即可。该软、硬件系统具有很好的通用性,很高的实际使用价值,为广大的单片机和音乐爱好者提供了很好的借鉴。 1、 设计原理及相关说明 设计原理:通过按键给单片机的P2口输入低电平,进而利用程序来判断是否执行某一播放功能。而利用单片机的定时器0中断来控制播放乐曲。 2.1芯片AT89C51的介绍 AT89C51是一种带4K 字节闪存可编程可擦除只读存储器(FPEROM )的低电压,高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K 字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU 和闪烁存储器组合在单个芯片中,ATMEL 的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图2.1 图3.2 AT89C51

音乐盒设计

机电学院单片机课程设计 任务书 设计名称:音乐盒的设计 学生姓名:*** 指导教师:***** 起止时间:自*** 年* 月* 日起至*** 年*月* 日止 一、课程设计目的 利用AT89C51系列单片机,实现两首歌曲的依次、循环播放,并在播放歌曲的同时,与之对应的LED灯亮起,形成三种绚丽的灯光效果,制作成一个简单的音乐盒。 二、课程设计任务和基本要求 设计任务: 1.运用AT89C51系列单片机的技术原理,通过硬件电路制作以 及软件编译,设计制作出一个多功能音乐盒; 2.运用2N2905三极管放大技术,对扬声器音频信号进行放大, 实现音乐播放功能; 3.8个LED灯对应音乐的不同音阶,实现伴随音乐播放,发出 不同的花样效果的功能。 基本要求: 1. 能够实现设计任务的基本功能; 2. 至少设计两种音乐的播放和三种灯光效果的制作; 3. 能够完成音乐盒实物的焊接; 4. 完成设计后独立撰写3000字左右的设计报告。

目录 摘要 (1) 关键字 (1) 1 概述 (2) 1.1设计意义 (2) 1.2设计方案 (2) 1.3设计内容 (2) 2 硬件设计 (3) 2.1音乐盒的结构框图 (3) 2.2单片机模块 (3) 2.2.1 AT89C51系列单片机介绍 (3) 2.2.2 最小系统 (4) 2.3扬声器模块 (4) 2.4LED显示模块 (5) 2.5按键模块 (5) 3 软件设计 (6) 3.1音乐盒的功能框图 (6) 3.2音调、节拍以及编码的确定方法 (6) 3.2.1 音调的确定 (6) 3.2.2 节拍的确定 (7) 3.2.3 编码 (8) 3.3软件程序设计 (9) 3.3.1 程序流程图 (9) 3.3.2 程序源代码 (10) 4 调试 (10) 4.1实验环境 (10) 4.1.1 PROTEUS软件简介 (10) 4.1.2 KEIL简介 (11) 4.2仿真调试 (11) 4.3花样灯3种效果 (12) 4.4实物调试 (13) 5 总结 (14) 参考文献 (15) 附录 (16) 附录1仿真电路图 (16) 附录2实物图 (16) 附录3元器件清单 (16) 附录4程序源代码及注释 (17)

课程设计-数字音乐盒

单片机课程设计-数字音乐盒 课程设计要求:1.利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲(最少三首乐曲,每首不少于30秒)2.采用LCD显示信息 3.开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称) 4.可通过功能键选择乐曲,暂停,播放。 5.选作内容:显示乐曲播放时间或剩余时间 硬件电路:本设计中用到了89C51单片机,4*4键盘,蜂鸣器,16*2 LCD,七段 显示数码管LED。 原理说明:当键盘有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。同时启动定时器T1,显示乐曲播放的时间,并动LCD,显示歌曲号及播放时间。也可在LED显示歌曲号。 (1)硬件电路中用P1.0~P1.7控制按键,其中P1.0~P1.3扫描行,P1.4~P1.7扫描列。 (2)用P0.0~P0.7,P2.0~P2.7控制LED,其中P0.0~P0.7控制七段码a,b,c,d,e,f,g,用P2.0~P2.7为数码管位选信号。 (3)用,P2.0~P2.2作为LCD的RS,R/W,E的控制信号。用P0.0~P0.7作为LCD的D0~D7的控制信号。 (4)用P3.7口控制蜂鸣器。 (5)电路为12MHZ晶振频率工作,起振电路中C1,C2均为30pf。

电路图: 【试验时请仔细阅读后文说明!此图仅为我站制作,并不代表原作者意愿;若您制作成功,望在网络推广。】实验控制流程图如下:

S BIT P2.0 ;定义液晶显示端口标号 RW BIT P2.1 E BIT P2.2 ;******************************************** L50MS EQU 60H L1MS EQU 61H L250MS EQU 62H SEC EQU 65H MIN EQU 64H HOU EQU 63H ;******************************************* org 0000h ljmp main ORG 000BH LJMP TT0 ORG 001BH LJMP T1INT org 1000h main: ;-----------------------;液晶初始化 MOV SP,#70H MOV P0,#01H ;清屏 CALL ENABLE MOV P0,#38H ;8位,2行显示

八音盒设计[实用版]..

《单片机原理及应用》课程设计 —八音盒设计 完成日期:2013年06月11日 目录 一、单片机设计课程的目的和基本要求 (2) 二、八音盒的设计要求 (3) 三、关于AT89C51 (3)

3.1、对于AT89C51的性能介绍 (3) 3.2、AT89C51的管脚介绍 (4) 四、总体设计 (5) 五、硬件原理及设计说明 (7) 六、软件设计流程图 (7) 七、程序输入窗口、编码及音乐程序 (7) 7.1程序输入窗口 (8) 7.2编码 (8) 7.3音乐程序 (9) 八、仿真和调试 (9) 九、元器件清单 (10) 十、电路总图 (10) 十一、实验总结 (11) 参考文献: (12) 一、单片机设计课程的目的和基本要求 大学本科生动手能力的培养和提高时大学本科的一个重要内容。本次课程的设计目的,是让我们通过课程设计建立起单片机应用系统的概念,根据系统设计要求,掌握初步的单片机系统设计方法,让学生的动手能力和对单片机系统从硬件系统和软件系统设计两个方面都得到实际的提高。为今后的毕业设计打下良好的基础。 课程设计的基本要求有: (1)在课程设计过程中,学会使用89S51单片机及相应绘图软件,根据设计要

求设计,编程,运行,调试最后提供课程设计报告; (2)课程设计应由学生本人独立完成,严禁抄袭; (3)认真编写课程设计报告。 二、八音盒的设计要求 8051八音盒 本设计利用8051单片机结合内部定时器LCD设计一个八音盒,按下单键可以演奏预先设置的歌曲旋律。本设计可以学习8051定时器程序设计,按键扫描及歌曲旋律简单直觉式输入法的设计方法。 其基本功能为:1使用LCD显示器来显示目前演奏的歌曲编号;2具有16个按键操作来选择演奏哪一首歌曲;3内建10首歌曲旋律,按下单键可以演奏歌曲;4演奏时可以按键中断。程序执行后工作指示LED闪动,表示程序开始执行,按下单键0~9便可以演奏歌曲,歌曲演奏中,可以按键中断。 三、关于AT89C51 3.1、对于AT89C51的性能介绍 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 它可以提供以下的功能标准: (1)4K的字节闪烁存储器; (2)128字节随机存取数据存储器; (3)32个I/O口; (4)2个16位定时/计数器; (5)1个5向量两级中断结构; (6)1个串行通信口; (7)片内振荡器和时钟电路。 另外AT89C51还可以警醒OHZ的惊涛逻辑操作,并支持两种软件的节点模式。

电子音乐盒(单片机课程设计)说明书

课程设计工作内容与基本要求(设计要求、设计任务、工作计划1.设计要求 查阅资料,了解单片机控制单音喇叭发声原理;设计基于单片机的电子音乐盒;通过按钮可选择不同的音乐。 创新设计: 1、安装复位键,暂停、播放键; 2、有6首不同的音乐用程序编出可供选择。 2. 设计任务与要求 2.1系统硬件电路设计 根据该系统设计的功能要求选择所用元器件,设计硬件电路。要求用Proteus绘制整个系统电路原理图。 2.2软件设计 根据该系统要求的功能进行软件设计,绘制整个系统的软件流程图;根据流程图编写程序并汇编调试通过;列出软件清单,软件清单要求逐条加以注释。 2.3 Proteus仿真 用Proteus对系统进行仿真并进行软硬件调试。 2.4 编写设计说明书 内容包括任务书、设计方案分析、硬件部分设计、软件部分设计、调试结果整理分析、设计调试的心得体会等,字数不少于4000字;硬件部分设计要绘制整个系统电路原理图,对各部分电路设计原理做出说明;软件设计部分要绘制整个系统及各部分的软件流程图,列出程序清单,逐条加以注释,并在各功能块前加程序功能注释。

电子音乐盒 1设计任务和要求 (1) 2总体方案设计 (1) 3硬件设计 (2) 3.1 硬件电路 (2) 3.2 系统总框图 (2) 3.3器件选择 (2) 3.4 原理图设计 (3) 3.5 原理说明 (6) 4软件设计 (7) 5仿真、安装和调试 (8) 收获与体会 (10) 参考文献 (11) 附件1:元件清单 (12) 附件2: 总电路图 (13) 附件3:音乐程序 (14)

1设计任务和要求 1.利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演 乐曲(内存六首乐曲)。 2.采用七段数码管显示当前播放的歌曲序号。 3.可通过功能键选择乐曲,包括暂停和播放,上一曲,下一曲,复位。 2 总体方案设计 1. 要产生音频脉冲,只要算出某一音频的周期(1/音频),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O口反相,就可在I/O脚上得到此频率的脉冲 2. 利用8051的内部定时器使其工作在计数器模式MODE1下,改变记数值TH0及TL0以产生不同频率的方法。例如频率为523HZ,其周期T=1/523=1912微秒,因此只要令计数器定时956/1=956在每记数9次时将I/O口反相,就可得到中音D0(523HZ)。 记数脉冲值与频率的关系公式如下: N=Fi/2/Fr N:记数值 Fi:内部计时一次为1微秒.故其频率为1MHZ Fr;要产生的频率 3. 起记数值的求法如下: T=65536-N=65536-Fi/2/Fr 例如:设K=65536,F=1000000=Fi=1MHZ,求低音D0(523HZ),高音的D0(1046HZ)的记数值。 T=65536-N=65536-Fi/2/Fr=65536-1000000/2/Fr=65536-500000/Fr 低音D0的T=65536-500000/262=63627 中音D0的T=65536-500000/523=64580 低音D0的T=65536-500000/1047=65059

数字音乐盒地设计与实现

课程设计报告 课程设计名称:微机系统综合课程设计课程设计题目:数字音乐盒的设计与实现

1 总体设计方案 1.1 题目介绍与要求 本次课程设计的任务是运用伟福Lab8000试验箱和keil软件设计并实现一个数字音乐盒,要求采用I/O产生一定频率的方波,从而驱动蜂鸣器发出不同的音调,演奏乐曲;并且需要采用七段数码管显示当前播放的歌曲序号和播放时间;还得通过数字键盘直接选择乐曲,控制选择上一曲和下一曲音乐,具有暂停和播放控制功能。 1.2设计思路 1.2.1音调的产生 频率的高低决定了音调的高低。音乐的十二平均率规定:每两个八度音(如简谱中的中音1和高音1)之间的频率相差一倍。在两个八度音之间又分为十二个半音。另外,音名A(简谱中的低音6)的频率为440Hz,音名B到C之间、E 到F之间为半音,其余为全音。由此可以计算出简谱中从低音1到高音1之间每个音名对应的频率,所有不同频率的信号都是从同一个基准频率分频得到的。 要产生音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。利用定时器计时这半个周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。 利用51单片机的部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法。 此外结束符和休止符可以分别用代码00H和FFH来表示,若查表结果为00H,则表示曲子终了;若查表结果为FFH,则产生相应的停顿效果。 例如频率为523Hz,其周期T=1/523=1912us,因此只要令计数器计时956us/1us=956,在每次技术956次时将I/O反相,就可得到中音DO(523Hz)。计数脉冲值与频率的关系公式如下:

最新声光音乐盒设计设计说明

声光音乐盒设计设计 说明

湄洲湾职业技术学院声光音乐盒设计说明书 系别:自动化工程系

目录 1.前言 (1) 2.系统设计技术参数要求 (2) 3.系统设计 (3) 3.1系统设计总体框图 (3) 3.2各模块原理说明 (5) 3.3 系统总原理图说明 (7) 3.4系统印刷电路板的制作 (8) 3.5系统的操作说明 (8) 参考文献 (9) 致谢词 (10) 附录 (11) 附录1 系统总原理图 (11) 附录2 系统印刷电路板的制作图 (12) 附录3 元件清单 (13) 附录4 源程序 (14)

1.前言 随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化享受。传统音乐盒多是机械型的,体积笨重,发音单调,不能实现批量生产。本文设计的音乐盒是以AT89C51单片机为核心元件的电子式音乐盒,体积小,重量轻,能演奏和弦音乐,功能多,外观效果多彩,使用方便,并具有一定的商业价值。 单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。它的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子式音乐盒是现代电子科技与音乐结合的产物,它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用STC89C51单片机为核心控制元件,设计一个电子式音乐盒。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块。 本文主要对使用单片机设计简易电子式音乐盒进行了分析,并介绍了基于单片机电子式音乐盒系统统硬件组成。利用单片机产生不同频率来获得我们要求的音阶,可以播放事先保存的三首优美的曲目。本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。通过设计本系统有助于增进了解单片机的基本功能,使制作者对单片机的原理的理解和应用能力显著提高。

电子音乐盒设计方案

电子音乐盒设计方案 第1章绪论 音乐盒的起源,可追溯至中世纪欧洲文艺复兴时期。当时为使教会的的钟塔报时,而将大小的钟表上机械装置,被称为“可发出声音的组钟”。 音乐盒悠扬的乐声,经常勾起人们对美好往事的回忆,甚至魂牵梦萦,坠入时光岁月的追忆中。300多年来席卷全球市场的机械音乐盒的最大魅力,也许就在于它能将抽象的音乐,凝固成具象的艺术品。成为人们表达美好情感,追思逝去岁月的最佳选择吧! 机械音乐盒的发展史,可追溯至14世纪初期,所发明挂在教堂钟楼上的排钟,这种用发条装置来演奏的乐器,能发出清脆如水晶般的乐声,一度风靡荷兰,比利时和法国北部。1811年以来,瑞士曾经是这项技艺的中心,它和瑞士钟表工业一样,两者相辅相成,一段时间名领风骚,称霸全球。 音乐盒300多年的产品发展,同时也是人类文明300多年发展的历史鉴证。每个不同时期的音乐盒造型,都能折射出当时不同的社会心态和文明发展现状,它也成了时代的一面镜子。 现今,音乐盒的制造,延袭传统,结合现代,正日益成为人们或为了典藏一段岁月,或为了收藏一份情感,或出于对音乐的追求,或对于旧时代的怀念,或为了居室的美化,等等,而得到众多品位人士的追求。 音乐盒的分类: 18音,30音,这些是代表音乐盒机芯的音数,其实也就是机芯里面,那一排钢条的数量,钢条的数量越多,也就是音数越高,奏出来的音色就越丰富,曲子也就是越好听,同时曲子的播放时间也相应长一点。一般18音的曲子为25秒左右,30音的曲子为35秒左右。50音的差不多有60秒。目前来说,一般市面上卖的“爱丽丝”都是18音的,其次是30音,50音。 此次设计的目的就是运用单片机来设计一套控制系统,来完成音乐播放的控制,并设计一套硬件来进行音调播放的实际模拟,从而有欣赏音乐的效果。

数字音乐盒实验报告

《单片机与接口设计》课程设计报告 题目数字音乐盒 学号130803023 130803088 130803100 姓名胡杰张宏朱子龙 年级专业13级通信工程 指导教师黄云飞 完成日期2016 年 3 月 4 日 安徽师范大学物理与电子信息学院 College of Physics and Electronic Information, Anhui Normal University

物理与电子信息学院课程设计评定意见 注:本页与上一页用A3纸套印成封面和封底,课程设计报告正文用A4纸打印然后装订

课程设计划任务书 通信工程系通信工程专业 学生姓名朱子龙班级13级学号:130803100 学生姓名胡杰班级13级学号:130803023 学生姓名张宏班级13级学号:120803088 课程名称:单片机原理与接口技术 设计题目:数字音乐盒 课程设计内容与要求: 课程设计开始日期2016 年1 月14 日指导教师黄云飞课程设计结束日期2016 年 3 月 4 日

数字音乐盒 摘要:本设计是基于单片机的数字音乐盒设计,由单片机AT89C51芯片和LCD显示器为 核心,辅以必要的电路,构成的一个单片机电子数字音乐盒。要求利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调并采用LCD显示信息,从而演奏乐曲(最少三首乐曲,每首不少于30秒),开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称),可通过功能键选择乐曲,暂停,播放。 本设计采用4*4键盘,用Protel99来画系统硬件图,采用汇编语言进行编程,编程后利用KEIL C51来进行编译,再生成的HEX文件装入芯片中,采用proteus软件来仿真,检验功能得以正常实现。该音乐盒的设计可以通过按键选择不同的曲目,播放和暂停,并通过LCD显示歌曲号及播放时间。 本设计键盘采用动态扫描方式。每次扫描一行键盘,送此行低电平,读输入口的状态值,判断有没有键按下。若有键按下,根据读入口的值选择显示值并送至显示值寄存单元,判断键值,启动计数器T0,根据次值为偏移地址找到要选择的音乐的代码的首地址,根据代码产生一定频率的脉冲,驱动蜂鸣器,放出音。同时启动定时器T1,计算音乐的播放的时间。 关键词:数字音乐盒;AT89C51;KEIL;PROTEUS;数码管

微机原理课程设计——音乐播放器

一.课程设计目的 1.通过D/A装换器产生模拟信号,使PC机作为简易音乐播放器。 2.了解利用数模转换器产生音乐的基本方法。 二.课程设计任务 设计并实现一个键控音乐播放器。 要求: (1)自己选用合适的芯片,不少于两种。 (2)自行设计电路并使用汇编语言编写程序完成键控音乐播放器功能。 (3)该播放器有若干首歌曲可以选择,开始时输出说明,要用户选择要播放的歌曲,然后根据用户按键进行播放、退出或出错提示。 三、总体设计方案 1、总体设计方案一 所有音乐都是由各个不同频率的音阶和其延续时间的长短来实现的。不同的音乐是由各个音阶按某种排列各自播放一定时间形成的,将各音乐音阶和其延续时间存在数据段中,然后根据不同按键值选择不同的音阶和时间表,再使用计数器产生该音阶频率。 而我们学过的有计数器可以产生各种频率,所以我们主要采用计数器8253产生各音符,用8255并行接口来控制扬声器的开关,达到播放音乐的功能。 2、总体设计方案二 可以使用0832(数模转换器)来产生频率,原理图: 提出这个方案是因为我想产生模拟信号,来驱动扬声器,这样产生的声音更加圆润感觉更连续,效果更好点。 我们想把一个周期的波形分成32份,然后每份给8253一个值让他转换成模拟信号,不同的频率可以用8253计数器控制,比如要产生261Hz的频率,使用1MHz的话,周期就为1/261=3.83ms,分成32份,每份间隔时间就是3.83ms/32=0.12ms,换句话说就是送计数器0的初值为1M/261/32=120次。

3、各个音符的对应频率表: 音符频率/HZ 半周期/us 音符频率/HZ 半周期/us 低1DO 262 1908 #4FA# 740 0676 #1DO# 277 1805 中5SO 784 0638 低2RE 294 1700 #5SO# 831 0602 #2RE# 311 1608 中6LA 880 0568 低3M 330 1516 #6LA# 932 0536 低4FA 349 1433 中7SI 988 0506 #4FA# 370 1350 高1DO 1046 0478 低5SO 392 1276 #DO# 1109 0451 #5SO# 415 1205 高2RE 1175 0426 低6LA 440 1136 #2RE# 1245 0402 #6LA# 466 1072 高3M 1318 0372 低7SI 494 1012 高4FA 1397 0358 中1DO 523 0956 #4FA# 1480 0338 #1DO# 554 0903 高5SO 1568 0319 中2RE 578 0842 #5S0# 1661 0292 #2RE# 622 0804 高6LA 1760 0284 中3M 659 0759 #6LA# 1865 0268 中4FA 698 0716 高7SI 1976 0253 四.部分电路设计及功能解说 1、频率发生电路 使用8253产生音符频率。8253采用方式3,产生方波信号,根据输入计数初值的不同产生不同频率的方波信号来驱动扬声器。 设某音符频率为fHz,而CLK脉冲是1MHz,则计数初值N=1M/f。8253的控制端口为28BH,控制字为36H。 2、扬声器开关控制电路 使用8255并行接口芯片来控制扬声器的开和关,PC0始终接低电平,PA0和8253的OUT0接在与门上,这样只有PA0=1时扬声器才有可能开通,否则不发声。关闭的方法是,从PC口读入数据再从PA口输出;而开扬声器时只要在输出PA口数据前对数据进行一个取反操作就可以了。

电子音乐盒的设计

电气信息学院 微机与单片机综合课程设计报告课题名称电子音乐盒的设计 专业班级 13电气3 班 学号 学生姓名 指导教师 评分 2015年12月14日至12月20日

课程设计的任务要求 一、课程设计选题: 从以下课题中任选一题进行,各课题具体要求详见“微机与单片机综合课程设计题目汇总”文档。并在课程设计报告的正文中详细说明。 1.彩灯控制器的设计 2.电子时钟的设计 3.现代交通灯的设计 4.多路抢答器的设计 5.波形发生器的设计 6.点阵广告牌的设计 7.篮球记分器的设计 8.数字式温度计的设计 9.步进电机的控制 10.电子音乐盒的设计 11.电风扇模拟控制系统设计 12.洗衣机人机界面的设计 13.秒表系统的设计 14.多机串行通信的设计 15.电子密码锁的设计 16.4位数加法计算器的设计 17.数字频率计 18.数字电压表 二、选题说明:一人一题,一个教学班级同一题不能被选超过两次。鼓励同学们将各设计中的基本任务完成后,选做部分发挥项。题中带*和#符号的任务,属于发挥部分。 三、设计时间及进度安排: 第16周,12. 14~12.20 12.14 题目分析,文献查阅 12.15 设计方案 12.16~12.17 元器件选型,硬件电路设计 12.18~12.19 软件设计,系统调试 12.20 课程设计说明书(报告)撰写 四、设计作品提交: (1)课程设计说明书(纸质版,用于存档); (2)课程设计说明书(电子版),单片机源程序文件(电子版); (3)Proteus仿真程序或实物。 五、设计考核评定: 教师评分:80%,答辩成绩:20%

答辩记录 1、例举设计过程中遇到的主要问题及其解决方法。 (1)问题说明: ①编写好程序之后用keil调试没有错误,但将源程序导入到protues中去并进行仿真时,音乐盒并不能放歌。 ②将问题一解决后再次进行调试时,音乐盒只能播放一首歌曲。 (2)解决方法: ①针对问题一,首先检查硬件电路,发现单片机的RST接口始终都是高电平,于是修改复位电路,并联一个接地的电阻,终于使单片机在工作时RST接口为低电平。更正之后还是不能放歌,于是检查软件程序。发现主程序中令count2=0,而count2是跳出播放音乐子程序的,于是将count2=0改为count2=1,于是可以放第一首歌。 ②针对问题二,在播放音乐子程序中加入了if语句,当k1=0时,count2=1,播放第一首歌曲;当k2=0时,count2=2,播放第二首歌曲;当k3=0时,count2=3,播放第三首歌曲;当k4=0时,暂停歌曲。 2、教师现场提的问题记录在此(不少于2个问题)。 ①问:蜂鸣器的发声原理? 答:用单片机的定时器产生不同频率的方波,方波驱动定时器发声。驱动方波频率越高,音调就越高;驱动方波频率越低,音调越低。 ②问:单片机的时钟频率和机器周期各是多少? 答:时钟频率为12MHZ,机器周期为1us。 ③问:如何用proteus改变单片机的时钟周期? 答:在proteus界面左边有个激励源模式,里面有各种激励源。里面的DCLOCK就是可以产生时钟信号的(也就是方波),在属性里面设置不同的频率就可以得到不同的时钟信号。 课程设计量化评分标准

相关文档
最新文档