0
关注
263
浏览

灯光移位控制程序(单片机程序)

为什么被折叠? 0 个回复被折叠
热心网友 未知组 用户来自于: 北京市
2026-01-17 14:08
摘要:介绍了单片机实现多路灯光自动控制系统的软、硬件设计。 关键词:单片机自动控制可控硅抗干扰 利用单片机丰富的软硬件资源实现对各种广告牌多路灯光自动控制,与传统的电子线路控制器相比,具有可编程、体积小、控制灵活、操作方便、控制时间可变可调等优点。 我们为呼市邮政局设计并安装了上述单片机多路灯光自动控制系统。下面就该系统的软、硬件设计作介绍。 1系统结构及工作原理 系统整体结构如图1。 图1系统结构 8031单片机是该系统的核心部件,其主要功能:(1)灯光控制的软件编程;(2)干扰信号的处理及复位;(3)光强及时间定时的检测及控制。 单片机的控制程序通过对光强或时间的检测,自动开启(夜间)或关闭(白天)灯光系统,每1路灯光设备与8031内存控制位相对应,单片机通过P3.0(RXD)和P3.1(TXD)多功能口,利用串行通信方式0实现不同控制代码的输出,从而完成了多路灯光设备各种变化的自动循环显示。 28031单片机控制系统功能分析 2.1光强或时间定时的检测及控制 如图2所示,当8031单片机P1.4的控制开关拨到+5V时,系统的开启或关闭由光强控制。这时,当光线较强时(白天),光耦二极管电阻变小,三极管Q1导通,P1.7为低电平;当光线暗时(夜间)光耦二极管变大,三极管Q1截止,P1.7为高电平。8031单片机控制程序每隔一定时间(约5ms)采样P1.7端的状态,然后根据其高低电平选择开启或关闭相应的灯光控制代码发送。图2中与光耦二极管并联的可调电位器可以调整三极管Q1的截止导通状态,从而实现对光控的微调。 图2光耦电路 当P1.4拨至接地状态时,8031单片机程序进入时间控制子程序,8031单片机把内部定时器0设置成日历时钟计数(其初值可以用按钮设置),当程序查询到表格内的开启或关闭初值(表格的初值可通过按钮及数码管显示来输入或修改)与单片机时钟当前值相同时,则自动发送相应的开启或关闭输出控制代码。 2.2双向可控硅控制电路 由于负载一般为大功率器件(电压从几百伏至上千伏,电流从几安培至几十安培),因此,8031单片机工作部分与可控硅触发部分采用MOC3021双向可控硅输出型光电耦合器,图3为1路可控硅触发控制电路。 图3可控硅触发电路 可控硅TR的门极触发电流为50mA,触发电压为2V,则最小触发电压为: VT=R1,IGT+VGT+VTM=300×0.05+2+3=20V 对应的最小控制角α为: 其中:IGT为可控硅TR的最小触发电流,VGT为可控硅TR的最小触发电压,VTM为MOC3021输出压降(3V),Vp为交流工作电压的峰值。 在使用中发现,当感性负载时,有时会引起可控硅误触发。经分析发现,当感性负载时,由于电压上升率dv/dt较大,在阻断状态下,可控硅的PN结相当于1个电容,当突然受到正向电压、充电电流过门极PN结时,起到了触发电流的作用,造成MOC3021的输出回路可控硅误导通。为此,我们对上述电路进行了修正,如图4所示。在输出回路中加入R2和C1组成RC回路,降低dv/dt。按照MOC3021的技术指标,允许最大的电压上升率dv/dt=10V/s,结温上升时dυ/dt下降,在极端的工作条件下,dv/dt=0.8V/s。 图4修改后的触发电路 R2、R1之和与最小触发电压与可控硅门极电流的关系为: C1取0.2μF。 同理,在TR输出端加上RC滤波网络,从而使TR输出电压上升率下降。 2.3单片机工作回路的干扰及解决措施 由图1可知,光耦电路利用MOC4021将输入弱信号与输出强信号进行隔离,但在实际运行时,单片机系统仍有较强的干扰信号存在,常常出现死机或程序飞跑现象。分析认为,由于输出的大电流及电压均工作在开关状态,输出高次谐波通过电源回路对8031单片机产生了较大的影响,因此,我们设计了电源滤波电路及硬件复位电路,对电路的干扰进行了有效的控制。其中,硬件复位电路如图5所示。图5中74LS123为双路可再触发单稳态多谐振荡器,通过外接阻容参数,可产生不同宽度的正负脉冲,其真值表如表1。 图5复位电路 表174LS123真值表 输入输出 deleteABQQ LXXLH XHXLH XXLLH HL^ HIH LH 由表1及图5电路可知:由于1脚A接地,2脚B接8031单片机P1.0,正常运行时,循环程序不断从P1.0发送代码信号,使2脚不断有上升沿出现,因此,13脚保持高电平,则5脚输出低电平,保持8031RESET脚低电平的需要。当程序飞跑或死机时,2脚电位不再变化,使5脚产生一高电平脉冲,促使8031复位,重新启动。 3系统结构特点及应用范围 该系统软硬件均采用模块化结构,1块控制板能控制16路输出,输出信号通过8031串行口RXD及TXD端经74LS164串入并出移位寄存器输出,因此,软件输出代码高达上千路信号,硬件控制板根据需要可以任意扩充,只要电源变压功率相应增大即可。该系统可广泛应用于霓红灯,多路塑料管灯及多路色灯的控制。 另外,系统具有与微机串行口RS-232的通信接口,必要时可以与微机连接,这样,多路灯光控制参数及时间控制参数在微机上可随时修改,使控制变得更加灵活。 作者单位:呼和浩特内蒙古大学电子工程系(010021) 参考文献 1余永权.单片机应用系统的功率接口技术.北京:北京航空航天大学出版社,1992;104~108 2李树华.IBM-PC微机与发光管显示屏的连网通讯.内蒙古大学学报(自然科学版),1993;(4):441~443 3XicorInc.NewProductandApplicationsInformationforDesignengineers.EDN,1994;39(25):159~160
热心网友 未知组 用户来自于: 北京市
2026-01-17 14:38
逐个控制P1端口的每个位来实现的,因此程序显得有点复杂,利用循环移位指令,采用循环程序结构进行编程。我在程序一开始就给P1口送一个数,这个数本身就让P1.0先低,其他位为高,然后延时一段时间,再让这个数据向高位移动,然后再输出至P1口,这样就实现“流水”效果啦。由于8051系列单片机的指令中只有对累加器ACC中数据左移或右移的指令,因此实际编程中我们应把需移动的数据先放到ACC中,让其移动,然后将ACC移动后的数据再转送到P1口,这样同样可以实现“流水”效果。具体编程如下所示,程序结构确实简单了很多。 ORG0000H;单片机上电后从0000H地址执行 AJMPSTART;跳转到主程序存放地址处 ORG0030H;设置主程序开始地址 START:MOVSP,#60H;设置堆栈起始地址为60H MOVA,#0FEH;ACC中先装入LED1亮的数据(二进制的11111110) MOVP1,A;将ACC的数据送P1口 MOVR0,#7;将数据再移动7次就完成一个8位流水过程 LOOP:RLA;将ACC中的数据左移一位 MOVP1,A;把ACC移动过的数据送p1口显示 ACALLDELAY;调用延时子程序 DJNZR0,LOOP;没有移动够7次继续移动 AJMPSTART;移动完7次后跳到开始重来,以达到循环流动效果 DELAY:;延时子程序 MOVR0,#255;延时一段时间 D1:MOVR1,#255 DJNZR1,$ DJNZR0,D1

