单片机音乐源编码.docx

上传人:b****7 文档编号:8977474 上传时间:2023-02-02 格式:DOCX 页数:11 大小:18.38KB
下载 相关 举报
单片机音乐源编码.docx_第1页
第1页 / 共11页
单片机音乐源编码.docx_第2页
第2页 / 共11页
单片机音乐源编码.docx_第3页
第3页 / 共11页
单片机音乐源编码.docx_第4页
第4页 / 共11页
单片机音乐源编码.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

单片机音乐源编码.docx

《单片机音乐源编码.docx》由会员分享,可在线阅读,更多相关《单片机音乐源编码.docx(11页珍藏版)》请在冰豆网上搜索。

单片机音乐源编码.docx

单片机音乐源编码

实训项目三:

音乐演奏器

一、实训目的

了解发出不同音调声音的编程方法。

二、项目内容及电路

1、项目内容:

播放自己喜欢的歌曲

附加功能:

实现播放多首歌曲,数码管显示正在播放的是第几首曲目,按键K1设为上一首按键,按键K2设为下一首按键,按键K3设为播放按键。

2、项目电路同实训项目一。

三、实训内容

1、声音原理

声音的产生是一种音频振动的效果。

振动的频率高,则为高音,振动的频率低,则为低音。

振动的频率不同,发出的声音也就不同,有规律的振动发出的声音叫“乐音”。

音频的范围为20HZ~200KHZ之间,人类的耳朵比较容易辨识的声音频率范围是200HZ~20KHZ。

一般音响电路是用正弦波信号驱动喇叭,从而产生悦耳的音乐;在数字电路里,则是用数字脉冲信号驱动喇叭,从而产生声音。

如果声音的频率相同,人类的耳朵很难区分哪个是脉冲信号产生的声音,哪个是正弦波信号产生的声音。

音乐演奏控制器是通过控制单片机内部的定时器来产生不同频率的方波,驱动喇叭发出不同音阶的声音。

再利用延迟来控制发音时间的长短,即可控制音调中的节拍。

把乐谱中的音符对应的频率转换为定时常数,把相应的节拍变换为定时常数,分别用以控制定时器产生方波的频率和该频率方波的持续时间。

(1)利用定时/计数器T0工作在16位定时方式,通过改变TH0和TL0的值,就可以产生不同频率的脉冲,例如想产生523HZ(音符1的中音)的脉冲,其周期为1/523=1922uS,因此只要让T0定时956uS后,使P1.6取反,就可以在P1.0引脚上输出一个频率为523HZ的脉冲。

若晶振的频率为12MHZ,机器周期为1uS,则计数值为956/1=956,而计数器的初值为65536-956=64580=FC44H,即TH0=0FFH,TL0=22H。

这样每个音符都对应了一个T值,12M晶振时各音符的T值如下表1:

表1:

12M晶振时对应的T值表

音符(低音)

T值

音符(中音)

T值

音符(高音)

T值

1

63628

1

64580

1

65058

2

63835

2

64684

2

65110

3

64021

3

64777

3

65157

4

64103

4

64820

4

65178

5

64260

5

64898

5

65217

6

64400

6

64968

6

65252

7

64524

7

65030

7

65282

(2)每个音符的发音长度,各调节拍与时间的设定如下表2所示:

表2:

调值与节拍延时时间关系表

曲调值

1/4拍时间

1/8拍时间

调4/4

125ms

62ms

调3/4

187ms

94ms

调2/4

250ms

125ms

2、软件设计

(1)音符节拍

选择你喜欢的歌曲,查找这些歌曲的简谱,根据表1和表2,做好音符节拍常数表,如

;兰花草音符节拍表

SONG0:

      DB    42H,82H,82H,82H,86H,72H,63H,71H,62H,52H,48H

         DB    0B2H,0B2H,0B2H,0B2H,0B6H,0A2H

         DB    83H,0A1H,0A2H,92H,88H,82H,0B2H,0B2H,0A2H,86H,72H

         DB    63H,71H,62H,52H,44H,12H,02H

         DB    12H,62H,62H,52H,46H,82H,73H,61H,52H,32H,48H

         DB    00H

备注:

高4位为音调,低4位为节拍,00H为休止符。

(2)绘制流程图

采用模块化设计,分为主程序、中断服务子程序及显示子程序,分别绘出这些程序的流程图。

(3)根据流程图,编制源程序。

3、仿真调试,最好先调试出一首。

四、实训总结

1、学会使用伪指令,方便程序阅读与更改。

2、程序编写要规范,要有相应的注释。

参考程序如下:

BEEPBITP2.0;生日快乐

JDEQU30H

YDEQU31H

THH0EQU32H

TLL0EQU33H

JPEQU34H

ORG0000H

AJMPMAIN

ORG000BH

AJMPTIM0

ORG0030H

MAIN:

MOVSP,#60H;主程序

MOVTMOD,#01H;设定时方式

MOVIE,#82H;开中断

CLRBEEP

START0:

MOVJD,#00H;

