音乐盒单片机课程设计

音乐盒单片机课程设计
音乐盒单片机课程设计

目录

一、引言 (1)

二、设计任务 (1)

三、方案论证 (1)

四.音频发声知识 (2)

1、基本知识 (2)

2、节拍 (3)

3、编码 (4)

五、音乐盒单路原理分析 (5)

1、硬件原理 (5)

2、软件程序设计 (8)

3、程序调试 (9)

六、结论与心得 (9)

七、参考文献 (10)

八、附录 (10)

1、程序 (10)

2、PCB板图 (23)

一、引言

本文是应用MCS-51单片机原理和控制理论设计音乐演奏控制器的硬件电路,并利用汇编语言进行程序设计。通过控制单片机内部的定时器来产生不同频率的方波,驱动喇叭发出不同音调的音乐,再利用延迟来控制发音时间的长短。把乐谱转化成相应的定时常数就可以从发音设备中演奏出悦耳动听的音乐。

这种控制电路结构简单,可靠性高,应用性强;软件程序适应范围广,对于不同的音乐只需要改变相应的定时常数即可。对单片机和音乐爱好者有一定的借鉴价值。

二、设计任务

设计题目:单片机音乐播放器

设计要求:

1、完成89S51的外围复位、时钟和电源等外围电路的设计,完成扬声器驱动设计。

2、根据各音阶频率算出定时器定时常数,根据节拍给出该音阶持续的时间。

3、完成音乐播放软件并完成乐谱表的翻译,最好能编写一个播放子程序用于播放。

4、播放音乐片段。

三、方案论证

设计方案:

设计中我们考虑了两种设计方案,两种设计方案中主要去区别在于硬件电路的不同,对于本设计通过模拟电路和单片机设计均可以实现,最后根据设计要求、可行性和设计成本的考虑选择了单片机设计的方案。现在一一介绍论证如下:

采用单片机来设计电路。此电路包括时钟电路、复位电路、音乐驱动电路和MCS-51单片机。各部分功能如下:

(1)时钟电路:由石英晶体振荡器产生单片机工作时所必须的时钟信号。振荡器采用12M的晶振,使之机器周期Tcy=1us,方便发音程序的计算和编译。

(2)复位单路:由复位按键使单片机的CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。

(3)音乐驱动电路:由于单片机最大灌入电流为3.2mA,所以选用PNP管,并要在PNP的基极和发射极加限流电阻。

(4)显示电路:使用单片机P0端口做显示电路,要在P0口加上拉电阻(5~10k Ω)。

还要加限流电阻,保护单片机。

(5)按键电路:有外部中断输入和定时/计数器的外部输入都是低电平有效,可以和复位电路相视,只要将复位电路中的电容去掉即可。

四.音频发声知识

1、基本知识

1.要生产音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间.利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲.

2. 利用8051的内部定时器使用其工作在计数器模式MODE1下,改变计数值THO及TLO以产生不同频率的方法.

3. 例如频率为523Hz,其周期T=1/523=1912us,因此只要令计数器计时956us/1us=956,在每次计数956次时将I/O反相,就可得到中音DO (523Hz).

计数脉冲值与频率的关系公式如下:

N=Fi÷2÷Fr N: 计算值;

Fi: 内部计时一次为1us, 故其频率为1MHz;

4. 其计数值的求法如下:

T=65536-N=65536-Fi÷2÷Fr

例如: 设K=65536, F=1000000=Fi=1MHz, 求低音DO(261Hz).中音DO (523Hz). 高音的DO (1046Hz)的计算值.

T=65536-N=65536-Fi÷2÷Fr=65536-1000000÷2÷Fr=65536-500000/Fr

低音DO的T=65536-500000/262=63627

中音DO的T=65536-500000/523=64580

高音DO的T=65536-500000/1047=65059

5. C调各音符频率与计数值T的对照表如表1所示.

表1 C 调各音符频率与计数值T

的对照表

2、节拍

1相关知识

每个音符使用1个字节,字节的高4位代表音符的高低,低4位代表音符的节拍,表2为节拍与节拍码的对照.如果1拍为0.4秒,1/4拍是0.1秒,只要设定延迟时间就可求得节拍的时间.假设1/4拍为1DELAY,则1拍应为4DELAY,以此类推.所以只要求得1/4拍的DELAY时间,其余的节拍就是它的倍数,如表3为1/4和1/8节拍的时间设定.

表2 节

拍与节拍码对照

3、编码

建立音乐的步骤:

1. 先把乐谱的音符找出,然后由表63建立T值表的顺序.

2. 把T值勤表建立在TABLE1,构成发音符的计数值放在"TABLE".

3. 简谱码(音符)为高位,节拍为(节拍数)为低4位,音符节拍码放在程序的"TABLE"处.

表4 简谱对应的简谱码.T值. 节拍数

五、音乐盒单路原理分析

1、硬件原理

原理分析:

(1)原理图说明:

当键盘有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。同时启动定时器T1,显示歌曲号。

①. 硬件电路中用0

INT(外部中断0、1输入端P3.2 P3.3)分别接S1、

INT、1

S2作为上、下一曲的功能键。

硬件电路中用T1(外部定时/计数器输入端P3.5)分别接S3作为暂停的功能键。

②. 用P0.0-P0.7控制七段码a,b,c,d,e,f,g,Dp。

③. 用P2.3口控制喇叭。

④. 电路为12MHZ晶振频率工作,起振电路中C1,C2均为30pf。

(2)元件介绍

①.AT89S51元件介绍

AT89S51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh

Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。

②.AT89S51引脚的排列、名称、功能和用法

AT89S51采用标准双列直插式引脚DIP-40大规模集成电路封装。它的引引脚排列如下图所示:

AT89S51的引脚排列

引脚介绍:

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口作为第八位地址接收。

2、软件程序设

图2 程序总框图

图4 主程序

3、程序调试

程序调试中出现的问题及解决的办法:

(1)有时会出现程序一点错误也没有,但就是不能正常运行的现象,最后我们发现是因为程序中有的指令书写得不规范导致的,例如有的RET返回指令一定要按正确格式书写或在两行指令间最好不要留空行。

(2)程序中的跳转指令的运用很重要,为保险起见,都用LJMP,我们就遇到过跳转指令用错程序无法正常运行的现象。当用JNZ指令时,跳转范围比较少,这时要用一个标号中转。(3)编程时要注意,在程序开始时,要写入各定时器中断的入口地址。

