单片机音乐播放器程序设计_第1页
单片机音乐播放器程序设计_第2页
单片机音乐播放器程序设计_第3页
单片机音乐播放器程序设计_第4页
单片机音乐播放器程序设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验报告 51单片机设计音乐播放器随着科技的发展,音乐播放功能随处都会用到,如,在开发儿童智力的玩具中,等等。目前单片机以其体积小、价格低、编程灵活等特点在这一领域独领风骚。一、系统功能要求:1、具有自动循环播放所有乐曲功能。2、具有单独选择某首乐曲循环播放功能。3、具有顺序查找乐曲循环播放功能。4、具有停止播放功能。二、系统整体方案提示:利用AT89S52产生乐曲音符,再把乐普翻译成计算机音乐语言,由单片机进行信息处理,在经过信号放大,由喇叭放出乐曲声。由于音符和节拍是由计算机产生的,所以发音音符和节拍准确。1、循环播放:按下K1键即可实现。2、顺序查找乐曲循环播放:按下K2键即可实现。3、

2、停止播放:按下K3键即可实现。4、单独选择某首乐曲循环播放:按下K4K7键即可实现。系统整体方案框图如下:利用AT89C51产生乐曲音符,再把乐普翻译成绩算计音乐语言,由单片机进行信息处理,在经过信号放大,由喇叭放出乐曲声。由于音符和节拍是由计算机产生的,所以发音音符和节拍准确。整体框图如图图一所示。三、硬件系统原理图:硬件系统原理图如下页图:1)单片机:选择AT89S52,由于AT89S52是一个低电压,高性能CMOS8位单片机,内含4k bytes的可反复擦鞋的制度程序存储器(PEROM)和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产

3、,兼容标准MCS51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机AT89S52提供了高性价比的解决方案。其内部有足够本系统对存储器的要求,不用外扩。2)按键控制电路:如图由P1口作为输入,构成矩阵式按键接口方式。 3)输出控制:此部分的放大电路简单容易实现。主要采用了一个小功率PNP型硅管9012,利用“分压偏置式工作点稳定直流通路”,达到了对静态工作点的稳定。分压电阻分别选择1K和5.5K。嗡宁器一端接+5V电压,一端接晶体管的发射极。由P3.0 输出预定的方波,加到晶体管进行放大, 再输出到蜂鸣器,很好的实现了频率、声音的转换。4)复位:复位是由外部的复

4、位电路来实现的。四、系统软件设计1、 单片机演奏乐曲的原理通过控制定时器的定时时间来产生不同频率的方波,驱动喇叭发出不同音阶的声音,再利用延迟来控制发音时间的长短,即可控制音调中的节拍。把乐谱中的音符和相应的节拍变换为定常数和延迟常数,作为数据表格存放在存储器中。由程序查表得到定时常数和延迟常数,分别用以控制定时器产生方波的频率和发出该频率方波的持续时间。当延迟时间到时,再查下一个音符的定时常数和延迟常数。依次下去,就可以自动演奏乐曲。单片机所用的晶振的频率为6MHz,琴键所对应音符、频率及定时常数三者之间的对应关系如下所示。C调音符71234567频率(Hz)4945245886606987

5、84880988半周期(ms)1.010.950.850.760.720.640.570.51定时值FE07FE25FE57FE84FE98FEC0FEE3FF012、程序执行流程图1)说明:l软件执行顺序:先识别按键,再计算键值,根据键值执行相应的音乐播放程序。2乐曲存放约定:连续两个单元的内容为0FFH,0FFH作为上一首乐曲结束标志。2)系统程序流程图: 3、乐演奏程序清单 ORG 0000H LJMP KEY1 ORG 001BH MOV TH1,R1 MOV TL1,R0 CPL P3.0 RETI ORG 300H AJMP KEY1KS1: MOV A,#FFH MOV P1,A

6、 MOV A,P1;读P1口键值 CPL A;A取反,无键按下则全“0” ANL A,0FH;屏蔽A高半字节 RETKEY1: ACALL KS1;检查是否有键闭合 JNZ LK1;A非“0”则转移 ACALL D10ms;显示一次(延时10 ms) AJMP KEY1LK1: ACALL D10ms;有键闭合二次消抖延时20 ms ACALL D10ms ACALL KS1;再检查有键闭合否 JNZ LK2;有键闭合,转LK2 ACALL D10ms AJMPKEY1;经去抖动确认无键闭合,延时10 ms后转KEY1LK2: MOV R2,#0EH;扫描初值进R2 MOV R4,#00H;扫

7、描列号送R4LK4: MOV P1,A;扫描初值送P1口 MOV A,P1;读P1口 JB ACC.0,LONE;ACC.0=1,第0行无键闭合,转LONE MOV A,#00H;装第0行行值 AJMP LKPLONE: JB ACC.1,LTWO;ACC.1=1,第1行无键闭合,转LTWO MOV A,#04H;装第1行行值 AJMP LKPLTWO: JBACC.2,LTHR;ACC.2=1,第2行无键闭合,转LTHR MOV A,#08H;装第2行行值 AJMP LKPLTHR: JB ACC.3,NEXT;ACC.3=1,第3行无键闭合则转NEXT MOV A,#0CH;装第3行行值

8、LKP: ADD A,R4;计算键值 PUSH ACC;保护键值,将键值入栈 LK3: ACALL D10ms;延时10ms消抖 ACALL KS1;查键是否继续闭合,若闭合再延时 JNZ LK3 POP ACC;若键起,则键码送A RET NEXT: INC R4;扫描列号加1 MOV A,R2 JNB ACC.3,KND;笫3位为“0”,已扫完最高列则转KEND RLA A;循环左移一位 MOV R2,A AJMP LK4;进行下一列扫描 KEND: AJMP KEY1;扫描完毕,开始新的一轮 LONE: JB ACC.1,LTWO MOV A,#04H AJMP LKP LTWO: JB

9、 ACC.2,LTHR MOV A,#08H AJMP LKPLTHR: JB ACC.3,NEXT MOV A,#0CH LKP: ADD A,R4 PUSH ACC LK3: ACALL D10ms JNZ LK3 POP ACC RET NEXT: INC R4 MOV A,R2 JNB ACC.3,KND RLA A MOV R2,A AJMP LK4 KEND: AJMP KEY1 K1: MOV DPTR,#TAB1 LJMP START K2: MOV DPTR,#TAB2 LJMP START K3: MOV DPTR,#TAB3 LJMP START K4: MOV DPTR

10、,#TAB4 LJMP START K5: MOV DPTR,#TAB5 LJMP START START: MOV TMOD,#10H MOV IE,#88H MOVC A,A+DPTR MOV R0,A INC DPTR CLR A MOVC A,A+DPTR MOV R0,A ORL A,R1 JZ NEXT0 MOV R0,A ANL A,R1 CJNE A,#0FFH,NEXT SJMP KEY NEXT: MOV TH1,R1 MOV TR1,R0 SETB TR1 SJMP NEXT1 NEXT0: CLR TR1 NEXT1: CLR A INC DPTR MOVC A,A+D

11、PTR MOV R2,A LOOP1: LCALL D200 DJNZ R2,LOOP1 INC DPTR LJMP LOOP D200: MOV R4,#81H D200B: MOV A,#0FFH D200A: DEC A JNZ D200A DEC R4 CJNE R4,#00H,D200B RET D10ms: MOV R7,#05H LP1: MOV R6,#0F9H NOP NOP LP2: DJNZ R6,LP2 DJNZ R7,LP1 RET RETITAB1: DB 0FEH,25H,02H,0FEH,25H,02H DB 0FEH,25H,04H,0FDH,80H,04H

12、DB 0FEH,84H,02H,0FEH,84H,02H DB 0FEH,84H,04H,0FEH,25H,04H DB 0FEH,25H,02H,0FEH,84H,02H DB 0FEH,0C0H,04H,0FEH,0C0H,04H DB 0FEH,98H,02H,0FEH,84H,02H DB 0FEH,57H,08H,00H,00H,04H DB 0FFH,0FFHTAB2: DB 0FEH,0E3H,01H,0FEH,0E3H,02H,0FEH,0E3H,01H DB 0FEH,033H,01H,0FEH,0C0H,01H,0FEH,84H,02H DB 0FEH,84H,02H,0F

