单片机播放音乐.doc

上传人:壹****1 文档编号:551645823 上传时间:2023-07-10 格式:DOC 页数:19 大小:318.55KB
返回 下载 相关 举报
单片机播放音乐.doc_第1页
第1页 / 共19页
单片机播放音乐.doc_第2页
第2页 / 共19页
单片机播放音乐.doc_第3页
第3页 / 共19页
单片机播放音乐.doc_第4页
第4页 / 共19页
单片机播放音乐.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《单片机播放音乐.doc》由会员分享,可在线阅读,更多相关《单片机播放音乐.doc(19页珍藏版)》请在金锄头文库上搜索。

1、单片机播放音乐以8051单片机为例,任选两个定时器/计数器T0,T1中的一个,设为定时方式1。利用定时器产生各音符对应频率的方波,有P1.0口驱动喇叭发音。D200为200ms延时程序,以每拍800ms为例,一拍需循环调用D200延时子程序四次。同理,半拍,3/4拍,1/4拍都可用同样的方法实现。1,2,3,4,5,6,7各音符的频率依次为524,588,660,698,784,880,988(HZ),因此可算出各音符对定时器的初始值。结果依次为FE25H,FE57H,FE84H,FE98H,FEC0H,FEE3H,FF01H。在电脑上用Proteus软件仿真非常方便。以“飘雪”这首歌为例,汇

2、编语言程序如下: ORG 0000H LJMP START ORG 001BH MOV TH1,R1 MOV TL1,R0 CPL P1.0 RETI ORG 0100HSTART:MOV TMOD,#10HMOV IE,#88H MOV DPTR,#TABLOOP: CLR A MOVC A,A+DPTR MOV R1,A INC DPTR CLR A MOVC A,A+DPTR MOV R0,A ORL A,R1 JZ NEXT0 MOV A,R0 ANL A,R1 CJNE A,#0FFH,NEXT SJMP STARTNEXT: MOV TH1,R1 MOV TL1,R0 SETB T

3、R1 SJMP NEXT1NEXT0: CLR TR1NEXT1: CLR A INC DPTR MOVC A,A+DPTR MOV R2,ALOOP1: LCALL D200 DJNZ R2,LOOP1 INC DPTR AJMP LOOPD200: MOV R4,#81HD200B: MOV A,#0FFHD200A: DEC A JNZ D200A DEC R4 CJNE R4,#00H,D200B RETTAB: DB 0FDH,08H,02H,0FDH,80H,02H,0FDH,0C6H,02H,0FEH,25H,02H,0FEH,84H,02H,0FEH,0C0H,02H,0FEH

4、,0E3H,02H,0FFH,10H,02H DB 0FFH,42H,02H,0FEH,0E3H,04H,0FDH,80H,02H,0FDH,0C6H,04H,0FFH,42H,02H,0FDH,80H,02H DB 0FDH,0C6H,02H,0FDH,80H,02H,0FDH,0C6H,02H,0FEH,25H,02H,0FEH,98H,02H,0FEH,84H,02H,0FEH,0E3H,02H,0FEH,0C0H,02H DB 0FFH,42H,02H,0FEH,98H,04H,0FFH,60H,02H,0FFH,42H,04H,0FFH,10H,02H,0FEH,98H,02H DB

5、 0FEH,0E3H,02H,0FFH,01H,02H,0FEH,0C0H,02H,0FEH,0E3H,02H,0FEH,98H,02H,0FEH,0C0H,02H,0FEH,84H,04H DB 0FEH,84H,04H,0FEH,57H,02H,0FEH,84H,02H,0FEH,25H,04H,00H,00H,04H DB 0FEH,57H,04H,0FEH,0C0H,02H,0FEH,57H,02H,0FEH,84H,04H,0FEH,57H,04H DB 0FEH,25H,04H,00H,00H,04H,0FEH,57H,04H,0FDH,0C6H,04H DB 0FEH,07H,0

6、4H,00H,00H,04H,0FEH,25H,04H,0FEH,57H,04H DB 0FEH,84H,02H,0FEH,0C0H,02H,0FEH,0E3H,01H,0FFH,10H,03H,0FEH,0C0H,04H,0FEH,57H,02H,0FEH,84H,02H DB 0FEH,57H,02H,0FEH,57H,02H,0FEH,25H,02H,0FEH,57H,02H,0FEH,84H,04H,00H,00H,04H DB 0FEH,84H,02H,0FEH,0C0H,02H,0FEH,0E3H,01H,0FFH,10H,03H,0FEH,0C0H,04H,0FEH,57H,02