(4)编程过程中要注意加注释或分割线,否则,在程序过长时容易变得很乱,不便于查找或更改。(5)编程前要加流程图,这样会使思路清晰,例如数字音乐盒的设计思路完全可以按着MP3的工作方式列写流程图。

六、结论与心得

此次设计过程中,我们查了一些相关资料,使得我们更深层的了解了单片机芯片的

工作原理以及软件、硬件如何联系起来实现我们的要求。经过我们共同努力之下,不仅完成本次设计的具体相关要求,也熟练掌握了AT89C51芯片的具体功能和注意事项。

此外,设计中所涉及到的元器件还有:三极管、电阻、瓷片电容等,我们通过查了相关元器件的作用及其工作原理,并对其进行验算,从而进一步地减少实验误差。在我们的不懈努力下加上老师的些许指导,最终还是发现了问题的原因,我们从而查找相关资料和不断地试验最终实现了乐曲的播放。

在整个设计过程中,我们不仅能将书本上学到的关于单片机相关的知识于实践相结合,而且还培养了团队合作精神以及提高了自学能力。这将对我们今后的实践提供了有很大的基础。它更加让我们意识到:理论和实践相结合的重要性。虽然电路看上比较简单,但实际行动起来将会遇到许多挫折以及其它一些客观的因素。因此,设计过程中要保持一种持之以恒、严谨的设计作风思想,这样才会在遇到问题时能够发现和解决问题。

设计已经结束,但它留给我们的不单是作品,更是一堂生动的课程。它教会我们只有不断努力、不断吸取经验和教训和团结合作才会取得最终的成功!我相信经过此次设计,我们今后会取得更大的成功的!

七、参考文献

[1] 许珉.单片机原理及应用[M].北京:中国电力出版社,2007.08

[2] 三恒星科技.MCS-51单片机原理与应用实例[M]. 北京:电子工业出版社,2008.01

八、附录

1、程序

OUT BIT P2.3 ;定义音频输出端口,p2.3

N EQU 9 ;歌曲总数

OUT_NUM EQU P0 ;数码管显视当前所放歌曲曲数

ORG 0000H

AJMP MAIN

ORG 0003H

AJMP LAST_SONG ;外部中断0用于接上一曲歌按键

ORG 000BH

AJMP F_T0 ;定时器0用于定时,作音符发生器用

ORG 0013H

q4: AJMP NEXT_SONG ;外部中断1接下一曲歌按键

ORG 001BH

AJMP START_PAUSE ;定时器1用计数,这里用作中断,接开始/暂停键,初值为0ffH,方式2

ORG 0030H

MAIN: MOV SP,#60H

MOV DPTR,#TABLE ;DPRT指向每首歌曲的入口地址的地址。

MOV R0,#30H ;R0中存入数据30H,这里在以30H开始的单元存放每首歌曲的入口地址,其中30H,31H存放

;歌曲的节拍入口地址,32H,33H存放歌曲音符入口地址,每首歌占用四个存储存单元。

MOV R5,#00H ;R5中存放表TABLE中正在执行操作的序号

MOV R6,#1 ;R6存放正在设置入口信息的歌曲数

SET_TAB: MOV A,R5 ;设置每首歌曲的入口信息,存放在以30H开始的存储单元中。

MOVC A,@A+DPTR

MOV @R0,A

INC R5

INC R0

MOV A,R5

MOVC A,@A+DPTR

MOV @R0,A

INC R5

INC R0

MOV A,R5

MOVC A,@A+DPTR

MOV @R0,A

INC R0

INC R5

MOV A,R5

MOVC A,@A+DPTR

MOV @R0,A

INC R0

INC R5

INC R6 ;设置完一首歌曲后,歌曲数加一

CJNE R6,#N+1,SET_TAB ;是否设置完,没有便继续,否则进行下面的操作

;*********************************** 对中断,计数器的相关参数进行设置

MOV TMOD, #61H ;计数器0工作方式1,计数器1工作方式2

MOV TH1,#0FFH ;给计数器1置初值0FFH,又由于是工作方式2,所以

MOV TL1,#0FFH ;计数器计数为1,相当于一外部中断。

SETB ET1 ;允许计数器1中断

SETB ET0 ;允许计数器具0中断

CLR PT0 ;计数器0为低优先级

SETB PT1 ;计数器1为高优先级

SETB IT0 ;外部中断0为跳沿触发

SETB PX0 ;高优先级

SETB IT1 ;外部中断1为跳沿触发

SETB PX1 ;高优先级

SETB EX1 ;允许外部中断1中断

SETB EX0 ;允许外部中断定0中断

SETB EA ;开中断总开关

SETB TR1 ;定时器1开始工作,作中断用

SETB OUT ;音频输出端口初始化

;*********************************** ;设置结束

CLR F0 ;设置F0=0,用来作暂停/播放的标置位用

MOV 22H,#01H ;22H单元中存放正在播放的歌曲编号

MOV DPTR,#OUT_TAB ;将正在播放的歌曲编号送数码管显视

MOV A,22H

MOVC A,@A+DPTR

MOV OUT_NUM,A

MOV R7,#00H ;R7中存放歌曲总信息的入口地址

START0:MOV R4,#00H ;R4存放当前正在播放歌曲的第几个节拍数MOV R0,#30H ;30H开始的单元中存放歌曲的入口信息

MOV A,R7 ;将歌曲的节拍表的入口地址送到DPTR

ADD A,R0

MOV R0,A

MOV DPH,@R0

INC R0

MOV DPL,@R0

INC R0

MOV A,R4

INC R4

MOVC A,@A+DPTR ;取出第一节拍数,其实第一个节拍不是歌曲的第一个节拍,而是表示几分音符

;****************************************************

MOV 26H,A ;将取出的音符数+节拍数保存在职26H单元中NEXT: MOV R0,#30H ;开始取出歌曲的第一个数据

MOV A,R7

ADD A,R0

MOV R0,A

MOV DPH,@R0

INC R0

MOV DPL,@R0

INC R0

MOV A,R4

INC R4

MOVC A,@A+DPTR ;放在A中

;****************************

JZ END0 ;若为0,则表示为休止符,不唱,本次音符不唱,MOV R1,A ;不为0,取出节拍数

