基于AT89C51单片机的LED彩灯控制器设计.doc

上传人:可****阿 文档编号:32476797 上传时间:2022-08-09 格式:DOC 页数:31 大小:313.04KB
返回 下载 相关 举报
基于AT89C51单片机的LED彩灯控制器设计.doc_第1页
第1页 / 共31页
基于AT89C51单片机的LED彩灯控制器设计.doc_第2页
第2页 / 共31页
点击查看更多>>
资源描述

《基于AT89C51单片机的LED彩灯控制器设计.doc》由会员分享,可在线阅读,更多相关《基于AT89C51单片机的LED彩灯控制器设计.doc(31页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、前言随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。LED彩灯由于其丰 富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用 彩灯来装饰街道和城市建筑物已经成为一种时尚。但目前市场上各式样的LED彩灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态 参数。这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。因此有必要对现有的彩灯控制器进行改良。本文提出了一种基于AT8

2、9C51单片机的彩灯控制方案,实现对LED彩灯的控制。本方案以AT89C51单片机作为主控核心,与键盘、显示、驱动等模块组成核心主控制模块。在主控模块上设有8个按键和5位七段码LED显示器,根据用户需要可以编写假设干种亮灯模式,利用其内部定时器T0实现一个基本单位时间为5 ms的定时中断,根据各种亮灯时间的不同需要,在不同时刻输出灯亮或灯灭的控制信号,然后驱动各种颜色的灯亮或灭。该新型LED彩灯及其控制器是上海某公司委托开发产品,产品实际应用效果较好,亮灯模式多,用户可以根据不同场合和时间来调节亮灯频率和亮灯时间。与普通LED彩灯相比,具有体积小、价格低、低能耗等优点。摘要本设计介绍了一种新型

3、的LED彩灯控制系统的设计方法,以AT-89C51单片机作为主控核心,与按键、显示器等较少的辅助硬件电路相结合,利用软件实现对LED彩灯进行控制。本系统具有体积小、硬件少、电路结构简单及容易操作等优点。以及LED技术的用途和发展前景。关键字:LED AT89C51 控制器 目录前言1摘要21 AT89C51单片机的原理简介5 1.1主要特征5 1.2管脚说明5 1.3振荡器特性71.4芯片擦除71.5串口通讯72 LED工作原理、特性及应用11 2.1LED发光原理12 2.2LED的特性12 2.2.1极限参数的意义12 2.2.2电参数的意义122.3 LED的分类13 2.3.1按发光管

4、发光颜色分13 2.3.2按发光管出光面特征分132.3.3按发光二极管的结构分142.3.4按发光强度和工作电流分142.4 LED的应用142.4.1单LED电平指示电路142.4.2单LED可充作低压稳压管用152.4.3电平表152.5发光二极管的检测152.5.1普通发光二极管的检测152.5.2系统功能163彩灯设计18 3.1硬件设计18 3.1.1主控模块电路选型18 3.1.2管内LED板模块选型18 3.2软件设计20 3.3LED技术的发展前景24结论29致谢30参考文献31 1 AT89C51单片机的原理简介AT89C51是一种带4K字节闪烁可编程可擦除只读存储器FPE

5、ROMFalsh Programmable and Erasable Read Only Memory的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。1.1 主要特性与MCS-5

6、1 兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定1288位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 1.2 管脚说明VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1

7、口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利

8、用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流ILL这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD串行输入口P3.1 TXD串行输出口P3.2 /INT0外部中断0P3.3 /INT1外部中断1P3.4 T0记时器0外部输入P3.5 T1记时器1

9、外部输入P3.6 /WR外部数据存储器写选通P3.7 /RD外部数据存储器读选通P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX

10、,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器0000H-FFFFH,不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源VPP。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来

11、自反向振荡器的输出。1.3 振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。1.4 芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持

12、两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。1.5 串口通讯单片机的结构和特殊寄存器,这是你编写软件的关键。至于串口通信需要用到那些特殊功能寄存器呢,它们是SCON,TCON,TMOD,SCON等,各代表的含义。SBUF 数据缓冲寄存器这是一个可以直接寻址的串行口专用寄存器。有朋友这样问起过“为何在串行口收发中,都只是使用到同一个寄存器SBUF?而不是收发各用一个寄存器。”实际上SBUF 包含了两个独立的寄存器,一个是发送寄存,另一个是接收寄存

13、器,但它们都共同使用同一个寻址地址99H。CPU 在读SBUF 时会指到接收寄存器,在写时会指到发送寄存器,而且接收寄存器是双缓冲寄存器,这样可以防止接收中断没有及时的被响应,数据没有被取走,下一帧数据已到来,而造成的数据重叠问题。发送器则不需要用到双缓冲,一般情况下我们在写发送程序时也不必用到发送中断去外理发送数据。操作SBUF寄存器的方法则很简单,只要把这个99H 地址用关键字sfr定义为一个变量就可以对其进行读写操作了,如sfr SBUF = 0x99;当然你也可以用其它的名称。通常在标准的reg51.h 或at89x51.h 等头文件中已对其做了定义,只要用#include 引用就可以

14、了。SCON 串行口控制寄存器通常在芯片或设备中为了监视或控制接口状态,都会引用到接口控制寄存器。SCON 就是51 芯片的串行口控制寄存器。它的寻址地址是98H,是一个可以位寻址的寄存器,作用就是监视和控制51 芯片串行口的工作状态。51 芯片的串口可以工作在几个不同的工作模式下,其工作模式的设置就是使用SCON 寄存器。它的各个位的具体定义如下: SM0 SM1 SM2 REN TB8 RB8 TI RISM0、SM1 为串行口工作模式设置位,这样两位可以对应进行四种模式的设置。串行口工作模式设置。 SM0 SM1 模式功能 波特率 0 0 0 同步移位寄存器 fosc/12 0 1 1

15、8位UART 可变 1 0 2 9位UART fosc/32 或fosc/64 1 1 3 9位UART 可变在这里只说明最常用的模式1,其它的模式也就一一略过,有兴趣的朋友可以找相关的硬件资料查看。表中的fosc 代表振荡器的频率,也就是晶振的频率。UART 为(Universal Asynchronous Receiver的英文缩写。 SM2 在模式2、模式3 中为多处理机通信使能位。在模式0 中要求该位为0。 REM 为允许接收位,REM 置1 时串口允许接收,置0 时禁止接收。REM 是由软件置位或清零。如果在一个电路中接收和发送引脚P3.0,P3.1 都和上位机相连,在软件上有串口中

16、断处理程序,当要求在处理某个子程序时不允许串口被上位机来的控制字符产生中断,那么可以在这个子程序的开始处加入REM=0 来禁止接收,在子程序结束处加入REM=1 再次打开串口接收。大家也可以用上面的实际源码加入REM=0 来进行实验。TB8 发送数据位8,在模式2 和3 是要发送的第9 位。该位可以用软件根据需要置位或清除,通常这位在通信协议中做奇偶位,在多处理机通信中这一位则用于表示是地址帧还是数据帧。RB8 接收数据位8,在模式2 和3 是已接收数据的第9 位。该位可能是奇偶位,地址/数据标识位。在模式0 中,RB8 为保留位没有被使用。在模式1 中,当SM2=0,RB8 是已接收数据的停

17、止位。TI 发送中断标识位。在模式0,发送完第8 位数据时,由硬件置位。其它模式中则是在发送停止位之初,由硬件置位。TI 置位后,申请中断,CPU 响应中断后,发送下一帧数据。在任何模式下,TI 都必须由软件来清除,也就是说在数据写入到SBUF 后,硬件发送数据,中断响应如中断打开,这时TI=1,说明发送已完成,TI 不会由硬件清除,所以这时必须用软件对其清零。RI 接收中断标识位。在模式0,接收第8 位结束时,由硬件置位。其它模式中则是在接收停止位的半中间,由硬件置位。RI=1,申请中断,要求CPU 取走数据。但在模式1 中,SM2=1时,当未收到有效的停止位,则不会对RI 置位。同样RI

18、也必须要靠软件清除。常用的串口模式1 是传输10 个位的,1 位起始位为0,8 位数据位,低位在先,1 位停止位为1。它的波特率是可变的,其速率是取决于定时器1 或定时器2 的定时值溢出速率。AT89C51 和AT89C2051 等51 系列芯片只有两个定时器,定时器0 和定时器1,而定时器2是89C52 系列芯片才有的。波特率在使用串口做通讯时,一个很重要的参数就是波特率,只有上下位机的波特率一样时才可以进行正常通讯。波特率是指串行端口每秒内可以传输的波特位数。有一些初学的朋友认为波特率是指每秒传输的字节数,如标准9600 会被误认为每秒种可以传送9600个字节,而实际上它是指每秒可以传送9

19、600 个二进位,而一个字节要8 个二进位,如用串口模式1 来传输那么加上起始位和停止位,每个数据字节就要占用10 个二进位,9600 波特率用模式1 传输时,每秒传输的字节数是960010960 字节。51 芯片的串口工作模式0的波特率是固定的,为fosc/12,以一个12M 的晶振来计算,那么它的波特率可以到达1M。模式2 的波特率是固定在fosc/64 或fosc/32,具体用那一种就取决于PCON 寄存器中的SMOD位,如SMOD 为0,波特率为focs/64,SMOD 为1,波特率为focs/32。模式1 和模式3 的波特率是可变的,取决于定时器1 或252 芯片的溢出速率。那么我们

20、怎么去计算这两个模式的波特率设置时相关的寄存器的值呢?可以用以下的公式去计算。 波特率2SMOD32定时器1 溢出速率 式1.1上式中如设置了PCON 寄存器中的SMOD 位为1 时就可以把波特率提升2 倍。通常会使用定时器1 工作在定时器工作模式2 下,这时定时值中的TL1 做为计数,TH1 做为自动重装值 ,这个定时模式下,定时器溢出后,TH1 的值会自动装载到TL1,再次开始计数,这样可以不用软件去干预,使得定时更准确。在这个定时模式2 下定时器1 溢出速率的计算公式如下: 溢出速率计数速率/(256TH1) 式1.2上式中的“计数速率”与所使用的晶体振荡器频率有关,在51 芯片中定时器

21、启动后会在每一个机器周期使定时寄存器TH 的值增加一,一个机器周期等于十二个振荡周期,所以可以得知51 芯片的计数速率为晶体振荡器频率的1/12,一个12M 的晶振用在51 芯片上,那么51 的计数速率就为1M。通常用11.0592M 晶体是为了得到标准的无误差的波特率,那么为何呢?计算一下就知道了。如我们要得到9600 的波特率,晶振为11.0592M 和12M,定时器1 为模式2,SMOD 设为1,分别看看那所要求的TH1 为何值。代入公式: 11.0592M 9600(232)(11.0592M/12)/(256-TH1) TH125 式1.3 12M 9600(232)(12M/12)

22、/(256-TH1) TH1249.49 式1.4 上面的计算可以看出使用12M 晶体的时候计算出来的TH1 不为整数,而TH1 的值只能取整数,这样它就会有一定的误差存在不能产生精确的9600 波特率。当然一定的误差是可以在使用中被接受的,就算使用11.0592M 的晶体振荡器也会因晶体本身所存在的误差使波特率产生误差,但晶体本身的误差对波特率的影响是十分之小的,可以忽略不计。2 LED工作原理、特性及应用2.1 LED发光原理半导体发光器件包括半导体发光二极管简称LED、数码管、符号管、米字管及点阵式显示屏简称矩阵管等。事实上,数码管、符号管、米字管及矩阵管中的每个发光单元都是一个发光二极

23、管。发光二极管是由-族化合物,如GaAs砷化镓、GaP磷化镓、GaAsP磷砷化镓等半导体制成的,其核心是PN结。因此它具有一般P-N结的I-N特性,即正向导通,反向截止、击穿特性。此外,在一定条件下,它还具有发光特性。在正向电压下,电子由N区注入P区,空穴由P区注入N区。进入对方区域的少数载流子少子一部分与多数载流子多子复合而发光,如图1所示。 假设发光是在P区中发生的,那么注入的电子与价带空穴直接复合而发光,或者先被发光中心捕获后,再与空穴复合发光。除了这种发光复合外,还有些电子被非发光中心这个中心介于导带、介带中间附近捕获,而后再与空穴复合,每次释放的能量不大,不能形成可见光。发光的复合量

24、相对于非发光复合量的比例越大,光量子效率越高。由于复合是在少子扩散区内发光的,所以光仅在靠近PN结面数m以内产生。理论和实践证明,光的峰值波长与发光区域的半导体材料禁带宽度g有关,即 1240/Egmm 式2.1式中Eg的单位为电子伏特eV。假设能产生可见光波长在380nm紫光780nm红光,半导体材料的Eg应在3.261.63eV之间。比红光波长长的光为红外光。现在已有红外、红、黄、绿及蓝光发光二极管,但其中蓝光二极管成本、价格很高,使用不普遍。2.2 LED的特性2.2.1 极限参数的意义1允许功耗Pm允许加于LED两端正向直流电压与流过它的电流之积的最大值。超过此值,LED发热、损坏。2

25、最大正向直流电流Ifm允许加的最大的正向直流电流。超过此值可损坏二极管。3最大反向电压VRm所允许加的最大反向电压。超过此值,发光二极管可能被击穿损坏。4工作环境topm发光二极管可正常工作的环境温度范围。低于或高于此温度范围,发光二极管将不能正常工作,效率大大降低。2.2.2 电参数的意义1光谱分布和峰值波长某一个发光二极管所发之光并非单一波长,其波长大体按图2所示。 由图可见,该发光管所发之光中某一波长0的光强最大,该波长为峰值波长。2发光强度IV发光二极管的发光强度通常是指法线对圆柱形发光管是指其轴线方向上的发光强度。假设在该方向上辐射强度为1/683W/sr时,则发光1坎德拉符号为cd

26、。由于一般LED的发光二强度小,所以发光强度常用坎德拉(mcd)作单位。3光谱半宽度它表示发光管的光谱纯度.是指图3中1/2峰值光强所对应两波长之间隔. 4半值角1/2和视角1/2是指发光强度值为轴向强度值一半的方向与发光轴向法向的夹角。 半值角的2倍为视角或称半功率角。 图3给出的二只不同型号发光二极管发光强度角分布的情况。中垂线法线AO的坐标为相对发光强度即发光强度与最大发光强度的之比。显然,法线方向上的相对发光强度为1,离开法线方向的角度越大,相对发光强度越小。由此图可以得到半值角或视角值。5正向工作电流If它是指发光二极管正常发光时的正向电流值。在实际使用中应根据需要选择IF在0.6I

27、Fm以下。 6正向工作电压VF参数表中给出的工作电压是在给定的正向电流下得到的。一般是在IF=20mA时测得的。发光二极管正向工作电压VF在1.43V。在外界温度升高时,VF将下降。7V-I特性在正向电压正小于某一值叫阈值时,电流极小,不发光。当电压超过某一值后,正向电流随电压迅速增加,发光。由V-I曲线可以得出发光管的正向电压,反向电流及反向电压等参数。正向的发光管反向漏电流IR2.3 LED的分类2.3.1 按发光管发光颜色分按发光管发光颜色分,可分成红色、橙色、绿色又细分黄绿、标准绿和纯绿、蓝光等。另外,有的发光二极管中包含二种或三种颜色的芯片。根据发光二极管出光处掺或不掺散射剂、有色还

28、是无色,上述各种颜色的发光二极管还可分成有色透明、无色透明、有色散射和无色散射四种类型。散射型发光二极管和达于做指示灯用。2.3.2 按发光管出光面特征分按发光管出光面特征分圆灯、方灯、矩形、面发光管、侧向管、外表安装用微型管等。圆形灯按直径分为2mm、4.4mm、5mm、8mm、10mm及20mm等。国外通常把3mm的发光二极管记作T-1;把5mm的记作T-13/4;把4.4mm的记作T-11/4。由半值角大小可以估计圆形发光强度角分布情况。从发光强度角分布图来分有三类:1高指向性一般为尖头环氧封装,或是带金属反射腔封装,且不加散射剂。半值角为520或更小,具有很高的指向性,可作局部照明光源

29、用,或与光检出器联用以组成自动检测系统。2标准型通常作指示灯用,其半值角为2045。3散射型这是视角较大的指示灯,半值角为4590或更大,散射剂的量较大。2.3.3 按发光二极管的结构分按发光二极管的结构分有全环氧包封、金属底座环氧封装、陶瓷底座环氧封装及玻璃封装等结构。2.3.4 按发光强度和工作电流分按发光强度和工作电流分有普通亮度的LED发光强度100mcd;把发光强度在10100mcd间的叫高亮度发光二极管。一般LED的工作电流在十几mA至几十mA,而低电流LED的工作电流在2mA以下亮度与普通发光管相同。除上述分类方法外,还有按芯片材料分类及按功能分类的方法。2.4 LED的应用由于

30、发光二极管的颜色、尺寸、形状、发光强度及透明情况等不同,所以使用发光二极管时应根据实际需要进行恰当选择。由于发光二极管具有最大正向电流IFm、最大反向电压VRm的限制,使用时,应保证不超过此值。为安全起见,实际电流IF应在0.6IFm以下;应让可能出现的反向电压VRRm。LED被广泛用于种电子仪器和电子设备中,可作为电源指示灯、电平指示或微光源之用。红外发光管常被用于电视机、录像机等的遥控器中。2.4.1 单LED电平指示电路在放大器、振荡器或脉冲数字电路的输出端,可用LED表示输出信号是否正常,如图7所示。R为限流电阻。只有当输出电压大于LED的阈值电压时,LED才可能发光。 2.4.2 单

31、LED可充作低压稳压管用由于LED正向导通后,电流随电压变化非常快,具有普通稳压管稳压特性。发光二极管的稳定电压在1.43V间,应根据需要进行选择VF,如图8所示。2.4.3 电平表目前,在音响设备中大量使用LED电平表。它是利用多只发光管指示输出信号电平的,即发光的LED数目不同,则表示输出电平的变化。图9是由5只发光二极管构成的电平表。当输入信号电平很低时,全不发光。输入信号电平增大时,首先LED1亮,再增大LED2亮。2.5 发光二极管的检测2.5.1 普通发光二极管的检测 1用万用表检测利用具有10k挡的指针式万用表可以大致判断发光二极管的好坏。正常时,二极管正向电阻阻值为几十至200

32、k,反向电阻的值为。如果正向电阻值为0或为,反向电阻值很小或为0,则易损坏。这种检测方法,不能实地看到发光管的发光情况,因为10k挡不能向LED提供较大正向电流。如果有两块指针万用表最好同型号可以较好地检查发光二极管的发光情况。用一根导线将其中一块万用表的“+”接线柱与另一块表的“-”接线柱连接。余下的“-”笔接被测发光管的正极P区,余下的“+”笔接被测发光管的负极N区。两块万用表均置10挡。正常情况下,接通后就能正常发光。假设亮度很低,甚至不发光,可将两块万用表均拨至1假设,假设仍很暗,甚至不发光,则说明该发光二极管性能不良或损坏。应注意,不能一开始测量就将两块万用表置于1,以免电流过大,损

33、坏发光二极管。2外接电源测量用3V稳压源或两节串联的干电池及万用表指针式或数字式皆可可以较准确测量发光二极管的光、电特性。为此可按图10所示连接电路即可。如果测得VF在1.43V之间,且发光亮度正常,可以说明发光正常。如果测得VF=0或VF3V,且不发光,说明发光管已坏。 2红外发光二极管的检测 由于红外发光二极管,它发射13m的红外光,人眼看不到。通常单只红外发光二极管发射功率只有数mW,不同型号的红外LED发光强度角分布也不相同。红外LED的正向压降一般为1.32.5V。正是由于其发射的红外光人眼看不见,所以利用上述可见光LED的检测法只能判定其PN结正、反向电学特性是否正常,而无法判定其

34、发光情况正常否。为此,最好准备一只光敏器件如2CR、2DR型硅光电池作接收器。用万用表测光电池两端电压的变化情况。来判断红外LED加上适当正向电流后是否发射红外光。2.5.2 系统功能新型LED彩灯分为2部分,即彩灯控制器主控模块和管内LED板模块受控模块。彩灯控制器可直接与220 V交流市电相连接,经过开关电源变换,输出直流工作电压,一方面为管内LED模块提供12 V工作电源,另一方面为主控模块单片机系统彩灯控制器提供5 V工作电源。整个系统工作由软件程序控制运行,根据需要,用户可以在LED彩灯工作时通过主控模块上的按键来设定亮灯时间和灯光闪动频率。上电后系统经过初始化,查询是否有功能切换键

35、按下:有,则进入用户设定模式状态;无,则进入默认缺省工作状态。在用户设定模式状态下,用户可以根据个人爱好及不同场合的需要来指定调用哪些模式,并且可以改变每种模式的时间Ti、频率Fi参数,如果用户想进入缺省状态模式,只需按一下功能切换键即可跳入缺省模式,程序会自动顺序调用亮灯模式;在缺省工作状态下,LED彩灯控制器按照程序设定好的假设干亮灯把戏模式程序Model_i顺序调用往下走,从第Model_1模式开始工作,自Model_1到Model_2到Mod el_n为一个亮灯周期,然后再回到Model_1循环继续工作,同样如果想进入用户设定模式状态,只需按下功能切换键即可。整个n种亮灯模式时间可以看

36、作一个大周期T,其中的每一种把戏工作模式Model_ii=1,2,n时间为小周期Ti,对于每一个模式编写一个独立工作子程序Model_i,其中设定了LED三色灯红、绿、蓝的点亮时刻RED_on,GREEN_on,BLUE_on和熄灭时刻RED_off,GREEN_off,BLU E_off),以及模式工作时间Ti以及该模式LED闪烁频率Fi。5位七段码显示器的前2位L1,L2显示当前工作模式的序号Model_i;后3位L3,L4,L5七段码 显示三色LED的工作状态,假设该颜色灯点亮则对应七段码显示位为“1”,反之熄灭时则显示位为“灭”即不显示,对系统工作状态起到了很好的实时监控作用。因此在L

37、ED彩灯上电工作后,用户可以方便地通过主控模块上的显示器知道LED彩灯当前工作模式Model_i,工作时间Ti,频率Fi等实时参数。假设实际应用需要根据不同场合和时间来改变彩灯闪亮效果,用户可以通过主控模块上的按键来设定LED不同的闪烁频率Fi和亮灯时间Ti,以便符合实际需要。此外如果用户对某一种模式感兴趣需要仔细观看该种亮灯模式,可以通过键盘选定任意第Model_i模式使系统循环重复工作在该把戏模式下。3 彩灯设计3.1 硬件设计新型LED彩灯系统包括2大部分,即LED彩灯控制器89C51主控模块和LED彩灯管管内LED板模块。前者是主控模块,具有按键、显示等功能,并利用89C51的P口输出

38、控制信号;后者是受控模块,上面焊有三色LED彩灯和信号驱片,模块置于LED的透明灯管内。图3.1 主控模块硬件图3.1.1 主控模块电路选型主控模块电路如图3.1所示。主控模块主要设计器件有89C51,5个七段码LED显示器,8个按键,2个稳压器提供12 V,5 V电压,1个信号输出驱动模块芯片(MC4049)等。通过软件设计,使单片机P0口作为三色LED驱动信号输出口及移位时钟CLOCK信号,P3口为按键输入口,P2口、P1口与5位七段码LED相接作为显示器的输出口。3.1.2 管内LED板模块选型LED彩灯控制器,以CD4069六非门集成电路和晶体管为主要元器件制作而成,它可控制4路发光二

39、极管 (每路50只)闪烁发光,可作为节日彩灯或广告装饰彩灯。电路工作原理该LED彩灯控制器电路由电源电路、振荡器和LED驱动控制电路组成:如下图。 图3.2 LED彩灯控制器电路图电源电路由整流二极管VDl-VD4、限流电阻器Rl、稳压二极管VS和滤波电容器Cl组成。振荡器由非门集成电路IC(Dl-D6)内部的D5、D6和电阻器R3、R4、电容器C2、电位器RPl组成。LED驱动控制电路由电阻器R2、R5-R8、IC内部的Dl-D4、可变电阻器RP2-RP5、晶体管Vl-V4和发光二极管VLl-VL2O0组成。为简化电路,图中VL2-VL49和VL52-VL99、VL102-VLl49、VLI

40、52-VLl99未画出。交流220V电压经VDl-VD4整流后,一路直接供给LED驱动电路;另一路经Rl限流降压、VS稳压及Cl滤波后,为IC提供+6V工作电压。振荡器通电工作后,输出低频振荡信号。该低频振荡信号经Dl-D4反相处理后,分别经RP2-RP5加至Vl-V4的基极,使Vl-V4交替导通,VLl-VL5O、VLl-VLlOO、VLlO1-VLl5O、VLl51-VL2O0交替发光。调节RPl的阻值,呵改变振荡器的工作频率,从而改变LED发光二极管闪烁发光的效果。元器件选择:R1选用1/2W金属膜电阻器;R2-R4选用1/4W金属膜电阻器或碳膜电阻器;R5-R8选用5W金属膜电阻器或线

41、绕电阻器。RPl选用小型实心电位器;R口-RP5均选用膜式可变电阻器。Cl选用耐压值为25V以上的铝电解电容器;C2选用耐压值为63V的钮电解电容器。VDl-VD4均选用lN5406型硅整流二极管。VS选用1N4735型硅稳压二极管。VLl-VL2O0均选用8mm或12mm的发光二极管。Vl-V4选用3DDl5或DDO3型硅NPN晶体管。IC选用CD4069或CC4069、MCl4069型六非门集成电路。3.2 软件设计新型LED彩灯控制器最大特点在于所有亮灯模式均由软件控制完成。系统中软件可以分为主程序和中断服务子程序。上电后在缺省状态以顺序调用Model_i把戏亮灯模式流程为主程序,以一个

42、单位时间5 ms的T0定时为中断服务子程序。在这个5 ms的T0定时基础上,可以根据需要来确定各种模式工作时间Ti,以及确定在各种亮灯模式Mode l_i内点亮和熄灭各种颜色LED灯的时刻:Red_on,Red_off,Green_on,Green_off,Blue_on,blue_off以及Clock移位翻转脉冲等。整个系统软件由主程序 Main、各个模式子程序Model_i、5 ms中断服务子程序(T0 Interrupt)、键盘扫描处理子程序Key Board、显示子程序Display等程序组成。利用T0定时器作为定时基本单位,根据模式需要计算好各控制信号的发生时刻,根据不同的模式Mo

43、del_i可以设定不同的工作时间Ti和脉冲翻转频率Fi通过P0口输出,使各色L ED灯的驱动时刻与移位触发的翻转时刻步调一致,使LED彩灯按照设计的模式工作。除了T0定时中断之外,程序的大部份时间是在处理按键的查询和LED显示的延时。8个按键分别为:4个参数按键Fi增、减按键,Ti增、减按键,3个模式改变按键模式上翻UP、模式下翻DOWN、模式保持KEEP,1个功能切换按键。在每次的T0定时中断服务子程序里,需要对各个时间寄存器和模式寄存器进行加1或者清,为主程序查询作准备,同时查询是否已中断6次30 ms,假设30 ms到了,则对参数按键查询一次,是否有时间Ti频率Fi增减键按下并进行相应子

44、程序处理。主程序除了调用各种子模式子程序Model_i,调用LED显示子程序(Display)和延时子程序(Delay)之外,还一直保持查询是否有功能切键按下以及是否有模式改变按键按下,一旦有功能切换键和模式改变键按下,就会进入相应的按键处理。 主程序流程如图3.3所示。亮灯模式子程序Model_i可以编写假设干(n种),只要控制好各色灯触发和熄灭时刻就可以组合成各种亮灯效果。Model_i程序流程如图3.4所示。主程序程序初始化调用亮灯Model_1模式第1种模式亮完?调用第N i种亮灯模式Model_i(i=2、3n)第n种模式亮完?NNYY图3.3 主程序流程图Wodel_i亮灯状态有模式改变键按下?Up.Down.Keep转Model(i-1)模式转Model(i+1)模式调用Model_i模式调用Model_i模式Model_i工作时间Ti已满?有功能键按下?转Model(i+1)模式Up键按下Down键按下YYKeep键按下NYNN图3.4 Model_i模式状态流程图

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com