单片机的LED流水灯系统设计.docx
《单片机的LED流水灯系统设计.docx》由会员分享,可在线阅读,更多相关《单片机的LED流水灯系统设计.docx(17页珍藏版)》请在冰豆网上搜索。
单片机的LED流水灯系统设计
河北建筑工程学院
课程设计计算说明书
题目名称:
单片机LED流水灯系统设计
院系:
机械工程学院
专业:
机械电子工程
班级:
机电(本)102班
学号:
2010322233
学生姓名:
王硕
指导教师:
张东辉
职称:
讲师
2013年7月7日
目录
第一章引言………………………………………………………………2
1.1课题简介……………………………………………………………2
1.2设计目的……………………………………………………………2
1.3设计任务及要求……………………………………………………2
1.4设计方法……………………………………………………………3
第二章总体设计思路……………………………………………………3
2.1总体设计……………………………………………………………3
2.2硬件设计思路及系统框图…………………………………………4
2.3软件设计思路及程序流程框图……………………………………4
第三章硬件设计…………………………………………………………5
3.1AT89C51…………………………………………………………5
3.2单片机时钟电路……………………………………………………7
3.3单片机复位电路……………………………………………………7
3.4单片机显示电路……………………………………………………8
3.5直流稳压电源电路…………………………………………………8
3.6单片机硬件电路图…………………………………………………9
第四章软件设计…………………………………………………………9
4.1系统功能…………………………………………………………10
4.2软件流程图………………………………………………………10
4.3程序设计…………………………………………………………10
4.4程序调试…………………………………………………………12
第五章软硬件联合仿真………………………………………………12
第六章心得体会………………………………………………………13
第七章参考文献………………………………………………………14
第一章引言
1.1课题简介
单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:
1.在智能仪器仪表上的应用:
例如精密的测量设备 2.在工业控制中的应用:
用单片机可以构成形式多样的控制系统、数据采集系统,例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。
3.在家用电器中的应用:
可从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。
4.单片机在医用设备领域中的应用:
例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。
5.在各种大型电器中的模块化应用:
如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。
本系统采用AT89C51单片机来设计LED流水灯系统,实现8个LED灯的依次点亮、全亮、全灭、再循环。
1.2设计目的
1.学习基本理论在实践中综合运用的初步经验,掌握电路设计的基本方法、设计步骤,培养综合设计与调试能力。
2.掌握汇编语言程序设计方法。
3.培养实践技能,提高分析和解决实际问题的能力。
1.3设计任务及要求
1.彩灯用8个发光二极管代替。
2.P0.0--P0.1--P0.2--P0.3--P0.4--P0.5--P0.6--P0.7--P0.6--P0.5--P0.4--P0.3--P0.2--P0.1,然后全亮、全灭,再循环。
3.彩灯亮点移动时间间隔为0.5秒。
1.4设计方法
本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。
如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平。
同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭的方法同LED1。
因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。
同样的道理,可以让8个灯左移点亮,全亮、全灭。
在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。
第二章总体设计思路
2.1总体设计
2.1.1机型的选择
本课题使用AT89C51单片机。
2.1.2器件清单
序号
元件名称
规格
数量/个
用途
1
单片机
AT89C51
1
控制核心
2
晶振
12MHZ
1
晶振电路
3
电容
30pF
2
晶振电路
4
电容
22uF
1
复位电路
5
电阻
300
8
上位电阻
6
电阻
10K
1
复位电路
7
电源
+5V
1
提供电源
8
发光二极管
黄色LED
8
显示电路
2.2硬件设计思路及系统框图
整个系统包括AT89C51单片机、时钟电路、复位电路和由8个LED灯组成的显示电路。
系统一上电,LED灯就按照已写好的程序依次点亮
系统框图如下:
2.3软件设计思路及程序流程框图
程序执行后,先是LED1到LED8,LED7到LED2的依次点亮,然后灯全亮、灯全灭,再循环。
彩灯亮点移动时间间隔为0.5秒。
程序流程框图如下:
第三章硬件设计
硬件系统是指构成微机系统的实体和装置,通常由运算器、控制器、存储器、输入接口电路和输入设备、输出接口电路和输出设备等组成。
单片机实质上是一个硬件的芯片,在实际应用中,通常很难直接和被控对象进行电气连接,必须外加各种扩展接口电路、外部设备、被控对象等硬件和软件,才能构成一个单片机应用系统。
本设计选用以AT89C51单片机为主控单元。
3.1AT89C51
1)主要特性:
与MCS-51兼容,4K字节可编程闪烁存储器,寿命:
1000写/擦循环,数据保留时间:
10年,全静态工作:
0Hz—24Hz,三级程序存储器锁定,128*8位内部RAM,32可编程I/O线,5个中断源,可编程串行通道,低功耗的闲置和掉电模式,片内震荡器和时钟电路。
2)管脚说明:
①电源引脚
Vcc(40脚):
典型值+5V。
Vss(20脚):
接低电平。
②外部晶振
XTAL1、XTAL2分别与晶振两端相连接。
③输入输出口引脚:
P0口:
I/O双向口。
作输入口时,应先软件置“1”。
P1口:
I/O双向口。
作输入口时,应先软件置“1”。
P2口:
I/O双向口。
作输入口时,应先软件置“1”。
P3口:
I/O双向口。
作输入口时,应先软件置“1”。
④控制引脚:
RST、ALE/-PROG、-PSEN、-EA/Vpp组成了MSC-51的控制总线。
RST(9脚):
复位信号输入端(高电平有效)。
ALE/-PROG(30脚):
地址锁存信号输出端。
第二功能:
编程脉冲输入。
-PSEN(29脚):
外部程序存储器读选通信号。
-EA/Vpp(31脚):
外部程序存储器使能端。
第二功能:
编程电压输入端(+21V)。
3)AT89C51单片机的P口特点:
P0口:
是一个8位漏极开路输出型双向I/O端口。
作为输出端口时,每位能以吸收电流的方式驱动8个TTL输入,对端口写1时,又可作高阻抗输入端用。
在访问外部程序或数据存储器时,它是时分多路转换的地址(低8位)/数据总线,在访问期间将激活内部的上拉电阻。
P1口:
P1口是一个带有内部上拉电阻的8位双向I/O端口。
P1口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可作输入口。
P2口作输入口使用时,因为内部有上拉电阻,那些被外部信号拉低的引脚会输出一个电流(Iil)。
P2口:
P2口是一个带有内部上拉电阻的8位双向I/O端口。
P2口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可作输入口。
P2口作输入口使用时,因为内部有上拉电阻,那些被外部信号拉低的引脚会输出一个电流(Iil)。
在访问外部程序存储器时和16位外部地址的外部数据存储器(如执行MOVX@DPTR)时,P2口送出高8位地址。
在访问8位地址的外部数据存储器(如执行MOVX@RI)时,P2口引脚上的内容(就是专用寄存器(SFR)区中的P2寄存器的内容),在整个访问期间不会改变。
P3口:
P3口是一个带有内部上拉电阻的8位双向I/O端口。
P3口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可作输入口。
P3口作输入口使用时,因为内部有上拉电阻,那些被外部信号拉低的引脚会输出一个电流(Iil)。
3.2单片机时钟电路
时钟电路用于产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按序进行工作。
在MCS-51芯片内部有一个高增益反相放大器,其输入端为芯片引脚X1,输出端为引脚X2,在芯片的外部跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。
此电路采用12MHz的石英晶体。
时钟电路如下图:
图3.1时钟电路
3.3单片机复位电路
电阻的作用是用于上电复位的,VCC以上电,由于电容两端电压不能突变,所以RST上为高电平,然后电容放电,RST就为低电平了,还可以用手动复位,此电路应用自动复位。
图3.2复位电路
3.4单片机显示电路
LED彩灯显示电路(如图所示)实际上是由8个发光二极管和8个电阻构成的电路。
发光二极管与电阻对应串联,然后接在与之相对应的P1口上。
通过软件编程对P1口输出高低电平来实现不同的闪烁花型。
由于发光二极管的导通电压一般为1.7V以上,另外,他的工作电流根据型号不同一般为1mA到30mA,电阻选择范围100欧姆~3千欧姆在此我们这里选用300欧姆的电阻。
图3.3显示电路
3.5直流稳压电源电路
对于一个完整的电子设计来讲,首要问题就是为整个系统提供电源供电模块,电源电路的稳定可靠是系统平稳运行的前提和基础。
电子设备除用电池供电外,还采用市电(交流电网)供电。
通过变压、整流、滤波和稳压后,得到稳定的直流电。
直流稳压电源是电子设备的重要组成部分!
本项目直流稳压电源为+5V。
如下图所示:
直流稳压电源的制作一般有3种制作形式,分别是分立元件构成的稳压电源、线性集成稳压电源和开关稳压电源。
AT89C51单片机的工作电压范围:
4.0V—5.5V,所以通常给单片机外接5V直流电源。
3.6单片机硬件电路图
根据各个模块的功能及他们的信号传输,连接电路如下:
图3.4总电路图
第四章软件设计
4.1系统功能
本系统的功能是实现流水灯的循环点亮。
系统上电后,先是LED1到LED8,LED7到LED2的依次点亮,然后灯全亮、全灭。
若单片机仍处于有电状态,则程序一直循环下去。
彩灯亮点移动时间间隔为0.5秒。
4.2软件流程图
4.3程序设计
ORG 0000H ;单片机上电后从0000H地址执行
AJMPSTART1 ;跳转到主程序存放地址处
ORG 0030H ;设置主程序开始地址
MOV SP,#60H;设置堆栈起始地址为60H
START1:
MOV A,#0FEH;ACC中装入LED1亮的数据(二进制的11111110)
MOV P1,A ;将ACC的数据送P1口
ACALLDELAY ;调用延时子程序
MOV R0,#7 ;将数据再移动7次就完成一个8位流水过程
AJMPLOOP1
START2:
MOV A,#0BFH ;ACC中装入LED7亮的数据(二进制的10111111)
MOV P1,A ;将ACC的数据送P1口
ACALLDELAY ;调用延时子程序
MOV R0,#5 ;将数据再移动5次就完成一个6位流水过程
AJMP LOOP2
START3:
MOV A,#00H;ACC中装入所有灯都亮的数据(二进制的00000000)
AJMP LOOP3
START4:
MOV A,#0FFH;ACC中装入所有灯都灭的数据(二进制的11111111)
AJMP LOOP4
LOOP1:
RL A ;将ACC中的数据左移一位
MOV P1,A ;把ACC移动过的数据送p1口显示
ACALL DELAY ;调用延时子程序
DJNZ R0,LOOP1 ;没有移动够7次继续移动
AJMP START2 ;移动完7次后跳到START2
LOOP2:
RRA;将ACC中的数据右移一位
MOVP1,A;把ACC移动过的数据送p1口显示
ACALL DELAY ;调用延时子程序
DJNZR0,LOOP2 ;没有移动够5次继续移动
AJMPSTART3;移动完5次后跳到START3
LOOP3:
MOVP1,A;把ACC移动过的数据送p1口显示
ACALL DELAY ;调用延时子程序
AJMPSTART4;跳到START4
LOOP4:
MOV P1,A ;把ACC移动过的数据送p1口显示
ACALLDELAY;调用延时子程序
AJMPSTART1;跳到START1
DELAY:
MOVR7,#5;延时0.5S
DEL1:
MOVR6,#200
DEL2:
MOVR5,#248
DEL3:
DJNZR5,DEL3
NOP
DJNZR6,DEL2
DJNZR7,DEL1
RET;子程序返回
END ;程序结束
4.4程序调试
软件调试一般分为以下四个阶段:
1、编写程序并查错;2、在汇编语言的编译系统中编译源程序3、对程序进行编译连接,并及时发现程序中存在的错误;4、改正错误。
第五章软硬件联合仿真
在proteus软件仿真之前必须在Proteus里面画出硬件的外部接线图,装入keil生成的HEX文件,接下来就可以运行仿真了,如图5-1:
图5.1仿真图
经以上仿真测试证实,能实现本设计系统要求的预期的功能。
第六章心得体会
经过一段时间的努力,我们顺利的完成了这次单片机课设。
这是一个磨练意志的过程。
从课题的选择开始,总体设计、硬件和软件系统的设计,到最后的Proteus软件仿真完成,这其中经历了很多困难,但是更重要的是在这个过程中我得到了很大的锻炼。
通过C51单片机等一些器件的设计让我学习和掌握了单片机技术的基础知识和技术要点,也使以前学的很多知识都得到了运用。
这是一个需要不断的尝试,不断的校核,不断的修改,最后完成一个合理的设计的过程。
在很大程度上培养了我拼搏的工作精神。
使我受益匪浅,更加明确了自己专业的方向。
通过这次课程设计,我拓宽了知识面,锻炼了能力,综合素质得到较大提高。
而安排课程设计的基本目的,是在于通过理论与实际的结合、人与人的沟通,进一步提高思想觉悟和领悟力。
尤其是观察、分析和解决问题的实际工作能力。
它的一个重要功能,在于运用学习成果,检验学习成果。
运用学习成果,把课堂上学到的系统化的理论知识,尝试性地应用于实际设计工作,并从理论的高度对设计工作的现代化提出一些有针对性的建议和设想。
检验学习成果,看一看课堂学习与实际工作到底有多大距离,并通过综合分析,找出学习中存在的不足,以便为完善学习计划,改变学习内容与方法提供实践依据。
实际能力的培养至关重要,而这种实际能力的培养单靠课堂教学是远远不够的,必须从课堂走向实践。
这也是一次预演和准备毕业设计工作。
通过课程设计,让我们找出自身状况与实际需要的差距,并在以后的学习期间及时补充相关知识,为求职与正式工作做好充分的知识、能力准备,从而缩短从校园走向社会的心理转型期。
第七章参考文献
[1]《MCS-51单片机原理及应用》张毅刚编著哈尔滨:
哈尔滨工业大学出版社
[2]杨恢先黄辉先著.单片机原理与应用.人民邮电出版,2009.7
[3]朱定华著.单片机原理与接口技术.电子工业出版社,2001.4
[4]王威著.HCS12微控制器原理及应用.北京航空航天大学出版社,2007.10
[5]胡洪波著.单片机原理与应用实验教程.湘潭大学出版社,2009.7
[6]《单片机原理及其接口技术》胡汉才编著北京:
清华大学出版社