单片机应用专题实验报告
专业及班级
姓 名
学 号
指 导 教 师
日 期
1
专题实验二
一. 实验名称
基于 Proteus 仿真平台的多方式音乐播放器
二. 实验目的
利用微型控制器可以实现乐曲播放。按一定规律,根据简谱得到音符编码和节拍编
码,利用定时器等产生脉冲或延时配合即可通过喇叭产生乐曲。音符高低变化,单独音
符演奏在本实验中都得到体现。
三. 实验设备软件及器材
Proteus 仿真平台、计算机、Keil μVision 调试软件。
四. 实验内容
1. 实验内容:利用主控制器 AT89C51 单片机,开关量输出模块电路,开关量显示模
块、数码管显示模块、电子音响驱动控制模块完成设计功能。
2. 基本功能:
1)开机后顺序播放曲目,曲目序号数码管显示;
2)设置单曲循环按键,按下时单曲循环,释放时接续顺序播放;
3)节拍时间实现方式,下发任务时分别指定基于定时器或软件延时实现;
3. 拓展功能:
1)设计选歌,暂停功能。电路工作时任意时刻,都可进入选歌状态(外部中断控
制),指示灯阵列显示同步响应;
2)设置音高选择按键,可以设置乐曲按低音音调或其他音调播放(半音、高音二选
一);
3)电子琴按键及显示,通过按钮或开工选择进入电子琴模式,按下矩阵键盘按键,
数字键 1 到 7,产生低音 1 到 7。同时数码管显示当前音符;
4)其他附加功能。
2
五. 实验原理
1. 硬件设计思想:通过按键输入控制信号,由 51 单片机进行处理,控制蜂鸣器播放
音乐、点亮熄灭对应指示灯、数码管显示对应的曲目序号。系统方框图如图 1 所示:
AT89C51
电源
蜂鸣器
指示灯阵列
数码管
矩阵按键
图 1 系统方框图
2. 硬件电路:
实验原理图如图 2 所示。利用单片机的定时/计数器、中断系统、以及矩阵按键、蜂
鸣器、指示灯阵列和数码管进行设计。单片机 P0 口连接指示灯,能够反馈系统运行模式
及音乐播放模式;单片机 P1 口连接矩阵按键,能够判断矩阵按键的按下松开;单片机 P2
口连接数码管,数码管共阴极连接,能够显示正在播放音乐的序号,共阴极数码管字符
码对应表如表 1 所示;单片机通过一个四输入与门判断是否开启中断;单片机 P3.7 口控
制蜂鸣器发声。
图 2 系统原理图
p1.0
p1.1
p1.2
p1.3
p1.4
p1.7
p1.6
p1.5
p1.4
p1.5
p1.6
p1.7
p1.0
p1.1
p1.2
p1.3
p1.4
p1.5
p1.6
p1.7
C1
22PF
C2
22PF
C3
10uF
X1
12M
R1
10k
1 5 9
2 6 10
3 7
4 8
LS1
SOUNDER
1
2
4
5
6
U2:A
74LS21
XTAL2
18
XTAL1
19
ALE
30
EA
31
PSEN
29
RST
9
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P3.0/RXD
10
P3.1/TXD
11
P3.2/INT0
12
P3.3/INT1
13
P3.4/T0
14
P3.7/RD
17
P3.6/WR
16
P3.5/T1
15
P2.7/A15
28
P2.0/A8
21
P2.1/A9
22
P2.2/A10
23
P2.3/A11
24
P2.4/A12
25
P2.5/A13
26
P2.6/A14
27
U1
AT89C51
R3
300
R4
300
R5
300
电子琴
音乐盒
顺序播放
单曲循环
选择歌曲
开始/暂停
R2
300
R6
300
选择音乐指示灯
电子音模式指示灯
音乐盒模式指示灯
顺序播放指示灯
单曲循环指示灯
2
3
4
5
6
7
8
1
RP1
RESPACK-7
3
表 1 共阴极数码管编码表
数值
0
1
2
3
4
段码
0x3f
0x06
0x5b
0x4f
0x66
数值
5
6
7
8
9
段码
0x6d
0x7d
0x07
0x7f
0x77
六. 实验软件设计
本实验使用 AT89C51 单片机;P0 为指示灯输出口,P0.0 为选择音乐指示灯,P0.1
为电子音模式指示灯,P0.2 为放音乐模式指示灯,P0.3 为顺序播放指示灯,P0.4 为单曲
循环指示灯;P1 接矩阵键盘扫描电路,P1.0 ~ P1.3 扫描列,P1.4 ~ P1.7 扫描行;P2 用于
数码管的显示,数码管共阴;P3.2 用于中断信号输入;P3.7 用于控制蜂鸣器发声。
主程序流程图如图 3 所示。其初始化主要内容为:中断初始化、蜂鸣器初始化、数
码管初始化、指示灯初始化。上电后程序开始初始化,然后顺序播放音乐,判断是否电
子音模式。若是,则进入电子音子程序;若不是,判断是否按下按键。若按下按键,则
开启中断子程序;若没有按下按键,则继续顺序播放音乐。
开始
按下按键?
初始化
顺序播放音乐
电子音模式?
中断子程序电子音子程序
N
Y
Y
N
图 3 主程序流程图
中断子程序完成矩阵按键扫描及执行对应任务功能。子程序流程图如图 4 所示。当
扫描到顺序播放按键按下,则音乐顺序播放;若扫描到单曲循环按键按下,则单曲循环
当前音乐;若扫描到开始按钮按下,则继续播放音乐;若扫描到暂停按钮,则音乐停止。
评论10
最新资源