智能路灯控制系统.docx
- 文档编号:27548848
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:24
- 大小:216.82KB
智能路灯控制系统.docx
《智能路灯控制系统.docx》由会员分享,可在线阅读,更多相关《智能路灯控制系统.docx(24页珍藏版)》请在冰豆网上搜索。
智能路灯控制系统
一.设计的任务和要求
设计并制作一套智能路灯控制系统。
控制系统结构如图1所示。
图1路灯控制系统示意图
基本要求
(1)支路控制器有时钟功能,能设定、显示开关灯时间,并控制整条支路按时开灯和关灯。
(2)支路控制器应能根据环境明暗变化,自动开灯和关灯。
(4)支路控制器能分别独立控制每只路灯的开灯和关灯时间。
(5)当路灯出现故障时(灯不亮),支路控制器应发出声光报警信号,并显示有故障路灯的地址编号。
二.路灯控制系统基本原理
本设计是基于STC单片机的智能路灯控制系统,由电源电路、单片机控制模块、光控电路、红外遥控与检测、液晶显示六个模块组成。
单片机通过光控电路来检测环境亮度控制总的路灯开关,在设定灯开的时间段内,如果没有人或车通过时,电路的分开关元件处于断开状态,路灯不亮;当通过红外检测系统检测到有人或车通过时,电路的分开关元件闭合,路灯形成通路,路灯亮。
同时通过A/D转换芯片把灯的亮度的模拟信号转变成数字信号传送给单片机,单片机输出控制信号又通过D/A转换芯片来调节路灯的明暗。
光敏电阻监控路灯的好坏,当路灯坏了光敏电阻就会返回一个信号给单片机,让单片机驱动蜂鸣器报警,并由显示屏显示哪个灯坏了。
整个设计应用单片机和硬件组合来对系统进行控制,设计简单,成本低,稳定性好。
三、设计方案
根据题目基本要求,设计任务主要完成单片机AT89C51对光学传感器传输的信号进行处理,从而控制路灯的亮与灭,同时对行程中的有关数据进行处理并显示,并在此过程中如果出现故障(灯不亮)时则发出声光报警。
为完成相应功能,系统可以划分为以下几个基本部分:
单片机、光敏监测电路、信息显示、声光报警电路、A/D转换、时钟控制电路。
(如图1所示)
图2系统设计框图示意图
四、硬件设计
1、AT89C51最小系统板
AT89C51最小系统板电路图
图3最小系统电路图
2、光控制电路
用光敏电阻作光电开关电路,其灵敏度相当高。
由单片机处理光信号,照度较低时,单片机控制电路导通;当有一定照度的光照射时,光敏电阻阻值变小,单片机控制电路断开,实现功能.
图4光控制电路图
3、电源电路
根据整机要求,电源电路应为信号产生电路提供5V电压,其中±5V电压需要稳压输出,为此选用了7815,7915两种三端集成稳压器,这种三端固定电压输出式集成稳压器,使用简单,价格较低,且由于内部具有过压过流保护,使整机的电源电路稳定,性能可靠。
外接9V交流电输入,经绝对值电路,然后滤波通过7805,7905产生±5V的直流电压。
电源部分电路图如图5所示。
图5电源电路
4、显示电路
多位LED显示时,常将所有位的段选线并联在一起,由一个8位I/O口控制,而共阴极点或共阳极点分别由另一个8位I/O口控制;也可采用并行扩展口构成显示电路。
(如图6所示)
图6数码管显示电路图
5、路灯故障检测
采用光敏二极管检测路灯的开灯与关灯,然后将信号传送到单片机,由单片机程序控制蜂鸣器发出报警声。
在实验板上装一个蜂鸣器,利用单片机控制声光。
图7声光报警电路图8LED恒流源电路图
6、LED恒流源
采用W7805提供5V的直流稳压电源。
如图八所示
五、软件设计
本软件设计的程序设计包括判断各个按钮按下之后能够实现什么功能,判断开灯关灯的时间。
其中,动态显示是在中断子程序中进行的,每一次中断的时间为1MS,每中断一次扫描一次,实现动态显示。
正常走时的动态显示是在T0中断中进行动态扫描的,设置开灯关灯的时间是在T1中断中进行动态扫描的。
主程序流程图为:
系统软件设计采用模块化思想,主要由单片机完成,实现LED显示、数据转换和存储。
系统软件设计主要由故障检测程序、路灯执行时间、环境光控制路灯亮灭等子程序组成。
其中,路灯执行开关时间和环境决定路灯亮灭流程图下图所示。
主程序清单:
ORG0000H
AJMPMAIN
ORG0003H
AJMPYIDONG
ORG000BH
AJMPINTT0
ORG0030H
MAIN:
NOP
;系统赋初值
SDISP1:
CLRP2.0
CLRC
JBP3.1,SDISP1
NOP
ACALLKEYSCAN
MOVA,40H
CJNEA,#06H,SDISP1N
SDISP1N:
JNCSDISP1
MOV30H,40H
SETBP3.1
SDISP2:
MOVP2,#0FFH
CLRP2.1
CLRC
JBP3.1,SDISP2
NOP
ACALLKEYSCAN
MOVA,40H
CJNEA,#0AH,SDISP2N
SDISP2N:
JNCSDISP2
MOV31H,40H
SETBP3.1
SDISP3:
MOVP2,#0FFH
CLRP2.2
CLRC
JBP3.1,SDISP3
NOP
ACALLKEYSCAN
MOVA,40H
CJNEA,#06H,SDISP3N
SDISP3N:
JNCSDISP3
MOV32H,40H
SETBP3.1
SDISP4:
MOVP2,#0FFH
CLRP2.3
CLRC
JBP3.1,SDISP4
NOP
ACALLKEYSCAN
MOVA,40H
CJNEA,#0AH,SDISP4N
SDISP4N:
JNCSDISP4
MOV33H,40H
SETBP3.1
SDISP5:
MOVP2,#0FFH
CLRP2.0
CLRC
JBP3.1,SDISP5
NOP
ACALLKEYSCAN
MOVA,40H
CJNEA,#06H,SDISP5N
SDISP5N:
JNCSDISP5
MOV35H,40H
SETBP3.1
SDISP6:
MOVP2,#0FFH
CLRP2.1
CLRC
JBP3.1,SDISP6
NOP
ACALLKEYSCAN
MOVA,40H
CJNEA,#0AH,SDISP6N
SDISP6N:
JNCSDISP6
MOV36H,40H
SETBP3.1
SDISP7:
MOVP2,#0FFH
CLRP2.2
SETBP2.1
CLRC
JBP3.1,SDISP7
NOP
ACALLKEYSCAN
MOVA,40H
CJNEA,#06H,SDISP7N
SDISP7N:
JNCSDISP7
MOV37H,40H
SETBP3.1
SDISP8:
MOVP2,#0FFH
CLRP2.3
SETBP2.2
CLRC
JBP3.1,SDISP8
NOP
ACALLKEYSCAN
MOVA,40H
CJNEA,#0AH,SDISP8N
SDISP8N:
JNCSDISP8
MOV38H,40H
SETBP3.1
SDISP9:
MOVP2,#0FFH
CLRP2.0
CLRC
JBP3.1,SDISP9
NOP
ACALLKEYSCAN
MOVA,40H
CJNEA,#06H,SDISP9N
SDISP9N:
JNCSDISP9
MOV3AH,40H
SETBP3.1
SDISPA:
MOVP2,#0FFH
CLRP2.1
CLRC
JBP3.1,SDISPA
NOP
ACALLKEYSCAN
MOVA,40H
CJNEA,#0AH,SDISPAN
SDISPAN:
JNCSDISPA
MOV3BH,40H
SETBP3.1
SDISPB:
MOVP2,#0FFH
CLRP2.2
CLRC
JBP3.1,SDISPB
NOP
ACALLKEYSCAN
MOVA,40H
CJNEA,#06H,SDISPBN
SDISPBN:
JNCSDISPB
MOV3CH,40H
SETBP3.1
SDISPC:
MOVP2,#0FFH
CLRP2.3
CLRC
JBP3.1,SDISPC
NOP
ACALLKEYSCAN
MOVA,40H
CJNEA,#0AH,SDISPCN
SDISPCN:
JNCSDISPC
MOV3DH,40H
SETBP3.1
MOVTMOD,#01H
MOVTH0,#3CH
MOVTL0,#0B0H
SETBEA
SETBET0
SETBEX0
SETBIT0
MOVR5,#14H
MOVP2,#0FFH
MOV34H,#00H
MOV39H,#00H
MOV3EH,#00H
LOOP1:
JNBP3.5,LOOP2
ACALLJUDGE3
LOOP2:
MOVR4,#3AH
SETBTR0
ACALLDISPLAY
AJMPLOOP1
;键盘扫描程序
KEYSCAN:
MOVP1,#0FFH
CLRP1.4
MOVA,P1
ANLA,#0FH
XRLA,#0FH
JZNOKEY1
LCALLDELY10MS
MOVA,P1
ANLA,#0FH
XRLA,#0FH
JZNOKEY1
MOVA,P1
ANLA,#0FH
CJNEA,#0EH,NK1
MOV40H,#1
LJMPDK1
NK1:
CJNEA,#0DH,NK2
MOV40H,#4
LJMPDK1
NK2:
CJNEA,#0BH,NK3
MOV40H,#7
LJMPDK1
NK3:
CJNEA,#07H,NK4
MOV40H,#14
LJMPDK1
NK4:
NOP
DK1:
MOVA,40H
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP0,A
DK1A:
MOVA,P1
ANLA,#0FH
XRLA,#0FH
JNZDK1A
RET
NOKEY1:
MOVP1,#0FFH
CLRP1.5
MOVA,P1
ANLA,#0FH
XRLA,#0FH
JZNOKEY2
LCALLDELY10MS
MOVA,P1
ANLA,#0FH
XRLA,#0FH
JZNOKEY2
MOVA,P1
ANLA,#0FH
CJNEA,#0EH,NK5
MOV40H,#2
LJMPDK2
NK5:
CJNEA,#0DH,NK6
MOV40H,#5
LJMPDK2
NK6:
CJNEA,#0BH,NK7
MOV40H,#8
LJMPDK2
NK7:
CJNEA,#07H,NK8
MOV40H,#0
LJMPDK2
NK8:
NOP
DK2:
MOVA,40H
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP0,A
DK2A:
MOVA,P1
ANLA,#0FH
XRLA,#0FH
JNZDK2A
RET
NOKEY2:
MOVP1,#0FFH
CLRP1.6
MOVA,P1
ANLA,#0FH
XRLA,#0FH
JZNOKEY3
LCALLDELY10MS
MOVA,P1
ANLA,#0FH
XRLA,#0FH
JZNOKEY3
MOVA,P1
ANLA,#0FH
CJNEA,#0EH,NK9
MOV40H,#3
LJMPDK3
NK9:
CJNEA,#0DH,NK10
MOV40H,#6
LJMPDK3
NK10:
CJNEA,#0BH,NK11
MOV40H,#9
LJMPDK3
NK11:
CJNEA,#07H,NK12
MOV40H,#15
LJMPDK3
NK12:
NOP
DK3:
MOVA,40H
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP0,A
DK3A:
MOVA,P1
ANLA,#0FH
XRLA,#0FH
JNZDK3A
RET
NOKEY3:
MOVP1,#0FFH
CLRP1.7
MOVA,P1
ANLA,#0FH
XRLA,#0FH
JZNOKEY4
LCALLDELY10MS
MOVA,P1
ANLA,#0FH
XRLA,#0FH
JZNOKEY4
MOVA,P1
ANLA,#0FH
CJNEA,#0EH,NK13
MOV40H,#10
LJMPDK4
NK13:
CJNEA,#0DH,NK14
MOV40H,#11
LJMPDK4
NK14:
CJNEA,#0BH,NK15
MOV40H,#12
LJMPDK4
NK15:
CJNEA,#07H,NK16
MOV40H,#13
LJMPDK4
NK16:
NOP
DK4:
MOVA,40H
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP0,A
DK4A:
MOVA,P3
ANLA,#0FH
XRLA,#0FH
JNZDK4A
RET
NOKEY4:
LJMPKEYSCAN
;时钟功能
INTT0:
PUSHACC
PUSHPSW
CLRET0
CLRTR0
MOVA,#0B7H
ADDA,TL0
MOVTL0,A
MOVA,#3CH
ADDCA,TH0
MOVTH0,A
SETBTR0
DJNZR5,OUTT0
ADDSS:
MOVR5,#14H
MOVR0,#3CH
ACALLADD1
MOVA,R3
CLRC
CJNEA,#60H,ADDMM;
ADDMM:
JCOUTT0
ACALLCLR0
MOVR0,#3AH
ACALLADD1
MOVA,R3
CLRC
CJNEA,#60H,ADDOUT;
ADDOUT:
JCOUTT0
ACALLCLR0
OUTT0:
POPPSW
POPACC
SETBET0
RETI
;加1子程序;;
ADD1:
MOVA,@R0
INCR0
SWAPA
ORLA,@R0
ADDA,#01H
DAA
MOVR3,A
ANLA,#0FH
MOV@R0,A
MOVA,R3
DECR0
SWAPA
ANLA,#0FH
MOV@R0,A
ACALLJUDGE1
ACALLJUDGE2
RET
;判断亮灯及灭灯
JUDGE1:
MOVA,3DH
CJNEA,33H,EXIT1
MOVA,3CH
CJNEA,32H,EXIT1
MOVA,3BH
CJNEA,31H,EXIT1
MOVA,3AH
CJNEA,30H,EXIT1
JBP3.5,EXIT1
ACALLACTION1
EXIT1:
NOP
RET
ACTION1:
CLRP3.7
CLRP3.6
RET
JUDGE2:
MOVA,3DH
CJNEA,38H,EXIT2
MOVA,3CH
CJNEA,37H,EXIT2
MOVA,3BH
CJNEA,36H,EXIT2
MOVA,3AH
CJNEA,35H,EXIT2
JBP3.5,EXIT2
ACALLACTION2
EXIT2:
NOP
RET
ACTION2:
SETBP3.7
SETBP3.6
RET
JUDGE3:
CLRP3.7
CLRP3.6
JNBP3.5,EXIT12
SETBP3.7
SETBP3.6
EXIT12:
RET
;对计时单元清零
CLR0:
CLRA
MOV@R0,A
INCR0
MOV@R0,A
RET
DELY10MS:
MOVR6,#10
D1:
MOVR7,#248
DJNZR7,$
DJNZR6,D1
RET
TABLE:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H
;数码管显示
DISPLAY:
MOVR2,#0FEH
PLAY:
MOVA,R4
MOVR1,A
MOVA,R2
MOVP2,A
MOVA,@R1
ANLA,#0FH
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP0,A
LCALLDL1MS
INCR4
MOVA,R2
JNBACC.4,ENDOUT
RLA
MOVR2,A
AJMPPLAY
ENDOUT:
SETBP2.0
SETBP2.1
SETBP2.2
SETBP2.3
RET
;1毫秒延时程序,
DL1MS:
MOVR6,#08H
DL1:
MOVR7,#10H
DL2:
DJNZR7,DL2
DJNZR6,DL1
RET
DELAY:
MOVR0,#0FFH
END
六、结论
本文设计了一个智能路灯控制系统,该控制系统包括1个支路控制器和2个单元控制器。
本系统支路控制器和单元控制器均采用AT89C51单片机。
该系统具体完成的功能包括:
支路控制器有时钟功能、能根据环境明暗变化自动开灯和关灯、能根据交通情况自动调节亮灯状态、能分别独立控制路灯的开灯时间和关灯时间、能进行路灯故障的报警、自制了单元控制器中的LED灯恒流驱动电源。
支路控制器根据环境的亮暗程度来决定是否将路将灯开或关;单元控制器会将实时检测路灯的故障情况及时反馈至支路控制器,启动报警;同时单元控制器还可以控制LED恒流源的输出功率以调节路灯的亮暗程度,进一步拓展为根据环境的亮暗程度调节路灯亮暗,以节省电源功率。
七、参考资料
(1)电子设计竞赛优秀论文选集大赛组委会
(2)全国大学生电子设计竞赛硬件电路设计精解
(3)单片机在电子电路设计中的应用清华大学出版社
(4)电子生产工艺实践教程人民邮电出版社
(5)51系列单片机设计实例北京航空航天大学出版社
(6)单片机原理与接口技术大连理工大学出版社
设计总结:
这次的课程设计可谓一波三折,从刚拿到课程设计课题,刚开始的题目是《单片机控制短信的收发》,我查找一些相关的书籍及资料,没有一点思路,然后又换的这个题目,不管怎样,最终还是做了出来。
做这个题目之前也是照了相关的资料和书籍,并根据实际情况拟定设计方案,从而达到优化方案。
同时,通过这次课程设计,在各个方面都有了很大的提高。
在本次课程设计中深深认识到自己的各个方面的不足之处,奔着提高动手能力以及检测大学所学知识的目的,我严格要求自己,每一环节都认真对待,定期向知道老师报告进展情况和请教不懂的地方,得以完成任务。
在以后的工作中,我必须进一步深化在实践中去丰富理论,完善知识结构。
由于环境条件的影响,理论与实践还是有一定的差距,这也要求我们在实践中注意检验的积累。
指导教师评语:
课程设计成绩:
指导教师签名:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 路灯 控制系统