单片机花样彩灯课程设计报告.docx
- 文档编号:10306163
- 上传时间:2023-02-10
- 格式:DOCX
- 页数:15
- 大小:125.53KB
单片机花样彩灯课程设计报告.docx
《单片机花样彩灯课程设计报告.docx》由会员分享,可在线阅读,更多相关《单片机花样彩灯课程设计报告.docx(15页珍藏版)》请在冰豆网上搜索。
单片机花样彩灯课程设计报告
1、引言
随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。
LED彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰已经成为一种时尚。
但目前市场上各式样的LED彩灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。
这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。
此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。
因此有必要对现有的彩灯控制器进行改进。
事实上单片机是世界上数量最多的计算机。
现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。
手机、、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。
而个人电脑中也会有为数不少的单片机在工作。
汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!
单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。
课程设计是学完一门课后应用本课知识及以前的知识积累而进行的综合性、开放性的训练,是培养学生工程意识和创新能力的重要环节。
进一步巩固和加深“单片机”课程的基本知识,了解单片机设计知识在实际中的应用。
综合运用“单片机”课程和先修课程的理论及生产实际知识去分析和解决电路设计问题,进行单片机电路设计的训练。
学习单片机设计电路的一般方法,了解和掌握单片机电路的设计过程和进行方式,培养正确的设计思想和分析问题、解决问题的能力,特别是总体电路设计能力。
通过计算和绘图,学会运用标准、规X和查阅有关技术资料等,培养单片机电路设计的基本技能。
该程序示例了单片机键盘控制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数码管结构原理图:
共阳极
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
3、硬件原理图
晶振(12MHz)定时1秒,对于12MHz的晶振而言,其时钟周期T=1/f=1/12us,而89C51的一个机器周期包括12个时钟周期,所以一个机器周期为1us,对于T0而言,使之工作于16-bit,最大计时为65536*1=65536us,需要多次定时才能实现一秒定时。
4、软件设计
4.1流程图
N
Y
NYNYNYNY
4.2源程序
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;消除抖动
P3.4,STAR1
WAITL0:
JNBP3.4,WAITL0;等待键释放
SETBF0
FUN01:
LCALLFUN00
LCALLSTAR1
LJMPFUN01;
FUN1:
LCALLDL10MS;消除抖动
P3.5,STAR1
WAITL1:
JNBP3.5,WAITL1;等待键释放
SETBF0
FUN10:
LCALLFUN11
LCALLSTAR1
LJMPFUN10;
FUN2:
LCALLDL10MS;消除抖动
P3.2,STAR1
WAITL2:
JNBP3.2,WAITL2;等待键释放
SETBF0
FUN20:
LCALLFUN22
LCALLSTAR1
LJMPFUN20;
FUN3:
LCALLDL10MS;消除抖动
P3.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:
CTF0,SHI
SJMPBU
SHI:
MOVTH0,#3CH
MOVTL0,#0B0H
RET
5、小结
经过努力,我们组终于完成这次数字彩灯的课程设计任务。
我们首先查阅了大量的书本资料,接着又上网搜集了许多有用信息,有时候为了找到一个合适的电路而苦恼,有时候又为取得一点成功而由衷的高兴。
通过课程设计,我们增强了对单片机的理解,学会查寻资料﹑比较方案,学会单片机的设计﹑计算;进一步提高分析解决实际问题的能力,创造一个动脑动手﹑独立开展电路实验的机会,锻炼分析﹑解决程序编写问题的实际本领,真正实现由课本知识向实际能力的转化;通过典型程序的设计与制作,加深对基本原理的了解,增强了实践能力。
由于我们的能力和水平有限,实验过程过于简陋,实验经验尚浅,错误之处在所难免,恳请老师加以纠正,以后不断学习改进!
6、参考文献
[1]蔡美琴,X为民,沈新群等.MCS51系列单片机系统及其应用[M].:
高等教育,1992.
[2]何立民.单片机应用技术选篇(5)[M].:
航空航天大学,1997.
[3]杨光友.单片机微型计算机原理及接口技术[M].:
中国水利水电,2002.
[4]肖洪兵.跟我学用单片机.:
航空航天大学,2002.8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 花样 彩灯 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)