当前位置:文档之家› 智能路灯控制系统

智能路灯控制系统

一.设计的任务和要求设计并制作一套智能路灯控制系统。

控制系统结构如图1所示。

图1 路灯控制系统示意图基本要求(1)支路控制器有时钟功能,能设定、显示开关灯时间,并控制整条支路按时开灯和关灯。

(2)支路控制器应能根据环境明暗变化,自动开灯和关灯。

(4)支路控制器能分别独立控制每只路灯的开灯和关灯时间。

(5)当路灯出现故障时(灯不亮),支路控制器应发出声光报警信号,并显示有故障路灯的地址编号。

二.路灯控制系统基本原理本设计是基于STC单片机的智能路灯控制系统,由电源电路、单片机控制模块、光控电路、红外遥控与检测、液晶显示六个模块组成。

单片机通过光控电路来检测环境亮度控制总的路灯开关,在设定灯开的时间段内,如果没有人或车通过时,电路的分开关元件处于断开状态,路灯不亮;当通过红外检测系统检测到有人或车通过时,电路的分开关元件闭合,路灯形成通路,路灯亮。

同时通过A/D转换芯片把灯的亮度的模拟信号转变成数字信号传送给单片机,单片机输出控制信号又通过D/A转换芯片来调节路灯的明暗。

光敏电阻监控路灯的好坏,当路灯坏了光敏电阻就会返回一个信号给单片机,让单片机驱动蜂鸣器报警,并由显示屏显示哪个灯坏了。

整个设计应用单片机和硬件组合来对系统进行控制,设计简单,成本低,稳定性好。

三、设计方案根据题目基本要求,设计任务主要完成单片机AT89C51对光学传感器传输的信号进行处理,从而控制路灯的亮与灭,同时对行程中的有关数据进行处理并显示,并在此过程中如果出现故障(灯不亮)时则发出声光报警。

为完成相应功能,系统可以划分为以下几个基本部分:单片机、光敏监测电路、信息显示、声光报警电路、A/D转换、时钟控制电路。

(如图1所示)四、硬件设计1、AT89C51最小系统板AT89C51最小系统板电路图图3 最小系统电路图2、光控制电路用光敏电阻作光电开关电路,其灵敏度相当高。

由单片机处理光信号,照度较低时,单片机控制电路导通;当有一定照度的光照射时,光敏电阻阻值变小,单片机控制电路断开,实现功能.单片机 时钟控制电路 时钟存储单元输入显示电路光敏检测电路 声光报警电路A/D 转换恒流源驱动LED1LED2交通情况监测图4 光控制电路图3、电源电路根据整机要求,电源电路应为信号产生电路提供5V 电压,其中±5V 电压需要 稳压输出,为此选用了7815, 7915两种三端集成稳压器,这种三端固定电压输 出式集成稳压器,使用简单,价格较低,且由于内部具有过压过流保护,使整机 的电源电路稳定,性能可靠。

外接9V 交流电输入,经绝对值电路,然后滤波通过7805,7905产生±5V 的直流电压。

电源部分电路图如图5所示。

132VVGNDINOUT 7812Tr电源变压器AB C---->I0负载稳压器整流滤波U1~220VU2+-U 1+U0-----------------------------------------------------------------------------C 470uFC10.33uFC2100uFR268k 18DB1020KR1图5 电源电路4、显示电路多位LED 显示时,常将所有位的段选线并联在一起,由一个8位I /O 口控制,而共阴极点或共阳极点分别由另一个8位I /O 口控制;也可采用并行扩展口构成显示电路。

(如图6所示)图6 数码管显示电路图5、路灯故障检测采用光敏二极管检测路灯的开灯与关灯,然后将信号传送到单片机,由单片机程序控制蜂鸣器发出报警声。

在实验板上装一个蜂鸣器,利用单片机控制声光。

图7 声光报警电路图8 LED恒流源电路图6、LED恒流源采用W7805提供5V的直流稳压电源。

如图八所示五、软件设计本软件设计的程序设计包括判断各个按钮按下之后能够实现什么功能,判断开灯关灯的时间。

其中,动态显示是在中断子程序中进行的,每一次中断的时间为1MS,每中断一次扫描一次,实现动态显示。

正常走时的动态显示是在T0中断中进行动态扫描的,设置开灯关灯的时间是在T1中断中进行动态扫描的。

主程序流程图为:系统软件设计采用模块化思想,主要由单片机完成,实现LED显示、数据转换和存储。

系统软件设计主要由故障检测程序、路灯执行时间、环境光控制路灯亮灭等子程序组成。

其中,路灯执行开关时间和环境决定路灯亮灭流程图下图所示。