ANL A,#0FH

MOV R2,A

MOV A,R1

SWAP A

ANL A,#0FH

JNZ SING ;音符不为0,唱

CLR TR0 ;为0,不唱,关频率发生器

SJMP SING1

SING: DEC A ;开始唱,进行相应的数据处理

MOV R3,A

RL A

MOV DPH,@R0

INC R0

MOV DPL,@R0

INC R0

MOVC A,@A+DPTR

MOV 21H,A

MOV TH0,A

MOV A,R3

RL A

INC A

MOVC A,@A+DPTR

MOV 20H,A

MOV TL0,A

SETB TR0 ;开唱

SING1:LCALL DELAY ;每个音符唱多久

JB F0,FOR ;是否暂停,

AJMP NEXT ;没有暂停,继续

FOR: CLR TR0 ;暂停,不唱

JB F0,$ ;等待播放

AJMP NEXT ;开始播放

END0: CLR TR0 ;不唱

MOV A,22H ;唱完处理

CJNE A,#N,WW ;是不是全部歌曲都唱完

MOV 22H,#01H ;全部唱完,则从第一首开始再唱

MOV R7,#00H

MOV OUT_NUM,#11111001B;数码管显视第一首歌曲编号

AJMP WWW

WW: MOV A,R7 ;没有全部唱完,唱下一首,歌曲的入口信息调整ADD A,#4

MOV R7,A

INC 22H

CLR EA

PUSH DPH

PUSH DPL

MOV A,22H

MOV DPTR,#OUT_TAB

MOVC A,@A+DPTR

MOV OUT_NUM,A ;数码管显视相应的歌曲编号

POP DPL

POP DPH

WWW: SETB EA

AJMP START0 ;开始下一首的演唱

F_T0: MOV TH0,21H ;定时器0置初值

MOV TL0,20H

CPL OUT ;频率产生

RETI

NEXT_SONG: PUSH ACC ;下一曲中断程序处理,保护现场

PUSH DPH

PUSH DPL

MOV A,22H

CJNE A,#N,Q ;是最后一首吗?

MOV R7,#00H ;是最后一首,则R7指向第一首,演唱第一首

MOV 22H,#01H

AJMP BACK

Q: INC 22H ;不是最后一首,唱下一首,R7内容加4,歌曲数加1

MOV A,R7

ADD A,#4

MOV R7,A

BACK: MOV R4,#00H ;数码管显视相应的歌曲编号

MOV A,22H

MOV DPTR,#OUT_TAB

MOVC A,@A+DPTR

MOV OUT_NUM,A

;********************************************

MOV B,R0 ;对下首要演唱的歌曲的几分拍进行调整,同时对R0中的内容进行保护

MOV R4,#00H

MOV R0,#30H

MOV A,R7

ADD A,R0

MOV R0,A

MOV DPH,@R0

INC R0

MOV DPL,@R0

INC R0

MOV A,R4

INC R4

MOVC A,@A+DPTR

MOV 26H,A ;结果存入26H单元中

DEC R4

MOV R0,B ;恢复R0中的内容

;********************************************

POP DPL ;恢复现场

POP DPH

POP ACC

SETB EA

LAST_SONG: PUSH ACC ;上一曲中断程序处理开始,保护现场

PUSH DPH

PUSH DPL

CLR EA ;关中断

MOV A,22H ;曲目数送A

CJNE A,#1,QQ ;是否是第一首

MOV 22H,#N ;是第一首歌曲

MOV B,#4 ;将R7指向最后一首歌曲

MOV A,#N-1

MUL AB

MOV R7,A

AJMP BACK2 ;处理结束

QQ: DEC 22H

MOV A,R7 ;R7减4

SUBB A,#4

MOV R7,A

BACK2: MOV R4,#00H

MOV A,22H

MOV DPTR,#OUT_TAB

MOVC A,@A+DPTR

MOV OUT_NUM,A ;数码管显视相应歌曲的编号

;********************************************

MOV B,R0 ;对下首要演唱的歌曲的几分拍进行调整,同时对R0中的内容进行保护

MOV R4,#00H

MOV R0,#30H

MOV A,R7

ADD A,R0

MOV R0,A

MOV DPH,@R0

INC R0

MOV DPL,@R0

INC R0

MOV A,R4

INC R4

MOVC A,@A+DPTR

MOV 26H,A ;结果存入26H单元中

DEC R4

MOV R0,B ;R0中的内容恢复

;********************************************

POP DPL ;恢复现场

POP DPH

POP ACC

SETB EA

RETI ;中断返回

START_PAUSE:CPL F0 ;开始/暂停中断处理程序,将标置位取反

JB F0,RETURN ;为1返回

SETB TR0 ;为0则播放

RETURN: RETI ;中断返回

DELAY: MOV 27H,26H ;音符演奏时间控制

D2: MOV 28H,#125

D3: MOV 29H,#248

DJNZ 29H,$

DJNZ 28H,D3

DJNZ 27H,D2

DJNZ R2,DELAY

RET

;OUT_TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H,73H

;共阴数码管显视用

OUT_TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH,0FFH

;共阳

TABLE:

DW

SONG1,TABLE1,SONG2,TABLE2,SONG3,TABLE3,SONG4,TABLE4 ,SONG5,TABLE5,SONG6,TABLE6,SONG7,TABL E7,SONG8,TABLE8

TABLE1:DW 64580,64684,64777,64820

DW 64898,64968,65030,64260

DW 64400,64524,65058,63835,64021

SONG1: ;精忠报国

DB 66H,52H,36H,22H,12H,12H,22H,32H,98H,84H,82H,92H,14H,12H,22H

DB 32H,52H,22H,42H,38H,66H,52H,36H,22H,12H,22H,22H,32H,98H

DB 24H,22H,32H,54H,52H,32H,92H,12H,92H,82H,98H,66H,52H,36H,22H

DB 12H,12H,22H,32H,98H,84H,82H,92H,14H,12H,22H,32H,52H,22H,42H,38H

DB 66H,52H,36H,22H,12H,22H,22H,32H,98H,24H,22H,32H,54H,52H,32H

DB 22H,12H,92H,82H,98H,14H,24H,34H,44H,64H,0B4H,64H,32H,52H

