基于单片机的音乐播放器设计.docx

上传人:b****5 文档编号:7451887 上传时间:2023-01-24 格式:DOCX 页数:34 大小:419.50KB
下载 相关 举报
基于单片机的音乐播放器设计.docx_第1页
第1页 / 共34页
基于单片机的音乐播放器设计.docx_第2页
第2页 / 共34页
基于单片机的音乐播放器设计.docx_第3页
第3页 / 共34页
基于单片机的音乐播放器设计.docx_第4页
第4页 / 共34页
基于单片机的音乐播放器设计.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

基于单片机的音乐播放器设计.docx

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

基于单片机的音乐播放器设计.docx

基于单片机的音乐播放器设计

专业课程设计论文

(2010年)

 

题目基于单片机的音乐播放器设计

学院:

信息工程学院系:

电子信息工程系

专业:

电子信息工程

班级:

电子072班

学号:

学生姓名:

指导教师:

起讫日期:

2010.9.6--2010.10.25

学士学位论文原创性申明

本人郑重申明:

所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式表明。

本人完全意识到本申明的法律后果由本人承担。

作者签名:

日期:

2010年10月21日

 

学位论文版权使用授权书

本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权南昌大学可以将本论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

保密□,在年解密后适用本授权书。

本学位论文属于

不保密□。

(请在以上相应方框内打“√”)

作者签名:

日期:

导师签名:

日期:

基于单片机的音乐播放器设计

学生姓名:

指导教师:

 

摘要

本音乐播放器是利用AT89S52单片机结合内部定时系统及LCD显示器,设计一个简易的微电脑音乐播放器。

本设计按下单键可以实现音乐播放功能,演奏预先设置的歌曲旋律,并且在数码管上显示出该曲目的编号,最重要的是自己还可以经过程序设计来输入新的歌曲,将自己喜爱的歌曲输入程序中,它可以经常发出宜人的音乐旋律,增加生活的乐趣。

关键词:

AT89S52单片机;音乐播放器;LCD液晶显示器

 

ThedesignofmusicplayerwhichisbasedonSingleChipMicrocontroller

Summary

ThemusicbroadcastbycombininginternaltimingistheuseofAT89S52singlechipmicrocontrollerLCDdisplaysystemsandthedesignofasimplemicrocomputermusicboxes.Thedesignpresssinglecomputerachievablemusicbroadcastfunctionatthepre-establishmentsongmelodies,andincontrolofthedigitalshowtherepertoireofnumbers,themostimportantthingisitcanreadtheproceduresdesignedtoimportnewsongs,thesongshelovedtoimportprocedures,itcanoftensendpleasantmusic,andincreaselifefun.

Keyword:

AT89S52SingleChipMicrocontroller;Musicplayer;LCDcrystaldisplay

 

第一章单片机及其在相关领域的应用和发展

1.1单片机的定义

单片机即单片微型计算机,是把中央处理器、存储器、定时/计数器、输入输出接口都集成在一块集成电路芯片上的微型计算机。

与应用在个人电脑中的通用型微处理器相比,它更强调自供应(不用外接硬件)和节约成本。

它的最大优点是体积小,可放在仪表内部,但存储量小,输入输出接口简单,功能较低。

由于其发展非常迅速,旧的单片机的定义已不能满足,所以在很多应用场合被称为范围更广的微控制器;由于单晶片微电脑常用于当控制器故又名singlechipmicrocontroller。

1.2单片机的发展趋势

1.2.1低功耗CMOS化  

随着当今人们对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用CMOS(互补金属氧化物半导体工艺)。

CMOS虽然功耗较低,但由于其物理特征决定其工作速度不够高,而CHMOS则具备了高速和低功耗的特点,这些特征,更适合于在要求低功耗的应用场合。

所以这种工艺将是今后一段时期单片机发展的主要途径

1.2.2微型单片化  

现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。

现在的许多单片机都具有多种封装形式,其中SMD(表面封装)越来越受欢迎,使得由单片机构成的系统正朝微型化方向发展。

1.2.3主流与多品种共存  

现在虽然单片机的品种繁多,各具特色,但以80C51为核心的单片机是主流。

而Microchip公司的PIC精简指令集(RISC)单片机,中国台湾的HOLTEK公司近年的单片机产量与日俱增,与其低价质优的优势,占据一定的市场分额。

在一定的时期内,这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,走的是依存互补,相辅相成、共同发展的道路。

 

1.3基于单片机的音乐播放器的应用

