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

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

1

《单片机原理及应用》课程设计说明书

设计题目:基于AT89C52单片机的音乐盒的设计

学 院: 专业班级: 设 计 者: 学 号: 指导老师:

目录

摘要 (4)

第1章概述 (5)

第2章音乐盒的发音原理 (6)

2.1 播放音乐的原理 (6)

2.2 音符频率的产生 (6)

2.3 节拍频率的产生 (8)

第3章硬件电路设计 (9)

3.1 硬件电路 (9)

3.2 整体硬件电路 (10)

3.3 原理说明 (10)

2

3.4 键盘按键 (10)

第4章软件设计 (11)

4.1 程序设计流程 (11)

4.2 设计源程序代码 (12)

第5章仿真及调试 (16)

5.1 调试 (16)

5.2 仿真 (16)

5.3 程序调试中出现的问题及解决的办法 (17)

第6章设计小结 (18)

附录元件清单 (19)

3

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

【摘要】:随着人类社会的发展,人们对视觉、听觉方面

的享受提出了越来越高的要求。小小的音乐盒可以给人们带

来美好的回忆,提高人们的精神文化享受。传统的音乐盒多

是机械型的,体积笨重,发音单调,不能实现批量生产。本

文设计的音乐盒是以单片机为核心元件的电子式音乐盒,体

积小,重量轻,能演奏和旋音乐,功能多,使用方便,可以

批量生产,具有一定的商业价值。

【关键词】:音乐盒;单片机

4

5

第1章 概述

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

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

图1-1 单片机音乐盒功能框图

6

第2章 音乐盒的发音原理

2.1 播放音乐的原理

发音原理:播放一段音乐需要的是两个元素,一个是音调,另一个是音符。首先要了解对应的音调,音调主要由声音的频率决定,同时也与声音强度有关。对一定强度的纯音,音调随频率的升降而升降;对一定频率的纯音、低频纯音的音调随声强增加而下降,高频纯音的音调却随强度增加而上升。另外,音符的频率有所不同。基于上面的内容,这样就对发音的原理有了一些初步的了解。

音符的发音主要靠不同的音频脉冲。利用单片机的内部定时器/计数器0,使其工作在模式1,定时中断,然后控制P3.7引脚的输出音乐。只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O 反相,然后重复计时此半周期时间再对I/O 反相,就可在I/O 脚上得到此频率的脉冲。 2.2 音符频率的产生

音符及定时器初始值:

例如:中音1(do )的音频=523HZ,周期T=1/523s=1912s μ 定时器/计数器0的定时时间为:T/2=1912/2s μ=956s μ

定时器956s μ的计数值=定时时间/机器周期=956s μ/1s μ=956(时钟频率=12MHZ)

装入T0计数器初值为65536-956=64580

将64580装入T0寄存器中,启动T0工作后,每计数956次时将产生溢出中断,进入中断服务时,每次对P3.0引脚的输出值进行取反,就可得到中音DO (523HZ )的音符音频。将51单片机内部定时器工作在计数器模式1下,改变计数初值TH0,TL0以产生不同的频率。下表2-1是C 调各音符频率与计数初值T 的对照表:

7

表2-1 C 调各音符频率与计数初值T 的对照表

音符、音符编码及定时器初始值:

为了产生音符,必须求出音符低音5—高音5的计数初值。例如C 调的低1DO 的THTL=65536-50000/262=63627,中音DO 的THTL=65536-500000/523=64580,高音DO 的THTL=65536-500000/1042=65056。为了方便写谱,对其进行简单的编码,在编程时,根据音符编码查找对应的计数初值。比如说音乐是C 调的,那么出现低音的5SO ,直接将代码写为1;出现低音6LA,直接写一个2的代码;出现低音7SI ,直接写一个3代码。

表2-2 音符编码表

8

2.3 节拍频率的产生 节拍的产生与编码:

音乐中的节拍用延时时间产生。例如,1拍=0.4s ,1/4拍=0.1s ,以此类推。假设1/4拍执行一次延时程序,则1/2拍就执行两次延时程序,所以只要求出1/4拍的延时时间,其余节拍就是它的倍数。为了方便,将节拍数也进行了编码,并且计算了乐谱节拍编程时的延时时间,如表2-3和表2-4所示。