DB 62H,0B2H,62H,52H,38H,24H,22H,32H,54H,52H,62H,52H,32H,32H,22H,38H DB 64H,0B4H,64H,32H,52H,62H,0B2H,62H,52H,38H,22H,22H,22H,32H,52H,52H DB 52H,62H,7FH,74H,04H,58H,6FH

DB 00

TABLE2:DW 64580,64684,64777,64820

DW 64898,64968,65030,64260

DW 64400,64524,65058,63835,64021

SONG2: DB 02H,82H ;月亮代表我的心

DB 16H,32H,54H,02H,52H

DB 0A6H,32H,54H,02H,52H

DB 64H,74H,0B6H,64H

DB 52H,5CH,32H,22H

DB 16H,12H,14H,32H,22H

DB 16H,12H,14H,22H,32H

DB 26H,12H,94H,22H,32H

DB 2CH

DB 32H,52H

DB 36H,22H,14H,54H

DB 0ACH,92H,0A2H

DB 96H,0A2H,96H,82H

DB 3CH,54H

DB 36H,22H,14H,54H

DB 0ACH,92H,0A2H

DB 16H,12H,14H,22H,32H

DB 2CH,02H,82H

DB 16H,32H,56H,12H

DB 0A6H,32H,56H,52H

DB 66H,72H,0B6H,62H

DB 62H,52H,58H,32H,22H

DB 16H,12H,14H,32H,22H

DB 16H,12H,14H,22H,32H

DB 26H,92H,0A4H,12H,22H

DB 1CH

DB 00

TABLE3: DW 64580,64684,64777,64820

DW 64898,64968,65030,64260

DW 64400,64524,65058,63835,64021

SONG3: DB 0d4H,84H,94H,82H,92H ;看我七十二变

DB 12H,22H,82H,92H,02H,92H,82H,0d2H

DB 82H,92H,14H,84H,02H,0d1H,0d1H

DB 0c2H,0d2H,84H,0d2H,0d2H,82H,82H

DB 84H,82H,82H,94H,82H,0d2H

DB 82H,82H,82H,92H,02H,82H,82H,0d2H

DB 0c4H,84H,0d4H,92H,0d2H

DB 82H,0d2H,82H,92H,98H

DB 04H,94H,88H

DB 04H,94H,88H

DB 04H,94H,88H

DB 04H,94H,88H,04H

DB 32H,32H,22H,12H,02H,92H,12H,92H

DB 32H,32H,22H,12H,02H,92H,12H,92H

DB 32H,32H,22H,12H,02H,92H,12H,22H

DB 54H,44H,34H,12H,22H

DB 34H,22H,12H,02H,92H,12H,92H

DB 32H,32H,22H,12H,02H,92H,12H,92H

DB 32H,32H,22H,12H,02H,92H,12H,22H

DB 54H,44H,32H,22H,12H,92H

DB 00

TABLE4:DW 64580,64684,64777,64820

DW 64898,64968,65030,64260

DW 64400,64524,65058,63835,64021

SONG4:DB 82H,92H,12H,14H,12H,14H,92H,82H,12H,14H,22H,14H,92H,12H,22H,24H ;大海

DB 22H,24H,12H,92H,22H,24H,32H,24H,32H,52H,62H,54H,52H,64H,52H,32H

DB 22H,32H,22H,12H,94H,82H,92H,12H,14H,12H,14H,94H,1cH

DB 82H,92H,12H,14H,12H,14H,92H,82H,12H,14H,22H,14H,92H,12H,22H,24H

DB 22H,24H,12H,92H,22H,24H,32H,24H,32H,52H,62H,54H,52H,64H,52H,32H

DB 22H,32H,22H,12H,94H,82H,92H,12H,14H,12H,14H,22H,12H,1cH,32H,52H

DB 62H,64H,62H,64H,0b2H,62H,52H,54H,62H,54H,32H,22H

DB 12H,14H,12H,14H,24H,3cH,32H,22H,12H,14H,12H,14H,0b2H,62H,52H,54H,62H,54H,32H,52H

DB 66H,0b2H,0b4H,62H,52H,5cH,32H,52H,62H,64H,62H,64H,0b2H,62H,52H,54H

DB 62H,54H,32H,22H,12H,14H,12H,14H,54H,3cH,32H,22H,12H,14H,12H,14H,22H,32H

DB 52H,54H,32H,54H,32H,52H,6fH,04H,02H,92H,32H,24H,12H,1fH

DB 00

TABLE5:DW 64021,64103,64260,64400 ,64524,64580,64684,64777,64820,64898,64968,65030,64934 SONG5:DB 86H,92H,12H,22H,32H,52H,68H,63H,52H,34H,62H,0B2H,0B2H,62H,51H,61H,51H,31H,54H ;彩云追月

(完整版)基于51单片机的电子八音盒详细设计步骤

一、设计目的 利用8052单片机结合内部定时器设计一个八音盒,按下单键可以演奏预先设置的歌曲旋律。 二、设计要求 其基本功能为:1,使用LED显示器来显示目前演奏的歌曲编号;2,具有8个按键操作来选择演奏哪一首歌曲;3,内建8首歌曲旋律,按下单键可以演奏歌曲。 三、设计器材 T89C52单片机、晶振、八个按键、二位一体共阳极数码管、电阻电容若干、导线。 四、设计方案及分析 设计思路: (1)选择8052单片机,通过T0定时中断,并配合P2.0引脚输出音频频率。 (2)P2.0引脚输出接蜂鸣器。 (3)通过P0口接LED。 (4)P1口接键盘,输入歌曲号。 音符产生方法: 不同的音调有不同的频率。频率不同,音调也就不同。 利用定时器,使其工作在模式1,定时中断,然后控制P2.0引脚的输出每次取反,就可以在P2.0的引脚输出相应的方波频率。改变计数初值,就改变了频率。定时器的定时时间等于半个周期,定时时间到就输出脉冲取反,重复此过程,就可在P2.0引脚得到一音频的脉冲。 如:中音1的频率=523HZ,周期T=1/523=1912us; 定时器的定时时间为:T/2=1912/2us=956us; 计算得TH0,TL0的计数初值THTL=64580 下面是个音符计数初值

节拍产生方法: 音乐中的节拍用延时时间产生。假设1/4拍执行一次延时程序,这1/2拍就执行两次延时程序,所以只要求出1/4延时时间,其余的节拍就是他的倍数。为方便记谱,将节拍数也进行编码,如下: 建立曲谱编码表: 编谱用8位编码,高4位代表音符,低4位代表节拍。如5 6中音5,中音6,都是1/2拍,则编码为:82H 92H 程序清单: #include #define uchar unsigned char #define uint unsigned int #define ulong unsigned long sbit SPEAK = P2^0;//接蜂鸣器管脚 uchar th0_f; uchar tl0_f;

基于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 元件清单 ............................................................................................................... 总结 ..................................................................................................................................... 参考文献..............................................................................................................................

课程设计-数字音乐盒

单片机课程设计-数字音乐盒 课程设计要求: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行显示

基于51单片机音乐盒程序设计

基于51单片机音乐盒程序设计基于51单片机音乐盒程序设计一、功能设计说明 1、电路设计 实物图 矩阵键盘部分电路图 2、运行流程图 程序开始 播放小苹果歌曲

否 判断任意按键是否按下继续播放小苹果歌曲是 否播放完成 进入电子琴模式 判断K16按键是否按下 是 3、电子琴模式按键对应发音设计 按键发音按键发音 低 1 中 2 K1 K9 低 2 中 3 K2 K10 低 3 中 4 K3 K11 低 4 中 5 K4 K12 低 5 中 6 K5 K13 按键发音按键发音 低 6 中 7 K6 K14 低 7 高 1 K7 K15 中 1 重新播放小苹果 K8 K16 二、硬件电路说明

1、程序下载电路 音乐盒电路图 ISP下载接口 本设计采用的单片机为AT89S52单片机,需使用ISP下载器进行下载程序,程序下载电路图如图中ISP1接口. 2、音乐发音电路 IO口P10发出不同频率的脉冲,则BUZZER产生各种不同的声音,本设计采用12MHZ 晶振,系统频率1MHZ,定时器计数一个1us,其对应关系如下表所示: 频率简谱码(T音符音符频率(HZ) 简谱码(T值) (HZ) 值) 低 1 DO 262 63628 # 4 FA# 740 64860 # 1 DO# 277 63731 中 5 SO 784 64898 低 2 RE 294 63853 # 5 SO# 831 64934 # 2 RE# 311 63928 中 6 LA 880

64968 低 3 M 330 64021 # 6 932 64994 低 4 FA 349 64103 中 7 SI 988 65030 # 4 FA# 370 64185 高 1 DO 1046 65058 低 5 SO 392 64260 # 1 DO# 1109 65085 # 5 SO# 415 64331 高 2 RE 1175 65110 低 6 LA 440 64400 # 2 RE# 1245 65134 # 6 466 64463 高 3 M 1318 65157 低 7 SI 494 64524 高 4 FA 1397 65178 中1 DO 523 64580 # 4 FA# 1480 65198 # 1 DO# 554 64633 高 5 SO 1568 65217 中 2 RE 587 64684 # 5 SO# 1661 65235 # 2 RE# 622 64732 高 6 LA 1760 65252 中 3 M 659 64777 # 6 1865 65268 中 4 FA 698 64820 高 7 SI 1967 65282 计算方法: 例如产生262HZ频率(发音DO), 周期T=1/262=3816 us,由于定时器中断使IO不停取反,故周期 T=3816/2=1908 us 定时器初值N=65536-1908=63628 TH0=63628/256 TL0=65536%256 三、程序代码说明 1 、脉冲产生 采用定时器0溢出中断产生脉冲,定时器初始化如下: TMOD = 0x01; //定时器0工作方式1 ,即十六位计数器计数 TR0 = 1; //启动定时器 ET0 = 1; //定时器0溢出中断使能

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

毕业设计 基于单片机的音乐盒设计 【摘要】本设计是一个基于A T89C51系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。使用两个按键控制音乐盒,一个用来切换歌曲,另一个用来切换8路LED的变化花样,本音乐盒共有两首歌曲,花样灯花样共计3种。播放歌曲时,蜂鸣器发出某个音调,与之对应的LED亮起。本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试,节约了设计时间。 【关键字】音乐盒;A T89C51单片机;KEIL;PROTEUS;音调

Design Of Music Box Based On SCM Li Kun (Grade06,Class1, Major Computer Science and Technology, Computer Science and Technology Dept,Shaanxi University Of Technology,Hanzhong 723003,Shaanxi) Tutor: FENG Yong-Zheng Abstract:This design is a series based on A T89C51 microcontroller Music Box, based on principles of SCM technology, through the production of hardware and software compilation, designed a multi-function music box. Mainly by the keys of the music box circuit, reset circuit, clock circuit and the buzzer composition. Using two buttons control music box, one to switch songs, and the other is used to switch the 8 LED pattern changes, the music box has two songs, a total of three kinds of pattern light pattern. Play a song, the buzzer sounded a tone, corresponding LED lights up. This design using KEIL programming software to program the music box and debug source code, with the PROTEUS simulation software to simulate hardware, debugging, saving design time. Key Words: Music Box ;A T89C51 SCM; KEIL; PROTEUS; TONE

基于单片机STC89C52的数字音乐盒设计.doc

基于单片机STC89C52的数字音乐盒设计 一、引言 1.1设计的目的 通过课程设计,让学生熟悉单片机微机应用系统开发、研制的过程,软硬件设计的工作方法、工作内容、工作步骤。对学生进行基本技能训练,例如:组成系统、编程、调试、查阅资料、焊接电路板等。使学生理论联系实际,提高动手能力和分析问题、解决问题的能力。 1.2 设计的基本要求 (1)利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏不同的乐曲(至少3首歌曲); (2)采用七段数码管显示当前播放的歌曲序号; (3)可通过功能键选择乐曲,暂停,播放,上一首,下一首; 扩展功能:利用一个循环跟每一个音调同步,每改变一个音调就变换一下彩灯,从而实现音乐控制彩灯的功能。 二、总体设计 2.1基本工作原理 1、播放音乐的原理 发音原理:播放一段音乐需要的是两个元素,一个是音调,另一个是音符。首先要了解对应的音调,音调主要由声音的频率决定,同时也与声音强度有关。对一定强度的纯音,音调随频率的升降而升降;对一定频率的纯音、低频纯音的音调随声强增加而下降,高频纯音的音调却随强度增加而上升。另外,音符的频率有所不同。基于上面的内容,这样就对发音的原理有了一些初步的了解。 音符的发音主要靠不同的音频脉冲。利用单片机的内部定时器/计数器0,使其工作在模式1,定时中断,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。

2、音符频率的产生 音符及定时器的初值: 例如:中音1(DO )的音频=523HZ,周期T=1/523s=1912s μ 定时器/计数器0的定时时间为:T/2=1912/2s μ=956s μ 定时器956s μ的计数值=定时时间/机器周期=956s μ/1s μ=956(时钟频率=12MHZ) 计算得到定时器0的初值为65536-956=64580,将初值装入T0的寄存器里,启动T0后,每计数956次后就溢出中断,进入中断服务程序后,只要将I/O 口的输出值取反,就可以得到中音1(DO )的音符音频。只要改变计数初值,就能得到不同频率的音符。表(1)是C 调各音符频率与计数初值的对照表:

基于AT89C51单片机的带彩灯外观音乐盒设计

基于AT89C51单片机的带彩灯外观音乐盒设计

基于AT89C51单片机的带彩灯外观音乐盒设计 摘要 随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化享受。传统音乐盒多是机械型的,体积笨重,发音单调,不能实现批量生产。本文设计的音乐盒是以AT89C51单片机为核心元件的电子式音乐盒,体积小,重量轻,能演奏音乐,功能多,外观效果多彩,配有彩灯,使用方便,本音乐盒有三个按键,key1控制彩灯,key2控制音乐,key3为总开关,可同时关闭音乐与彩灯。具有一定的商业价值。 关键字:AT89C51;音乐盒;按键;彩灯

Abstract Along with the development of human society, people of vision, hearing things put forward higher request. Small music box can bring good memories and improve people's spiritual culture. Traditional music box is heavy mechanical type, size, pronunciation and drab, cannot achieve batch production. Music box designed in this paper based on AT89C51 microcontroller as the core element of electronic music box, small size, light weight, can play music, multi-function, appearance and colorful, with a lantern,easy to use. The music box with three buttons , The key1 control Lantern, key2 control music, key3 total switch can turn off the music and lanterns. Have some commercial value. Keywords: AT89C51, music boxes, buttons, Lantern

基于51单片机的蓝牙音乐盒

项目编号 西南交通大学峨眉校区大学生 科技创新基金项目 申请书 A、科技发展基金√ 项目类别(划√)B、基础科学研究基金 C、社会科学专项基金 项目名称:基于51单片机的蓝牙音乐盒 申请者:崔志斌 指导老师:王恪铭 起止年限:2014年5 月至2015年5月 申请日期:2014年4月7日

一、简表 项目名称基于51单片机的蓝牙音乐盒 申请经费0.1(万元)申请类别科技发 展基金 申请滚动资助 (划√) 是 否√ 申请者崔志斌性别男出生日期1993.7.3 学号20128403 班级测控一班所在系 (部) 计算机与通信工 程系 起止年限2014.05 项目组成员(不含申请者) 姓名学号所在系(部)项目分工本人签字 崔志斌20128403 计算机与通信工 程系 技术支持 计算机与通信工 程系 技术支持 计算机与通信工 程系 技术支持 项目研究内容提要(200字以内) 现如今随着科技的发展,人们生活水平的提高,越来越多的人们将注意力转移到了丰富自己的精神生活上。因而现在市场上出现了一些多媒体电子设备,例如MP3、MP4以及平板电脑等等。但是我们发现,这些多媒体设备大都在设备上面仅仅设计了物理按键而没有给出无线控制的解决方案,因此本小组想到了将现有的成熟无线通信技术——蓝牙技术作为我们的多媒体电子音乐盒的控制技术。它打破了传统的以物理按键控制多媒体设备的框架,转而使用现如今迅猛发展并且普及率极高的蓝牙无线通信技术,这样做既可以利用蓝牙将我们的传统多媒体设备上面的物理按键解放,又可以将消费者对于多媒体电子设备的操控体验提高一个层面,可以说是一举两得。用户容易接

受,而且美观大方。整个音乐盒看起来相当美观新颖,故还可作为室内装饰用。 二、项目设计论证 项目名称:基于51单片机的蓝牙音乐盒 1、项目意义、国内外研究概况、水平及发展趋势 现如今随着科技的发展,人们生活水平的提高,越来越多的人们将注意力转移到了丰富自己的精神生活上。因而现在市场上出现了一些多媒体电子设备,例如MP3、MP4以及平板电脑等等。但是我们发现,这些多媒体设备大都在设备上面仅仅设计了物理按键而没有给出无线控制的解决方案,因此本小组想到了将现有的成熟无线通信技术——蓝牙技术作为我们的多媒体电子音乐盒的控制技术。它打破了传统的以物理按键控制多媒体设备的框架,转而使用现如今迅猛发展并且普及率极高的蓝牙无线通信技术,这样做既可以利用蓝牙将我们的传统多媒体设备上面的物理按键解放,又可以将消费者对于多媒体电子设备的操控体验提高一个层面,可以说是一举两得。用户容易接受,而且美观大方。整个音乐盒看起来相当美观新颖,故还可作为室内装饰用。 国外已经有非常多的“创客”在科技小制作上面取得了非常多的成果,比如高仿真机器人、四轴飞行器等等。但是国内的科创发展之

基于51单片机的音乐盒的设计毕业论文

基于51单片机的音乐盒的 设计毕业论文 目次 目次 (3) 1 引言 (4) 1.1 音乐盒的意义 (4) 1.2 研究容 (5) 2.1系统总体框架图 (6) 2.2音乐盒的设计原理 (6) 2.3 单片机芯片概述 (7) 3 硬件电路设计 (8) 3.1 单片机最小系统原理图 (8) 3.1.1 复位电路 (8) 3.1.2 晶振电路 (9) 3.1.3时钟电路 (9) 3.2 LCD显示模块 (9) 3.3 继电器模块 (11) 3.3.1电磁继电器的工作原理和特性 (12)

