基于AT89C2051和芯片LM386构成的音乐播放器(2)

2019-04-09 14:56

计数脉冲值与频率的关系式是:

N=fi÷2÷fr 式中,N是计数值;fi是机器频率(晶体振荡器为12MHz时,其频率为1MHz);fr是想要产生的频率。 其计数初值T的求法如下: T=65536-N=65536-fi÷2÷fr

例如:设K=65536,fi=1MHz,求低音DO(261Hz)、中音DO(523Hz)、高音DO(1046Hz)的计数值。

T=65536-N=65536-fi÷2÷fr=65536-1000000÷2÷fr=65536-500000/fr 低音DO的T=65536-500000/262=63628 中音DO的T=65536-500000/523=64580 高音DO的T=65536-500000/1046=65059 C调各音符频率与计数初值T对照如表1所示。

表1 C调各音符频率与计数初值T对照

6

每个音符使用1个字节,字节的高4位代表音符的高低,低4位代表音符的节拍,下表为节拍码的对照。但如果1拍为0.4秒,1/4拍是0.1秒,只要设定延迟时间就可求得节拍的时间。假设1/4节拍为1DELAY,则1拍应为4DELAY,以此类推。所以只要求得1/4拍的DELAY时间,其余的节拍就是它的倍数,如下表为1/4和1/8节拍的时间设定。 表9.2 节拍码对照表

1/4节拍 1/8节拍 节拍码 节拍数 节拍码 节拍数 1 1/4拍 1 1/8拍 2 2/4拍 2 1/4拍 3 3/4拍 3 3/8拍 4 1拍 4 1/2拍 5 1又1/4拍 5 5/8拍

6 1又1/2拍 6 3/4拍

7 1又3/4拍 7 7/8拍 8 2拍 8 1拍 9 2又1/4拍 9 1又1/8拍 A 2又1/2拍 A 1又1/4拍 B 2又3/4拍 B 1又3/8拍 C 3拍 C 1又1/2拍 D 3又1/4拍 D 1又5/8拍 E 3又1/2拍 E 1又3/4拍 F 3又3/4拍 F 1又7/8拍 表9.3 各调节拍的时间设定表

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)先把乐谱的音符找出,然后由上表建立T值表的顺序。 2)把T值表建立在TABLE1,构成发音符的计数值放在“TABLE”。

3)简谱码(音符)为高位,节拍为(节拍数)为低4位,音符节拍码放在程序的“TABLE”处。

表9.4 简谱对应的简谱码、T值、节拍数 简谱 发音 简谱码 T值 节拍码 节拍数 5 低5SO 1 64260 1 1/4拍 6 低6LA 2 64400 2 2/4拍 7 低7SI 3 64524 3 3/4拍 1 中1DO 4 64580 4 1拍

7

2 中2RE 5 64684 5 1又1/4拍 3 中3M 6 64777 6 1又2/4拍 4 中4FA 7 64820 7 1又3/4拍 5 中5SO 8 64898 8 2拍 6 中6LA 9 64968 9 2又1/4拍 7 中7SI A 65030 A 2又2/4拍 1 高1DO B 65058 B 2又3/4拍 2 高2RE C 65110 C 3拍 3 高3M D 65157 D 3又1/4拍 4 高4FA E 65178 E 3又2/4拍 5 高5SO F 65217 F 3又3/4拍 不发音 0

1/4拍的延迟时间=187毫秒

1.4 程序(音乐:祝你平安)

SPK BIT P1.0 ORG 0000H LJMP START ORG 000BH

INC 20H ;中断服务,中断计数器加1

MOV TH0,#0D8H

MOV TL0,#0EFH ;12M晶振,形成10毫秒中断 RETI

START:

MOV SP,#50H MOV TH0,#0D8H MOV TL0,#0EFH MOV TMOD,#01H MOV IE,#82H

MUSIC0:

NOP