对于音乐播放器产品及其它有关消费电器产品都是一些开环或闭环控制系统,都由核心控制部分,执行部分与人机界面三部分组成。

而最为重要的控制部分一般是由单片机来执行完成的,这就必将导致和促进单片机在音乐领域应用的发展。

现在这些由单片机实现的音乐播放器的功能越来越强、费用越来越低。

例如,就市场上的mp3目前的功能越来越强大体积却越来越小,价格也逐渐便宜,被大多数人所能接受。

但这些音乐播放器也或多或少的存在着一些问题,解决这些问题,非智能化的单片机莫属。

所以基于单片机的音乐播放器不仅仅设计简单快捷操作方便,而且通用性好,元器件易于购买,因此是掌握单片机相关知识的理想设计。

 

第二章基于单片机的音乐播放器设计

2.1电路所用器件介绍

2.1.1硬件电路所用器件

AT89S52芯片、4×4小键盘、1602LCD液晶显示器、蜂鸣器、晶振,三极管,电容、电阻、排阻、导线、排插、排座等

2.1.2核心器件AT89S52介绍

AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众。

多嵌入式控制应用系统提供高灵活、超有效的解决方案。

它具有以下标准功能:

8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

2.1.3振荡器特性

XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器可以配置为片内振荡器。

石晶振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

有输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

2.1.4芯片擦除

AT89S52设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。

在闲置模式下,CPU停止工作。

但RAM,定时器,计数器,串口和中断系统仍在工作。

在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

2.2设计原理

2.2.1音频脉冲产生原理

音乐是由音符组成的,而不同的音符对应的是不同的震动频率。

而不同的频率可以利用单片机的定时器产生,再驱动通过蜂鸣器或者是喇叭,就可以播放乐曲了。

要产生音频脉冲,只要算出某一音频的周期T,然后将周期除以2得到半周期的时间,再对P1.0口反相,就可在单片机P1.0引脚得到此频率的脉冲。

例如,频率为523Hz,其周期为天/523S=1912uS,因此只要令计数器计时956uS/1us=956,在每计数956次时就将I/O反接,就可得到中音DO(532Hz)。

计算举例:

设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

2.2.2节拍产生原理

根据节拍的特征,可以设定1拍为0.4S,1/4秒就是0.1S,只要设定延迟时间就可求得节拍的时间。

假设1/4拍为1DELAY,则1拍应为4DELAY,则以后的诸如3/4拍等均可以依此类推。

 

表2-1节拍时间设定表

1/4节拍

1/8节拍

曲调值

DELAY

曲调值

DELAY

调4/4

125毫秒

调4/4

62毫秒

调3/4

187毫秒

调3/4

94毫秒

调2/4

250毫秒

调2/4

125毫秒

2.2.3计数脉冲与音乐频率转换原理

计数脉冲与频率从换算公式:

N=Fi/2/Fr(其中N:

计数值;Fi:

内部计时一次为1uS,故其频率为1MHz;Fr:

要产生的频率)

2.2.4乐谱中C大调音符对照表

音名

音调

Do

Re

Mi

Fa

So

La

Ti

C调

C

D

E

F

G

A

B

D调

D

E

F#

G

A

B

C

E调

E

F#

G#

A

B

C

D

F调

F

G

A

B

C

D

E

G调

G

A

B

C

D

E

F#

A调

A

B

C#

D

E

F#

G#

B调

B

C

D

E

F

G

A

 

2.2.5音符频率对照表

音符频率(Hz)简谱码(T值)音符频率(Hz)简谱码(T值)

低1DO26263628#4FA#74064860

#1DO#27763731中5SO78464898

低2RE29463835#5SO#83164923

#2RE#31163928中6LA88064968

低3M33064103#693264994

低4FA349641037SI98865030

#4FA#37064260高1DO104665058

低5SO39264260#1DO#110965085

#5SO#41564331高2RE117565110

低6LA44064400#2RE#124565124

#646664463高3M131865157

低7SI49464524高4F139765178

中1DO52364580#4FA#148065198

2.2.6音乐代码库的建立方法

(1)先找出乐曲的最低音和最高音范围,然后确定音符表T的顺序。

(2)把T值表建立在TABLE1,构成发音符的计数值放在“TABLE”。

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

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

2.2.7电路原理说明

当键盘有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。

同时启动定时器T1,显示乐曲播放的时间,并驱动LCD,显示歌曲号及播放时间。

(1)硬件电路中用P1.0~P1.7控制按键,其中P1.0~P1.3扫描行,P1.4~P1.7扫面列。