NEXT:

MOVA,JD

MOVDPTR,#TABLE

MOVCA,@A+DPTR;查表取音调和节拍

MOVB,A

JZEND0;为零,不进行处理.

ANLA,#0FH

MOVJP,A;将节拍存入JP

MOVA,B

SWAPA

ANLA,#0FH

JNZSING;根据音调决定是否演奏.

CLRTR0

JMPD1

SING:

DECA

MOVYD,A;将音调存入YD.

RLA

MOVDPTR,#TABLE1

MOVCA,@A+DPTR;根据音调决定定时器初值.

MOVTH0,A;放入TH0

MOVTHH0,A

MOVA,YD

RLA

INCA

MOVCA,@A+DPTR

MOVTL0,A;放入TL0

MOVTLL0,A

SETBTR0;启动定时

D1:

ACALLDELAY

INCJD

JMPNEXT

END0:

CLRTR0

JMPSTART0

TIM0:

;定时器中断服务程序

PUSHACC

PUSHPSW

MOVTL0,TLL0;重赋初值.

MOVTH0,THH0

CPLBEEP

POPPSW

POPACC

RETI

DELAY:

MOVR7,#02H;节拍延时子程序

D2:

MOVR6,#187

D3:

MOVR5,#248

DJNZR5,$

DJNZR6,D3

DJNZR7,D2

DJNZJP,DELAY

RET

TABLE1:

;决定音调的定时初值.

DW    63628,63835,64021,64103,64260,64400,64524    ;低音1234657

         DW    64580,64684,64777,64820,64898,64968,65030    ;中音1234567

         DW    65058,65110,65157,65178,65217,65252,65282    ;高音1234567

TABLE:

;决定音调和节拍的表格,不同的歌曲此表不同

DB82H,01H,81H,94H,84H,0B4H,0A4H,04H,82H,01H,81H,94H,84H,0C4H,0B4H,04H

DB82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94H,0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04H

DB82H,01H,81H,94H,84H,0B4H,0A4H,04H,82H,01H,81H,94H,84H,0C4H,0B4H,04H

DB82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94H,0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04H,00

END

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;兰花草;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

     DB    42H,82H,82H,82H,86H,72H,63H,71H,62H,52H,48H

         DB    0B2H,0B2H,0B2H,0B2H,0B6H,0A2H

         DB    83H,0A1H,0A2H,92H,88H,82H,0B2H,0B2H,0A2H,86H,72H

         DB    63H,71H,62H,52H,44H,12H,02H

         DB    12H,62H,62H,52H,46H,82H,73H,61H,52H,32H,48H

         DB    00H

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;两只老虎;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

DB    44H,54H,64H,44H

         DB    44H,54H,64H,44H

         DB    64H,74H,88H

         DB    64H,74H,88H

         DB    82H,92H,82H,72H,64H,44H

         DB    82H,92H,82H,72H,64H,44H

         DB    54H,14H,48H

         DB    54H,14H,48H

         DB    00H

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;生日快乐;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

     DB    82H,01H,81H,94H,84H

         DB    0B4H,0A4H,04H

         DB    82H,01H,81H,94H,84H

         DB    0C4H,0B4H,04H

         DB    82H,01H,81H,0F4H,0D4H

         DB    0B4H,0A4H,94H,04H

         DB    0E2H,01H,0E1H,0D4H,0B4H

         DB    0C4H,0B4H,04H

         DB    00H

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;两只蝴蝶;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  DB    62H,52H,64H,04H,

         DB    52H,62H,52H,44H,04H

         DB    22H,42H,54H,64H,52H,42H,22H,42H,14H,04H

         DB    62H,52H,64H,04H

         DB    52H,62H,52H,44H,04H

         DB    22H,42H,54H,64H,52H,42H,22H,42H,54H,04H

         DB    62H,52H,64H,04H

         DB    52H,62H,52H,44H,04H

         DB    22H,42H,54H,64H,52H,42H,22H,42H,14H,04H

         DB    62H,82H,84H,04H

         DB    82H,92H,82H,64H,04H

         DB    52H,62H,54H,64H,52H,42H,22H,42H,44H,04H

         DB    82H,82H,92H,0B2H,0A2H,0A2H,92H,62H,52H,52H,66H,04H

         DB    62H,62H,82H,94H,94H,22H,62H,56H,04H

         DB    62H,82H,82H,62H,84H,04H

         DB    0B4H,0A2H,92H,0A2H,64H,04H

         DB    92H,92H,0A2H,92H,82H,62H,53H,63H,53H,84H,04H

         DB    82H,82H,92H,0B2H,0A2H,0A2H,92H,62H,52H,52H,66H,04H

         DB    62H,62H,82H,94H,94H,22H,62H,56H,04H

         DB    62H,82H,82H,62H,84H,04H

         DB    0B4H,0A2H,92H,0A2H,64H,04H

         DB    92H,92H,0A2H,92H,82H,62H,53H,63H,53H,84H,04H

         DB    62H,82H,82H,62H,84H,04H

         DB    0B4H,0A2H,92H,0A2H,64H,04H

         DB    92H,92H,0A2H,92H,82H,62H,53H,63H,53H,84H,04H

         DB    00H

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;记事本;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

