湖南铁路科技职业技术学院单片机课程设计说明书
在开机按钮按下时有英文欢迎提示字符,播放时显示歌曲序号(或名称)。在演奏过程中可通过功能键选择乐曲,暂停,播放。
10
湖南铁路科技职业技术学院单片机课程设计说明书
2总体方案论证与设计
本设计是基于单片机的数字音乐盒设计,由单片机AT89C51芯片和LED数码管为核心,辅以必要的电路,构成的一个单片机电子数字音乐盒。要求利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调并采用LCD显示信息,从而演奏乐曲,开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称),可通过功能键选择乐曲,暂停,播放。本设计采用4*4键盘,16*2 LCD,七段显示数码管LED。下面对各模块的设计逐一进行论证比较。
2.1 单片机的选取
首先选择单片机中最为普遍的MCS51系列。其中AT89C2051是美国ATMEL公司生产的低电压、高性能CMOS 8位单片机,片内含2k bytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C2051单片机可应用于许多高性价比的应用场合。
主要性能:
? 和MCS-51产品兼容;
? 2KB可重编程FLASH存储器(1000次); ? 2.7-6V电压范围; ? 全静态工作:0Hz-24KHz ? 2级程序存储器保密锁定 ? 128*8位内部RAM ? 15条可编程I/O线 ? 两个16位定时器/计数器 ? 6个中断源 ? 可编程串行通道
? 高精度电压比较器(P1.0,P1.1,P3.6) ? 直接驱动LED的输出端口
11
湖南铁路科技职业技术学院单片机课程设计说明书
由于完成核心功能——音频输出只需一个I/O口,并且额外功能LED移位显示可根据所选单片机的剩余I/O口进行设计,因此AT89C2051足以满足基本要求。其20个引脚体积小巧,内部2k字节的程序存储器容量适中,低压低频工作条件,并且价格低廉容易购得。
综上,本次设计选择AT89C2051单片机。
2.2 LED显示方式
方案一:静态显示。将一帧图像中的每一个二极管的状态分别用0和1表示,若为0,则表示LED无电流,即暗状态;若为1则表示二极管被点亮。若给每一个发光二极管一个驱动电路,一幅画面输入以后,所有LED的状态保持到下一幅画。对于静态显示方式,所需的译码驱动装置很多,引线多而复杂,成本高,且可靠性也较低。
方案二:动态显示。对一幅画面进行分割,对组成画面的各部分分别显示,是动态显示方式。动态显示方式,可以避免静态显示的问题。但设计上如果处理不当易造成亮度低,闪烁问题。因此合理的设计既应保证驱动电路易实现,又要保证图像稳定、无闪烁。动态显示采用多路复用技术的动态扫描显示方式,复用的程度不是无限增加的,因为利用动态扫描显示使我们看到一幅稳定画面的实质是利用了人眼的暂留效应和发光二极管发光时间的长短,发光的亮度等因素。通过实验发现,当扫描刷新频率(发光二极管的停闪频率)为50Hz,发光二极管导通时间≥1ms时显示亮度较好,无闪烁感。
鉴于上述原因,采用方案二。
2.3 LED驱动模块
方案一:采用静态锁存方式,将每一个LED发光管的一端接至单片机的一个I/O口,另一端通过电阻接电源。这种方法可以直接驱动LED,原理简单,驱动能力强,LED的亮度也可以通过限流电阻调节,非常方便,但此种方法太浪费单片机的I/O口,只适合于较小的系统。
方案二:采用动态扫描方式,通过三极管驱动并联在一起的LED发光管的一端(共阴或共2端),LED发光管的另一脚接通用I/O口,控制其亮灭。
12
湖南铁路科技职业技术学院单片机课程设计说明书
该方法能驱动较多的LED,控制方式较灵活,而且节省单片机的资源。
比较以上两种方案,系统设计中采用方案二。
2.4 系统总体结构框图
13
湖南铁路科技职业技术学院单片机课程设计说明书
3系统硬件设计
本设计中用到了AT89C51单片机,4*4键盘,蜂鸣器,2 LCD等硬件电路常用元器件。
3.1 AT89C51 芯片功能和硬件连接
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
3.1.1主要特性:
·与MCS-51 兼容 ·4K字节可编程闪烁存储器 ·寿命:1000写/擦循环 ·数据保留时间:10年 ·全静态工作:0Hz-24Hz ·三级程序存储器锁定 ·128*8位内部RAM ·32可编程I/O线 ·两个16位定时器/计数器 ·5个中断源 ·可编程串行通道 ·低功耗的闲置和掉电模式 ·片内振荡器和时钟电路
3.1.2 管脚说明(如图3.1): 图3.1
VCC:供电电压。 GND:接地。
14