7、H,0FEH,84H,02H DB 0FEH,57H,02H,0FEH,84H,02H,0FEH,25H,02H,0FEH,57H,01H,0FEH,25H,01H,0FEH,25H,04H,00H,00H,04H DB 0FEH,57H,02H,0FEH,84H,02H,0FEH,57H,02H,0FEH,25H,02H,0FEH,57H,04H,0FEH,25H,02H,0FEH,57H,02H DB 0FEH,84H,01H,0FEH,0C0H,03H,0FEH,84H,02H,0FEH,57H,02H,0FEH,84H,04,0FEH,84H,02H,0FEH,0C0H,02H DB

8、0FEH,0E3H,04H,0FEH,0E3H,02H,0FEH,0C0H,02H,0FEH,84H,04,0FEH,84H,02H,0FEH,0C0H,02H DB 0FEH,57H,01H,0FEH,84H,03H,0FEH,57H,01H,0FEH,25H,01H,0FEH,25H,02H,0FEH,57H,04H,00H,00H,04H DB 0FEH,84H,02H,0FEH,0C0H,02H,0FEH,0E3H,01H,0FFH,10H,03H,0FEH,0C0H,04H,0FEH,57H,02H,0FEH,84H,02H DB 0FEH,57H,02H,0FEH,84H,01H,

9、0FEH,57H,01H,0FEH,25H,02H,0FEH,57H,02H,0FEH,84H,04H,00H,00H,04H DB 0FEH,84H,02H,0FEH,0C0H,02H,0FEH,0E3H,01H,0FFH,10H,03H,0FEH,0C0H,04H,0FEH,57H,02H,0FEH,84H,02H DB 0FEH,57H,02H,0FEH,84H,02H,0FEH,25H,02H,0FEH,57H,01H,0FEH,25H,01H,0FEH,25H,04H,00H,00H,04H DB 0FEH,57H,01H,0FEH,84H,03H,0FEH,57H,02H,0FEH

10、,25H,02H,0FEH,57H,04H,0FEH,25H,02H,0FEH,57H,02H DB 0FEH,84H,01H,0FEH,0C0H,03H,0FEH,84H,02H,0FEH,57H,02H,0FEH,84H,04,0FEH,84H,02H,0FEH,0C0H,02H DB 0FEH,0E3H,04H,0FEH,0E3H,02H,0FEH,0C0H,02H,0FEH,84H,01,0FEH,84H,03,0FEH,84H,02H,0FEH,0C0H,02H DB 0FEH,57H,01H,0FEH,84H,03H,0FEH,57H,02H,0FEH,25H,02H,0FEH,5

11、7H,04H,00H,00H,04H DB 0FEH,84H,02H,0FEH,0C0H,02H,0FEH,0E3H,02H,0FFH,10H,02H,0FFH,29H,04H,0FFH,42H,04H DB 0FFH,29H,02H,0FFH,10H,01H,0FFH,10H,01H,0FFH,10H,04H,00H,00H,04H,0FFH,29H,02H,0FFH,10H,02H DB 0FEH,84H,04H,0FEH,84H,02H,0FEH,0C0H,02H,0FEH,57H,02H,0FEH,84H,02H,0FEH,84H,02H,0FEH,57H,01H,0FEH,25H,0

12、1H DB 0FEH,25H,02H,0FEH,25H,02H,0FEH,25H,04H,00H,00H,04H DB 0FFH,0FFH51单片机播放音乐以下为51单片机播放音乐简谱的函数库:/* SOUND PLAY FOR 51MCU COPYRIGHT (c) 2005 BY JJJ. - ALL RIGHTS RESERVED - File Name: SoundPlay.h Author: Jiang Jian Jun Created: 2005/5/16 Modified:NO Revision: 1.0 */*说明*曲谱存贮格式 unsigned char code Music

13、Name音高,音长,音高,音长., 0,0;末尾:0,0 表示结束(Important)音高由三位数字组成:个位是表示 17 这七个音符 十位是表示音符所在的音区:1-低音,2-中音,3-高音;百位表示这个音符是否要升半音: 0-不升,1-升半音。音长最多由三位数字组成: 个位表示音符的时值,其对应关系是: |数值(n): |0 |1 |2 |3 | 4 | 5 | 6 |几分音符: |1 |2 |4 |8 |16 |32 |64 音符=2n十位表示音符的演奏效果(0-2): 0-普通,1-连音,2-顿音百位是符点位: 0-无符点,1-有符点调用演奏子程序的格式Play(乐曲名,调号,升降八度,演奏速度);|乐曲名 : 要播放的乐曲指针,结尾以(0,0)结束;|调号(0-11) :是指乐曲升多少个半音演奏;|升降八度(1-3) : 1:降八度, 2:不升不降, 3:升八度;|演奏速度(1-12000):值越大速度越快;*/#ifndef _SO

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

当前位置:首页 > 生活休闲 > 社会民生

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