表2-3 节拍数编码表

表2-4 乐谱节拍编程时的时间延时表

音符编码和节拍编码完成后,在编程时,每个音符占一个字节,高四位是音符编码,低四位是节拍编码。

9

第3章 硬件电路设计

3.1 硬件电路

设计中用到了AT89C52单片机,3*3键盘,蜂鸣器等硬件电路常用元器件。 3.1.1 时钟复位电路

时钟电路由单片机XTAL1、 XTAL2引脚外接晶振(12MHz )及起振电容C1、C2(均为30pf )组成。如图3-1所示:

图3-1 时钟复位电路

3.1.2 按键输入电路

按键输入电路由3*3矩阵键盘组成, P3口作为输入控制按键,其中P3.4~P3.6扫描行,P3.0~P1.2扫描列。

图3-2 按键输入电路

10

3.2 整体硬件电路 如图3-3所示:

图3-3 音乐盒硬件电路原理图

3.3 原理说明:

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

(1) 硬件电路中用P3口控制按键,其中P3.0~P3.2扫描列,P3.4~P1.6扫描行;

(2) 用P1.0口控制蜂鸣器;

(3) 电路为12MHz 晶振频率工作,起振电路中C1,C2均为30pf 。

3.4 键盘按键

键盘按键分布如下: 按键功能说明:

第4章软件设计

本程序可以实现该课程设计的基本要求,并可以通过按键播放达10首歌曲。

4.1 程序设计流程

程序设计流程图如图4-1所示:

11

图4-1 程序设计流程图

12

4.2 设计源程序代码

ORG 0000H LJMP MAIN ORG 000BH ;定时器T0溢出中断入口地址 LJMP TT0 ORG 001BH ;定时器T1溢出中断入口地址 LJMP T1INT ORG 1000H MAIN: MOV SP,#70H LCALL INITIL ;内存初始化 WAIT: LCALL KEY LJMP WAIT KEY: ;键盘扫描 NOP NOP LCALL KS JNZ K1 ;有按键转到K1 MOV A,37H LCALL SOP XN: LJMP KEY K1: LCALL KS JNZ K2 LJMP KEY K2: ;读键盘 MOV R2,#0FEH MOV R4,#00H K3: MOV A,R2 MOV P3,A MOV A,P3 JB ACC.4,L1 ;为1跳转,第一行无按键 MOV A,#01H LJMP LK L1: JB ACC.5,L2 MOV A,#04H LJMP LK L2: JB ACC.6,NEXT1 MOV A,#07H LK: ADD A,R4 PUSH ACC K4: LCALL DELAY1 LCALL KS JNZ K4 ;若同时有其他按键,则等待(同时按视为无效) MOV R3,#07H CLR A MOV R0,#30H MOV R1,#31H MM1: MOV A,@R1 ;键值给37H MOV @R0,A INC R0 INC R1 DJNZ R3,MM1 POP ACC MOV @R0,A RET

NEXT1: INC R4 ;列扫描 MOV A,R2 JNB ACC.2,N2 LJMP N1 N2: LJMP KEY N1: RL A MOV R2,A LJMP K3 KS: MOV A,#0F0H ;判断P1口 MOV P3,A NOP NOP MOV A,P3 CPL A ANL A,#0F0H RET DELAY1: ;延时2.55ms 63×4×1us ×10+10×3×1us SETB RS0 DL: MOV R5,#0AH DL2: MOV R6,#63 DL3: NOP NOP DJNZ R6,DL3 DJNZ R5,DL2 CLR RS0 RET INITIL: ;30H~37H 初值为零 MOV R3,#08H MOV R0,#30H M1: MOV @R0,#00H INC R0 DJNZ R3,M1 CLR P1.0 RET ;按键值播放歌曲 SOP: MOV A,37H CJNE A,#01H,A11 MOV 52H,#HIGH TABLE10 MOV 53H,#LOW TABLE10

13

LCALL MAIN0

A11: CJNE A,#02H,A22

MOV 52H,#HIGH TABLE20 MOV 53H,#LOW TABLE20 LCALL MAIN0

A22: CJNE A,#03H,A33

MOV 52H,#HIGH TABLE30 MOV 53H,#LOW TABLE30 LCALL MAIN0 A33: CJNE A,#04H,A44