DB 84H,82H,82H,82H,0B2H,0B2H,82H,0C2H,0C3H,82H,84H,0B2H,0A2H,0A2H,93H,04H

         DB    94H,92H,82H,82H,63H,62H,62H,52H,52H,42H,44H,04H

         DB    62H,52H,52H,42H,84H,04H

         DB    92H,82H,94H,82H,63H,04H

         DB    84H,82H,82H,82H,0B2H,0B2H,82H,0C2H,0C3H,83H,04H

         DB    84H,0B2H,0A2H,0A2H,93H,94H,82H,92H,82H,63H,04H

         DB    52H,62H,52H,62H,44H,04H

         DB    52H,62H,52H,42H,84H,04H

         DB    14H,62H,52H,52H,42H,54H,42H,44H,04H

         DB    0A2H,0B2H,0A2H,63H,04H

         DB    0A2H,0B2H,0A2H,63H,04H

         DB    0D2H,0C2H,0C2H,0B2H,0C2H,0B2H,0B2H,0B2H,94H,84H,94H,64H,04H

         DB    64H,62H,52H,52H,42H,44H,04H

         DB    64H,62H,52H,52H,42H,84H,04H

         DB    84H,92H,82H,92H,83H,63H,04H

         DB    0A2H,0B2H,0A2H,63H,04H

         DB    0A2H,0B2H,0A2H,63H,04H

       DB    0D2H,0C2H,0C2H,0B2H,0D2H,0C2H,0C2H,0B2H,0C2H,0C2H,0C4H,0E4H,64H,04H

         DB    0D4H,0C2H,0D2H,0C2H,0B2H,94H,04H

         DB    0D4H,0C2H,0D2H,0C2H,0B2H,0C4H,04H

         DB    0D4H,0C2H,0D2H,0C2H,0B2H,0C4H,0B4H,96H,04H

         DB    00H

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;新年快乐;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 DB    42H,42H,44H,14H,02H

         DB    62H,62H,64H,44H,04H

         DB    42H,62H,84H,84H,02H

         DB    72H,62H,54H,04H

         DB    52H,62H,74H,74H,02H

         DB    62H,52H,64H,44H,04H

         DB    42H,62H,54H,14H,02H

         DB    32H,52H,44H,04H

         DB    00H

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;哈巴狗;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 DB    42H,42H,42H,52H,64H,04H

         DB    62H,62H,62H,72H,84H,04H

         DB    92H,92H,82H,72H,64H,04H

         DB    82H,82H,52H,62H,44H,04H

         DB    42H,42H,42H,52H,84H,04H

         DB    62H,62H,62H,72H,84H,04H

         DB    92H,92H,82H,72H,64H,04H

         DB    82H,82H,52H,62H,44H,04H

         DB    00H

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;绿岛小夜曲;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 DB    0A2H,0B2H,0D2H,0B2H,0A4H,0B2H,0D2H

         DB    0B2H,0A2H,82H,72H,88H

         DB    72H,82H,0A2H,82H,72H,62H,42H,62H

         DB    38H,38H

         DB    0A4H,02H,0B2H,0A4H,084H

         DB    72H,82H,72H,62H,72H,84H,72H

         DB    64H,62H,12H,34H,02H,42H

         DB    38H,38H

         DB    44H,02H,32H,44H,64H

         DB    72H,82H,72H,62H,72H,84H,0A2H

         DB    72H,74H,82H,0A2H,02H,0B2H

         DB    0A8H,0A8H

         DB    0B2H,0B4H,0A2H,84H,82H,72H

         DB    62H,72H,82H,0A2H,88H

         DB    72H,74H,62H,42H,32H,32H,62H

         DB    78H,78H

         DB    82H,84H,72H,82H,0A2H,84H

         DB    72H,82H,72H,62H,48H

         DB    32H,0A2H,82H,0F2H,0A2H,0B2H,82H,72H

         DB    68H,68H

         DB    0B2H,0B2H,0A2H,82H,84H,02H

         DB    72H,74H,62H,42H,32H,42H,62H

         DB    78H,78H

         DB    0A2H,0B2H,0A2H,72H,82H,84H,82H

         DB    72H,74H,62H,44H,64H

         DB    0A8H,0A4H,02H,0A2H

         DB    0A2H,0B1H,0A1H,82H,0A2H,0B4H,0B2H,0C2H

         DB    0A2H,0B2H,0A2H,82H,78H

         DB    84H,72H,62H,44H,02H,62H

         DB    72H,81H,71H,62H,72H,84H,02H,0A2H

         DB    0B4H,02H,82H,74H,82H,72H

         DB    68H,68H,04H

         DB    00H

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;弯弯的月亮;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

DB    62H,82H,82H,62H,98H

         DB    92H,0B2H,0B2H,82H

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 动物植物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1