青岛理工大学(临沂)毕业设计
当用户按下C键后,并选定某一乐曲,随即输入选定乐曲的序列号(1~4),即按下1~4数字键之一,简易自动乐曲播放器对选定的某一乐曲循环播放。
D键:从某一乐曲开始播放至最后一首乐曲
当用户按下D键后,并选定某一乐曲,随即输入选定乐曲的序列号(1~4),即按下1~4数字键之一,简易自动乐曲播放器就从选定的某一乐曲开始播放,直到乐曲播放完毕则停止。
E键:暂停/播放。
当用户按下E键时,简易自动乐曲播放器打断正在播放的某一乐曲,用户再次按下E键时,该乐曲继续播放。
F键:停止播放。
当用户按下F键时,简易自动乐曲播放器终止正在播放的某一乐曲。 本设计中按键作为输入部分,由P1口输入。
4.3 LED显示接口电路的设计
在单片机应用系统中,使用的显示器主要有LED显示器(发光二极管显示器)。这种显示器成本低廉,配置灵活,与单片机接口方便。在本系统的设计中采用LED显示器。
LED显示器由8位LED数码管组成,用于显示系统在各种不同条件下的状态。 用单片机驱动LED数码管有很多方法,按显示方式分,有静态显示和动态显示,按译码方式分为硬件译码和软件译码。
静态显示是显示驱动电路具有输出锁存功能,单片机将要显示的数据送出后不再控制LED,直到下次显示时再传送一次新的显示数据。静态显示的数据稳定,占用CPU时间少。
动态显示要CPU时刻对显示器件进行数据刷新,显示数据会有闪烁,占用的CPU时间多。
这两种显示方式各有利弊:静态显示虽然数据显示稳定,占用很少的CPU时间,但每个显示单元都需要单独的显示驱动电路,使用的电路硬件较多;动态显示虽然闪烁,占用的CPU时间多,但使用的硬件少,能节省线路板空间。
在本设计中由于显示部分比较简单,所以选用了静态显示方式,LED显示器由74LS373来驱动,为了扩展外部存储器需一块74LS373(地址锁存器) 。
13
青岛理工大学(临沂)毕业设计
LED发光器件一般常用的有两类:数码管和点阵。常用的数码管一般为8字型数码管,分为A、B、C、D、E、F、G、DP八段,其中DP为小数点。数码管常用的有10根管脚,每一段有一根管脚,另外两根管脚为一个数码管的公共端,两根之间相连通。
数码管从电路上来看可分为共阴和共阳两种,在本设计中用了共阳的LED。
4.4 扬声器控制电路的设计
扬声器控制电路用于发出不同频率的音调,是在P3.0口加一反相器再连接到喇叭这样就可够成。
4.5 硬件原理图
通过以上分析,本次设计的音乐播放器的电路原理图如图4-4所示。
14
青岛理工大学(临沂)毕业设计
图4-4 音乐播放器的原理图
15
青岛理工大学(临沂)毕业设计
第 5 章 音乐播放器的软件设计
软件设计的重点在于定时中断的设计、键盘控制、显示的实现、乐曲的演奏等方面。
5.1 主控软件的设计与流程图
主模块是系统软件的框架。本系统的主模块的程序框图可用图5-1来表示。主控模块用于控制系统的工作。该模块先初始化,接着接受到复位信号后读取键盘信号,再调用各键子程序。
B键子程序 Y N 读取键盘 是否有键输入? Y 是否是A键? N 是否是B键? N 是否是D键? Y N 是否是C键? Y D键子程序 Y A键子程序 开机加电 关闭定时器T0、T1 置定时器T0、T1工作方式 显示等待提示状态F C键子程序 图5-1 主控模块的流程图
主控程序主要源程序代码如下: START: MOV SP, #60H MOV TMOD, #11H MOV IE, #8AH
16