关于作者

问题动态

发布时间
2026-01-17 15:33
更新时间
2026-01-17 15:33
关注人数
0 人关注

相关问题

单模光纤跟多模光纤的标准衰减控制在多少?光功率计DB是指衰减吧?
自动窗帘控制系统价格是怎样的
ac控制器能当行为管理路由器吗?ac一般起步就是100台,是不是就可以代
汽车牌照识别算法研究及MATLAB程序
电动窗帘的控制线是多大的
8路智能照明控制模块是如何实现开关的呢
智能照明控制系统有线的好还是无线的好
外景婚纱照拍摄如何进行灯光控制
智能灯光音响lv 2016多少钱
雪铁龙新款爱丽舍和旧款灯光控制器一样吗

推荐内容

主机箱里的灯光风扇怎么控制灯光啊,把重启键的线接到控制模块可以吗?
C语言怎么用16进制数控制8位二进制数去产生灯光跑马灯效果
科目三模拟灯光没合格咋办
远光灯会自动闪亮,一会亮一会关,无论是否打开灯光控制开关
有大佬知道罗技Gpro键盘,不用驱动怎么改灯光效果吗
福特野马灯光控制纽1、2、3什么意思
手机灯光控制器
调光灯是怎样控制灯光明暗的?
台球计费如何用电脑控制电灯?悬赏100分!
智能家居灯光控制而人感开关是好何控制灯的人来灯开人走灯灭
All Rights Reserved Powered BY WeCenter V4.1.0 © 2026 粤ICP备20025096号-2
  

粤公网安备 44190002007303号