MOV 52H,#HIGH TABLE40 MOV 53H,#LOW TABLE40 LCALL MAIN0

A44: CJNE A,#05H,A55

MOV 52H,#HIGH TABLE50 MOV 53H,#LOW TABLE50 LCALL MAIN0 A55: RET

DELAY: MOV R4,#05 D1: MOV R5,#0FFH DJNZ R5,$ DJNZ R4,D1 RET

MAIN0: MOV TMOD,#11H ; 播放歌曲程序 MOV IE,#8AH MOV TH1,#3CH

MOV TL1,#0B0H LCALL KS

JNZ TTM12 MOV 40H,#00H NEXT20: MOV A,40H MOV DPH,52H MOV DPL,53H MOVC A,@A+DPTR MOV R2,A JZ STOP ANL A,#0FH MOV R1,A MOV A,R2 SWAP A

ANL A,#0FH JNZ SING CLR TR0 JMP W1 SING: DEC A

MOV 22H,A RL A

MOV DPTR,#TABLE00 MOVC A,@A+DPTR MOV TH0,A MOV 21H,A

MOV A,22H RL A INC A

MOVC A,@A+DPTR MOV TL0,A MOV 20H,A SETB TR0 SETB TR1

W1: LCALL DELAY30 INC 40H

LCALL KS ;有键跳出 JNZ STOP LJMP NEXT20 STOP: CLR TR0 CLR TR1 CLR P1.0 LJMP MAIN0 TTM12: LCALL K2 MOV A,37H

CJNE A,#08H,TTM13 ;暂停 CLR TR1 CLR P1.0

LCALL DELAY1 TTM120: LCALL KS

LCALL DELAY1 JZ TTM120 LCALL K2 MOV A,37H

CJNE A,#08H,TTM120 SETB TR1 LJMP NEXT20

TTM13: CJNE A,#09H,TTM14 ;下一曲 MOV A,52H INC A

MOV 52H,A MOV A,53H INC A

MOV 53H,A MOV A,36H INC A

MOV 37H,A LJMP TTM2

TTM14: CJNE A,#06H,TTM2 ; 上一曲 MOV A,52H DEC A

MOV 52H,A MOV A,53H DEC A

MOV 53H,A MOV A,36H DEC A

MOV 37H,A TTM2: RET

14

TT0: PUSH ACC ; 定时器中断子程序0 PUSH PSW MOV TL0,20H MOV TH0,21H CPL P1.0 ;获得脉冲 POP PSW POP ACC RETI

;定时器中断子程序1 T1INT:

MOV TH1, #3cH MOV TL1, #0b0H RETI DELAY30:

MOV R7,#2 W2: MOV R4,#125 W3: MOV R3,#248 DJNZ R3,$ DJNZ R4,W3 DJNZ R7,W2

DJNZ R1,DELAY30 RET TABLE00:

DW 64580,64684,64777,6482 ;音符 DW 64898,64968,65030,64260

DW 64400,64524,65058,63835,64021 TABLE10: ;第一首《精忠报国》 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

TABLE20: ;第二首《月亮代表我的心》 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

TABLE30: ; 第三首《大海》 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,5

15

2H 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

TABLE40: ;第四首《彩云追月》 DB

86H,92H,12H,22H,32H,52H,68H,63H,52H,34H ,62H,0B2H,0B2H,62H,51H,61H,51H,31H,54H DB

62H,0B2H,0B2H,62H,52H,32H,52H,52H,51H,61H,51H,31H,34H,52H,62H,74H,32H,52H,52H,32H

DB 21H,31H,21H,11H,24H DB

32H,52H,52H,32H,22H,12H,24H,32H,52H,52H ,32H,62H,52H,61H,51H

DB 31H,21H,21H,31H,21H,11H,1CH DB

21H,31H,22H,23H,31H,21H,18H,02H,0B2H,0B CH,0B4H,72H,61H,51H,72H,61H DB 71H,61H,51H,61H,71H,61H,6FH DB

86H,94H,12H,22H,32H,52H,64H,62H,51H,31H ,52H,21H,31H,21H,33H,62H,0B2H,0B2H,62H DB 51H,61H,51H,31H,54H DB

