单片机课程设计报告

上传人:平*** 文档编号:15797287 上传时间:2017-11-05 格式:DOC 页数:17 大小:336.25KB
返回 下载 相关 举报
单片机课程设计报告_第1页
第1页 / 共17页
单片机课程设计报告_第2页
第2页 / 共17页
单片机课程设计报告_第3页
第3页 / 共17页
单片机课程设计报告_第4页
第4页 / 共17页
单片机课程设计报告_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《单片机课程设计报告》由会员分享,可在线阅读,更多相关《单片机课程设计报告(17页珍藏版)》请在金锄头文库上搜索。

1、单片机课程设计1单片机课程设计报告简易单片机音乐播放器设计一、设计任务要求:利用单片机设计模拟音乐播放器功能,播放存储在内部存储器中的乐曲。可实现启动、停止、上一首、下一首等简单功能。二、基本理论知识:1音乐的演奏主要是控制音符和节拍,音符对应不同的声音频率,而节拍表达的是音符持续的时间。2要用单片机产生音频脉冲,只要计算某一音频的后期,将周期除 2,利用定时器计时半周期,半周期后将输出脉冲的电平反相,再定半周期时间,对电平又反相,即可实现。如:要实现 C 调中音 1,频率为523HZ,T=1/523=1912us,若 fosc=12MHZ,T1 工作在方式 1,可得定时的初值为 65536-

2、956=64580=0FC44HC 调音符频率:1 2 3 4 5 6 7 |频率:523TH/TL: FC44H 0000H FFFFH三、硬件电路设计:设计一个音乐播放器,有三个按键及控制按钮:播放/暂停、下一曲、上一曲;通过控制按钮控制单片机,播放所要求的音乐,并通过放大电路和喇叭输出声音。同时通过 LED 灯显示器,用来显示所选曲目,该显示器在音乐播放中关闭,一曲演奏结束时,或选曲时才显示曲目信息,从而利于操作。单片机课程设计28 9 C 5 1单片机6 M H z晶振电路电源电路显示电路键控电路复位电路发声电路电路设计原理图1.89C51 单片机拥有 4KB 的片内 ROM 和 12

3、8KB 的片内 RAM。ROM 和RAM 的片外寻址范围都为 64KB.单片机拥有 32 个并行口和 1 个串行口。在 89C51 单片机中存在 5 个中断源,其中 2 个外部中断源、两个内部中断源和一个串行中断源。通过 TXAL1 与 TXAL2 输入时钟信号,通过 p1.0p1.7 输出控制现实控制信号的显示,有 p3.2、p3.3 与 p3.5 分别作为上一曲、下一曲和开始暂停的控制输入。2.显示电路是一个 8 位共阴极 LED 数码管。 单片机的 P0.0-P0.7 分别与数码管的 A、B、C、D、E、F、G、DP 相连接。8 位共阴极 LED 灯3. 晶振电路由两个 30pF 的电容

4、和一个 6Mhz 的晶体振荡器组成。节点 1 与单片机的 XTAL2 相连接,节点 2 与单片机的 XTAL1 相连接,从而为单片机提供时间信号,为音乐的播放节拍控制提供基本时间单位:当晶体振荡频率为6.0MHz,定时器工作在方式 1 下时,若各音阶相对应的定时器计数初值为 X,则可根据下式计算 X: 166/(2)()2/(10)fX单片机课程设计34. 控制电路,键一与 p3.2 相连、键二与 p3.3 相连、键 3 与 p3.5相连。当电键按下时接口接低电平,从而实现对音乐播放器的控制。键一联通实现上一曲更换,键二联通实现下一曲更换,键三联通实现开始暂停操作。5. 发声电路由数字扬声器连

