1、 课程设计报告课程设计报告 基于单片机的简易音乐播放器基于单片机的简易音乐播放器 专专 业:业: 通信工程通信工程 20142014 年年 6 6 月月 24 24 日日 设计目标:设计目标:实现音乐的播放、选择、开始/暂停 3 种功能。 实际功能描述:实际功能描述:上电后播放器默认播放第一首歌曲军港之 夜 , 按下与P3.2连接的按钮则播放上一首歌曲, 按下与P3.3 连接的按钮则开始播放下一首歌曲,按下与 P3.5 连接的按 钮则暂停正在播放的音乐,再按一次则继续播放。播放器总 共可以播放 3 首歌曲,按顺序依次为军港之夜 、 死了都 要爱 、 中华人民共和国国歌 。 电路结构图电路结构图
2、 电路仿真图电路仿真图 实物图实物图 蜂鸣器 发声模块 程序程序 OUT BIT P2.0 ;定义音频输出端口,p2.0 N EQU 3 ;歌曲总数 OUT_NUM EQU P1 ;数码管显视当前所放歌曲曲数 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 用计数,这里用作中断, 接
3、开始/暂停键,初值为 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 ;设置每首歌曲的入口信息,存放
4、在以 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 TMO
5、D, #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 ;设置