单片机课程设计报告 - 图文(2)

2019-08-31 12:47

(2)利用8051的内部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法如下: 例如,频率为523Hz,其周期天/523 S=1912uS,因此只要令计数器计时956uS/1us=956,在每计数956次时就将I/O反接,就可得到中音DO(532Hz)。 计数脉冲值与频率的关系公式如下: N=Fi/2/Fr N:计数值,Fi:内部计时一次为1uS,故其频率为1MHz,Fr:要产生的频率 ) (3) 其计数值的求法如下: T=65536-N=65536-Fi/2/Fr 计算举例: 设K=65536,F=1000000=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=63627 中音DO的T=65536-500000/523=64580 高音DO的T=65536-500000/1047=65059 (4)C调个音符频率与计数值T的对照表如下表所示: 音 符 频率(Hz) 简谱码(T音 符 值) 低1DO #1DO# 低2RE #2RE# 低3M 低4FA #4FA# 低5SO #5SO# 低6LA 262 277 294 311 330 349 370 392 415 440 63628 63731 63835 63928 64103 64204 64260 64261 64400 64443 #4FA# 中5SO #5SO# 中6LA #6 中7SI 高1DO #1DO# 高2RE #2RE# 6

频率(Hz) 简谱码(T值) 740 784 831 880 932 988 1046 1109 1175 1245 64860 64898 64923 64968 64994 65030 65058 65085 65110 65124

#6 低7SI 中1DO 466 494 523 64524 64524 64331 高3M 高4FA #4FA# 1318 1397 1480 65157 65178 65189 表2 C调各音符频率与计数值T的对照表 (5)每个音符使用1个字节,字节的高4位代表音符的高低,低4位代表音符的节拍,下表为节拍码的对照。但如果1拍为0.4秒,1/4拍是0.1秒,只要设定延迟时间就可求得节拍的时间。假设1/4节拍为1DELAY,则1拍应为4DELAY,以此类推。所以只要求得1/4拍的DELAY时间,其余的节拍就是它的倍数,如下表为1/4和1/8节拍的时间设定。 1/4节拍 节拍码 1 2 3 4 5 6 7 8 9 A B C D E F 1/8节拍 节拍数 1/4拍 2/4拍 3/4拍 1拍 节拍码 1 2 3 4 节拍数 1/8拍 1/4拍 3/8拍 1/2拍 5/8拍 3/4拍 7/8拍 1拍 1又1/8拍 1又1/4拍 1又3/8拍 1又1/2拍 1又5/8拍 1又3/4拍 1又7/8拍 5 1又1/4拍 6 1又1/2拍 7 1又3/4拍 8 2拍 9 2又1/4拍 A 2又1/2拍 B 2又3/4拍 C 3拍 D 3又1/4拍 E 3又1/2拍 F 3又3/4拍 表3 节拍码对照表 1/4节拍

曲调值 调4/4 调3/4

DELAY 125毫秒 187毫秒

1/8节拍

曲调值 调4/4 调3/4

DELAY 62毫秒 94毫秒

7

调2/4 250毫秒 调2/4 125毫秒

表4 各调节拍的时间设定表

四分之一拍延时代码设计: 1/4拍的延迟时间=187毫秒 DELAY: MOV R7,#2 D2: MOV R4,#187 D3: MOV R3,#248 DJNZ R3,$ DJNZ R4,D3 DJNZ R7,D2 RET

3.4音乐代码的实现 3.4.1音乐代码库的建立方法

(1)先找出乐曲的最低音和最高音范围,然后确定音符表T的顺序。 (2)把T值表建立在TABLE1,构成发音符的计数值放在“TABLE”。 (3)简谱码(音符)为高位,节拍为(节拍数)为低4位,音符节拍码放在程序的“TABLE”处。

(4)音符节拍码00H为音乐结束标记。 3.4.2选曲

在一个程序中,需要演奏两首或两首以上的歌曲时,音乐代码库的建立有两种方法:

(1)将每首歌曲建立相互独立的音符表T和发音符计数值TABLE。 (2)在建立公用音符表T后,再写每首歌的发音计数值TABLE中的代码 不管采用那种方法,每首歌曲结束时,在TABLE中均需加上音乐结束符00H。 3.4.3歌曲的设计

下面以歌曲《军港之夜》的设计为例,讲述歌曲在单片机中的实现。曲谱如下图所示:

8

图8 《军港之夜》乐谱

从歌中可看出,最低音为低7Si,最高音为高1Do。根据音乐软件的设计方法,简谱对应的简谱码、T值、节拍数如表所示。

简谱 低7 1 2 3 4 5 6 7 高1 低6 低5

发音 低音Si 中音Do 中音Re 中音Mi 中音Fa 中音So 中音La 中音Ti 高音Do 低音La

简谱码 1 2 3 4 5 6 7 8 9 A

T值 64524 64580 64684 64777 64820 64898 64968 65030 65058 64400

节拍码 1 2 3 4 5 6 8 A C F

节拍数 1/4 2/4 3/4 1 1+1/4 1+1/2 2 2+1/2 3 3+3/4

低音So B 64260

表5 简谱对应的简谱码、T值、节拍数

《军港之夜》代码实现如下:

SONG1: DB 04H ;1=C 2/4 军港之夜 DB

32H,54H,52H,32H,54H,52H,32H,12H,12H,32H,32H,54H,52H,32H,52H,52H,32H,32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,14H,14H DB

0C2H,32H,32H,12H,21H,31H,24H,32H,34H,0D2H,0C2H,14H,14H,32H,52H,52H,32

9

专业:电子信息工程 姓名:李昌明 学号:093411128

H,52H,54H,32H,34H,31H,21H,12H,24H,24H DB

34H,0E2H,0C2H,0D1H,0E1H,0D4H,12H,0E2H,32H,32H,0E2H,0D1H,0E1H,0D4H,0D2H,0E2H,32H,32H,0E2H,0E2H,0D1H,0E1H,0D4H DB

22H,0D1H,11H,0E2H,0D2H,0C4H,0C4H,32H,52H,52H,32H,62H,5H,61H,54H,31H,52H,31H,12H,31H,31H,32H,54H,52H,32H,52H,52H,32H DB

32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,34H,34H,32H,52H,52,32H,62H,51H,61H,54H,31H,52H,31H,12H,32H,12H,32H,32H,54H,52H DB

32H,52H,52H,31H,31H,32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,14H,14H DB

32H,52H,52H,32H,32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,14H,14H DB

0C2H,32H,32H,12H,21H,31H,24H,32H,34H,0D2H,0C2H,14H,14H,32H,52H,52H,32H,52H,54H,32H,34H,31H,21H,12H,24H,24H DB

34H,0E2H,0C2H,0D1H,0E1H,0D4H,12H,0E2H,32H,32H,0E2H,0D1H,0E1H,0D4H,0D2H,0E2H,32H,32H,0E2H,0E2H,0D1H,0E1H,0D4H DB

22H,0D1H,11H,0E2H,0D2H,0C4H,0C4H,32H,52H,52H,32H,62H,5H,61H,54H,31H,52H,31H,12H,31H,31H,32H,54H,52H,32H,52H,52H,32H DB

32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,34H,34H,32H,52H,52,32H,62H,51H,61H,54H,31H,52H,31H,12H,32H,12H,32H,32H,54H,52H DB

32H,52H,52H,31H,31H,32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,14H,14H

DB 32H,52H,52H,32H,32H,21H,31H,24H,74H,0D2H,0C2H,14H,14H,14H,14H DB 00H

TABLE2:DW 63835,64021,64103,64260,64400,64524,64580,64684,64777 DW 64820,64898,64968,65030,65058,65110,65157,65178

10


单片机课程设计报告 - 图文(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:数学建模获奖论文

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

马上注册会员

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