青岛理工大学(临沂)毕业设计
简谱音阶 1 2 3 4 5 6 7 频率/ Hz 1046 1175 1318 1397 1568 1760 1967 定时初值(Hex) 65058 65110 65157 65178 65217 65252 65283 表中序号 15 16 17 18 19 20 21
3.1.3 乐曲节拍的计算
取乐曲节拍的长度为0.4s ,即1拍=0.4s ,由定时器T1控制延时。设置定时器T1的定时中断T=50ms ,采用定时方式1。
由:(216?X)?12?T ,则定时初值X=3C0BH fosc因此1拍=0.4s=8*50ms,即通过定时器T1的定时中断8次,产生8*50ms的定时,就可以满足1节拍的定时要求。以此类推,通过定时中断N次,可产生N*50ms的定时以满足1/4拍、1/2拍、1拍、2拍等不同节拍的定时要求。由此可知,节拍值只能是整数值。不同节拍在单片机中的中断次数(音长)对应如下:
节 拍 1/8 1/4 1/2 3/4 1 3/2 2 3 4 时间长度 0.05s 0.1s 0.2s 0.3s 0.4s 0.6s 0.8s 1.2s 1.6s 音长(Dec) 1 2 4 6 8 12 16 24 32 音长(Hex) 01H 02H 04H 06H 08H 0CH 10H 18H 20H
3.1.4 乐谱在程序中的编制
将乐谱转换为代码,应包含乐曲的总长度、音阶、音长(节拍)等信息。 具体设计如下:
(1) 将音阶代码组成一个字节,节拍代码组成一个字节,按照:音阶代码,节拍代码,音阶代码,节拍代码 ?? 的顺序,将一个乐谱转换为一定长度的代码数据表。
(2) 在程序执行时顺序查此表,取出音阶代码,并根据音阶代码查频率表,以得到该音阶对应的频率,随后将对应的定时初值送定时器T0,使定时器T0产生该音阶对应的频率,并通过P3.0口输出,驱动外接扬声器发声。
(3) 取出节拍代码N,由定时器T1控制延时,通过定时中断N次,产生N*50ms的定时。
9
青岛理工大学(临沂)毕业设计
T0、T1启动后,根据乐谱表,某一个音阶发出相应频率的声音,并持续相应的节拍,连续起来,我们就可以听到一个完整乐曲的演奏。
3.2 系统中应用的关键技术
基于单片机的音乐播放器在设计时需要解决以下4个方面的问题: · 有关单片机中定时器的使用。 · 利用键盘控制实现对单片机的控制。 · LED显示模块的驱动和编制。
· 扬声器控制电路,用于发出不同频率的音调。
第四章 音乐播放器的硬件设计
一个完整的音乐播放器电路相当于一个简单的单片机系统,该系统由按键开关、单片机、晶振和复位电路、LED显示电路、扬声器控制电路5个方面构成。其中,除了单片机是集成的IC芯片,而其他4个部分则需根据应用要求而设计。
4.1 单片机最小系统
单片机芯片,配以必要的外部器件就能构成单片机最小系统。单片机具有较强的外部扩展、通信能力,能方便地扩展至应用系统所要求的规模。
当使用带ROM或EPROM的MCS-51系列单片机时,只要一个芯片即可构成一个单片机的最小系统。选用80C51或8051或AT89C51单片机作为主机,它们都具有4K片内ROM,128字节片内RAM,片外ROM寻址范围达64K,片外RAM寻址范围达64K,2个16位计数器,5个中断源,4个并行口,1个串行口。简易自动乐曲播放器采用单片机最小系统足以满足系统设计要求,同时要设计单片机最小系统的晶振和复位电路。
4.1.1 单片机复位电路
复位是单片机的初始化操作,其作用是使CPU中的各个部件都处于一个确定的初始状态,并从这个状态开始工作。当8051的ALE及 两脚输出高电平,RST引脚高
10
青岛理工大学(临沂)毕业设计
电平时,单片机复位。
8051单片机的复位电路有上电复位和手动按钮复位两种形式,RST/VPD端的高电平直接由上电瞬间产生高电平则为上电复位;若通过按钮产生高电平复位信号称为手动按钮复位。图4-1为兼有上电复位与按钮复位的电路。图中,上电瞬间RST端的电位与Vcc相同,随着电容充电电流的减小,+5V立即加到了RST/VPD端,该高电平使8051复位。若运行过程中,需要程序从头开始执行,这只需按图4-1中的按钮即可。按下按钮则直接把+5V加到了RST/VPD端从而复位,这称为手动复位。在实际应用系统中,有些外围芯片也需要复位,如果这些复位端的复位电平要求与单片机的要求一致,则可以与之相连。
4.1.2 单片机晶振电路
晶振是给单片机提供工作信号脉冲的,这个脉冲就是单片机的工作速度。比如 12M晶振,单片机工作速度就是每秒 12M。当然,单片机的工作频率是有范围的,不能太大,一般 24M就不上去了,不然不稳定 。图4-2为晶振电路。
图4-1 复位电路
11
青岛理工大学(临沂)毕业设计
图4-2 晶振电路
4.2 键盘接口电路的设计
单片机应用系统中的人机对话通道是用户为了对应用系统进行干预以及了解应用系统运行状态所设置的通道。主要有键盘、显示器等通道接口。
在单片机应用系统中,为了控制系统的工作状态以及向系统中输入数据,应用系统设置键盘,用于系统复位,功能转换以及数字输入。键盘的设置可以实现人机对话,借助键盘可以向计算机系统输入程序、置数、送操作命令、控制程序的执行走向等。
在本次设计中键盘由P1口输入, 按键设置:1~4四个数字键,A~F六个功能键。 数字键(1~4): 用于输入1~4共4首乐曲的序列号。 功能键(A~F): A键:乐曲从1~4按顺序播放
B键:乐曲从1~4循环播放 C键:循环播放某一乐曲
D键:从某一乐曲开始播放至最后一首乐曲 E键:暂停/播放 F键:停止播放
各功能键(A~F)的意义与操作:
A键:乐曲从1~4按顺序播放。
当用户按下A键后,LED显示器清屏,简易自动乐曲播放器按照从头到尾的顺序自动播放预先设定的1~4共4首乐曲,全部乐曲播放完毕则停止。
B键:乐曲从1~4循环播放。
当用户按下B键后,LED显示器清屏,简易自动乐曲播放器按照从头到尾的顺序自动循环播放预先设定的全部乐曲。
C键:循环播放某一乐曲
12

