单片机课程设计报告--简易音乐播放器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章前言

伴随着科技的发展和时代的进步,人们对生活质量的要求也越来越高,由以前简单的追求温饱和物质财富转向更高层面的精神追求!而这一切催生了智能仪

器的发展,音乐则是人们娱乐生活的重要组成部分,目前市场上出现了许许多多的音乐播放器,而人们对播放器的功能需求也越来越广泛,本文将设计一个基于单片机的音乐播放器,通过对其全面的介绍与分析,让大家了解音乐播放器的原理!

第二章:简易音乐播放器的功能和原理说明

音乐播放器,可以通过单片机板子上的数字按键对音乐播放的曲目进行控制,并且通过LED灯将播放的音乐加以区分,在播放音乐的同时点亮LED 灯, 让人知道现在正在播放的音乐曲目,从而实现简单的音乐播放功能!

表1需求分析

功能说明:这次设计是依据单片机技术原理,通过硬件电路设计以及软件的编译而设计的一个简单的音乐播放器,可以通过按键选择播放四首歌曲(歌曲自选,只要将想要播放的歌曲的乐谱写入程序中即可)同时点亮相应的LED灯,并用它来指示当前播放的歌曲序列,只能实现简单的音乐播放功能。

原理说明:这个音乐播放器主要有晶振电路,复位电路,LED电路,按键

电路以及扬声器组成。它利用单片机产生乐曲音符,再把乐曲音符翻译成计算机音乐语言,接着用单片机进行信息处理,再通过蜂鸣器或喇叭放出音乐。音乐的产生主要是通过单片机的I/O 口输出高低不同的脉冲信号来控制扬声器发音。通常利用单片机的内部定时器0,工作在方式1下,再改变计数初值TH0和TL0 来产生不同频率。当控制歌曲按键按下时,按照预先存放在单片机中的程序,就

会自动判断键值,然后启动计数器,按照程序产生一定频率的脉冲,接着通过

uln2003芯片驱动扬声器,播放出乐曲。该硬件电路中用 P3.0, P3.1, P3.2, P3.3 控制四个按键,“0” , “ 1”,“2”,“3”分别控制四首音乐。P1.0,P1.1, P1.2, P1.3 控制四个LED 灯,它们分别对应四个按键,用来显示正在播放的歌曲,并用P2.3 来控制扬声器,电路为12MHz 晶振频率工作,起振电路中 C1和C2为22pf 。

第三章:系统硬件电路设计

1:硬件体系结构设计

该简易音乐播放器主要有单片机核心芯片 89C52, LED 发光二极管,

扬声器,晶振电路,按键电路,复位电路组成,通过芯片引脚输出定时器产生的 各种固定频率的方波信号,然后在经由扬声器产生各种频率的声音。 另外,该方 案使用的是单片机板子的内部振荡电路,89C52芯片的X1 , X2引脚外接石英晶 体。它的系统组成如图所示。

(1)晶振电路部分

晶振的作用是给电路提供工作信号脉冲的,其实就是单

片机的工作速度。本次设计选用 12M 晶振,则单片机的工作速度就是每 秒12M 。与此同时,也要注意单片机的工作频率范围。

当系统出现问题时可以重置系统,解决一些问题 显示系统在各种不同条件下的状态 整个设计的核心,接收和处理信号及程序

(2) 复位电路部分 (3)

LED 显示部分 (4) 89C52 芯片 (5)按键电路部分

作为系统的输入

(6)扬声器部分 用于发出不同频率的音调形成歌曲

2硬件电路设计

硬件电路分为单片机芯片最小系统(包括时钟电路,复位电路) ,扬声器电 路,按键电路和LED 电路等

(1)单片机89C52芯片最小系统设计

AT89C52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编 程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业 80C 产品指令和引脚完全兼容。片上Flash 允许程序存储器在系统可编程,亦适于常 规编程器。在单芯片上,拥有灵巧的8位CPU 和在系统可编程Flash,使得 AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 AT89S52 具有以标准功能:8k 字节Flash, 256字节RAM ,32位I/O 口线,看门狗定时器, 2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行 口, 片内晶振及时钟电路。另外,AT89S52可降至OHz 静态逻辑操作,支持2种软件 可选择节电模式。空闲模式下,CPU 停止工作,允许RAM 、定时器/计数器、串 口、中断继续工作。掉电保护方式下, RAM 内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。它的引脚图如图2所示

图2

主要性能参数:

与MCS-51单片机产品兼容

8K 字节在系统可编程Flash 存储器 1000次擦写周期

PIO j P~ P~ P TJT P TJT P ~

P1T7

P TTT

9 piTTT P3212 P3313 P341T P3515 P3616 P3T17

xn?

12 3 4 5 6 7

P3.1 TXD P3.2 INTO P3.3 rNTl P3.4TO P3.5 T1 P36WR P3.7RD X2 XL GXD

40

"35"

37

"36"

3S

34

33

32

31

30

29

28

27

26

2S

24

22

21

c o 1 2 3 4 5 7 D E 7 6 5 4 3 X 1 c 0O.D OJ0.Q 0 0 D I

E 22 2 2 2 22Z ¥PPPPPPPP

AEPPPPPPPP

全静态操作:OHz〜33Hz

三级加密程序存储器32个可编程I/O 口线三个16位定时器/计数器八个中断源全双工UART串行通道

低功耗空闲和掉电模式掉电后中断可唤醒看门狗定时器双数据指针掉电标识符引脚介绍:VCC : 电源GND: 地

P0 口:P0口是一个8位漏极开路的双向I/O 口。作为输出口,每位能驱动8个TTL 逻辑电平。对P0端口写“ 1”时,引脚用作高阻抗输入。

当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。

在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。

P1 口:P1 口是一个具有内部上拉电阻的8位双向I/O 口,pl输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“ 1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2

的触发输入(P1.1/T2EX),具体如下表所示。

在flash编程和校验时,P1 口接收低8位地址字节。

P2 口:P2 口是一个具有内部上拉电阻的8位双向I/O 口,P2输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“ 1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX

@DPTR)

时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用

8位地址(如MOVX @RI )访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。

P3 口:P3 口是一个具有内部上拉电阻的8位双向I/O 口,p2输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入

口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。

在flash编程和校验时,P3 口也接收一些控制信号。

RST:复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门

狗计时完成后,RST 脚输出96 个晶振周期的高电平。特殊寄存器AUXR(地址

8EH)上

的DISRT O位可以使此功能无效。DISRT O默认状态下,复位高电平有效。

ALE/PROG :地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或

时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“ 1”,ALE操作将无效。这一位1”

ALE仅在执行MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。这个

相关文档
最新文档