单片机音乐播放器程序设计DOC.docx

上传人:b****3 文档编号:2178162 上传时间:2022-10-27 格式:DOCX 页数:22 大小:79.86KB
下载 相关 举报
单片机音乐播放器程序设计DOC.docx_第1页
第1页 / 共22页
单片机音乐播放器程序设计DOC.docx_第2页
第2页 / 共22页
单片机音乐播放器程序设计DOC.docx_第3页
第3页 / 共22页
单片机音乐播放器程序设计DOC.docx_第4页
第4页 / 共22页
单片机音乐播放器程序设计DOC.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

单片机音乐播放器程序设计DOC.docx

《单片机音乐播放器程序设计DOC.docx》由会员分享,可在线阅读,更多相关《单片机音乐播放器程序设计DOC.docx(22页珍藏版)》请在冰豆网上搜索。

单片机音乐播放器程序设计DOC.docx

单片机音乐播放器程序设计DOC

随着科技的发展,音乐播放功能随处都会用到,如,在开发儿童智力的玩具中,等等。

目前单片机以其体积小、价格低、编程灵活等特点在这一领域独领风骚。

、系统功能要求:

1、具有自动循环播放所有乐曲功能。

2、具有单独选择某首乐曲循环播放功能。

3、具有顺序查找乐曲循环播放功能。

4、具有停止播放功能。

二、系统整体方案提示:

利用AT89S52产生乐曲音符,再把乐普翻译成计算机音乐语言,由单片机进行信息处理,在经过信号放大,由喇叭放出乐曲声。

由于音符和节拍是由计算机

产生的,所以发音音符和节拍准确。

 

4、

单独选择某首乐曲循环播放:

按下K4~K7键即可实现。

系统整体方案框图如下:

利用AT89C51产生乐曲音符,再把乐普翻译成绩算计音乐语言,由单片机进行信息处理,在经过信号放大,由喇叭放出乐曲声。

由于音符和节拍是由计算机产生的,所以发音音符和节拍准确。

整体框图如图图一所示。

三、硬件系统原理图:

硬件系统原理图如下页图:

1)单片机:

选择AT89S52,由于AT89S52是一个低电压,高性能CMOS位单片机,内含4kbytes的可反复擦鞋的制度程序存储器(PERO)和128bytes的随机存取数据存储器(RAM,器件采用ATME公司的高密度、非易失性存储技术生产,兼容标准MC—51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机AT89S52提供了高性价比的解决方案。

其内部有足够本系统对存储器的要求,不用外扩。

2)按键控制电路:

如图由P1口作为输入,构成矩阵式按键接口方式。

3)输出控制:

此部分的放大电路简单容易实现。

主要采用了一个小功率PNP型硅管9012,利用“分压偏置式工作点稳定直

流通路”,达到了对静态工作点的稳定。

分压电阻分别选择1K和5.5K。

嗡宁器一端接+5V电压,一端接晶体管的发射极。

由P3.0输出预定的方波,加到晶体管进行放大,再输出到蜂鸣器,很好的实现了频率、声音的转换。

4)复位:

复位是由外部的复位电路来实现的。

VCC

L5

jSW-PB

't

L7

J^Sw-PB

c

L8

jSW-PB

t

1

jSw-PB

1

310

2

rSW-PB

3

rSw-PB

4

jSw-PB

5

jSw-PB

)11

6

7

H1

H2

rSW-PB

rSw-PB

jSw-PB

rSw-PB

A16

A20

A19

A12

\

rSw-PB

W-PB

rSw-PB

rSw-PB

>14

>15

\

>16

\

Fi7

\

3-5K

1^14^

\~R155K

i【

T014

/P112'

/pra—'

厂14—”

i

P101

19

U3

U1

EA

VCC

CAP1

10UF

R20

P10

P11

P12

P13

P14

P15

P16

P17

INT1

INT0

T1

T0

P00

P01

P02

P03

P04

P05

P06

P07

P20

P21

P22

P23

P24

P202

1A1

sW^B

1.5K

四、系统软件设计

XT

30PF—_

于C2

丁30PF

R21

8.2K

1、单片机演奏乐曲的原理

X1

U4

RYSTAL

RESET

P25

P26

P27

RD

WREA/VFRXDTXDALE/PPSEN

37

36

35

34'

33

32

21P20

~2?

■p2i

23P22

24P23

25P24

26p25

27P26

28P27

7171>36

:

16P37

31EA~TTP^C

11>31

30、

39

38

/P364

/

P3911

L^366'

沪38

FP4013

1ilT?

AT89S52

通过控制定时器的定时时间来产生不同频率的方波,

的声音,再利用延迟来控制发音时间的长短,

1A2

1A3

1A4

2A1

2A2

2A3

2A4

18

1Y1

9

1Y2>

1Y3

1Y4

14

2Y1工

2Y2J.

2Y3b

2Y4卜

1G

2G74LS240

.1A1

1Y1

.1A2

1Y2

1A3

1Y3

1A4

1Y4

-2A1

2Y1

-2A2

2Y2

2A3

2Y3

2A4

2Y4

1G