62H,0B2H,72H,61H,51H,51H,61H,51H,31H,54H,61H,0B2H,72H,61H,51H,51H,61H,51H,31H,32H

DB 21H,11H,32H,51H,61H,54H DB

02H,32H,24H,32H,52H,52H,32H,22H,31H,21H ,11H,24H,32H,52H,62H,0B2H,72H,61H,51H,61H DB 51H,31H,32H,52H,52H,32H,62H DB

51H,31H,31H,21H,11H,91H,23H,31H,21H,1CH ,12H,24H,32H,62H,51H,31H,34H,0B4H,72H DB 61H,51H,63H,71H,64H DB

0B2H,54H,72H,62H,71H,61H,54H,61H,51H,31H,21H,34H,73H,61H,54H,22H,32H,52H,22H,36H DB

52H,62H,61H,31H,32H,21H,11H,21H,11H,91H ,81H DB

94H,52H,62H,52H,42H,32H,22H,32H,52H,0B4H,74H,64H,52H,61H,51H,41H,5CH,02H,52H,0B4H,74H

DB 63H,51H,61H,51H,31H,21H DB 00

TABLE50: ;第五首《看我七十二变》 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 END

16

第5章 仿真及调试

5.1 调试:

(1)按照第2章设计的硬件电路在proteus 软件内画好电路图。

(2)打开单片机软件开发系统keil ,选择AT89C51单片机,在其中编写程序,运行生成一个hex 文件。

(3)电路检查无误后,双击AT89C51单片机,打开编辑元件对话框(如图5-1所示),将已经在keil 环境下调试好的程序hex 文件加载到单片机上。

图5-1 加载单片机程序

5.2 仿真:

(1)按下1-5中的某一按键,蜂鸣器播放当前乐曲。 (2)按下6键,则蜂鸣器响起上一首乐曲。 (3)按下9键,则蜂鸣器响起下一首乐曲。

(4)按下8键,则蜂鸣器停止当前音乐的播放再次按下8键后,音乐继续播放。

17

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

1. 有时会出现程序一点错误也没有,但就是不能正常运行的现象,最后我们发

现是因为程序中有的指令书写得不规范导致的,例如有的RET 返回指令一定要按正确格式书写或在两行指令间最好不要留空行。

2. 程序中的跳转指令的运用很重要,为保险起见,都用LJMP,我们就遇到过跳

转指令用错程序无法正常运行的现象。当用JNZ 指令时,跳转范围比较少,这时要用一个标号中转。

3. 编程时要注意,在程序开始时,要写入各定时器中断的入口地址。 4. 编程过程中要注意加注释或分割线,否则,在程序过长时容易变得很乱,不

便于查找或更改。

5. 程序的结构要设计的合理,避免上下乱调用的现象,这样会使程序更加清晰

化。

6. 编程前要加流程图,这样会使思路清晰,如设计思路完全可以按着MP3的

工作方式列写流程图。

7. 两个定时器同时工作,存在中断时序问题,刚开始时我们把定时器1设定在

方式3,计250us ,由于定时中断过于频繁,使CPU 负载过大,导致音乐不能正常播放,时间不能正常显示。解决办法:将定时器1设定在工作方式1,16位计数,计50ms,效果有很大改观。

8. 在歌曲中,当遇到一个音符发音为4拍,在编曲中为*CH ,托因时间较长,

当定时器T1此时来中断时,就会对歌曲播放产生影响,若改为发音一拍,中断对歌曲播放影响减弱,但音乐效果变差。

9. 改进方案:若采用可以定时时间更长的单片机,可以避免其中的一些问题。

第6章设计小结

1.本学期学习单片机的时间很短,对单片机的硬件设计,软件设计掌握的

深度不够,但通过此次课程设计,却改变了很多。首先,对于硬件电路的工

作原理有了进一步的学习,同样就有了进一步的认识;其次,软件方面,在

程序的设计,程序的调试方面都学到了很多东西。

2. 在一个好的氛围里才能踏下心来做东西,在这几天课程设计的时间里,

大家努力的氛围对我的影响很大,这也是我能完成课程设计的动力。另外在

编程中出现问题时,一定要戒骄戒躁,脚踏实地,认真看书,仔细分析,仔

细调试,就一定会发现错误,克服困难,我也是这么做的,这在课程设计中

十分重要。

3. 在大学课堂的学习只是纯理论的专业知识,而我们应该把所学的用到现

实生活中去,此次的音乐盒设计给我奠定了一个实践基础,我会在以后的学

习、生活中磨练自己,使自己适应社会激烈的竞争。

18

附录:

元器件清单:

19

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

基于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

基于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卡,民用的高档轿车的安全保障系统,摄像机、录像机、全自动洗衣机所涉及的控制方面,以及远程控制的玩具、电子宠物等等,这些全都是离不开单片机的。 而伴随着科学技术的不断进步和社会的持续发展,人类所接触的更种信息也在不断增加并且信息变得越来越复杂。面对着浩如烟海的繁杂信息,人们目前已经能利用计算机等工具快速、精准地对其进行快速处理,但要想将其处理完毕的信息及时、清晰地传递给其他人,还必须要寻找更加卓越的显示技术去实现它。而单片机技术与液晶显示技术的结合,恰恰使得信息的传输交流向着智能化可视化方向进行快速发展。

基于单片机的数字音乐盒

山东建筑大学 课程设计说明书 题目:基于单片机的数字音乐盒 课程:单片机原理及应用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软件来仿真,检验功能得以正常实现。 关键词:单片机;音乐盒;电路;播放

基于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)

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

基于单片机的音乐盒设计 学生: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/655410247.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

基于单片机的电子音乐盒的设计与实现

课程设计报告设计名称基于单片机的电子音乐盒的设计与实现 学校陕西电子科技职业学院 学院电子工程学院 学生姓名滕一帆 班级1507 学号 2013062040311 指导教师聂弘颖 时间2017年09月22日

基于单片机的电子音乐盒的设计与实现 一、设计目的 为证明单片机可以通过软件程序控制硬件电路实现简单音乐播放器的功能,以此证明单片机的功能强大。 二、设计概述 本课题是一个基于51单片机的电子音乐盒,依据单片机控制技术原理,设计出一个可以播放多首音乐的数字音乐盒,通过数码管显示当前是第几首音乐,系统设计了三个按键,具体功能:S1:暂停/播放;S2:加一首(下一首);S3:减一首(上一首)。通过硬件电路制作以及以及软件编程,设计制作出一个多功能的电子音乐盒。 三、设计方案 在这个系统的设计中,单片机采用51兼容系列的STC89C52RC。有以下几部分构成:电源电路、单片机最小系统、发声系统、键盘控制电路、显示电路。经过论证后我确定的系统框图,如下图所示: 四、设计原理 1、原理 本系统由单片机系统,独立按键、数码管组成。利用I/O口产生一定频率的方波,驱动扬声器,发生不同的音调,从而实现乐曲的演奏。系统能通过功能键完成选择乐曲、播放、暂停、和复位的基本功能。在播放乐曲的同时LCD上显示所播放的歌曲序号,可以通过复位键使音乐盒从第一首歌曲重新播放,本系统成本低廉,功能强大

实用。 2、音乐基础简介 <1>音乐频率表 <2>音调表建立 由于单片机输出为方波输入信号,波形图如下: 高低电平各占1/2,根据单片机定时器工作原理。 定时时间=(满值-初值)X机器周期 初值=满值-定时时间/机器周期 =216-(1/f)X(1/2)X106 以低音11为例,初值为=216-(1/262)X(1/2)X106 =63627.6 =63628 同理得其他音调值,具体如下: Unsigned int code table[]={0,63628,63835,64021,64103,64260,64399,64523,64579,64684,64777,64 819,64898,64968,65030,65058,65110,65157,65178,65217,65252,65282}; <3>音乐表的建立 我们以两只老虎音乐为例子,然后我们就会得到该音乐表 Ucharcode music1[]={8,4,9,4,10,4,8,4,9,4,10,4,8,4,10,4,11,4,12,8,10,4,11,4,12,8,12,3,13,1,12, 3,11,1,10,4,8,4,12,3,13,1,12,3,11,1,10,4,8,4,9,4,5,4,8,8,9,4,5,4,8,8,0,0xff};

基于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

基于C51单片机音乐盒设计

《汽车单片机技术》课程结课设计报告 题目:电子时钟 专业 班级 学号 姓名 指导教师张琦

