花样跑马灯设计报告
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
晶振
RST
P1 口
P0 口 AT89C51
P2 口 X1 X2
P3 口
LED 小灯 1 号到 8 号 LED 小灯 9 号到 16 号
三个控制按钮
数码管显示
图 1 总电路的原理框图
1.2 单片机最小系统
1)电源: 电源电路采用的是 USB 母口,提供+5V 的电压。其有四个引脚,1 引脚接的是 电源,4 引脚接地。由于 USB 接口使用的是开关电源,不是很稳定的。接 10UF 的去 耦电容起到缓冲的作用,可以得到稳定的+5V 电压。把电流比做水流,水流很急,但 去耦电容就像一条水沟,可以缓冲水流。电容的作用是蓄能的作用。
if(mb_Count==15) Dirtect =!Dirtect;
break;
case 4: if(Dirtect) Led_Demo(0x003F << mb_Count);
else
Led_Demo(0xFC00 >> mb_Count);
if(mb_Count==15) Dirtect =!Dirtect;
9
宿州学院
微机应用课程设计
单的测试,保证能正常运行,接下来编写单个的子状态程序,写完一个测试一个,这 样保证了最后调试的成功率。在编写程序过程中需要很好的编写习惯,结构要明显, 标明注释,随时存档,程序尽量简约。
总之,这次课程设计我又学到不少知识,不仅是专业方面的,还有为人处事方面, 遇到不明白的问题要虚心请教,同时也要积极帮助遇到困难的同学,团结协作,互帮 互助!
5
宿州学院
微机应用课程设计
共阳极的管脚示意图如下:
图 7 共阳极数码管原理图
图 8 共阳极管脚示意图
要使 LED 数码管显示数字,只要点亮相应字段的发光二极管即可。如要显示“1”, 点亮 b、c 段;要显示“0”,点亮 a、b、c、d、e、f 段。从图中不难看出,对于共阳 极数码管,点亮字段则用低电平“0”来表示,所以低电平有效。这样我们就可以把 要显示的数字与一串二进制代码对应起来,即对 LED 数码显示器实现编码。由于这种 编码是与显示器结构相对应的,因此不考虑小数点的编码只有七位,常称为七段显示 码;如果对小数点也进行编码,则称为八段显示码。
11
宿州学院
附录二
LED 彩灯控制系统仿真电路图
微机应用课程设计
12
宿州学院
微机应用课程设计
附录三
程序清单
#include<reg51.h> #define uchar unsigned char #define uint unsigned int uchar ModeNo; uint Speed; uchar tCount=0; uchar Idx; uchar mb_Count=0; bit Dirtect=1; uchar code DSY_CODE[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; uint code sTable[]={0,1,3,5,7,9,15,30,50,100,200,230,280,300,350}; void Delay(uint x) {
序 测试项目
号
wk.baidu.com
测试方法
测试结果
行状态分析
打开仿真电路图,加
是否能正常工
1
载程序,点击开始运
作
行。
无任何错误提示
仿真电路正常
2 彩灯花型控制
运行仿真,按下按键 K1 一到八次,观察彩 灯显示效果。
对应按键次数按下,彩 灯出现不同花型。
本设计实现了 多控制、多闪烁 的 LED 彩 灯 循 环。
当闭合 K2 时,彩灯循 本 设 计 实 现 了
二 设计要求:
1 硬件电路设计及描述 1.1 总体设计
通过模式键改变单片机的工作模式,进行程序控制,一共八个模式。LED 灯工作 在不同的模式下有不同的现象。用加速减速按钮来控制 LED 灯闪亮的快慢。对基于单 片机的走马灯控制系统进行设计,所设计的系统为:以 MCS-51 系列单片机作为控制 核心。单片机执行指令是在时钟脉冲控制下进行的,因此单片机必须外接振荡器构成 时钟电路才能正常工作。
本次课程设计,我有以下几点体会: 1.要注意细节。细节决定成败,这句话在这次课题中不仅一次得到了印证,小到 一个引脚的连接,一点点的错误都会使整个电路无法运行,因此我们不仅仅要有整体 意识,也要注意细节,不要因为一个小小的细节而导致满盘皆输。
2.要与同学们互相沟通、交流 。第一次做微机原理课程设计,难免会遇到各种 各样的问题,因此我们遇到问题,就要积极地与同学交流,必要时向老师请教,比如 我就遇到过这样的问题:刚着手此设计时,不知道如何下手,但经过老师的指导及自 己查阅相关的资料,逐渐有了自己的设计想法,制定出了系统的结构框图。软件设计 是耗时最长的一项,涉及到整个系统工作的稳定性。首先要编写总体框架,然后做简
按闭合 K2 或 K3,观察 环闪烁变快,闭合 K3 用 快 慢 两 种 节 3 节奏快慢控制
彩灯循跳动节奏。 时,彩灯循环闪烁变 拍 实 现 花 型 交
慢。
换。
经以上仿真上测试证实,能实现本设计系统要求的预期的功能。
8
宿州学院
微机应用课程设计
图 11 仿真电路图
4 结论
通过学习为期一周的课程设计,不仅了解了 AT89C51 的功能,还加强了单片机的 理论知识的了解,而且进一步理解了理论与实际相结合这一永恒话题。不仅如此,此 次设计也锻炼了我分析问题、思考和解决问题的能力,更令我的创造性思维得到了拓 展。
break;
uchar i; while (x--) for(i=0;i<120;i++); } uchar GetKey() {
uchar K; if(P2==0xFF) return 0; Delay(10); switch(P2) {
case 0xFE: K=1; break; case 0xFD: K=2; break; case 0xFB: K=3; break;
图 6 数码管显示电路
LED 数码显示器由七段条形的发光二极管组成“ 8 ”字形显示字段,用一只圆 形的发光二极管做小数点。LED 数码显示器中,通常将各段发光二极管的阴极或阳 极连在一起做公共端,这样可以使驱动电路简单。共阳极数码管是指发光二极管的阳 极都与正极接在一起,引脚接输出端,故低电平有效,其原理图如下;
10
宿州学院
微机应用课程设计
附录一
参考文献
[1] 周国运.单片机原理及应用[M].北京:中国水利水电出版社,2009 [2] 陈梓城.模拟电子技术基础[M].北京:高等教育出版社,2007 [3] 陈正义.单片机控制实习[M].北京:人民邮电出版社,2006 [4] 李朝青.单片机原理及接口技术[M].北京:人民邮电出版社,2006
宿州学院
微机应用课程设计
宿州学院
微机应用课程设计报告
课题名称:花样跑马灯设计 专 业:电气工程及其自动化 班 级:10 电气(1)班 姓 名:卢翠翠 学 号:2010080407 地 点:工 C310 时 间:13.5.27——13.5.31 指导老师:李文艺,李娜,汪材印
1
宿州学院
微机应用课程设计
单片机对接口电路的控制是由软件向单片机的 I/O 口来实现的。AT89C51 单片机 内部有两个定时/计数器,可以用其中的一个定时器来对时间进行计数,而另一个可 以对显示器延时进行定时并通过中断把相应的数据通过 I/O 口送给显示器显示。同时 通过对外部按键的状态判断来进行时间的调整。
2
宿州学院
微机应用课程设计
2)晶振:
图 2 电源电路
晶振为单片机提供时钟信号。
3
宿州学院
微机应用课程设计
图 3 晶振电路
1.3 按键控制电路
按键用独立式按键表示。按键控制电路(如图 4 所示)是由 3 个按键开关构成的。 K1 接 P2.0,K2 接 P2.1,K3 接 P2.2 上。开关 K1 控制 LED 彩灯闪烁方式,共八种显示 方式。开关 K2 使彩灯闪烁速度加快,开关 K3 使彩灯闪烁速度减慢。
(1)该类型的 delay()函数采用的延时是通过对变量进行递减或递增实现的,很 难计算精确的延时时间。
(2)由于跑马灯的状态函数和延时函数是和主任务耦合到一起的,因此主任务的 执行时间要对延时的时间产生影响。假设一个跑马灯的延时函数的延时时间是 1s, 但是由于主函数可能存在不同的分支,因此当主函数执行不同分支程序时,实际的跑 马灯延时时间是不一样的。流程图如下图 9 所示。
{
if (++tCount < Speed) return;
tCount=0;
switch (ModeNo)
{
case 0: Led_Demo(0x0001 << mb_Count);break;
case 1: Led_Demo(0x8000 >> mb_Count);break;
case 2: if(Dirtect) Led_Demo(0x000F << mb_Count);
6
宿州学院
微机应用课程设计
2 软件电路设计及描述
本课程设计是采用 89C51 单片机设计的可以调控的跑马灯,通过 keil 进行 c 语 言编程,通过 protues 进行软件硬件仿真。本设计成果,主要通过按键开关对跑马灯 进行控制,包括跑马灯模式的选择、跑马灯模式的显示、跑马灯速度变化控制。
定时器中断延时程序设计:采用 delay()函数进行的延时是不精确的,主要有以 下两个原因。
开始程序
程序主体
条件判断
程序分支
跑马灯延时
图 9 流程图
7
宿州学院
微机应用课程设计
采用中断来进行跑马灯的状态更换有以下几个优点。 (1)采用中断函数进行延时,可以精确保证延时的精度,即有效地保证跑马灯 状态更换的频率; (2)采用中断函数进行跑马灯状态的更换,在进行延时期间,并不占用单片机 资源,单片机可以执行其他的任务。
else
Led_Demo(0xF000 >> mb_Count);
if(mb_Count==15) Dirtect =!Dirtect;
break;
case 3: if(Dirtect) Led_Demo(~(0x000F << mb_Count));
else
Led_Demo(~(0xF000 >> mb_Count));
图 4 按键电路
1.4 LED 彩灯显示电路
LED 显示模块采用 16 个发光二极管并联在电源上,其中一边 8 个二极管接在 P1 口上,另外 8 个二极管接在 P0 口,上拉电阻与之分别并联。
4
宿州学院
微机应用课程设计
图 5 LED 显示模块
1.5 数码管显示电路
发光二极管显示管简称 LED,具有结构简单、价格低廉、使用方便、耗电少、 与单片机接口容易等特点,在单片机应用系统使用非常普遍。
3 系统调试
本系统的调试是把在 Keil 里面写好的程序通过编译不出现任何错误后将生成的 后缀名为.HEX 的文件加载到 AT89C51 单片机中。接下来我们将在 PROTEUS 软件进 行软硬件结合的调试。
图 10 程序编译
下面是在 PROTEUS 软件仿真系统中的调试结果,如表 1:
表 1 测试结果及状态分析
default: K=0; } while (P2!=0xFF); return K; } void Led_Demo(uint Led16) {
13
宿州学院
微机应用课程设计
P1=(uchar)(Led16 & 0x00FF);
P0=(uchar)(Led16 >>8);
}
void T0_TNT() interrupt 1
一 设计目的:
众所周知,跑马灯以其绚丽的色彩赢得人们喜爱,在人们的日常生活中很常见, 并在一些特定的节日里,重要场合中起着绚烂节日气氛,带给人们欢乐的作用。可以 调控的花样跑马灯可根据人们不同的意愿进行编程,设计出想要变换的色彩效果。随 着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯,例如在城市夜 景中,变幻多姿的霓虹灯历来是一道亮丽的风景。但目前市场上各式样的 LED 彩灯 控制器大多数用全硬件电路实现,电路结构复杂、功能单一,只能按照固定的模式闪 亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态 参数。利用单片机的自动控制功能,设计出相应不同的电路,可以实现彩灯不同模式 的流水效果,而且单片机具有体积小,功能强,成本低,应用面广等优点,能减少实 际应用过程中很多不必要的麻烦,因此对现有的彩灯控制器进行改进很有必要。