最新单片机的花样彩灯设计.docx
《最新单片机的花样彩灯设计.docx》由会员分享,可在线阅读,更多相关《最新单片机的花样彩灯设计.docx(19页珍藏版)》请在冰豆网上搜索。
最新单片机的花样彩灯设计
单片机的花样彩灯设计
课程设计报告书
题目:
单片机控制的花样彩灯设计
专业:
电气工程及其自动化
(1)班
学号:
学生姓名:
指导教师:
2010年12月1日
南昌工程学院
课程设计(论文)任务书
一、课题设计(论文)题目:
基于单片机控制的花样彩灯设计
二、课程设计(论文)使用的原始资料(数据)及设计技术要求:
设计要求:
以MCS51单片机为核心,辅以外围接口电路,设计一个由键盘控制的四种花样LED闪烁彩灯,使八个LED实现流水灯(跑马灯)、逐点点亮、间隔点亮、逐点熄灭四种花样。
要求采用键盘查询方式(非中断方式)实现花样转换。
在当前花样循环显示时,按下相应的花样选择按钮,能立即转换至对应的闪烁花样(但必须在去干扰或消除抖动之后)。
四个按钮S1、S2、S3、S4分别对应花样1、花样2、花样3、花样4。
程序开始运行时自动执行花样1(流水灯)。
时间间隔采用定时/计数器控制为1S左右(误差不超过10%)。
1、单片机控制系统硬件电路设计,包括单片机时钟和复位电路的设计、LED驱动和键盘设计等。
2、控制软件设计与调试,包括1S定时功能的实现、键盘响应程序和显示控制程序等。
三、课程设计(论文)工作内容及完成时间:
1、查找相关文献,进行方案选择。
2天11.22---11.23
2、系统硬件电路设计,绘制电路原理图。
3天11.24---11.26
3、绘制软件流程图,编写与调试软件。
3天11.29---12.1
4、完成课程设计报告,答辩。
2天12.2---12.3
四、主要参考资料:
1、《单片机原理及应用》,李建忠,西安电子科技大学出版社,2002年
2、《单片微型计算机与接口技术》,李群芳等,电子工业出版社,2002年
3、《单片微型计算机原理与接口技术》,陈光东等,华中科技大学出版社,1999年
4、《单片机实验与实践》,周立功等,北京航空航天大学出版社,2004年
5、《开放式综合实验/仿真系统MCS51实验分册》,伟福公司
电气与电子工程系07电气工程电力系统专业1班
学生:
王文虎
日期:
自2010年11月22日至2010年12月3日
指导教师:
章彧
助理指导教师(并指出所负责的部分):
教研室:
电气工程教研室主任:
1.1引言4
随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。
LED彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰已经成为一种时尚。
但目前市场上各式样的LED彩灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。
这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。
此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。
因此有必要对现有的彩灯控制器进行改进。
4
课程设计是学完一门课后应用本课知识及以前的知识积累而进行的综合性、开放性的训练,是培养学生工程意识和创新能力的重要环节。
进一步巩固和加深“单片机”课程的基本知识,了解单片机设计知识在实际中的应用。
综合运用“单片机”课程和先修课程的理论及生产实际知识去分析和解决电路设计问题,进行单片机电路设计的训练。
学习单片机设计电路的一般方法,了解和掌握单片机电路的设计过程和进行方式,培养正确的设计思想和分析问题、解决问题的能力,特别是总体电路设计能力。
通过计算和绘图,学会运用标准、规范和查阅有关技术资料等,培养单片机电路设计的基本技能。
4
2设计原理5
2.1MCS51单片机5
引脚说明6
2.2LED显示数码管7
有键按下12
T0按下?
12
T1按下?
12
INT1按下?
12
INT0按下?
12
间隔点亮动点亮12
逐点熄灭12
逐点点亮12
流水灯12
INT0键按下?
13
参考文献20
1.1引言
随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。
LED彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰已经成为一种时尚。
但目前市场上各式样的LED彩灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。
这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。
此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。
因此有必要对现有的彩灯控制器进行改进。
课程设计是学完一门课后应用本课知识及以前的知识积累而进行的综合性、开放性的训练,是培养学生工程意识和创新能力的重要环节。
进一步巩固和加深“单片机”课程的基本知识,了解单片机设计知识在实际中的应用。
综合运用“单片机”课程和先修课程的理论及生产实际知识去分析和解决电路设计问题,进行单片机电路设计的训练。
学习单片机设计电路的一般方法,了解和掌握单片机电路的设计过程和进行方式,培养正确的设计思想和分析问题、解决问题的能力,特别是总体电路设计能力。
通过计算和绘图,学会运用标准、规范和查阅有关技术资料等,培养单片机电路设计的基本技能。
该程序示例了单片机键盘控制p1口流水灯花样的方法;具体表现为:
p3.23.23.43.5四个小本文提出了一种基于AT89S51单片机的彩灯控制方案,实现对LED彩灯的控制。
按键,分别实现了四个控制。
通过这次实验,我们也了解了团队合作的重要性,集体的力量是伟大的,一个人如何融入一个团队是是一个重要问题,讲究合作才能取得最后的成功!
2设计原理
2.1MCS51单片机
引脚说明
MCS单片机都采用40引脚的双列直插封装方式。
图2-9为引脚排列图,40条引脚说明如下:
1、主电源引脚Vss和Vcc
①Vss接地
②Vcc正常操作时为+5伏电源
2、外接晶振引脚XTAL1和XTAL2
①XTAL1内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。
当采用外部振荡器时,此引脚接地。
②XTAL2内部振荡电路反相放大器的输出端。
是外接晶体的另一端。
当采用外部振荡器时,此引脚接外部振荡源。
3、控制或与其它电源复用引脚RST/VPD,ALE/
,
和
/Vpp
①RST/VPD当振荡器运行时,在此引脚上出现两个机器周期的高电平(由低到高跳变),将使单片机复位
在Vcc掉电期间,此引脚可接图2-98051引脚排列图
上备用电源,由VPD向内部提供备用电源,以保持内部RAM中的数据。
②ALE/
正常操作时为ALE功能(允许地址锁存)提供把地址的低字节锁存到外部锁存器,ALE引脚以不变的频率(振荡器频率的
)周期性地发出正脉冲信号。
因此,它可用作对外输出的时钟,或用于定时目的。
但要注意,每当访问外部数据存储器时,将跳过一个ALE脉冲,ALE端可以驱动(吸收或输出电流)八个LSTTL电路。
对于EPROM型单片机,在EPROM编程期间,此引脚接收编程脉冲(
功能)
③
外部程序存储器读选通信号输出端,在从外部程序存储取指令(或数据)期间,
在每个机器周期内两次有效。
同样可以驱动八LSTTL输入。
④
/Vpp、
/Vpp为内部程序存储器和外部程序存储器选择端。
当
/Vpp为高电平时,访问内部程序存储器,当
/Vpp为低电平时,则访问外部程序存储器。
对于EPROM型单片机,在EPROM编程期间,此引脚上加21伏EPROM编程电源(Vpp)。
4、输入/输出引脚P0.0-P0.7,P1.0-P1.7,P2.0-P2.7,P3.0-P3.7。
①P0口(P0.0-P0.7)是一个8位漏极开路型双向I/O口,在访问外部存储器时,它是分时传送的低字节地址和数据总线,P0口能以吸收电流的方式驱动八个LSTTL负载。
②P1口(P1.0-P1.7)是一个带有内部提升电阻的8位准双向I/O口。
能驱动(吸收或输出电流)四个LSTTL负载。
。
③P2口(P2.0-P2.7)是一个带有内部提升电阻的8位准双向I/O口,在访问外部存储器时,它输出高8位地址。
P2口可以驱动(吸收或输出电流)四个LSTTL负载。
④P3口(P3.0-P3.7)是一个带有内部提升电阻的8位准双向I/O口。
能驱动(吸收或输出电流)四个LSTTL负载
2.2LED显示数码管
LED有共阴极和共阳极两种。
如图所示。
二极管的阴极连接在一起,通常此公共阴极接地,而共阳极则将发光二极管的阳极连接在一起,接入+5V的电压。
一位显示器由8个发光二极管组成,其中7个发光二极管构成字型“8”的各个笔划(段)a~g,另一个小数点为dp发光二极管。
当在某段发光二极管施加一定的正向电压时,该段笔划即亮;不加电压则暗。
为了保护各段LED不被损坏,需外加限流电阻。
LED数码管结构原理图:
高电平驱动共阴极
低电平驱动共阳极
图3AT89C2051引脚配置
AT89C2051芯片的20个引脚功能为:
VCC电源电压。
GND接地。
RST复位输入。
当RST变为高电平并保持2个机器周期时,所有I/O引脚复位至“1”。
XTAL1反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2来自反向振荡放大器的输出。
P1口8位双向I/O口。
引脚P1.2~P1.7提供内部上拉,当作为输入并被外部下拉为低电平时,它们将输出电流,这是因内部上拉的缘故。
P1.0和P1.1需要外部上拉,可用作片内精确模拟比较器的正向输入(AIN0)和反向输入(AIN1),P1口输出缓冲器能接收20mA电流,并能直接驱动LED显示器;P1口引脚写入“1”后,可用作输入。
在闪速编程与编程校验期间,P1口也可接收编码数据。
P3口引脚P3.0~P3.5与P3.7为7个带内部上拉的双向I/0引脚。
P3.6在内部已与片内比较器输出相连,不能作为通用I/O引脚访问。
P3口的输出缓冲器能接收20mA的灌电流;P3口写入“1”后,内部上拉,可用输入。
P3口也可用作特殊功能口。
2.3中断指令。
在CPU和外设交换信息时,存在着快速CPU和慢速外设间的矛盾,机器内部有时也可能出现突发事件,为此,计算机中通常采用中断技术。
CPU和外设并行工作,当外设数据准备好(或有某种突发事件发生)时向CPU提出请求,CPU暂停正在执行的程序转而为该外设服务(或处理紧急事件),处理完毕再回到原断点继续执行原程序。
中断优先级:
当有多个中断源同时向CPU申请中断时,CPU优先响应最需紧急处理的中断请求,处理完毕再响应优先级别较低的,这种预先安排的响应次序。
中断的嵌套:
在中断系统中,高优先级的中断请求能中断正在进行的较低级的中断源处理,
(1)中断技术是实时控制中的常用技术,51系列单片机有三个内部中断,二个外部中断。
所谓外部中断就是在外部引脚上有产生中断所需要的信号。
每个中断源有固定的中断服务程序的入口地址(称矢量地址或向量地址)。
当CPU响应中断以后单片机内部硬件保证它能自动的跳转到该地址。
因此,此地址是应该熟记的,在汇编程序中,中断服务程序应存放在正确的向量地址内。
(或存放一条转移指令);而在C语言中是靠Interruptn的关键字n自动设置的。
(2)单片机的中断是靠内部的寄存器管理的,这就是中断允许寄存器IE,中断优先权寄存器IP,必须在CPU开中断即开全局中断开关EA,开各中断源的中断开关,CPU才能响应该中断源的中断请求,其中缺一不可。
(3)从程序表面看来,主程序和中断服务程序好象是没有关连的,只有掌握中断响应的过程,才能理解中断的发生和返回,看得懂中断程序,并能编写高质量中断程序。
表2.1常用中断
符号
名称
中断引起原因
中断服务程序入口
INT0
外部中断0
P3.2引脚的低电平或下降沿信号
0003H
INT1
外部中断1
P3.3引脚的低电平或下降沿信号
0013H
T0
定时器0中断
定时计数器0计数回零溢出
000BH
T1
定时器1中断
定时计数器1计数回零溢出
001BH
T2
定时器2中断
定时计数器2中断(TF2或T2EX信号)
002BH
TI/RI
串行口中断
串行通信完成一帧数据发送或接收引起中断
0023H
2.4硬件原理图
晶振(12MHz)定时1秒
对于12MHz的晶振而言,其时钟周期T=1/f=1/12us,而89C51的一个机器周期包括12个时钟周期,所以一个机器周期为1us,对于T0而言,使之工作于16-bit,
最大计时为65536*1=65536us,需要多次定时才能实现一秒定时。
3程序流程图
3.1总流程图
N
Y
NYNYNYNY
3.2流水灯子程序流程图
N
Y
N
Y
其他子程序流程图与上图按下其他键的流程图和它相类似。
3.3中断程序流程图
4汇编程序
4.1主程序:
ORG0000H;中断入口程序;
LJMPSTART
ORG0003H
RETI
ORG000BH
RETI
ORG0013H
RETI
ORG001BH
RETI
CLEAR:
RET;;初始化程序
;START:
ACALLCLEAR;主程序
STAR1:
MOVP3,#0FFH
JNBP3.2,FUN2
JNBP3.3,FUN3;关闭按纽
JNBP3.4,FUN0
JNBP3.5,FUN1
JNBF0,STAR1;曾经有键按下F0置1
RET;
FUN0:
LCALLDL10MS;消除抖动
JBP3.4,STAR1
WAITL0:
JNBP3.4,WAITL0;等待键释放
SETBF0
FUN01:
LCALLFUN00
LCALLSTAR1
LJMPFUN01;
FUN1:
LCALLDL10MS;消除抖动
JBP3.5,STAR1
WAITL1:
JNBP3.5,WAITL1;等待键释放
SETBF0
FUN10:
LCALLFUN11
LCALLSTAR1
LJMPFUN10;
FUN2:
LCALLDL10MS;消除抖动
JBP3.2,STAR1
WAITL2:
JNBP3.2,WAITL2;等待键释放
SETBF0
FUN20:
LCALLFUN22
LCALLSTAR1
LJMPFUN20;
FUN3:
LCALLDL10MS;消除抖动
JBP3.3,STAR1
WAITL3:
JNBP3.3,WAITL3;等待键释放
CLRF0
MOVP1,#0FFH;关显示
LJMPSTAR1;
FUN00:
MOVA,#0FEH;从P1.0到P1.7移动点亮
FUN000:
MOVP0,A
LCALLDL05S
JNBACC.7,OUT
RLA
AJMPFUN000
OUT:
RET;
FUN11:
MOVA,#0FEH;从P1.0到P1.7依次点亮
FUN111:
MOVP1,A
LCALLDL05S
JZOUT
RLA
ANLA,P1
AJMPFUN111;
FUN22:
MOVA,#0FEH;间隔点亮
FUN222:
MOVP1,A
LCALLDL01S
CPLA
RLA
MOVP1,A
LCALLDL01S
RET;
FUN33:
MOVA,#01H;逐点熄灭
FUN333:
MOVP1,A
LCALLDL01S
JNZOUT
RLA
ORLA,P1
AJMPFUN333
DL01S:
MOVR2,#0FFH;延时程序
MOVR7,#02H
LOOP1:
DJNZR2,LOOP1
LOOP5:
DJNZR7,DL512
RET
DL10MS:
MOVR3,#14H
LOOP2:
LCALLDL512
DJNZR3,LOOP2
RET
DL05S:
MOVR4,#0AH
LOOP3:
LCALLDL10MS
DJNZR4,LOOP3
RET
DL30S:
MOVR5,#03H
LOOP4:
LCALLDL05S
DJNZR5,LOOP4
RET
END
4.2一秒钟定时程序
MOVB,#0AH;允许中断
MOVTMOD,#01H;工作方式1
MOVTH0,#0B0H
MOVTL0,#3CH
SETBTR0;启动计数
SETBEA;开中断
BU:
JBCTF0,SHI
SJMPBU
SHI:
MOVTH0,#3CH
MOVTL0,#0B0H
RET
小结
经过努力,我们组终于完成这次数字彩灯的课程设计任务。
我们首先查阅了大量的书本资料,接着又上网搜集了许多有用信息,有时候为了找到一个合适的电路而苦恼,有时候又为取得一点成功而由衷的高兴。
当最终的方案设计出来以后,我们请教了信息学院的几位老师,他们的一个小小指点就给我们很大启示和灵感,对我们的程序提出了很多有价值的建议,在此对个位老师特别是辅导老师苏扬表示热烈感谢,对在设计和买元件期间给于我们帮助的同学们同样表示衷心感谢。
通过课程设计,我们增强了对单片机的理解,学会查寻资料﹑比较方案,学会单片机的设计﹑计算;进一步提高分析解决实际问题的能力,创造一个动脑动手﹑独立开展电路实验的机会,锻炼分析﹑解决程序编写问题的实际本领,真正实现由课本知识向实际能力的转化;通过典型程序的设计与制作,加深对基本原理的了解,增强了实践能力。
由于我们的能力和水平有限,实验过程过于简陋,实验经验尚浅,错误之处在所难免,恳请老师加以纠正,以后不断学习改进!
参考文献
[1]蔡美琴,张为民,沈新群等.MCS51系列单片机系统及其应用[M].北京:
高等教育出版社,1992.
[2]何立民.单片机应用技术选篇(5)[M].北京:
北京航空航天大学出版社,1997.
[3]杨光友.单片机微型计算机原理及接口技术[M].北京:
中国水利水电出版社,2002.
[4]肖洪兵.跟我学用单片机.北京:
北京航空航天大学出版社,2002.8
[5]何立民.单片机高级教程.第1版.北京:
北京航空航天大学出版社,2001
[6]赵晓安.MCS-51单片机原理及应用.天津:
天津大学出版社,2001.3
[7]李广第.单片机基础.第1版.北京:
北京航空航天大学出版社,1999
[8]徐惠民、安德宁.单片微型计算机原理接口与应用.第1版.北京:
北京邮电大学出版社,1996
[9]何立民.从Cygnal80C51F看8位单片机发展之路.单片机与嵌入式系统应用,2002年,第5期:
P5~8
[10]夏继强.单片机实验与实践教程.北京:
北京航空航天大学出版社,2001
成绩:
评语:
评阅教师:
年月日