基于C51单片机音乐盒设计 长久以来,音乐都在我们身边,封建时期的编钟道现在我们的各种各样的音乐播放,而音乐盒在我们日常生活中经常拿来当礼物来赠送,音乐盒悠扬的的乐声,经常勾起人们对美好往事的回忆,甚至魂牵梦萦,坠入时光岁月的追忆中。为了好好利用学到的知识用于自己喜欢的事情中我选择了单片机音乐盒的设计,这让我有回忆起了儿时的美好时光。 1.1 设计内容 利用AT89C51的I/O口产生一定频率的方波脉冲,驱动蜂鸣器发出不同的音调,从而演凑乐曲利用PNP三极管进行简单的电路放大。 技术指标: 1.利用软件设计编写3首以上的歌曲并通过功放与扬声器播放出来; 2.3首歌曲的切换通过3个不同的按键来实现。 3. 能够实现暂停、播放功能。 1.3 系统运行流程 1音符频率的产生: 音符及定时器初始值: 例如:中音1(do)的音频=523hz,周期T=1/523s=1912us 定时器/计数器0的定时时间为:T/2=1912/2=956us 定时器956us的计数值=定时时间/机器周期(12mhz晶振)=956us/1us=956 装入T0计数器初始值为65536-956=64580(0xFC44) 将0xFC44装入T0寄存器中(TH0装高八位即TH0=0XFC;TL0装低八位即TL=44),启动T0工作后,每技术956次将产生溢出中断,进入中断服务,每次对P1.0引脚的输出取反,就可得到中音do(523hz)的音符频率。依此产生其他的不同音符以下给出四个八度的28个频率数据 频率-半周期数据表高八位 0xF2, 0xF3, 0xF5, 0xF5, 0xF6, 0xF7, 0xF8, //低音1234567 0xF9, 0xF9, 0xFA, 0xFA, 0xFB, 0xFB, 0xFC, 0xFC,//1,2,3,4,5,6,7,i 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFE, //高音 234567 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF}; //超高音 1234567 频率-半周期数据表低八位 0x42, 0xC1, 0x17, 0xB6, 0xD0, 0xD1, 0xB6, //低音1234567

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

课程设计:嵌入式系统应用 题目名称:基于51单片机的音乐盒设计

1设计的任务 (包含设计的内容和设计的目标) 设计内容: 本设计是一个基于AT89C52系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器和点阵组成。使用按键控制音乐盒,三个用来切换歌曲,一个用来暂停音乐和开启LED点阵,一个用来从暂停位置开始播放音乐。本音乐盒共有三首歌曲,点阵式样有四种。播放歌曲时,蜂鸣器发出某个音调。本设计利用KEIL编程软件对音乐盒源程序进行编程并调试。 设计目标: 初始:点阵显示作者信息; 按键1:播放歌曲1; 按键2:播放歌曲2; 按键3:播放歌曲3; 按键A:暂停播放,点阵显示当前歌曲的名字; 按键B:从暂停位置继续播放。 2 设计的过程 2.1 基本结构 1、总体设计框图

2、AT89C52介绍 8K 在系统可编 程Flash 使用Atmel 与工业80C51 产品指令和引脚完全兼容。片上 Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。 Flash,25632 位I/O 口 16 位定时器一个6向量2 AT89S52 可降至 CPU 停止工 中断继续工作。掉电保护方式下,RAM 位为止。 P0 口:P0口是一个8口。作为输出口,每位能驱 TTL P0端口写“1” P08位地址/P0 P0 P1 口:P1 8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高, 此时可以作为输入 的原因,将输出电流(IIL)P1.0和P1.1 (P1.0/T2)计数器2 的触发输入( P1 P1.1 T2EX(定时器的捕捉/重载触发信号 和方向控制) P1.5 MOSI P1.6 MISO P1.7 SCK P2 口:P2 口是一个具有内部上拉电阻的8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个TTL 逻辑电平。对 P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作 为输入 于内部电阻的原因,将输出电流(IIL)。 16 MOVX @DPTR)时,P2 8位地址(如MOVX @RI) 在flash编程和校验时,P2口也接收高8 8 位双向I/O 口,p3 输出缓冲

相关文档
最新文档