基于单片机多模式带音乐跑马灯设计(附完整程序代码).doc
《基于单片机多模式带音乐跑马灯设计(附完整程序代码).doc》由会员分享,可在线阅读,更多相关《基于单片机多模式带音乐跑马灯设计(附完整程序代码).doc(26页珍藏版)》请在冰豆网上搜索。
单片机课程设计(论文)任务书
信息工程学院 学 院 计算机科学与技术 专 业 计算机2009-1 班
一、课程设计(论文)题目 基于单片机多模式的带音乐跑马灯设计
二、课程设计(论文)工作自2012年6月11日起至2012年6月24日止。
三、课程设计(论文)地点:
四、课程设计(论文)内容要求:
1.本课程设计的目的
(1)利用所学单片机的理论知识进行软硬件整体设计,培养学生分析、解决问题的能力,锻炼学生理论联系实际、综合应用的能力。
(2)使学生掌握系统各功能模块的基本工作原理;
(3)培养学生基本掌握电路设计的基本思路和方法;
(4)使学生掌握接收系统调试;
(5)培养学生分析、解决问题的能力;
(6)提高学生的科技论文写作能力。
2.课程设计的任务及要求
1)基本要求:
1、有八个发光二极管做跑马灯,其中跑马灯有8种模式。
2、有专门的键盘用以切换跑马灯的模式,并且对于任何一种跑马灯模式都可以对亮灯速度进行控制。
3、每一种跑马灯模式用LED数码管进行显示。
4、当跑马灯处于一种模式时,伴随的音乐响起,音乐至少有3首,并可以对其进行切换。
2)创新要求:
在基本要求达到后,可进行创新设计,如改善电路性能;对系统进行仿真分析。
3)课程设计论文编写要求
(1)要按照书稿的规格打印誊写毕业论文
(2)论文包括目录、绪论、正文、小结、参考文献、谢辞、附录等
(3)毕业论文装订按学校的统一要求完成
4)答辩与评分标准:
(1)完成原理分析:
20分;
(2)完成设计过程:
30分;
(3)完成调试:
30分;
(4)回答问题:
20分。
5)参考文献:
(1)张毅刚彭喜元彭宇.《单片机原理及应用》[M].北京:
高等教育出版社
(2)谭浩强.《C程序设计教程》[M].北京:
清华大学出版社
(3)
6)课程设计进度安排
内容天数 地点
构思及收集资料2 图书馆
组装与调试5 实验室
撰写论文3 图书馆、实验室
学生签名:
2012年6月24日
课程设计(论文)评审意见
(1)完成原理分析(20分):
优( )、良( )、中( )、一般( )、差( );
(2)设计分析 (30分):
优( )、良( )、中( )、一般( )、差( );
(3)完成调试 (30分):
优( )、良( )、中( )、一般( )、差( );
(4)回答问题 (20分):
优( )、良( )、中( )、一般( )、差( );
(5)格式规范性及考勤是否降等级:
是( )、否( )
评阅人:
职称:
副教授
2012年6月27
26
目录
一、设计概述 5
1.1设计目的:
5
1.3设计作用:
5
1.4设计要求:
5
二、设计的具体实现 6
2.1系统概述 6
2.2各模块分析 7
2.2.1主控芯片STC90C51 7
2.2.2STC90C51性能简介 7
2.2.3LED显示部分 7
2.2.4模式显示部分 8
2.2.5单片机部分 9
三、硬件电路设计及描述 9
3.1LED 9
3.2数码管 9
3.3复位电路及晶振电路 10
3.4蜂鸣器及按键 10
四、程序设计思想及流程 11
4.1程序设计思路 11
4.2音乐部分设计 13
五、电路的安装与调试 14
六、总结 16
七、参考文献 17
附录 18
实物图 18
程序清单 18
摘要
跑马灯,顾名思义,就是“会像马儿一样跑动”的小灯,故取名“跑马灯”。
跑马灯在单片机系统中一般是用来指示和显示单片机的运行状态,一般情况下,单片机的跑马灯由多个LED发光二极管组成。
在单片机运行时,可以在不同状态下让跑马灯显示不同的组合,作为单片机系统正常的指示。
当单片机系统出现故障时,可以利用跑马灯显示当前的故障码,对故障做出诊断。
此外,跑马灯在单片机的调试过程中也非常有用,可以在不同时候将需要的寄存器或关键变量的值显示在跑马灯上,提供需要的调试信息。
本设计使用STC90C51芯片,利用P0的8个端口连接8个发光二极管,通过P0.0到P0.7的值控制“跑马灯”的亮灭,以达到显示效果。
设计的中断程序要对多个按键动作进行响应,灯光变换的花样有8种,用按键k1切换。
按下k1键,程序将按八种模式循环切换,每按一次K1键,切换一次跑马灯模式,同时切换音乐。
关键词跑马灯;单片机;LED发光二极管
一、设计概述
1.1设计目的:
利用所学单片机的理论知识进行软硬件整体设计,培养学生分析、解决问题的能力,锻炼学生理论联系实际、综合应用的能力。
通过实践动手制作硬件和软件,综合应用本学期所学的单片机知识,达到加深学习该专业知识的目的。
1.2设计内容:
基于单片机的多模式带音乐跑马灯设计.
1.3设计作用:
通过发光二极管的动态闪亮,显示非常炫目的效果,应用于各种建筑物,大楼,酒吧,KTV,夜总会等娱乐场所,拖尾灯,以及各种休闲娱乐场所用的动态灯光显示,同时加上音乐的效果,可以制作出各种各样的炫目多彩的霓虹灯,为夜晚带来不一样的光彩。
1.4设计要求:
1、有8个发光二极管做跑马灯,其中跑马灯有8种灯亮模式。
2、有专门的键盘用以切换跑马灯的模式,并且对于任何一种跑马灯模式都可以对亮灯速度进行控制。
3、每一种跑马灯模式用LED数码管进行显示。
4、当跑马灯处于一种模式时,伴随的音乐响起,音乐至少有3首,并可以对其进行切换.
二、设计的具体实现
2.1系统概述
本设计的要求是设计一个有多种功能的走马灯,有多种不同的显示方式,速度控制功能,这里的速度控制还有显示方式都是由单片机内部的程序控制,在这里我将8个光二极管接在P0,通过程序控制这个端口的电平高低,将8个光二极管的正极接电源,负极接P0口,即发P0口的相应端口为高电平时,发光二极管的两端都为高电平,所以发光二极管不亮,当发光二极管的相应端口为低电平时就能被点亮。
再通过程序循环的让各个端口以不同的方式点亮来达到走马的效果,并且当中要有一定的延时,延时时间小于人眼视觉暂留时间,否则人眼看上去每个灯都是亮的也就没有跑马效果。
单片机演奏一个音符,是通过引脚,周期性的输出一个特定频率的方波。
这就需要单片机,在半个周期内输出低电平、另外半个周期输出高电平,周而复始。
半个周期的时间是多长呢?
众所周知,周期为频率的倒数,可以通过音符的频率计算出半周期。
演奏时,要根据音符频率的不同,把对应的、半个周期的定时时间初始值,送入定时器,再由定时器按时输出高低电平。
系统框图如图一:
蜂鸣器
LED显示阵列
MCU(STC90C51)
12M
晶振
复位
电路
8段共阴数码管
键盘
图一系统框图
2.2各模块分析
2.2.1主控芯片STC90C51
STC90C516RD+系列单片机是宏晶科技推出的新一代超性能、高速、低功耗的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可任意选择,内部集成MAX810专用复位电路,时钟频率在12MHz以下时,复位脚可直接接地。
且兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的STC90C51可为许多嵌入式控制应用系统提供高性价比的解决方案。
2.2.2STC90C51性能简介
STC90C51具有如下特点:
40个引脚,4kBytesFlash片内程序存储器,256bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,3个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
此外,STC90C51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
STC90C51芯片引脚图如图二:
图二STC90C51芯片引脚图
2.2.3LED显示部分
显示部分用8个发光二极管接在P0,这里需要注意的是P0口出I/O口输入输出的时候需要加上拉电阻,通过程序控制P0的8个端口按照一定的方式依次为低电平以点亮相应端口的LED。
此时通过按按键K1来切换跑马灯的模式,同时切换音乐。
按按键K2来控制跑马灯的速度。
LED阵列如图三:
图三LED显示阵列
2.2.4模式显示部分
模式即跑马的方式,共8种。
相应方式由数码管显示出来,每当模式按钮按下时,相应的模式加一,数码管显示相应模式。
本次实验数码管采用的是共阴极八段数码管,只对其abcdefg段编程。
共阴数码管结构如图四:
a各段代码b实物外观
图四共阳数码管结构
2.2.5单片机部分
该部分主要涉及功能的实现方式,即程序编写。
程序要实现的功能包括读键盘,通过对读入键盘的值控制LED点亮方式和数码管显示。
键盘有两个按键K1、K2,K1控制LED点亮模式,K2键控制跑马灯速度。
不论K1被按下多少次,LED八种点亮模式是循环的,K2键控制速度分别有上限和下限的,每当按下K2键,跑马灯的速度相应的减慢一个级别,当达到下限时,再次按K2键,跑马灯的速度变成最快的,和K1键类是,速度也是用了一个循环。
三、硬件电路设计及描述
3.1LED
本设计使用STC90C51芯片,利用P0的8个端口连接8个发光二极管,通过P0.0到P0.7的值控制“跑马灯”的亮灭,以达到显示效果,这里需要注意的是P0口内部没有上拉电阻,是开漏的,不管它的驱动能力多大,相当于它是没有电源的,需要外部的电路提供,作普通I/O输入输出,需要外接上拉电阻。
连接图如图五所示。
图五硬件电路LED二极管连接图
3.2数码管
本次实验采用的数码管是一位八段数码管,所以不需要位选,在硬件设计中我将数码管各个引脚接在芯片的P2口,同时加上上拉电阻,连接图如图六所示
图六数码管硬件电路连接图
3.3复位电路及晶振电路
对单片机来说,最小