3.3.2 固态继电器的工作原理和特性 (12) 3.3.3 继电器主要产品技术参数 (12) 3.4 按键模块 (13) 3.5 其它 (13) 4 软件设计 (14) 4.1 软件总体流程图 (14) 4.2播放/暂停子程序 (15) 4.3 LCD显示模块软件设计 (17) 4.3.1 LCD的初始化函数 (17) 4.3.2 LCD与继电器的函数 (18) 5 系统实现 (19) 5.1 硬件调试 (20) 5.1.1 按键控制的实现 (20) 5.1.2 LCD显示 (21) 5.1.3 其他 (21) 总结 (22) 致谢 (23) 参考文献 (24) 附录A 元器件清单 (25) 附录B 源程序 (26)

1 引言 在进入21世纪后,单片机产品的发展正朝着高性能和多品种方向,并且发展趋势是进一步朝着CMOS化、小体积、低功耗、大容量、高性能、低价格以及外围的电路装化等几个方面去发展。单片机的应用的重要意义还是在于它是从根本上改变了传统的控制系统设计思想和设计方法。过去必须要由模拟电路或者数字电路才可以实现的大部分的功能,现在已能完全可以用单片机通过软件的方法来实现了。这种由软件去代替硬件的控制技术也称之为微控制技术,这是传统控制技术的一次革命。单片机可以说渗透到了我们生活的各个方面,几乎难以找到哪个领域里没有单片机的踪迹。导弹中的导航装置,飞机里安装的各种仪表的控制,计算机里的网络通讯与数据传输方面,工业自动化过程中实时控制和数据处理方面,生活中被广泛使用的各种智能IC卡,民用的高档轿车的安全保障系统,摄像机、录像机、全自动洗衣机所涉及的控制方面,以及远程控制的玩具、电子宠物等等,这些全都是离不开单片机的。 而伴随着科学技术的不断进步和社会的持续发展,人类所接触的更种信息也在不断增加并且信息变得越来越复杂。面对着浩如烟海的繁杂信息,人们目前已经能利用计算机等工具快速、精准地对其进行快速处理,但要想将其处理完毕的信息及时、清晰地传递给其他人,还必须要寻找更加卓越的显示技术去实现它。而单片机技术与液晶显示技术的结合,恰恰使得信息的传输交流向着智能化可视化方向进行快速发展。

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

1 前 言 乐曲演奏广泛用于自动答录装置、手机铃声、集团电话、及智 能仪器仪表设备。实现方法有许多种,在众多的实现方法中,以纯硬件完成乐曲演奏,随着FPGA 集成度的提高,价格下降,EDA 设计工具更新换代,功能日益普及与流行,使这种方案的应用越来越多。如今的数字逻辑设计者面临日益缩短的上市时间的压力,不得不进行上万门的设计,同时设计者不允许以牺牲硅的效率达到保持结构的独特性。使用现今的EDA 软件工具来应付这些问题,并不是一件简单的事情。FPGA 预装了很多已构造好的参数化库单元LPM 器件。通过EDA 软件工具,设计者可以设计出结构独立而且硅片的使用效率非常高的产品。 本文介绍在EDA 开发平台上利用单片机及汇编语言设计音乐硬件演奏电路,并定制单片机存储音乐数据,以十首乐曲为例,将音乐数据存储到单片机,就达到了以纯硬件的手段来实现乐曲的演奏效果。只要修改单片机所存储的音乐数据,将其换成其他乐曲的音乐数据,再重新连接到程序中就可以实现其它乐曲的演奏。

目录 摘要 (4) 第1章概述 (5) 第2章音乐盒的发音原理 (6) 2.1 播放音乐的原理 (6) 2.2 音符频率的产生 (6) 2.3 节拍频率的产生 (8) 第3章硬件电路设计 (9) 3.1 硬件电路 (9) 3.2 整体硬件电路 (10) 3.3 原理说明 (11) 2 2.4 键盘按键 (11) 第4章软件设计 (12) 4.1 程序设计流程 (12) 4.2 设计源程序代码 (12)

第5章仿真及调试 (13) 5.1 调试 (13) 5.2 仿真 (13) 5.3 程序调试中出现的问题及解决的办法 (15) 第6章设计小结及建议 (17) 致谢 (18) 参考文献 (19) 附录一元器件清单 (20) 附录二部分源程序代码 (21) 3

STC89C51单片机的数字音乐盒设计(含代码)

HEFEI UNIVERSITY FPGA综述报告 系别电子信息与电气工程系任课教师汪济洲 班级 姓名 成绩 日期

数字音乐盒设计 摘要:本设计是一个基于STC89C51系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。使用两个按键控制音乐盒,一个用来切换歌曲,另一个用来切换8路LED的变化花样,本音乐盒共有两首歌曲,花样灯花样共计4种。播放歌曲时,蜂鸣器发出某个音调,与之对应的LED亮起。本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试,节约了设计时间。 关键字:音乐盒 STC89C51单片机 KEIL PROTEUS 音调

目录 1概述 (3) 1.1设计方案 (3) 1.2研究内容 (3) 1.3音乐盒的功能结构图 (3) 2硬件设计 (4) 2.1总体设计框图 (4) 2.2各部分硬件设计及其原理 (4) 2.2.1 STC89C51简介 (4) 2.2.2 LED显示电路设计与原理 (5) 2.2.3 时钟振荡电路 (5) 2.3硬件电路图及功能 (6) 3软件设计 (7) 3.1音调、节拍以及编码的确定方法 (7) 4.1.1 音调的确定 (7) 4.1.2 节拍的确定 (8) 4.1.3 编码 (9) 4.2软件程序设计 (10) 4.2.1 程序流程图及相应代码块 (10) 4.2.2 程序源代码(见附录A) (14) 5调试 (14) 5.1检查硬件连接 (14) 5.2检查软件系统 (14) 5.3测试结果 (14) 5.3.1.总体运行图 (14) 5.3.2.花样灯4种花样图 (15) 参考文献 (16) 附录A 程序源代码及注释 (16)

基于单片机的数字音乐盒

山东建筑大学 课程设计说明书 题目:基于单片机的数字音乐盒 课程:单片机原理及应用B课程设计院(部):信息与电气工程学院 专业:电子信息工程 班级: 学生姓名: 学号: 指导教师:高焕兵张君捧 完成日期: 2013年6月