5、接 p2.0 接口实现音乐的输出,由控制电路发出操作指令后,单片机调用相应程序,并将音乐信号由 p2.0 口输出,通过驱动扬声器发出美妙的音乐。6. 总体电路设计单片机课程设计4四、软件设计及流程图:主程序实现对单片机进行初始化后,进入曲目识别子程序,进行歌曲曲目判断。确定歌曲曲目后,数码管再进行显示。然后,子程序对是否播放进行循环判断,得到播放中断的指令后再进行播放。执行播放后,关闭数码管显示并调用查表子程序进行播放音乐。在播放音乐的过程中,查表子程序循环判断音乐是否结束。当音乐结束时,程序跳转回曲目识别子程序。开始播放音乐数码管显示关闭显示判断是否结束否是上一曲 、 下一曲播放 /暂停初始

6、化查询歌曲曲目等待播放结束1. 播放/暂停子程序播放/暂停在程序利用内部中断 T0 口。将 T0 口设为计数中断并工作在方式2 下。标识符初值赋值为 R1=00H,计数初值设为 TH0=0FFH,TL0=0FFH。当按键单片机课程设计5第一次产生中断信号时,播放/暂停子程序改变标志符 R1,将其赋值为 01H。此时播放器由暂停状态进入播放状态。当按键第二次产生中断信号时,播放/暂停子程序判断 R1 是否为 02H 后,将 R1 再次赋值为 00H。此时,播放器由播放状态进入暂停状态。代码实现如下:POP DPL ;恢复现场POP DPHPOP ACCSETB EARETI ;中断返回START

7、 PAUSE:CPL F0 ;开始/暂停中断处理程序,将标置位取反JB F0,RETURN ;SETB TR0 RETURN RETI ;中断返回DELAY: MOV 27H,26H D2: MOV 28H,#125D3: MOV 29H,#248 DJNZ 29H,$DJNZ 28H,D3 DJNZ 27H,D2 DJNZ R2,DELAYRET2.曲目选择单片机课程设计6曲目选择子程序分为上一曲子程序和下一曲子程序。上一曲和下一曲功能实现方式类似,分别由外部中断 和外部中断 。下面以实现上一曲功能为例:0INT1INT首先设置标识符 R7 初始值为 00H。当按键产生中断信号,上一曲中断子

8、程序改变标识符 R7 的值为 01H 并改变曲目 R0 的值。播放子程序判断出标识符 R7改变后,先将 R7 赋值为 00H,然后跳转到曲目识别子程序。代码实现如下:POP DPL ;恢复现场POP DPHPOP ACCSETB EARETI ;中断返回LAST_MUSIC: PUSH ACC ;上一曲中断程序处理开始,保护现场PUSH DPHPUSH DPL CLR EA ;关中断MOV A,22H ;曲目数送 ACJNE A,#1,YY ;是否是第一首MOV 22H,#N MOV B,#4 ;将 R7 指向最后一首歌曲MOV A,#N-1MUL ABMOV R7,AAJMP BACK2 ;

9、处理结束YY: DEC 22H MOV A,R7 SUBB A,#4MOV R7,ABACK2: MOV R4,#00H MOV A,22HMOV DPTR,#OUT_TABMOVC A,A+DPTR单片机课程设计7MOV OUT_NUM,A ;数码管显视相应歌曲的编号3.音调的高低用音阶表示,不同的音阶对应不同的频率。因此,不同频率的方波就可以产生音阶,音阶与频率的关系见表 1。由于频率的倒数是周期,因此可由单片机中的定时控制方波周期,当定时器计数溢出时产生中断。将与扬声器连接的 P1.7 取反后就可得到方波的周期,从而达到了控制频率,即音阶的目的。音调的长短用节拍数表示(例如 1/4 拍、

10、2/4 拍、) ,不同节拍数的不同音符的组合形成乐谱。程序中,音的节拍可由延时子程序实现。延时子程序设定为四分之一拍,节拍值只能是它的整数倍。音阶 频率(Hz)音阶 频率(Hz) 音阶 频率(Hz)123456701311471651751962202470123456702622943303493924404940123456705235876596987848809880低八度音 中音 高八度音音 符 频率(Hz) 简谱码(T值)音 符 频率(Hz) 简谱码(T值)低 1DO 262 63628 #4FA# 740 64860#1DO# 277 63731 中 5SO 784 64898低

