智能路灯控制系统.docx
一设计任务和要求设计并制作一套智能路灯控制系统。控制系统构造如图1所示。 图1 路灯控制系统示意图根本要求1支路控制器有时钟功能,能设定、显示开关灯时间,并控制整条支路按时开灯和关灯。2支路控制器应能根据环境明暗变化,自动开灯和关灯。4支路控制器能分别独立控制每只路灯开灯和关灯时间。5当路灯出现故障时灯不亮,支路控制器应发出声光报警信号,并显示有故障路灯地址编号。二.路灯控制系统根本原理本设计是基于STC单片机智能路灯控制系统,由电源电路、单片机控制模块、光控电路、红外遥控与检测、液晶显示六个模块组成。单片机通过光控电路来检测环境亮度控制总路灯开关,在设定灯开时间段内,如果没有人或车通过时,电路分开关元件处于断开状态,路灯不亮;当通过红外检测系统检测到有人或车通过时,电路分开关元件闭合,路灯形成通路,路灯亮。同时通过A/D转换芯片把灯亮度模拟信号转变成数字信号传送给单片机,单片机输出控制信号又通过D/A转换芯片来调节路灯明暗。光敏电阻监控路灯好坏,当路灯坏了光敏电阻就会返回一个信号给单片机,让单片机驱动蜂鸣器报警,并由显示屏显示哪个灯坏了。整个设计应用单片机和硬件组合来对系统进展控制,设计简单,本钱低,稳定性好。三、设计方案根据题目根本要求,设计任务主要完成单片机AT89C51对光学传感器传输信号进展处理,从而控制路灯亮与灭,同时对行程中有关数据进展处理并显示,并在此过程中如果出现故障灯不亮时那么发出声光报警。为完成相应功能,系统可以划分为以下几个根本局部:单片机、光敏监测电路、信息显示、声光报警电路、A/D转换、时钟控制电路。如图1所示时钟存储单元光敏检测电路交通情况监测时钟控制电路输入显示电路单片机声光报警电路A/D转换 恒流源驱动LED2LED1图2 系统设计框图示意图四、硬件设计1、AT89C51最小系统板AT89C51最小系统板电路图图3 最小系统电路图2、光控制电路用光敏电阻作光电开关电路,其灵敏度相当高。由单片机处理光信号,照度较低时,单片机控制电路导通;当有一定照度光照射时,光敏电阻阻值变小,单片机控制电路断开,实现功能. 图4 光控制电路图3、电源电路根据整机要求,电源电路应为信号产生电路提供5V电压,其中±5V电压需要 稳压输出,为此选用了7815, 7915两种三端集成稳压器,这种三端固定电压输 出式集成稳压器,使用简单,价格较低,且由于内部具有过压过流保护,使整机 电源电路稳定,性能可靠。外接9V交流电输入,经绝对值电路,然后滤波通过7805,7905产生±5V直流电压。电源局部电路图如图5所示。图5 电源电路4、显示电路多位LED显示时,常将所有位段选线并联在一起,由一个8位IO口控制,而共阴极点或共阳极点分别由另一个8位IO口控制;也可采用并行扩展口构成显示电路。如图6所示图6 数码管显示电路图5、路灯故障检测采用光敏二极管检测路灯开灯与关灯,然后将信号传送到单片机,由单片机程序控制蜂鸣器发出报警声。在实验板上装一个蜂鸣器,利用单片机控制声光。 图7 声光报警电路 图8 LED恒流源电路图 6、LED恒流源 采用W7805提供5V直流稳压电源。如图八所示五、软件设计本软件设计程序设计包括判断各个按钮按下之后能够实现什么功能,判断开灯关灯时间。其中,动态显示是在中断子程序中进展,每一次中断时间为1MS,每中断一次扫描一次,实现动态显示。正常走时动态显示是在T0中断中进展动态扫描,设置开灯关灯时间是在T1中断中进展动态扫描。主程序流程图为:系统软件设计采用模块化思想,主要由单片机完成,实现LED显示、数据转换和存储。系统软件设计主要由故障检测程序、路灯执行时间、环境光控制路灯亮灭等子程序组成。其中,路灯执行开关时间和环境决定路灯亮灭流程图下列图所示。 主程序清单: ORG 0000HAJMP MAINORG 0003HAJMP YIDONGORG 000BHAJMP INTT0ORG0030HMAIN:NOP;系统赋初值CLR CJB P3.1,SDISP1NOPACALL KEYSCANMOV A,40HCJNE A,#06H,SDISP1NSDISP1N:JNC SDISP1MOV 30H,40HSDISP2:MOV P2,#0FFHCLR CJB P3.1,SDISP2NOPACALL KEYSCANMOV A,40HCJNE A,#0AH,SDISP2NSDISP2N: JNC SDISP2MOV 31H,40HSDISP3:MOV P2,#0FFHCLR CJB P3.1,SDISP3NOPACALL KEYSCANMOV A,40H CJNE A,#06H,SDISP3NSDISP3N:JNC SDISP3MOV 32H,40HSDISP4:MOV P2,#0FFHCLR CJB P3.1,SDISP4NOPACALL KEYSCANMOV A,40HCJNE A,#0AH,SDISP4NSDISP4N:JNC SDISP4MOV 33H,40HSDISP5:MOV P2,#0FFHCLR CJB P3.1,SDISP5NOPACALL KEYSCANMOV A,40HCJNE A,#06H,SDISP5NSDISP5N:JNC SDISP5MOV 35H,40HSDISP6:MOV P2,#0FFHCLR CJB P3.1,SDISP6NOPACALL KEYSCANMOV A,40HCJNE A,#0AH,SDISP6NSDISP6N:JNC SDISP6MOV 36H,40HSDISP7:MOV P2,#0FFHCLR CJB P3.1,SDISP7NOPACALL KEYSCANMOV A,40HCJNE A,#06H,SDISP7NSDISP7N:JNC SDISP7MOV 37H,40HSDISP8:MOV P2,#0FFHCLR CJB P3.1,SDISP8NOPACALL KEYSCANMOV A,40HCJNE A,#0AH,SDISP8NSDISP8N:JNC SDISP8MOV 38H,40HSDISP9:MOV P2,#0FFHCLR CJB P3.1,SDISP9NOPACALL KEYSCANMOV A,40HCJNE A,#06H,SDISP9NSDISP9N:JNC SDISP9MOV 3AH,40HSDISPA:MOV P2,#0FFHCLR CJB P3.1,SDISPANOPACALL KEYSCANMOV A,40HCJNEA,#0AH,SDISPANSDISPAN:JNC SDISPAMOV 3BH,40HSDISPB:MOV P2,#0FFHCLR CJB P3.1,SDISPBNOPACALL KEYSCANMOV A,40HCJNE A,#06H,SDISPBNSDISPBN:JNC SDISPBMOV 3CH,40HSDISPC:MOV P2,#0FFHCLR CJB P3.1,SDISPCNOPACALL KEYSCANMOV A,40HCJNE A,#0AH,SDISPCNSDISPCN:JNC SDISPCMOV 3DH,40HMOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0HSETB EASETB ET0SETB EX0SETB IT0MOV R5,#14HMOV P2,#0FFHMOV 34H,#00HMOV 39H,#00HMOV 3EH,#00HLOOP1:JNB P3.5,LOOP2ACALL JUDGE3LOOP2:MOV R4,#3AHSETB TR0ACALL DISPLAYAJMP LOOP1;键盘扫描程序KEYSCAN:MOV P1,#0FFHMOV A,P1ANL A,#0FHXRL A,#0FHJZNOKEY1LCALL 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,#0FFHMOV 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,NK8MOV 40H,#0LJMP DK2NK8: NOPDK2:MOV A,40HMOV DPTR,#TABLEMOVC A,A+DPTRMOV P0,ADK2A: MOV A,P1ANL A,#0FHXRL A,#0FHJNZ DK2ARETNOKEY2:MOV P1,#0FFHMOV 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,#0FHXRL A,#0FHJNZ DK3ARETNOKEY3:MOV P1,#0FFHMOV 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 PSW CLR ET0 CLR TR0 MOV A,#0B7H ADD A,TL0 MOV TL0,A MOV A,#3CH ADDC A,TH0 MOV TH0,A SETB TR0 DJNZ R5, OUTT0 ADDSS: MOV R5,#14H MOV R0,#3CH ACALL ADD1 MOV A,R3 CLR C CJNE A,#60H,ADDMM ;ADDMM: JC OUTT0 ACALL CLR0 MOV R0,#3AH ACALL ADD1 MOV A,R3 CLR C CJNE A,#60H,ADDOUT ;ADDOUT: JC OUTT0 ACALL CLR0 OUTT0: POP PSW POP ACC SETB ET0 RETI ;加1子 程 序 ;ADD1: MOV A,R0 INC R0 SWAP A ORL A,R0 ADD A,#01H DA A MOV R3,A ANL A,#0FH MOV R0,A MOV A,R3 DEC R0 SWAP A ANL A,#0FH MOV R0,A ACALL JUDGE1 ACALL JUDGE2 RET ;判断亮灯及灭灯JUDGE1:MOV A,3DH CJNE A,33H,EXIT1 MOV A,3CH CJNE A,32H,EXIT1 MOV A,3BH CJNE A,31H,EXIT1 MOV A,3AH CJNE A,30H,EXIT1 JB P3.5,EXIT1 ACALL ACTION1EXIT1:NOP RET RETJUDGE2:MOV A,3DH CJNE A,38H,EXIT2 MOV A,3CH CJNE A,37H,EXIT2 MOV A,3BH CJNE A,36H,EXIT2 MOV A,3AH CJNE A,35H,EXIT2 JB P3.5,EXIT2 ACALL ACTION2EXIT2:NOP RET RET JNB P3.5,EXIT12 EXIT12:RET;对计时单元清零CLR0: CLR A MOV R0,A INC R0 MOVR0,A RET DELY10MS:MOV R6,#10D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1RETTABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H;数码管显示DISPLAY: MOV R2,#0FEH PLAY: MOV A,R4 MOV R1,A MOV A,R2 MOV P2,A MOV A,R1 ANL A,#0FH MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A LCALL DL1MS INC R4 MOV A,R2 JNB ACC.4,ENDOUT RL A MOV R2,A AJMP PLAY ENDOUT: SETB P2.0 SETB P2.1 SETB P2.2 SETB P2.3 RET ;1毫秒延时程序,DL1MS: MOV R6,#08HDL1: MOV R7,#10HDL2: DJNZ R7,DL2 DJNZ R6,DL1 RETDELAY: MOV R0,#0FFH END六、结论本文设计了一个智能路灯控制系统,该控制系统包括1个支路控制器和2个单元控制器。本系统支路控制器和单元控制器均采用AT89C51单片机。该系统具体完成功能包括:支路控制器有时钟功能、能根据环境明暗变化自动开灯和关灯、能根据交通情况自动调节亮灯状态、能分别独立控制路灯开灯时间和关灯时间、能进展路灯故障报警、自制了单元控制器中LED灯恒流驱动电源。支路控制器根据环境亮暗程度来决定是否将路将灯开或关;单元控制器会将实时检测路灯故障情况及时反应至支路控制器,启动报警;同时单元控制器还可以控制LED恒流源输出功率以调节路灯亮暗程度,进一步拓展为根据环境亮暗程度调节路灯亮暗,以节省电源功率。七、参考资料1电子设计竞赛优秀论文选集 大赛组委会2全国大学生电子设计竞赛硬件电路设计精解3单片机在电子电路设计中应用 清华大学出版社4电子生产工艺实践教程 人民邮电出版社551系列单片机设计实例 北京航空航天大学出版社6单片机原理与接口技术 大连理工大学出版社设计总结:这次课程设计可谓一波三折,从刚拿到课程设计课题,刚开场题目是?单片机控制短信收发?,我查找一些相关书籍及资料,没有一点思路,然后又换这个题目,不管怎样,最终还是做了出来。做这个题目之前也是照了相关资料和书籍,并根据实际情况拟定设计方案,从而到达优化方案。同时,通过这次课程设计,在各个方面都有了很大提高。在本次课程设计中深深认识到自己各个方面缺乏之处,奔着提高动手能力以及检测大学所学知识目,我严格要求自己,每一环节都认真对待,定期向知道教师报告进展情况和请教不懂地方,得以完成任务。在以后工作中,我必须进一步深化在实践中去丰富理论,完善知识构造。由于环境条件影响,理论与实践还是有一定差距,这也要求我们在实践中注意检验积累。指导教师评语:课程设计成绩: 指导教师签名: 年 月 日