
可编程彩灯控制器.docx
25页1前言近年来,彩灯对于美化、亮化城市有着不可轻视的重要工作因此作为城市装饰 的彩灯需求量越来越大,对与彩灯的技术和花样也越来越高但传统的彩灯控制电路 一般是由数字电路组成,这种彩灯控制器电路结构复杂、成本较高、功率损耗大,此 外从功能效果上看,彩灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果 因此有必要对现有的彩灯控制器进行改进然而单片机具有体积小、功能强、成本低、 应用面广等优点,可以说,智能控制与自动控制的核心就是单片机LED彩灯具有 成本低、发光纯度高、发光热量小、耗电量低、超长寿命的特点所以利用单片机作 LED彩灯控制,不仅是使控制花样、路数大大增加,成本也很低,而且对环境能源没 有污染,有着很大的发展前景本方案是一种基于AT-89C51单片机的彩灯控制方案,实现对LED彩灯的控制 主要以AT-89C51单片机作为主控核心与发光二极管、晶振、复位、电源等组成电路, 利用软件编辑实现彩灯流水灯的效果2方案设计2.1设计任务(1) 共有红、绿、黄3色彩灯各9个,要求安一定顺序和时间关系运行:红色发光 二极管由弱到强一> 绿色发光二极管由弱到强一> 蓝色发光二极管由弱到强2) 利用三基色原理,控制每次点亮红色发光二极管,绿色发光二极管,蓝色发光 二极管的数目,实现黄色,紫色,青色。
3) 控制不同颜色发光二极管的数目,实现花样彩灯4) 编写程序代码;5)程序分析与调试2.2工程方案按照设计任务要求,红,绿,蓝光由弱到强,每个颜色用8个发光二极管,在 程序控制下,先亮一个,再亮两个,再亮三个,慢慢的直到最后全亮,就能看到由弱 到强的现象如果同一颜色使用更多的发光二极管,显示效果会更柔和要实现黄色,紫色,青色光,只能根据三基色原理进行合成所谓三基色是指红, 绿,蓝三色,人眼对红,绿,蓝最为敏感,大多数可以通过红,绿,蓝3种颜色按照 不同的比例合成产生同时,绝大多数单色光也可以分解成红绿蓝三种光这是色度 学的最基本原理,即三基色原理根据三基色原理得到:红色+绿色二黄色 绿色+蓝色二青色 红色+蓝色二紫色对于彩灯的实现可以通过控制每次亮灯的数目,并调用延时程序,使其给人一种 绚丽多彩的感觉由于单片机是通过内部编程实现控制每个引脚,因此本设计就是通过编写程序来 达到控制引脚的目的,让其引脚输出低电平则该灯亮,输出高电平则该灯灭全部输 出为高电平则全灭,全部输出低电平则全亮在每步执行完都调用内部延时循环程序 达到外部引脚亮灭延时的目的最终实现设计要求所需循环彩灯控制电路3电路设计3.1硬件电路原理图IT-ilHCil_k!_POIKSIMFegr 各个模块电路的工作原理:3.11主控模块电路采用AT89C51单片机作为控制器的主模块,由单片机的引脚连接LED发光二极 管,利用P 口输出控制信号实现彩灯的控制,即将不同颜色的LED发光二极管接至 P 口循环彩灯端口定义:P1.0〜P1.7 定义为蓝色发光二极管P2.0〜P2.7 定义为红色发光二极管P3.0〜P3.7 定义为绿色发光二极管运用系统编程对P2.0〜P2.7脚红色发光二极管让其逐个引脚输出为低电平,可 使相应的发红光二极管点亮,绿、黄色发光二极管一样对P2.0〜P2.7 脚通过编程全设为低电平使其点亮发红光,再以同样的方式设置黄、绿色发光二极管 实现循环由于本设计驱动LED发光二极管的时候是共阳接法所以在AT89C51输出 为高电平时为灯灭状态,低电平时为灯亮状态即:输出为1时灭为0时亮AT89C51引脚分布图3-2:IKTAL1XTAL2IRSTP0.1/AD1 IP0,2/AD2 P0.3/ADSP0.5/AD5 PO.^ADG P0.7/AD7P2WA8 P2.1/A9 P22/A1O R13/A11 P2 涮&12 P2 S 帽 13 P2 的Aid P2.7/A15P^BRKD P3.1^m PS.Z/iNTO P3.34NTHP3 可采用独立的稳 压电源这种供电方式的优点是稳压可靠,且有各种成熟电路可供选择由于集成稳 压器具有体积小,外界线路简单,使用方便,工作可靠等优点因此,在各种电子设 备中应用十分普遍,为了跟上时代的发展,可采用W7800系列三端稳压器,主要利 用它的输出电压是固定的在使用中不能进行调整等优点本次设计为了电源的简洁,采用了 USB接口为循环彩灯系统电路提供稳定5V 的工作电压这样能使整体电路更简洁,更节约成本,也在一定的程度上减少了硬件设 计的复杂性3.1.3复位电路单片机在开机或工作中因干扰而使程序失控或工作中程序处于某种死循环状态 等情况下都需要复位复位的作用是使中央处理器CPU以及其他功能部件都恢复到一个确定的初始状态,并从这个状态开始工作AT89C51单片机的复位是靠外部电 路实现,信号由RESET(RST)引脚输入,高电平有效,在振荡器工作时,只要保 持RST引脚高电平两个机器周期,单片机即复位复位方式一般有上电复位、手动 复位和自动复位电路三种,在本设计中采用的是手动复位电路如下图3—3所示因AT89c51单片机需高电平(3.7〜5.5V)复位,且复位时流入单片机的电流不 能超过10mA。 具体参数:根据所需要的复位参数可得当按下SW键时出现两个机器 周期的高电平在单片机REST端产生的压降等于:VCC • R = 5^ • 1KQ = 4.17VR + R2 2 (1K + 0.2K)1KVCC上电自动复位手动复位电路图3-3复位电路3.1.4晶振电路本设计采用的是内部时钟振荡方式AT89C51中有一个用于构成内部震荡器的高增益反相放大器,引脚XTAL1和 XTAL2分别是该放大器的输入端和输出端这个放大器与作为反馈元件的片外石英 晶体或陶瓷谐振器一起构成自激震荡器,震荡电路参见下图3 — 5 外接石英晶体(或陶瓷谐震器)及电容C1、C2接在放大器的反馈回路中构成并联震 荡电路对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响震荡频率的高低、震荡器工作的稳定性、起振的难易程度及灯的稳定性本设计采 用的是石英晶体电容C1、C2用22 f内音E时钟方式外部时钟方式图3-5时钟振荡方式此设计也可以采用外部时钟电路如图3—5外部时钟方式所示这种情况下外部 时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空为AT89C51 提供基准频率、产生振荡电流、发出时钟信号。 3.2硬件电路设计按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功 耗系统及典型系统等因此,本彩灯控制系统实际上就是一个带有八个发光二极管的 单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组 成的单个单片机其具体硬件电路如下图所示:图3-5硬件电路设计图S工-iB二rlrl汀=总电路工作过程:按下电源开关系统开始工作,单片机把程序计数器(PC)中地址送到程序存储 器,并从中取出需要执行指令的操作码和操作数指令执行阶段可以对指令操作码进 行译码,以产生一系列控制信号,从而完成指令的执行通过控制对核心芯片AT89c51 内部系统编程,设想哪个引脚外发光二极管亮(除接晶振,电源,地的引脚外)则对 其系统内部编程设为低电平,哪个引脚外发光二极管灭则相应的设为高电平设想引 脚外全部发光二极管亮对应的所有引脚则全设为低电平,设想引脚外相应的发光二极 管全灭则引脚全设为高电平晶振采用12MHZ,可知输出延迟时间为100ms,再对 内部编写循环程序以达到设计要求就可控制彩灯点亮时间先红、绿、黄三组灯中的 每个灯逐渐点亮,实现发光二极管由弱到强然后控制红绿蓝灯点亮的数目,依次点 亮红,绿,蓝,黄,紫,青颜色的彩灯,按下复位按钮系统恢复到初始状态并开始工 作。 在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时 间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“彩灯” 效果了4软件程序设计4.1主程序设计端口参数初始化调用红灯渐亮的子程序调用绿灯渐亮的子程序调用蓝灯渐亮的子程序调用组合显示子程序调用彩灯显示子程序图4-1主程序流程图4.2系统流程图图4-2红(绿,蓝)灯由弱到强流程图图4-3色光控制图图4-4花样彩灯流程图可编程彩灯控制系统程序主要分为以下几个模块:初始化程序、主程序、红(绿, 蓝)灯渐亮程序,色光控制程序,花样彩灯程序等1、 初始化程序初始化程序主要完成对端口引脚控制信号的初始化2、 主程序主程序主要负责总体程序管理控制功能,实现彩灯的循环控制3、 红、红(绿,蓝)灯渐亮程序红、红(绿,蓝)灯渐亮程序主要实现红,绿,蓝光由弱到强,先亮一个,再 亮两个,再亮三个,慢慢的直到最后全亮,使其出现由弱到强的现象4、 色光控制程序色光控制程序主要通过每次点亮红色发光二极管,绿色发光二极管,蓝色发光二 极管的数目,实现实现黄色,紫色,青色灯得点亮5、花样彩灯程序花样彩灯程序主要通过控制不同颜色发光二极管的数目,来实现实现花样彩灯。 5系统仿真5. 1系统仿真过程EAL,miiHRTmE-mPJAEEKnr泗只”asB Sim时y闭知时P7 1同 riaA-n pssat 气an PtfeNU □ t»u FUViHPJg;* MiiTjcD mg, PSJ3X»F!P5-m PO-ifl* P-J4VJF:H3 J.MHXi(2)绿灯由弱到强逐渐点亮l-lrzjviijmE-mPJAEEKnr泗只”asB Sim时£■闭知时MriJM-M ■;* 号*'2MiiTjcD mgs ^sjy»F!P5-mPO-ifl*P-J4VJF:H3 J.MH。












