数码管的驱动电路如下图(图11)所示,单片机的PO口与数码管的数据口相连接,数码管的共阳端通过1个1k的电阻连接到系统的GND。这样,只要通过单片机调用已经编写好的数码管编码到P0口,即可将预先设计的数字显示在数码管上。

  图11 数码管驱动电路

3。5 按键输入模块

在单片机中,按键输入方式有独立键盘及矩阵键盘两种。独立键盘长处是硬件电路结构简单,通常是用在对硬件电路要求不高的简单电路中,程序简单;矩阵键盘,第一,硬件电路、程序算法复杂烦琐,长处是节省端口资源,因此它更适合于多按键电路。第二,能消除在按键过程中产生的“毛刺”现象。

本设计中由于需要的按键数目少,所以使用独立键盘这样的按键输入方式,结合延时重复扫描法。因为只有“开始/暂停”、“上一曲”、“下一曲”,“复位”四个按键,使他们分别连到了单片机的P32、P33和P34接口。按键的连接图12所示:

图12 按键电路

4。 软件设计

4。1 程序语言及开发环境

C语言是一种与java类似的强类型计算机编程语言,它具有高级语言和汇编语言的特点[5]。应用范围广泛,逻辑性思维强,具备数据处理能力,并且在单片机以及嵌入式系统开发、软件开发等很多地方都有应用。

Keil 软件系统能与51系列单片机兼容,基于C语言环境的软件开发系统,相对于汇编语言,C语言具有可读性、可维护性等。Keil能提供完整开发方案,通过一个集成开发环境将宏汇编、C编译器、连接器和仿真调试器组合在一起[9]。所以使用C语言编程,Keil是最适合的开发系统。来;自]优Y尔E论L文W网www.youerw.com +QQ752018766-

4。2 总体程序设计

4。2。1 总体流程图

整个程序流程图如图13所示。一,程序开始运行时,先顺序执行,先判断“播放/暂停”键是否被按下。如果播放/暂停被按下,则需要判断是暂停播放还是开始播放,若处于暂停状态,则把暂停状态变为播放,同时数码管会显示当前歌曲序号,开始播放音乐;若播放状态为播放的话,则把状态改为暂停,停止歌曲播放。之后又会进入一个条件判断选择中,判断条件是“上一曲”按键是否被按下,若按下则把歌曲切换到上一曲并播放,更新数码管的歌曲序号显示,接着进入到“下一曲”键是否被按下的条件判断中。如果是按下,则把歌曲切换到下一曲,更新数码管的歌曲序号显示,直到播放结束退出程序。如果定时器初始化之后播放/暂停没有被按下,则需判断“上一曲”按键是否被按下,如果没有被按下则需判断下一曲按键是否被按下,最后结束运行,退出程序。

上一篇:AT89C51单片的交通灯智能控制系统的设计+电路图+程序
下一篇:AT89C51单片机汽车雷达设计+电路图+程序

STC89C52单片机的温度控制系统设计+电路图

STM32单片机数字回转库控制系统设计+PCB电路图

AT89C51单片机电力电缆温度...

STM32单片机的电力系统数字频率计设计+流程图

STC90C51RD+单片机的纺织机械...

单片机的纺织机械电机保护系统设计任务书

STC89C52单片机超声波和红外...

网络语言“XX体”研究

安康汉江网讯

我国风险投资的发展现状问题及对策分析

麦秸秆还田和沼液灌溉对...

张洁小说《无字》中的女性意识

互联网教育”变革路径研究进展【7972字】

LiMn1-xFexPO4正极材料合成及充放电性能研究

老年2型糖尿病患者运动疗...

ASP.net+sqlserver企业设备管理系统设计与开发

新課改下小學语文洧效阅...