主程序清单:ORG 0000HAJMP MAINORG 0003HAJMP YIDONGORG 000BHAJMP INTT0ORG 0030HMAIN:NOP;系统赋初值SDISP1:CLR P2.0CLR CJB P3.1,SDISP1NOPACALL KEYSCANMOV A,40HCJNE A,#06H,SDISP1N SDISP1N:JNC SDISP1MOV 30H,40HSETB P3.1SDISP2:MOV P2,#0FFHCLR P2.1CLR CJB P3.1,SDISP2NOPACALL KEYSCANMOV A,40HCJNE A,#0AH,SDISP2N SDISP2N: JNC SDISP2MOV 31H,40HSETB P3.1SDISP3: MOV P2,#0FFH CLR P2.2CLR CJB P3.1,SDISP3NOPACALL KEYSCANMOV A,40HCJNE A,#06H,SDISP3N SDISP3N:JNC SDISP3MOV 32H,40HSETB P3.1SDISP4:MOV P2,#0FFHCLR P2.3CLR CJB P3.1,SDISP4NOPACALL KEYSCANMOV A,40HCJNE A,#0AH,SDISP4N SDISP4N:JNC SDISP4MOV 33H,40HSETB P3.1SDISP5:MOV P2,#0FFHCLR P2.0CLR CJB P3.1,SDISP5NOPACALL KEYSCANMOV A,40HCJNE A,#06H,SDISP5N SDISP5N:JNC SDISP5MOV 35H,40HSETB P3.1SDISP6:MOV P2,#0FFHCLR P2.1CLR CJB P3.1,SDISP6NOPACALL KEYSCANMOV A,40HCJNE A,#0AH,SDISP6N SDISP6N:JNC SDISP6MOV 36H,40HSETB P3.1SDISP7:MOV P2,#0FFHCLR P2.2SETB P2.1CLR CJB P3.1,SDISP7NOPACALL KEYSCANMOV A,40HCJNE A,#06H,SDISP7N SDISP7N:JNC SDISP7MOV 37H,40HSETB P3.1SDISP8:MOV P2,#0FFHCLR P2.3SETB P2.2CLR CJB P3.1,SDISP8NOPACALL KEYSCANMOV A,40HCJNE A,#0AH,SDISP8N SDISP8N:JNC SDISP8MOV 38H,40HSETB P3.1SDISP9:MOV P2,#0FFHCLR P2.0CLR CJB P3.1,SDISP9NOPACALL KEYSCANMOV A,40HCJNE A,#06H,SDISP9N SDISP9N:JNC SDISP9MOV 3AH,40HSETB P3.1 SDISPA:MOV P2,#0FFHCLR P2.1CLR CJB P3.1,SDISPANOPACALL KEYSCANMOV A,40HCJNE A,#0AH,SDISPAN SDISPAN:JNC SDISPAMOV 3BH,40HSETB P3.1 SDISPB:MOV P2,#0FFHCLR P2.2CLR CJB P3.1,SDISPBNOPACALL KEYSCANMOV A,40HCJNE A,#06H,SDISPBN SDISPBN:JNC SDISPBMOV 3CH,40HSETB P3.1SDISPC:MOV P2,#0FFHCLR P2.3CLR CJB P3.1,SDISPCNOPACALL KEYSCANMOV A,40HCJNE A,#0AH,SDISPCN SDISPCN:JNC SDISPCMOV 3DH,40HSETB P3.1MOV TMOD,#01HMOV TH0,#3CHMOV TL0,#0B0HSETB EASETB ET0SETB EX0SETB IT0MOV R5,#14HMOV P2,#0FFHMOV 34H,#00HMOV 39H,#00HMOV 3EH,#00H LOOP1:JNB P3.5,LOOP2ACALL JUDGE3LOOP2:MOV R4,#3AHSETB TR0ACALL DISPLAYAJMP LOOP1;键盘扫描程序KEYSCAN:MOV P1,#0FFHCLR P1.4MOV A,P1ANL A,#0FHXRL A,#0FHJZ NOKEY1LCALL DELY10MSMOV A,P1ANL A,#0FHXRL A,#0FHJZ NOKEY1MOV A,P1ANL A,#0FHCJNE A,#0EH,NK1MOV 40H,#1LJMP DK1NK1: CJNE A,#0DH,NK2MOV 40H,#4LJMP DK1NK2: CJNE A,#0BH,NK3MOV 40H,#7LJMP DK1NK3: CJNE A,#07H,NK4MOV 40H,#14LJMP DK1NK4: NOPDK1: MOV A,40HMOV DPTR,#TABLEMOVC A,@A+DPTRMOV P0,ADK1A: MOV A,P1ANL A,#0FHXRL A,#0FHJNZ DK1ARETNOKEY1:MOV P1,#0FFHCLR P1.5MOV A,P1ANL A,#0FHXRL A,#0FHJZ NOKEY2LCALL DELY10MSMOV A,P1ANL A,#0FHXRL A,#0FHJZ NOKEY2MOV A,P1ANL A,#0FHCJNE A,#0EH,NK5MOV 40H,#2LJMP DK2NK5: CJNE A,#0DH,NK6MOV 40H,#5LJMP DK2NK6: CJNE A,#0BH,NK7MOV 40H,#8LJMP DK2NK7: CJNE A,#07H,NK8LJMP DK2NK8: NOPDK2: MOV A,40HMOV DPTR,#TABLEMOVC A,@A+DPTRMOV P0,ADK2A: MOV A,P1ANL A,#0FHXRL A,#0FHJNZ DK2ARETNOKEY2:MOV P1,#0FFHCLR P1.6MOV A,P1ANL A,#0FHXRL A,#0FHJZ NOKEY3LCALL DELY10MSMOV A,P1ANL A,#0FHXRL A,#0FHJZ NOKEY3MOV A,P1ANL A,#0FHCJNE A,#0EH,NK9MOV 40H,#3LJMP DK3NK9: CJNE A,#0DH,NK10MOV 40H,#6LJMP DK3NK10: CJNE A,#0BH,NK11MOV 40H,#9LJMP DK3NK11: CJNE A,#07H,NK12MOV 40H,#15LJMP DK3NK12: NOPDK3: MOV A,40HMOV DPTR,#TABLEMOVC A,@A+DPTRMOV P0,ADK3A: MOV A,P1ANL A,#0FHJNZ DK3ARETNOKEY3:MOV P1,#0FFHCLR P1.7MOV A,P1ANL A,#0FHXRL A,#0FHJZ NOKEY4LCALL DELY10MSMOV A,P1ANL A,#0FHXRL A,#0FHJZ NOKEY4MOV A,P1ANL A,#0FHCJNE A,#0EH,NK13MOV 40H,#10LJMP DK4NK13: CJNE A,#0DH,NK14MOV 40H,#11LJMP DK4NK14: CJNE A,#0BH,NK15MOV 40H,#12LJMP DK4NK15: CJNE A,#07H,NK16MOV 40H,#13LJMP DK4NK16: NOPDK4:MOV A,40HMOV DPTR,#TABLEMOVC A,@A+DPTRMOV P0,ADK4A: MOV A,P3ANL A,#0FHXRL A,#0FHJNZ DK4ARETNOKEY4: LJMP KEYSCAN;时钟功能INTT0: PUSH ACC PUSH PSWCLR ET0CLR TR0MOV A,#0B7HADD A,TL0MOV TL0,AMOV A,#3CHADDC A,TH0MOV TH0,ASETB TR0DJNZ R5, OUTT0ADDSS: MOV R5,#14H MOV R0,#3CHACALL ADD1MOV A,R3CLR CCJNE A,#60H,ADDMM ; ADDMM: JC OUTT0 ACALL CLR0MOV R0,#3AHACALL ADD1MOV A,R3CLR CCJNE A,#60H,ADDOUT ; ADDOUT: JC OUTT0 ACALL CLR0 OUTT0: POP PSW POP ACCSETB ET0RETI;加1子程序 ;;ADD1: MOV A,@R0INC R0SWAP AORL A,@R0ADD A,#01HDA AMOV R3,AANL A,#0FHMOV @R0,AMOV A,R3DEC R0SWAP AANL A,#0FHMOV @R0,AACALL JUDGE1ACALL JUDGE2RET;判断亮灯及灭灯JUDGE1:MOV A,3DHCJNE A,33H,EXIT1MOV A,3CHCJNE A,32H,EXIT1MOV A,3BHCJNE A,31H,EXIT1MOV A,3AHCJNE A,30H,EXIT1JB P3.5,EXIT1ACALL ACTION1 EXIT1:NOPRETACTION1:CLR P3.7CLR P3.6RETJUDGE2:MOV A,3DHCJNE A,38H,EXIT2MOV A,3CHCJNE A,37H,EXIT2MOV A,3BHCJNE A,36H,EXIT2MOV A,3AHCJNE A,35H,EXIT2JB P3.5,EXIT2ACALL ACTION2 EXIT2:NOPRETACTION2:SETB P3.7SETB P3.6RETJUDGE3:CLR P3.7CLR P3.6JNB P3.5,EXIT12SETB P3.7SETB P3.6EXIT12:RET;对计时单元清零CLR0: CLR AMOV @R0,AINC R0MOV @R0,ARETDELY10MS:MOV R6,#10D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1RETTABLE: DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H ;数码管显示DISPLAY: MOV R2,#0FEHPLAY: MOV A,R4MOV R1,AMOV A,R2MOV P2,AMOV A,@R1ANL A,#0FHMOV DPTR,#TABLEMOVC A,@A+DPTRMOV P0,ALCALL DL1MSINC R4MOV A,R2JNB ACC.4,ENDOUTRL AMOV R2,AAJMP PLAYENDOUT: SETB P2.0SETB P2.1SETB P2.2SETB P2.3RET;1毫秒延时程序,DL1MS: MOV R6,#08HDL1: MOV R7,#10HDL2: DJNZ R7,DL2DJNZ R6,DL1RETDELAY: MOV R0,#0FFHEND六、结论本文设计了一个智能路灯控制系统,该控制系统包括1个支路控制器和2个单元控制器。

相关主题