(2)用P0.0~P0.7控制LCD显示。

(3)用,P2.0~P2.2作为LCD的RS,R/W,E的控制信号。

用P0.0~P0.7作为LCD的D0~D7的控制信号。

(4)用P3.7口控制蜂鸣器。

(5)电路为12MHZ晶振频率工作,起振电路中C1,C2均为30pf。

2.2.5实验控制流程图

 

第三章仿真实验及仿真实验原理图

3.1原理图

3.2PCB及3D图

PCB顶层制版图

 

PCB底层制版图

 

3D图

 

第四章实验程序及操作使用说明

4.1实验程序

RSBITP2.0

RWBITP2.1

EBITP2.2

L50MSEQU60H

L1MSEQU61H

L250MSEQU62H

SECEQU65H

MINEQU64H

HOUEQU63H

ORG0000H

LJMPMAIN

ORG000BH

LJMPTT0

ORG001BH

LJMPT1INT

ORG1000H

MAIN:

MOVSP,#70H

MOVP0,#01H

LCALLENABLE

MOVP0,#38H

LCALLENABLE

MOVP0,#0FH

LCALLENABLE

MOVP0,#06H

LCALLENABLE

LCALLINITIL

KEY1:

LCALLKEY

LCALLMODD

LJMPKEY1

KEY:

NOP

NOP

LCALLKS

JNZK1

LCALLKAIJI

LCALLSOP

XN:

LJMPKEY

K1:

LCALLMODD

LCALLMODD

LCALLKS

JNZK2

LJMPKEY

K2:

MOVR2,#0FEH

MOVR4,#00H

K3:

MOVA,R2

MOVP1,A

MOVA,P1

JBACC.4,L1

MOVA,#00H

LJMPLK

L1:

JBACC.5,L2

MOVA,#04H

LJMPLK

L2:

JBACC.6,L3

MOVA,#08H

LJMPLK

L3:

JBACC.7,NEXT1

MOVA,#0CH

LK:

ADDA,R4

PUSHACC

K4:

LCALLDELAY1

LCALLKS

JNZK4

MOVR3,#07H

CLRA

MOVR0,#30H

MOVR1,#31H

MM1:

MOVA,@R1

MOV@R0,A

INCR0

INCR1

DJNZR3,MM1

POPACC

MOV@R0,A

RET

NEXT1:

INCR4

MOVA,R2

JNBACC.3,N2

LJMPN1

N2:

LJMPKEY

N1:

RLA

MOVR2,A

LJMPK3

KS:

MOVA,#0F0H

MOVP1,A

NOP

NOP

MOVA,P1

CPLA

ANLA,#0F0H

RET

DELAY1:

SETBRS0

DL:

MOVR5,#0AH

DL2:

MOVR6,#63

DL3:

NOP

NOP

DJNZR6,DL3

DJNZR5,DL2

CLRRS0

RET

INITIL:

MOVR3,#08H

MOVR0,#30H

M1:

MOV@R0,#00H

INCR0

DJNZR3,M1

RET

MODD:

MOVP0,#8EH

LCALLENABLE

MOVA,37H

MOVDPTR,#TABLE3

MOVCA,@A+DPTR

LCALLWRITE2

RET

KAIJI:

MOVA,37H

CJNEA,#0FH,DFF

MOVP0,#80H

LCALLENABLE

MOVDPTR,#TABLE1

LCALLWRITE1

DFF:

RET

SOP:

MOVA,37H

CJNEA,#01H,A11

LCALLMODD

MOV52H,#HIGHTABLE10

MOV53H,#LOWTABLE10

LCALLINITILE2

LCALLMAIN0

A11:

CJNEA,#02H,A22

LCALLMODD

MOV52H,#HIGHTABLE20

MOV53H,#LOWTABLE20

LCALLINITILE2

LCALLMAIN0

A22:

CJNEA,#03H,A33

LCALLMODD

MOV52H,#HIGHTABLE30

MOV53H,#LOWTABLE30

LCALLINITILE2

LCALLMAIN0

A33:

CJNEA,#04H,A44

LCALLMODD

MOV52H,#HIGHTABLE40

MOV53H,#LOWTABLE40

LCALLINITILE2

LCALLMAIN0

A44:

CJNEA,#05H,A55

LCALLMODD

MOV52H,#HIGHTABLE50

MOV53H,#LOWTABLE50

LCALLINITILE2

LCALLMAIN0

A55:

CJNEA,#06H,A66