13、EH,57H,02H DB 0FEH,57H,04H DB 0FEH,57H,01H,0FEH,57H,01H,0FEH,57H,01H,0FEH,57H,01H DB 0FEH,57H,01H,0FEH,57H,02H,0FEH,84H,01H,0FDH,0C8H,01H DB 0FEH,57H,04H DB 00H,00H,04H DB 0FFH,0FFHTAB3: DB 0FEH,0C0H,04H,0FEH,0C0H,04H,0FEH,0C0H,04H, DB 0FEH,0E3H,03H,0FEH,57H,02H ,0FEH,0C0H,04H,00H,00H DB 01H,00H,00H

14、,01H,00H,00H,01H,0FEH,0C0H,04H,0FEH,0C0H,02H DB 0FEH,0E3H,02H,0FEH,84H,04H,0FEH,84H,04H,0FEH,57H,02H DB 0FEH,25H,04H,00H,00H,01H,00H,00H,01H,00H,00H,01H DB 0FEH,0E3H,04H,0FEH,0E3H,04H,0FEH,0C0H,04H,0FEH,0C0H,04H DB 0FEH,57H,04H,0FEH,84H,04H,0FEH,01H,04H,0FEH,0E3H,04H DB 0FEH,0E3H,04H,0FEH,0C0H,04H,0

15、FEH,0E3H,04H,0FEH,84H,04H DB 0FEH,0C0H,04H,00H,00H,02H,00H,00H,02H,00H,00H,02H DB 0FFH,0FFHTAB4: DB 0FEH,84H,04H,0FEH,84H,02H,0FEH,84H,02H DB 0FEH,0C0H,02H,0FEH,0C0H,04H,0FEH,0E3H,04H DB 0FEH,0C0H,04H,0FEH,57H,02H,0FEH,84H,02H DB 0FEH,25H,04H,00H,00H,04H DB 0FEH,57H,04H,0FEH,57H,02H,0FEH,57H,02H DB

16、0FEH,57H,02H,0FEH,57H,04H,0FEH,25H,02H DB 0FEH,07H,04H,0FEH,57H,02H,0FDH,0C6H,02H DB 0FDH,80H,04H,00H,00H,04H DB 0FEH,25H,04H,0FEH,25H,02H,0FEH,25H,02H DB 0FEH,25H,02H,0FEH,25H,04H,0FEH,57H,04H DB 0FEH,0E3H,04H,0FEH,0E3H,04H DB 0FEH,0E3H,02H,0FEH,0C0H,02H,0FEH,98H,04H DB 0FFH,0FFHTAB5: DB 0FEH,25H,0

17、2H,0FEH,25H,02H DB 0FEH,25H,04H,0FDH,80H,04H DB 0FEH,84H,02H,0FEH,84H,02H DB 0FEH,84H,04H,0FEH,25H,04H DB 0FEH,25H,02H,0FEH,84H,02H DB 0FEH,0C0H,04H,0FEH,0C0H,04H DB 0FEH,98H,02H,0FEH,84H,02H DB 0FEH,57H,08H,00H,00H,04H DB 0FEH,0E3H,01H,0FEH,0E3H,02H,0FEH,0E3H,01H DB 0FEH,033H,01H,0FEH,0C0H,01H,0FEH

18、,84H,02H DB 0FEH,84H,02H,0FEH,57H,02H DB 0FEH,57H,04H DB 0FEH,57H,01H,0FEH,57H,01H,0FEH,57H,01H,0FEH,57H,01H DB 0FEH,57H,01H,0FEH,57H,02H,0FEH,84H,01H,0FDH,0C8H,01H DB 0FEH,57H,04H DB 00H,00H,04H,0FEH,0C0H,04H,0FEH,0C0H,04H, DB 0FEH,0C0H,04H,0FEH,0E3H,03H,0FEH,57H,02H DB 0FEH,0C0H,04H,00H,00H,01H,00

19、H,00H,01H,00H,00H,01H,0FEH,0C0H,04H DB 0FEH,0C0H,02H,0FEH,0E3H,02H,0FEH,84H,04H,0FEH,84H,04H DB 0FEH,57H,02H 0FEH,25H,04H,00H,00H,01H,00H,00H,01H,00H,00H,01H DB 0FEH,0E3H,04H,0FEH,0E3H,04H,0FEH,0C0H,04H,0FEH,0C0H,04H DB 0FEH,57H,04H,0FEH,84H,04H,0FEH,01H,04H,0FEH,0E3H,04H DB 0FEH,0E3H,04H,0FEH,0C0H,04H,0FEH,0E3H,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论