目录 摘要 .................................................................... I 1 设计目的 (2) 2 设计要求 (2) 3 设计内容 (3) 3.1 设计原理 (3) 3.2 方案设计 (3) 3.3 电路各模块说明 (4) 3.4 器件选择 (6) 3.5.系统设计 (8) 3.6 软件设计 (8) 3.7 仿真调试及操作说明 (9) 总结与致谢 (10) 参考文献 (11) 附录 (12) 附录一:基于单片机的数字音乐盒总电路图 (12) 附录二:音乐程序 (12)

山东建筑大学信息与电气工程学院学院课程设计说明书 摘要 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,基于单片机制作的电子式音乐盒,控制功能强大,可根据需要选歌,使用方便。所放歌曲的节奏可以根据需要进行设置,根据存储容量的大小,可以尽可能多的存储歌曲。 本设计由由单片机AT80C51芯片和LCD显示器为核心,辅以必要的电路,构成的一个单片机电子数字音乐盒。本设计采用4*4键盘,用Protel99来画系统硬件图,采用C语言进行编程,编程后利用KEIL C51来进行编译,再生成的HEX文件装入芯片中,采用proteus软件来仿真,检验功能得以正常实现。 关键词:单片机;音乐盒;电路;播放

单片机数字音乐盒设计

单片机数字音乐盒设计 摘要:本设计是采用单片机为核心设计的数字音乐播放器。它可以实现音乐的播放,可以通过功能键来选择乐曲,播放或暂停,上一曲或下一曲,并可以通过LCD屏幕显示正在播放的歌曲的序号,以及播放时间。开机时有英文欢迎提示字符。本音乐播放器可以播放十首歌曲。 主控芯片采用AT89C51,采用汇编语言进行编程,编程后利用KEIl C51进行编译,用Proteus软件来仿真。 关键词:数字音乐盒;单片机;智能化 Digital Music Box Design CHENYING Instructor:HUKEYONG Abstract:This design is using microcontroller as the core design of the digital music player . It can play music. It can function keys to select a song, play or pause on one or the next one. and the serial number of the song that is playing, as well as play time can be displayed through the LCD screen. English boot welcome prompt characters. The music player can play ten songs. The master chip is AT89C51, assembly language is programming, programming by KEIl C51 compile,then using Proteus software to simulate. Key words:Digital Music Box, SCM, Intelligent

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

基于单片机的音乐盒设计 学生:XXX指导老师:XXX 内容摘要:本设计是一个基于AT89C51系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能数字音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。使用两个按键控制音乐盒,一个用来切换歌曲,另一个用来切换8路LED的变化花样,本音乐盒共有两首歌曲,花样灯花样共计3种。播放歌曲时,蜂鸣器发出某个音调,与之对应的LED亮起。本设计利用KEIL 编程软件对音乐盒源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试,节约了设计时间。 关键词:音乐盒 AT89C51 KEIL PROTEUS 音调

Design for AT89C51 digit music box Abstract:The digest this text has introduced the basic AT89C51 digit music box,According to AT89C51 principle,take it by hardware circuit and software compile to made a multifunction digit music box.this box main form button circuit rest circuit clock circuit and https://www.360docs.net/doc/643566457.html,e two button to control it,the one use to change music ,and the other one made the LED change the kind of light.this box had two songs,and LED had three kind of light.then the music has playing,the buzzer will take among of tone,meanwhile LED will give out light.the design on the basic of KEIL to compile and debugging this music box,at the same times match up PROTEUS to hardware going to simulation debugging,So save a lot of times. Keywords:music box AT89C51 KEIL PROTEUS Tone

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

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

音乐盒设计 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

基于51单片机的音乐播放器设计

题目:音乐播放器 课程设计(论文)任务书

摘要 随着电子技术的发展和计算机越来越普遍的使用,单片机作为这两项技术的有机结合也得到了广泛的应用,在某些领域具有不可替代的作用。音乐播放功能随处都会用到,如,在开发儿童智力的玩具中,等等。目前,基于单片机实现音乐播放,其体积小、价格低、编程灵活等特点在这一领域独领风骚。 单片机的英文名称为single chip microcomputer,最早出现在20世纪70年代,国际上现在已逐渐被微控制器(Microcontroller Unit 或MCU)一词所取代。它体积小,集成度高,运算速度快,运行可靠,功耗低,价格廉,因此在数据采集、智能化仪表、通讯设备等方面得到了广泛应用。而8051单片机在小到中型应用场合很常见,已成为单片机领域的实际标准。随着硬件的发展,8051单片机系列的软件工具也有了C 级编译器和实时多任务操作系统RTOS,为单片机编程使用C语言提供了便利的条件;并针对单片机常用的接口芯片编制通用的驱动函数,可针对常用的功能模块,算法等编制相应的函数;C语言模块化程序结构特点,可以使程序模块大家共享,不断丰富,这样就使得单片机的的程序设计更简单可靠,实时性强,效率高。作为测控技术与仪器的学生,掌握8051单片机硬件基础及其相关软件操作,将其应用于现代电子产品中是必要而且重要的,这次课程设计我们的题目是用单片机实验箱系统制作音乐播放器。

本次课程设计主要内容是通过单片机C51语言进行编程,以产生乐曲音符和节拍,把乐谱翻译成计算机语言(音符转换诚成相对应的方波频率即定时器装载初值,节拍转换成相对应的延长时间),并将其预先存储到单片机里,然后根据按键调用再由单片机进行信息处理,在经过信号放大,由喇叭放出乐曲声,实现音乐播放的功能。其主要表现在可以播放十首歌曲,可以用十个数字键控制播放的歌曲,并且能在LCD液晶屏显示器上显示相应播放歌曲的曲名和滚动歌词。再加上一个开关键来控制歌曲的播放停止。 本设计的目的是培养理论联系实际的学习方法以及独立解决工程实际问题的能力。能够熟识单片机C51语言的编程特性,及其应用。能够用C51语言进行编程,能成功的编出较为简单的程序。 关键词:单片机,音乐,蜂鸣器,同步显示 目录 课程设计(论文)任务书.................................................................................................. I 摘要...................................................................................................... 错误!未定义书签。 第一章绪论 .................................................................................................................. 1 1.1课程设计目的............................................................................................................................ 1 1.2课程设计任务............................................................................................................................ 1 1.3课程设计要求............................................................................................................................ 1 1.4课程设计的意义........................................................................................................................ 1 第二章设计原理及总体方案选择................................................................................... 2 2.1设计原理 ................................................................................................................................... 2

相关文档
最新文档