LCALLMODD

MOV52H,#HIGHTABLE60

MOV53H,#LOWTABLE60

LCALLINITILE2

LCALLMAIN0

A66:

CJNEA,#07H,A77

LCALLMODD

MOV52H,#HIGHTABLE70

MOV53H,#LOWTABLE70

LCALLINITILE2

LCALLMAIN0

A77:

CJNEA,#08H,A88

LCALLMODD

MOV52H,#HIGHTABLE80

MOV53H,#LOWTABLE80

LCALLINITILE2

LCALLMAIN0

A88:

CJNEA,#09H,A99

LCALLMODD

MOV52H,#HIGHTABLE90

MOV53H,#LOWTABLE90

LCALLINITILE2

LCALLMAIN0

A99:

CJNEA,#0AH,AAA

LCALLMODD

MOV52H,#HIGHTABLE100

MOV53H,#LOWTABLE100

LCALLINITILE2

LCALLMAIN0

AAA:

RET

INITILE2:

MOVL50MS,#20

MOVL1MS,#00H

MOVL250MS,#00H

MOVSEC,#00H

MOVMIN,#00H

MOVHOU,#00H

MOVA,HOU

MOVB,#10

DIVAB

ADDA,#30H

MOVP0,#0C8H

LCALLENABLE

LCALLWRITE2

MOVA,B

ADDA,#30H

MOVP0,#0C9H

LCALLENABLE

LCALLWRITE2

MOVA,#3AH

MOVP0,#0DH

LCALLENABLE

LCALLWRITE2

MOVA,MIN

MOVB,#10

DIVAB

ADDA,#30H

MOVP0,#0CBH

LCALLENABLE

LCALLWRITE2

MOVA,B

ADDA,#30H

MOVP0,#0CCH

LCALLENABLE

LCALLWRITE2

MOVA,#3AH

MOVP0,#0CDH

LCALLENABLE

LCALLWRITE2

MOVA,SEC

MOVB,#10

DIVAB

ADDA,#30H

MOVP0,#0CEH

LCALLENABLE

LCALLWRITE2

MOVA,B

ADDA,#30H

MOVP0,#0CFH

LCALLENABLE

LCALLWRITE2

MOVP0,#0C0H

LCALLENABLE

MOVDPTR,#TABLE2

LCALLWRITE1

RET

ENABLE:

CLRRS

CLRRW

CLRE

LCALLDELAY

SETBE

RET

WRITE1:

MOVR1,#00H

A1:

MOVA,R1

MOVCA,@A+DPTR

LCALLWRITE2

INCR1

CJNEA,#0FEH,A1

RET

WRITE2:

MOVP0,A

SETBRS

CLRRW

CLRE

LCALLDELAY

SETBE

RET

DELAY:

MOVR4,#05

D1:

MOVR5,#0FFH

DJNZR5,$

DJNZR4,D1

RET

TAB:

DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H

DB80H,90H,88H,83H,0C6H,0A1H,86H,8EH

TAB1:

DB89H,86H,0C7H,0C7H,0C0H

TAB2:

DB0C6H,88H,0C0H

TABLE1:

DB'Welcome',0FEH

TABLE2:

DB'Hello',0FEH

TABLE4:

DB'CAU',0FEH

TABLE3:

DB30H,31H,32H,33H

DB34H,35H,36H,37H

DB38H,39H,41H,42H

DB43H,44H,45H,46H

MAIN0:

MOVTMOD,#11H

MOVIE,#8AH

MOVTH1,#3CH

MOVTL1,#0B0H

LCALLKS

JNZTTM12

MOV40H,#00H

NEXT20:

MOVA,40H

MOVDPH,52H

MOVDPL,53H

MOVCA,@A+DPTR

MOVR2,A

JZSTOP

ANLA,#0FH

MOVR1,A

MOVA,R2

SWAPA

ANLA,#0FH

JNZSING

CLRTR0

JMPW1

SING:

DECA

MOV22H,A

RLA

MOVDPTR,#TABLE00

MOVCA,@A+DPTR

MOVTH0,A

MOV21H,A

MOVA,22H

RLA

INCA

MOVCA,@A+DPTR

MOVTL0,A

MOV20H,A

SETBTR0

SETBTR1

W1:

LCALLDELAY30

INC40H

LCALLKS

JNZSTOP

LJMPNEXT20

STOP:

CLRTR0

CLRTR1

LJMPMAIN0

TTM12:

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

当前位置:首页 > 初中教育 > 中考

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

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