2G74LS240

U2

P302

18

16

9

4

14

T0R18

11

13

15

17

1K

Title

R17

L1

"hJ

VCC

L3

Ul14

L15UP!

L9

¥y

—LTi~

l1~—

J2

VCC

SPEAKER

wR519

5.5K

彳VCC

驱动喇叭发出不同音阶ber

即可控制音调中的节拍。

File:

的音符和相应的节拍变换为定常数和延迟常数,作为数据表格存放在存储器中。

申静

Sheetof

申静电子与MP3.dbDrawnBy:

 

由程序查表得到定时常数和延迟常数,分别用以控制定时器产生方波的频率和发出该频率方波的持续时间。

当延迟时间到时,再查下一个音符的定时常数和延迟常数。

依次下去,就可以自动演奏乐曲。

单片机所用的晶振的频率为6MHz琴键所对应音符、频率及定时常数三者之

C调音符

7

1

2

3

4

5

6

7

频率(Hz)

494

524

588

660

698

784

880

988

半周期

(ms)

1.01

0.95

0.85

0.76

0.72

0.64

0.57

0.51

定时值

FE07

FE25

FE57

FE84

FE98

FEC0

FEE3

FF01

间的对应关系如下所示。

2、程序执行流程图1)说明:

l软件执行顺序:

先识别按键,再计算键值,根据键值执行相应的音乐播放程序。

2乐曲存放约定:

连续两个单元的内容为offh,offH乍为上一首乐曲结束标志。

2)系统程序流程图:

开始

键扫

吹〔有无键按下/

去抖动I键码计算键释放

JMP@A+DPTR

3、乐演奏程序清单

ORG

OOOOH

LJMPKEY1

ORG

001BH

MOV

TH1,R1

MOV

TL1,R0

CPL

P3.0

RETI

ORG

300H

KS1:

MOVA,#FFH

MOVP1,A

MOV

A,P1;读P1口键值

CPL

A;A取反,无键按下则全“0”

ANL

A,0FH屏蔽A高半字节

RET

KEY1:

ACALLKS1;检查是否有键闭合

JNZ

LK1;A非“0”则转移

ACALL

D10ms;显示一次(延时10ms)

AJMP

KEY1

LK1:

ACALL

D10ms有键闭合二

次消抖延时20ms

ACALL

D10ms

ACALL

KS1;再检查有键闭合否

JNZ

LK2;有键闭合,转LK2

ACALL

D10ms

AJMP

KEY1经去抖动确认无键闭合,

延时10ms后转KEY1

LK2:

MOV

R2,#0EH扫描初值进R2

MOV

R4,#00H扫描列号送R4

LK4:

MOVP1,A;扫描初值送P1口

MOV

A,P1;读P1口

JB

ACC.0,LONE;

ACC.0=1,第0行无键闭合,

转LONE

A,#00H装第0行行值

MOV

LKP

AJMP

LONE:

合,转

LTWO

JB

ACC.1,LTWOACC.1=1,第1行无键闭

MOV

A,#04H;装第1行行值

AJMP

LKP

LTWO:

合,转

LTHR

JB

ACC.2,

LTHRACC.2=1第2行无键闭

MOV

A,#08H;装第2行行值

AJMP

LKP

LTHR:

合则转

NEXT

LKP:

LK3:

闭合再延时

NEXT:

JB

ACC.3,

MOV

ADD

PUSH

ACALL

ACALL

JNZ

POP

RET

INC

NEXTACC.3=1第3行无键闭

A,#0CH装第3行行值

A,R4;计算键值

ACC;保护键值,将键值入栈

D10ms;延时10ms消抖

KS1;查键是否继续闭合,若

LK3

ACC;若键起,则键码送A

0”,已扫完最高列则转KEND

MOV

A,R2

JNB

ACC.3,KND笫3位为

RLA

A;循环左移一位

MOV

R2,A

AJMP

LK4;进行下一列扫描

R4;扫描列号加1

 

KEND:

一轮

AJMP

KEY1;扫描完毕,开始新的

LONE:

JB

ACC.1,LTWO

MOV

A,#04H

AJMP

LKP

LTWO:

JB

ACC.2,LTHR

MOV

A,#08H

AJMP

LKP

LTHR:

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

MOVDPTR,#TAB1

K1:

LJMP

START

K2:

MOVDPTR,#TAB2

LJMP

START

K3:

MOVDPTR,#TAB3

LJMP

START

K4:

MOVDPTR,#TAB4

LJMP

START

K5:

MOVDPTR,#TAB5

LJMP

START

START:

MOVTMOD,#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,NEX

SJMP

KEY

NEXT:

MOVTH1,R1

MOV

TR1,R0

SETB

TR1

SJMP

NEXT1

 

NEXT0:

CLRTR1

NEXT1:

CLRA

INC

DPTR

MOVCA,@A+DPTR

MOVR2,A

LOOP1:

LCALLD200

DJNZ

R2,LOOP1

INC

DPTR

 

LJMP

LOOP

D200:

MOV

R4,#81H

D200B:

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

当前位置:首页 > PPT模板 > 自然景观

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

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