彩灯控制器.docx
《彩灯控制器.docx》由会员分享,可在线阅读,更多相关《彩灯控制器.docx(28页珍藏版)》请在冰点文库上搜索。
彩灯控制器
《单片机与接口技术》
课程设计报告
题目
彩灯控制器
学号
130803064、130803099、130803076
姓名
王贵听、朱俊、夏超
年级专业
13级通信工程
指导教师
黄云飞
完成日期
2016
年
3
月
4
日
安徽师范大学物理与电子信息学院
CollegeofPhysicsandElectronicInformation,AnhuiNormalUniversity
课程设计划任务书
通信工程系通信工程专业
学生姓名王贵听班级通信一班学号*********
学生姓名朱俊班级通信二班学号*********
学生姓名夏超班级通信二班学号*********
课程名称:
单片机原理与接口技术
设计题目:
彩灯控制器
课程设计内容与要求:
1.用16盏以上的LED小灯,实现至少4种彩灯灯光效果(不含全部点亮,全部熄灭);
2.可以用输入按钮在几种灯光效果间切换;
3.可以通过按钮暂停彩灯效果,使小灯全亮,再次按下相同按钮后继续之前的效果;
4.增加自动在几种效果间切换的功能,并设置一个按钮可以在自动模式和手动模式间切换;
5.使用定时中断延时。
课程设计开始日期2016年1月15日指导教师黄云飞
课程设计结束日期2016年3月5日
彩灯控制器
摘要:
近年来,彩灯控制器在我们的日常生活中有着重要的运用,如广告牌的设计和节日彩灯的设计都能运用到它的原理。
彩灯对于美化、亮化城市有着不可轻视的重要作用。
因此作为城市装饰的彩灯需求量越来越大,对于彩灯的技术和花样也越来越高。
目前市场上各式各样的LED灯多半是采用全硬件电路实现,存在电路结构复杂,功能单一等局限性,因此有必要对现有的彩灯控制器进行改进。
查阅相关资料,用简单的输入输出端口等硬件,结合实际彩灯的亮灭控制过程进行设计。
利用键盘上的灯实现灯的各种形式的变换,使彩灯变换的样式更多,克服了节日彩灯变换样式单调的缺点,使节日彩灯朝着变换多种多样的方式发展。
本文介绍一种简易彩灯控制系统的软硬件设计过程,以AT-89C51单片机为控制中心与辅助硬件电路相结合,利用软件实现对LED灯的控制。
本系统具有电路结构简单,操作容易,硬件少,成本低等特点。
关键词:
AT89C51;LED灯;彩灯控制器
LanternController
ABSTRACT:
Inrecentyears,lanterncontrollerhasanimportantuseinourdailylives,suchasdesignandholidaylightsbillboarddesigncanusingitsprinciples.Lanternforlandscaping,lightingthecityhasanimportantroleshouldnotbeunderestimated.Therefore,asthecityisgrowingdemandfordecorativelanterns,lanterntechnologyandtricksforgettinghigherandhigher.CurrentlyonthemarketawiderangeofLEDaremostlyall-hardwarecircuit,thereisacomplexcircuitstructure,singlefunctionandotherlimitations,itisnecessarytoimprovetheexistinglanterncontroller.
Accesstorelevantinformation,withasimpleinputandoutputportsandotherhardware,combinedwiththeactualcontrolblinkinglightsofthedesignprocess.Useoflightsonthekeyboardtoachievevariousformsoflightconversion,sothestylelanterntransformmoretoovercometheshortcomingsofholidaylightstransformthestylemonotonous,soavarietyofholidaylightstransformthewaytowarddevelopment.
ThispaperdescribesasimplemethodaboutcontrolsystemhardwareandsoftwaredesignprocessestoAT-89C51microcontrollerasthecontrolcenterandauxiliaryhardwarecircuitbycombiningtheuseofsoftwaretocontroltheLEDlights.Thesystemhasasimplecircuitstructure,easyoperation,lesshardware,andlowcost.
KEYWORDS:
AT89C51;LEDlamp;Lanterncontroller
目 录
前言
在现代生活中,彩灯作为一种景观,安装在建筑物的适当地方。
一是作为装饰增添节日气氛,而是有一种广告宣传的作用:
用在舞台上增强晚会灯光效果。
彩灯控制器在我们的日常生活中有着重要的运用,如广告牌的设计和节日彩灯的设计都能运用到它的原理。
本次报告中设计的花样彩灯控制器是其中较简单的,但这是复杂设计的基础。
数码管是一种半导体发光器件,其基本单元是发光二极管。
通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字能够显示时间、日期、温度等所有可用数字表示的参数。
由于它的价格便宜、使用简单,在电器特别是家电领域应用极为广泛,空调、热水器、冰箱等等。
绝大多数热水器用的都是数码管,其他家电也用液晶屏与荧光屏。
可编程节日彩灯打破常规彩灯闪烁固定变化的现状,可根据人们不同的意愿进行编程设计出想要的变换的色彩效果。
查阅相关资料,用简单的输入输出端口等硬件,结合实际彩灯的亮灭控制过程进行设计。
利用按键对彩灯的控制,使彩灯变换的样式更多,克服了节日彩灯变换样式单调的缺点,使节日彩灯朝着变换多种多样的方式发展。
1系统总体方案设计
1.1设计内容
用AT89C51设计一个控制16个LED的彩灯控制器,彩灯由四种颜色构成。
另设计一个“暂停”按键和一个“彩灯效果切换”按键以及一个“模式切换”。
按键说明:
按“暂停”按键,LED灯全亮,再次按下继续之前的效果;按“彩灯效果切换”按键,会改变LED的灯光效果;按“模式切换”,会由手动改变灯光效果模式切换为自动改变灯光效果模式,再次按下,会切换为手动模式。
1.2设计要求
1.用16盏以上的LED小灯,实现至少4种彩灯灯光效果(不含全部点亮,全部熄灭);
2.可以用输入按钮在几种灯光效果间切换;
3.可以通过按钮暂停彩灯效果,使小灯全亮,再次按下相同按钮后继续之前的效果;
4.增加自动在几种效果间切换的功能,并设置一个按钮可以在自动模式和手动模式间切换。
5.使用定时中断延时;
1.3设计思路及描述
近年来随着科学技术的发展,单片机的应用范围越来越广,也成为很多专业的必修课。
本文简单阐述了基于单片机的彩灯控制器设计。
本设计的主要特点是可以改变传统的固定灯光效果,可以实现外部切换LED灯光效果,可以用来作为节日装饰物等。
本文简单阐述了基于单片机的彩灯控制器设计。
本设计的彩灯控制器采用AT89C51单片机为主要器件,利用其定时器进行准确的延时,结合LED以及外部中断电路来设计控制器。
将软硬件结合起来,使得系统能实现多种灯光效果的切换。
当按下一次模式切换时,开始改变灯光效果,再按下暂停键时,暂停灯光效果,LED全亮,这个时候如果再按暂停键,则恢复之前的灯光效果。
系统总体框图如图1-1所示。
图1-1系统总体框图
2系统硬件电路的设计
2.1AT89C51单片机简介
AT89C51是一种低功耗、高性能的片内含有4KB快闪可编程/擦除只读存储器(FPEROM-FlashProgrammableandEraseableReadOnlyMemory)的8位CMOS微控制器,使用高密度、非易失存储技术制造,并且与80C51引脚和指令系统完全兼容。
2.1.1AT89C51提供的标准功能
4k字节FLASH闪速存储器,128字节内部RAM,32个I/O口线,2个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51降至0Hz的静态逻辑操作,并支持两种可选的节电工作模式。
空闲方式体制CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器体制工作并禁止其他所有不见工作直到下一个硬件复位。
2.1.2AT89C51引脚功能
(1)Vcc:
电源电压
(2)GND:
电源地
(3)P0口:
P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用。
作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。
(4)P1口:
P1是一个带内部上拉电阻的8位双向I/O口。
(5)P2口:
P2是一个带有内部上拉电阻的8位双向I/O口。
(6)P3口:
P3是一个带有内部上拉电阻的8位双向I/O口。
(7)RST:
复位输入,当振荡器工作时,RST引脚出现两个机器周期以上高电平信号将使单片机复位。
AT89C51引脚图如图2-1所示。
图2-1AT89C51引脚管脚图
2.2晶振与复位电路
关于单片机的置位和复位,都是为了把电路初始化到一个确定的状态,一般来说,单片机复位电路作用是把一个例如状态机初始化到空状态,而在单片机内部,复位的时候单片机是把一些寄存器以及存储设备装入厂商预设的一个值,复位是一个很重要的操作方式。
但单片机本身是不能自动进行复位的,必须配合相应的外部电路才能实现。
单片机系统里都有晶振。
全称叫做晶体振荡器,他结合单片机内部电路产生所需的时钟频率,单片机晶振提供的时钟频率越高,单片机运行的速度就越快,单片机接的一切指令的执行都是建立在单片机晶振提供的时钟频率。
单片机晶振的作用是为系统提供基本的时钟信号,晶振通常和锁相环电路配合作用,以提供系统所需的时钟频率。
如图2-2为晶振电路,2-3为复位电路。
图2-2晶振电路
图2-3复位电路
2.3LED显示电路
发光二极管简称为LED。
由镓(Ga)与砷(AS)、磷(P)的化合物制成的二极管,当电子与空穴复合时能辐射出可见光,因而可以用来制成发光二极管。
在电路及仪器中作为指示灯,或者组成文字或数字显示。
磷砷化镓二极管发红光,磷化镓二极管发绿光,碳化硅二极管发黄光。
它是半导体二极管的一种,可以把电能转化成光能;常简写为LED。
发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。
当给发光二极管加上正向电压后,从P区注入到N区的空穴和由N区注入到P区的电子,在PN结附近数微米内分别与N区的电子和P区的空穴复合,产生自发辐射的荧光。
不同的半导体材料中电子和空穴所处的能量状态不同。
当电子和空穴复合时释放出的能量多少不同,释放出的能量越多,则发出的光的波长越短。
常用的是发红光、绿光或黄光的二极管。
如图2-4显示的是LED电路及与单片机的接口。
图2-4LED电路及其接口
2.4数码管显示电路
本设计采用的是共阳数码管。
共阳极数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。
共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。
当某一字段的阴极为高电平时,相应字段就不亮。
暂停模式数码管显示“0”,随着灯光效果切换分别显示显示“1”、“2”、“3”、“4”。
如图2-5为数码管显示电路。
图2-5数码管显示电路
2.5按键电路
按下键盘上独立键中的KEY1(P3.2)键,暂停灯光效果,LED灯全亮;按下KEY2(P3.6))键,即切换灯光效果;按下KEY3(P3.7),会在自动模式和手动模式之间进行切换。
如图2-6为按键电路。
图2-6按键电路
3系统软件结构设计
3.1主程序设计
如图3-1为系统流程图,本系统程序主要模块由主程序、定时中断服务程序、按键中断程序、灯光效果子程序组成。
主程序主要是对定时器赋初值,开总中断、定时器溢出中断,初始化IO口及各个寄存器的初值。
如图3-1为系统流程图。
3.2定时器T0中断服务程序
当T0溢出后,向CPU发出中断请求信号。
CPU跳转到定时中断程序执行,中断时间设定为50ms。
如图3-2为定时器T0中断流程图。
3.3按键中断服务程序
设置外部中断为低电平触发,当按下按键时,系统产生中断,执行中断服务程序,当执行完中断程序时恢复原执行顺序。
如图3-3为外部中断0流程图,3-4为外部中断1流程图。
图3-1系统流程图
图3-2定时器T0中断流程图
图3-3外部中断0中断流程图
图3-4外部中断1中断流程图
3.4灯光效果程序
通过控制P1和P2口的高低电平来控制LED灯的亮灭,切换亮灭的LED顺序,加上延时可以达到LED灯的闪烁灯光效果,这里写了四种灯光效果。
4仿真演示
4.1暂停模式显示图
图4-1暂停模式
4.2灯光效果显示图
图4-2灯光效果1
结 论
通过这次课程设计,使我对硬件电路的工作原理有了进一步的学习,进一步的认识;在软件方面,在程序的设计,程序的调试方面都学到了很多东西,很有成就感。
在这次课程设计中我遇到了一些困难,但在老师的指导和同学的帮助,再加上自己查阅了些许资料的情况下都解决了。
虽然课程设计进行的不够顺利,但还是完成了任务,使自己的专业知识又得到了提升。
21世纪是计算机全面发展应用的时代,很多人不是在制造计算机而是在使用计算机,在使用计算机的人群中只有从事嵌入式系统应用的人才真正地进入到计算机系统内部软硬件体系中,才能真正领会计算机的智能化本质并掌握智能化设计的知识。
通过这次难得的实践机会给了我很大的收获,不仅巩固了原有的知识,并增强了动手能力,培养了面对问题的分析能力以及遇到困难如何面对。
参考文献
[1]张毅刚.单片机原理及应用[M].高等教育出版社,2010年
[2]郭天祥.51单片机C语言教程[M].电子工业出版社,2009年
[3]郭水保,高艳霞,王道洪.基于AT-89C51单片机的LED彩灯控制设计[J].现代电子技术.2005年第6期:
119-122
[4]符子根.多路彩灯控制器的设计[J].高校理科研究.2008年第18期:
79-80
[5]祝斌.51单片机LED彩灯串行控制器制作[J].科技创新.2014年第6期:
205-206
附 录
附录一:
系统总体电路图
附录二:
PCB图
附录三:
程序清单
;*********************************************
KEY1BITP3.2;控制四种亮灯方式
KEY2BITP3.3;全亮模式
KEY3BITP3.2;自动,手动模式
;*********************************************
ORG0000H
LJMPMAIN
ORG0003H
LJMPX0_INT
ORG000BH
LJMPT0_INT
ORG0013H
LJMPX1_INT
ORG1000H
;*********************************************
MAIN:
SETBEA;开总中断
SETBEX0;开外部0中断
SETBEX1;开外部1中断
CLRIT0;电平触发
CLRIT1;电平触发
SETBET0
SETBTR0
MOVTMOD,#01;16位定时器
MOVP1,#0FFH
MOVP2,#0FFH
;初始化led控制IO口,led共阳
CLRA
MOVR0,#00
MOVR1,#00
MOVR2,#00
MOVR3,#00
MOVR6,#00
MOVR5,#00
JMPFunction
;*********************************************
X0_INT:
ACALLDELAY_20MS;消除抖动延时
INCR1
JNBP3.2,$
RETI
;控制全亮
;*********************************************
X1_INT:
ACALLDELAY_20MS;消除抖动延时
JBP3.7,IR1
JBP3.6,IR2
LJMPINTIR
;控制LED亮灭方式,自动控制和手动控制
;*********************************************
INTIR:
JNBP3.3,$
RETI
;*********************************************
T0_INT:
MOVTH0,#09EH;50ms
MOVTL0,#058H
RETI
;*********************************************
IR1:
INCR2
LJMPINTIR
IR2:
INCR5
LJMPINTIR
;*********************************************
Function:
MOVA,#01
XRLA,R1
JZALL_light
MOVA,#02
XRLA,R1
JZCSH
MOVA,#01
XRLA,R5
JZKEY_ZD
MOVR5,#00
MOVA,#00
XRLA,R1
JZKEY_light
CSH:
MOVR1,#00
JMPFunction
;*********************************************
KEY_ZD:
LJMPKEY_ZD1
;*********************************************
ALL_light:
MOVP0,#0C0H
MOVA,#00
MOVP1,A
MOVP2,A
JMPFunction
KEY_light:
MOVA,#00
XRLA,R2
JZKEY1_light
MOVA,#01
XRLA,R2
JZKEY2_light
MOVA,#02
XRLA,R2
JZKEY3_light
MOVA,#03
XRLA,R2
JZKEY4_light1
MOVR2,#00
JMPKEY_light
KEY4_light1:
LJMPKEY4_LIGHT
;********************************************
KEY1_light:
MOVP0,#0CFH;显示1
MOVP1,#0EEH
MOVP2,#0EEH
MOVR7,#10
LCALLLOOP4
MOVP1,#0DDH
MOVP2,#0DDH
MOVR7,#10
LCALLLOOP4
MOVP1,#0BBH
MOVP2,#0BBH
MOVR7,#10
LCALLLOOP4
MOVP1,#077H
MOVP2,#077H
MOVR7,#10
LCALLLOOP4
lJMPFunction
KEY2_light:
MOVP0,#0A4H;显示2
MOVP1,#0FFH
MOVP2,#0F0H
MOVR7,#10
LCALLLOOP4
MOVP1,#0FFH
MOVP2,#00FH
MOVR7,#10
LCALLLOOP4
MOVP1,#0F0H
MOVP2,#0FFH
MOVR7,#10
LCALLLOOP4
MOVP1,#00FH
MOVP2,#0FFH
MOVR7,#10
LCALLLOOP4
lJMPFunction
KEY3_light:
MOVP0,#0B0H;显示3
MOVP1,#033H
MOVP2,#033H
MOVR7,#10
LCALLLOOP4
MOVP1,#0CCH
MOVP2,#0CCH
MOVR7,#10
LCALLLOOP4
lJMPFunction
KEY4_light:
MOVP0,#099H;显示4
MOVP1,#033H
MOVP2,#0FFH
MOVR7,#10
LCALLLOOP4
MOVP1,#0CCH
MOVP2,#0FFH
MOVR7,#10
LCALLLOOP4
MOVP1,#0F3H
MOVP2,#03FH
MOVR7,#10
LCALLLOOP4
MOVP1,#0FCH
MOVP2,#0CFH