MOV DPTR,#DAT ;表头地址送DPTR MOV 20H,#00H ;中断计数器清0 MOV B,#00H ;表序号清0 MUSIC1:

NOP CLR A

MOVC A,@A+DPTR ;查表取代码

8

JZ END0 ;是00H,则结束 CJNE A,#0FFH,MUSIC5 LJMP MUSIC3 MUSIC5:

NOP

MOV R6,A INC DPTR

MOV A,B

MUSIC2:

MUSIC3:

MUSIC4:

END0:

MUSIC6:

DEL:

MOVC A,@A+DPTR ;取节拍代码送R7 MOV R7,A

SETB TR0 ;启动计数 NOP CPL SPK MOV A,R6 MOV R3,A LCALL DEL

MOV A,R7

CJNE A,20H,MUSIC2 ;中断计数器(20H)=R7否? ;不等,则继续循环

MOV 20H,#00H ;等于,则取下一代码 INC DPTR ; INC B

LJMP MUSIC1

NOP

CLR TR0 ;休止100毫秒 MOV R2,#0DH NOP

MOV R3,#0FFH LCALL DEL

DJNZ R2,MUSIC4 INC DPTR LJMP MUSIC1

NOP

MOV R2,#64H ;歌曲结束,延时1秒后继续

MOV R3,#00H LCALL DEL

DJNZ R2,MUSIC6 LJMP MUSIC0 9

NOP DEL3:

MOV R4,#02H DEL4:

NOP

DJNZ R4,DEL4 NOP

DJNZ R3,DEL3 RET NOP DAT:

db 26h,20h,20h,20h,20h,20h,26h,10h,20h,10h,20h,80h,26h,20h,30h,20h db30h,20h,39h,10h,30h,10h,30h,80h,26h,20h,20h,20h,20h,20h,1ch,20h

db 20h,80h,2bh,20h,26h,20h,20h,20h,2bh,10h,26h,10h,2bh,80h,26h,20h db 30h,20h,30h,20h,39h,10h,26h,10h,26h,60h,40h,10h,39h,10h,26h,20h db 30h,20h,30h,20h,39h,10h,26h,10h,26h,80h,26h,20h,2bh,10h,2bh,10h db 2bh,20h,30h,10h,39h,10h,26h,10h,2bh,10h,2bh,20h,2bh,40h,40h,20h

db 20h,10h,20h,10h,2bh,10h,26h,30h,30h,80h,18h,20h,18h,20h,26h,20h db 20h,20h,20h,40h,26h,20h,2bh,20h,30h,20h,30h,20h,1ch,20h,20h,20h db 20h,80h,1ch,20h,1ch,20h,1ch,20h,30h,20h,30h,60h,39h,10h,30h,10h db 20h,20h,2bh,10h,26h,10h,2bh,10h,26h,10h,26h,10h,2bh,10h,2bh,80h db 18h,20h,18h,20h,26h,20h,20h,20h,20h,60h,26h,10h,2bh,20h,30h,20h db 30h,20h,1ch,20h,20h,20h,20h,80h,26h,20h,30h,10h,30h,10h,30h,20h db 39h,20h,26h,10h,2bh,10h,2bh,20h,2bh,40h,40h,10h,40h,10h,20h,10h db 20h,10h,2bh,10h,26h,30h,30h,80h,00H END

二、电路问题分析

2.1 焊接:出现的问题

2.1.1)短路:过大的焊点造成两焊点相接.

2.1.2)线路设计不良:线路或接点间太过接近(应有0.6mm以上间距); 2.1.3)虚焊

2.2 焊点技术小结.

2.1.1)完全使用软件元件库中的元件,不加任何修改

这是大部分情况下我们应该的,但有时你的器件可能多少有点出入,如果你没有用过,确认是否与库里的元件相符,最好量一下实尺寸,以免出现元件到时插不了、管脚不符等的灾难性后果。

10


基于AT89C2051和芯片LM386构成的音乐播放器(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:环境工程原理课后习题答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: