51单片机的音乐跑马灯设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要
单片机技术是一门不可或缺的技术,对我们将来的工作以及生活和学习都有很密切的联系。近年来,随着电子技术和微机计算机的迅速发展,单片机的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。
本设计使用AT89C52芯片,利用P0的8个端口连接8个发光二极管,P1的8个端口连接8个发光二极管,通过P0.0到P0.7的值和P1.0到P1.7的值控制“跑马灯”的亮灭,以达到显示效果。设计的中断程序要对多个按键动作进行响应,灯光变换的花样有15种,用模式按钮切换。按下模式按钮键,程序将按十五种模式切换,每按一次模式按钮键,切换一次跑马灯模式,而加速按钮和减速按钮可以改变闪烁速度;最后一种模式为音乐模式,加速按钮可切换音乐。
在单片机运行时,可以在不同状态下让跑马灯显示不同的组合,作为单片机系统正常的指示。当单片机系统出现故障时,可以利用跑马灯显示当前的故障码,对故障做出诊断。此外,跑马灯在单片机的调试过程中也非常有用,可以在不同时候将需要的寄存器或关键变量的值显示在跑马灯上,提供需要的调试信息。
关键词:音乐跑马灯;AT89C52单片机;74LS245驱动芯片;LED发光二极管
1 设计概述 (1)
1.1设计目的 (1)
1.2设计作用 (1)
1.3设计要求 (1)
1.4系统设计框图 (1)
2元器件介绍 (3)
2.1AT89C52单片机 (3)
2.2驱动芯片74LS245 (3)
2.3其他元件及功能 (4)
3 硬件电路设计 (6)
3.1单片机最小系统 (6)
3.2LED显示部分 (7)
3.3按钮控制部分 (7)
3.4数码管显示电路 (8)
3.5蜂鸣器部分 (8)
3.6系统总电路图 (9)
4 软件设计 (10)
4.1 程序流程图 (10)
4.2 程序设计 (10)
5 结束语 (32)
参考文献 (33)
1 设计概述
1.1设计目的
利用所学单片机的理论知识进行软硬件整体设计,培养学生分析、解决问题的能力,锻炼学生理论联系实际、综合应用的能力。通过实践动手制作硬件和软件,综合应用本学期所学的单片机知识,达到加深学习该专业知识的目的。
1.2设计作用
跑马灯是一种能像马儿一样跑的灯,就是利用单片机控制LED灯的闪烁方式使其就像马儿奔跑时马蹄的起落。音乐跑马灯,就是在普通跑马灯的基础上加入了音乐,并通过喇叭将其在适当的时刻播放出来。
单片机的音乐跑马灯由16个LED发光二极管组成,在单片机系统中一般用来指示和显示单片机的运行状态。通过程序控制使得单片机不同状态下的16个LED发光二级管显示不同的组合,以此显示单片机的工作状态,也可检查单片机是否发生故障。当然,在实际生活中音乐跑马灯还有许多用处,其可以应用于各种建筑物、大楼、酒吧、KTV和夜总会等娱乐场所,可以制作出各种各样的炫目多彩的霓虹灯,为夜晚带来不一样的光彩。
1.3设计要求
⑴有16个发光二极管做跑马灯,其中跑马灯有16种灯亮模式。
⑵有专门的键盘用以切换跑马灯的模式,并且对于任何一种跑马灯模式都可以对亮灯速度进行控制。
⑶每一种跑马灯模式用LED数码管进行显示。
⑷当跑马灯处于一种模式时,伴随的音乐响起,音乐有3首,并可以对其进行切换。
1.4系统设计框图
基于AT89C52单片机的多模式带音乐的跑马灯控制系统由电路电源、单片机主控电路、模式切换以及调速按键控制电路、LED数码管显示电路和十六个发光二极管的跑马的电路几部分组成,系统框图如图1.1所示。
图1.1系统设计框图
2元器件介绍
2.1AT89C52单片机
AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。
AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。AT89C52单片机如图2.1所示。
图2.1 AT89C52单片机
2.2驱动芯片74LS245
74LS245是我们常用的芯片,用来驱动LED或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。
74LS245还具有双向三态功能,既可以输出,也可以输入数据。
当AT89C52单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入
74LS245等总线驱动器。
当片选端CE低电平有效时,BA=“0”,信号由 B 向 A 传输;AB=“1”,信号由 A 向B 传输;(发送)当CE为高电平时,A、B均为高阻态。
由于P2口始终输出地址的高8位,接口时74LS245的三态控制端1G和2G接地,P2口与驱动器输入线对应相连。P0口与74LS245输入端相连, CE端接地,保证数据线畅通。8051的RD和PSEN相与后接AB/BA,使得RD和PSEN有效时,74LS245输入(P0.1←D1),其它时间处于输出(P0.1→D1)。74LS245驱动芯片如图2.2所示。
图2.2 74LS245驱动芯片
2.3其他元件及功能
⑴ LED发光二极管:指示和显单片机状态。
⑵扬声器:播放歌曲。
⑶按钮:模式按钮用于切换单片机工作模式,加速按钮用于加快LED灯的闪烁频率,减速按钮用于减缓LED灯的闪烁频率,复位按钮用于人工复位。
⑷数码管:用于显示单片机当前处于何种模式。
⑸晶体振荡器:用于构成单片机的复位电路。
⑹电容:用于构成单片机的复位电路。
⑺电阻:限流分压作用,是电路正常工作并保护电路。