11、 2RE 294 63835 #5SO# 831 64923#2RE# 311 63928 中 6LA 880 64968低 3M 330 64103 #6 932 64994低 4FA 349 64204 中 7SI 988 65030#4FA# 370 64260 高 1DO 1046 65058低 5SO 392 64261 #1DO# 1109 65085#5SO# 415 64400 高 2RE 1175 65110单片机课程设计84.C 调各音符频率与计数值 T 的对照表如下表所示:5 . 每个音符使用 1 个字节,字节的高 4 位代表音符的高低,低 4 位代表音符的节拍,下表为节

12、拍码的对照。但如果 1 拍为 0.4 秒,1/4 拍是 0.1秒,只要设定延迟时间就可求得节拍的时间。假设 1/4 节拍为 1DELAY,则 1 拍应为 4DELAY,以此类推。所以只要求得 1/4 拍的 DELAY 时间,其余的节拍就是它的倍数,如下表为 1/4 和 1/8 节拍的时间设定。1/4 节拍 1/8 节拍曲调值 DELAY 曲调值 DELAY调 4/4 125 毫秒 调 4/4 62 毫秒调 3/4 187 毫秒 调 3/4 94 毫秒调 2/4 250 毫秒 调 2/4 125 毫秒四分之一拍延时代码设计:1/4 拍的延迟时间=187 毫秒DELAY: MOV R7,#2D2:

13、 MOV R4,#187D3: MOV R3,#248DJNZ R3,$DJNZ R4,D3DJNZ R7,D2RET6. 建立音乐代码库(1)先找出乐曲的最低音和最高音范围,然后确定音符表 T 的顺序。(2)把 T 值表建立在 TABLE1,构成发音符的计数值放在“TABLE”。(3)简谱码(音符)为高位,节拍为(节拍数)为低 4 位,音符节拍码放在程序的“TABLE”处。(4)音符节拍码 00H 为音乐结束标记。7.歌曲设计根据音乐软件的设计方法,简谱对应的简谱码、T 值、节拍数如表所示。低 6LA 440 64443 #2RE# 1245 65124#6 466 64524 高 3M 1

14、318 65157低 7SI 494 64524 高 4FA 1397 65178中 1DO 523 64331 #4FA# 1480 65189简谱 发音 简谱码 T 值 节拍码 节拍数低 7 低音 Si 1 64524 1 1/4单片机课程设计9例 : 中华人民共和国国歌代码实现如下,G=2/4DB 04H,04H,0C2H,14H,12H,12H,12H,11H,11H,0C2H,0D1H,0E1H,14H,14H,02H,32H,12H,21H,31H,52H,51H,51H,54HDB 32H,31H,31H,12H,11H,31H,52H,51H,31H,24H,24H,24H,6

15、4H,54H,24H,34H,52H,34H,52H,32H,21H,31H,12H,11H,21H,34H,04HDB 52H,51H,0D1H,12H,12H,32H,31H,31H,52H,51H,51H,22H,22H,22H,0D2H,0D1H,0D1H,24H,22H,0C2H,14H,12H,12H,34H,32H,32H,54H,54H,54H,54HDB 12H,11H,31H,52H,51H,51H,64H,54H,32H,31H,11H,52H,52H,52H,32H,02H,12H,02H,0C4H,14HDB 0A2H,0A1H,11H,52H,52H,52H,32H,02H,12H,02H,0C4H,14H,0C4H,14H,0C4H,14H,14H,04HDB 04H,04H,04H,04HDB 00HEND;五调试过程:(1)编程前画流程图,做整体规划,思路清晰。(2)借鉴网络资料,结合实验室硬件电路,写出合适

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号