目录0前言.....................................................................11总体方案设计.............................................................12硬件电路设计.............................................................22.1STC89C52单片机系统..................................................22.2光电传感器模块......................................................32.3显示模块设计.........................................................53软件设计.................................................................63.1主程序设计..........................................................63.2计算流量子程序......................................................73.3显示子程序..........................................................84调试分析及硬件组装.......................................................95结论及进一步设想........................................................10参考文献...................................................................10课设体会...................................................................11附录1电路原理图.........................................................12附录2程序清单...........................................................13沈阳航空航天大学课程设计论文路灯控制系统设计(1)第1页路灯控制系统设计(1)张磊沈阳航空航天大学自动化学院摘要:本设计以STC89C52单片机为核心控制芯片,此单片机可靠性高、性价比高、精度高、微型化、易于操控、管脚功能简单。整个电路采用模块化设计,由单片机最小系统模块、显示模块、光电传感器模块组成。光电传感器发送信号给单片机综合分析处理,实现路灯控制系统的各种功能。在此基础上设计了系统的总体方案,最后通过硬件和软件实现了各个模块的功能。相关模块附有硬件电路图、程序流程图、功能与原理的说明。最后经实验证明,这套系统软硬件设计能有效结合、抗干扰能力强、功能完善,可以实现对汽车流量的监测并能达到节能的目的,可应用于马路路灯的控制。关键词:STC89C52;亮灭;流量0前言此路灯控制系统最主要的模块是光电开关(光电传感器)模块,既是控制路灯亮灭的传感器也是计算流量的传感器。此光电传感器是利用被检测物对光束的遮挡或反射,由同步回路选通电路,从而检测物体有无的。物体不限于金属,所有能反射光线的物体均可被检测。此光电开关属于漫反射式光电开关,它是一种集发射器和接收器于一体的传感器,当有被检测物体经过时,物体将光电开关发射器发射的足够量的光线反射到接收器,于是光电开关就产生了开关信号。当被检测物体的表面光亮或其反光率极高时,对射式和镜反射式都不适用,漫反射式的光电开关才是是首选的检测模式,因为红外线光电开关在环境照度高的情况下都能稳定工作。所以此路灯控制系统具有稳定性好,可靠性高,体积小重量轻,节能等优点。此设计系统的原理还在许多方面得到了应用,例如在行程控制、直径限制、转速检测、气流量控制等方面。我们相信光电开关会做得越来越先进,它的应用也会越来越广泛。1总体方案设计针对本课题的设计任务,进行分析得到:该路灯监测系统设计主要由以下几个模块组成:单片机最小系统模块、光电传感器模块、显示模块。在这几个模块中最主要的是光电传感器的模块,其功能是监测车辆以实现对路灯亮灭的控制和流量监测。单片机模块主要用于对数据的处理。显示模块用于显示汽车流量。将此三个模块有效地结合在一起才能完成设计要求。光电传感器模块利用的是光电开关,也称光电传感器,此模块为最重要的组成部分,其他模块都是根据它产生的信号脉冲来控制的。单片机模块选用用STC89C52单片机作为控制芯片,连接好最小系统板并与光电传感器构成组合电路,此模块是电子设计的基础模块,单片机的复位电路和晶振接法固定,简单且易于控制。光电传感器选用的是漫反射式光电开关,有接收和放送两部分组成,其性沈阳航空航天大学课程设计论文路灯控制系统设计(1)第2页能稳定,性价比高,抗干扰能力强,在强光下依然能正常工作,经多方面考虑选用了漫反射式光电开关。显示模块则用数码管显示,简单有效显示汽车流量。本设计的系统总体框图如图(1)所示。图(1)系统总体框图2硬件电路设计2.1STC89C52单片机系统此系统主要由复位电路和晶振电路组成。单片机共40个管脚,根据每个管脚的不同功用连接电路。VCC(40):电源+5V;VSS(20):接地;P0口(32-39):双向I/O口,既可作低8位地址和8位数据总线使用,也可作普通I/O口;P3口(10-17):多用途端口,既可作普通I/O口,也可按每位定义的第二功能操作;P2口(21-28):既可作高8位地址总线,也可作普通I/O口;P1口(1-8):准双向通用I/O口;RST(9):复位信号输入端;ALE/PROG:地址锁存信号输出端;PSEN:内外程序存储器选择线;XTAL1(19)和XTAL2(18):外接石英晶体振荡器。STC89C52单片机最小系统如图(2)所示。单片机最小系统放光二极管数码管显示光电传感器沈阳航空航天大学课程设计论文路灯控制系统设计(1)第3页图(2)STC89C52单片机最小系统2.2光电传感器模块光电传感器是利用被检测物对光束的遮挡或反射,由同步回路选通电路,从而检测物体有无的。物体不限于金属,所有能反射光线的物体均可被检测。光电开关将输入电流在发射器上转换为光信号射出,接收器再根据接收到的光线的强弱或有无对目标物体进行探测。每当物体通过一次,发射部分发射的光束经目标后产生漫反射,接收部分接收到光束后经信号调理电路产生脉冲,脉冲信号输入到单片机,单片机进行脉冲计数便可实现对物体的计数统计。当开关发射光束时,目标产生漫反射,发射器和接收器构成单个的标准部件,当有足够的组合光返回接收器时,开关状态发生变化,作用距离的典型值一直到3米。此光电传感器作用距离是10cm。特征:有效作用距离是由目标的反射能力决定,由目标表面性质和和颜色决定;较小的装配开支,当开关由单个元件组成时,通常是可以达到粗定位;采用背景抑制功能调节测量距离;对目标上的灰尘敏感和对目标变化了的反射性能敏感。光电传感器又称光电开关,是由振荡回路产生的调制脉冲经反射电路后,由发光管GL辐射出光脉冲。当被测物体进入受光器作用范围时,被反射回来的光脉冲进入光敏三极管DU。并在接收电路中将光脉冲解调为电脉冲信号,再经放大器放大和同步选通整形,然后用数字积分或RC积分方式排除干扰,最后经延时(或不延时)触发驱动器输出光电开关控制信号。光电开关一般都具有良好的回差特性,因而即使被检测物在小范围内晃动也不会影响驱动器的输出状态,从而可使其保持在稳定工作区。同时,自诊断系统还可以显示受光状态和稳定工作区,以随时监视光电开关的工作。光电传感器如图(3)所示。沈阳航空航天大学课程设计论文路灯控制系统设计(1)第4页图(3)光电传感器本设计所用光电传感器模块共有三个引脚,一根是电源正极、一根接地、一根输出信号,工作电压为5v,检测距离为10cm,工作环境为-20~+55℃温度范围内,符合设计基本要求。将供电的两个引脚分别接电源和地,输出信号端接到单片机的P1.1口,当没有物体通过时传感器输出高电平,有物体通过时传感器输出低电平,低电平触发单片机控制系统,单片机进行计数并将发光二极管点亮。其工作示意图如图(4)。沈阳航空航天大学课程设计论文路灯控制系统设计(1)第5页图(4)光电传感器工作示意图2.3显示模块设计本设计采用的是动态数码管显示。数码管显示可以分为静态显示和动态显示两种形式,静态显示就是各位同时显示。为此,各位LED数码管的位选端应连在一起固定接地或接+5v。每位数码管的段选端应分别接一个8位锁存器/驱动器。而动态显示是诸位轮流显示,为实现这种显示,各位LED数码管的段选段应并接在一起,由同一个8位I/O口或锁存器/驱动器控制,而各位数码管的位选端分别由相应的I/O口线或锁存器控制。显示模块连接电路图如图(5)所示。沈阳航空航天大学课程设计论文路灯控制系统设计(1)第6页图(5)显示模块电路图3软件设计本设计主要分成三个模块来设计,无需对单片机最小系统模块进行编译程序,而对于光电传感器模块和显示模块需要分别编写相应的模块,各模块编写的程序根据各模块的要求编写,每个模块分别进行调试,这样便于调试错误。3.1主程序设计主程序是控制整个路灯系统的程序,需先进行初始化,定义变量等步骤,再根据各个模块要求实现的功能进行编程。具体过程如下,先将光电传感器模块处于工作状态,即供上电并将信号输出端接到单片机的P1.1口,因为光电传感器的监测范围是10cm,所以当小车出现在距离光电传感器10cm或小于10cm处时,光电传感器立即检测到物体并由输出端发出信号,信号发送给单片机,单片机接收到信号后令放光二极管点亮,表示有车将通过此路灯,与此同时单片机对此辆车计数,设定在10s内单片机对所有路过的车辆的计数,并将计数结果显示到数码管显示器上,来表示汽车流量,达到了流量监测的目的。综合以上的分析可得到系统主程序流程图,系统的主程序流程图如图(6)所示。沈阳航空航天大学课程设计论文路灯控制系统设计(1)第7页图(6)主程序流程图3.2计算流量子程序在光电传感器模块中,当物体距离传感器10cm时传感器监测到物体,发出低电平信号给单片机,单片机对信号计数。光电传感器是利用被检测物对光束的遮挡或反射,由同步回路选通电路,从而检测物体有无的。物体不限于金属,所有能反射光线的物体均可被检测。光电开关将输入电流在发射器上转换为光信号射出,接收器再根据接收到的光线的强弱或有无对目标物体进行探测。每当物体通过一次,发射部分发射的光束经目标后产生漫反射,接收部分接收到光束后经信号调理电路产生脉冲,脉冲信号输入到单片机,单片机进行脉冲计数便可实现对物体的计数统计。在对信号计数的过程中,同时设定了10s钟的延时程序,只有当过10s钟时n才能自动清0,假设此处的n为物体通过路灯的数量,因为需要测流量,所以不能没有时间的设主程序初始化车流量数据采集数据处理判断是否大于等于设定时间显示电路YN沈阳航空航天大学课程设计论文路灯控制系统设计(1)第8页定,要在设定的时间内测出路过路灯的数量才能测出流量。到达设定时间后便将计数值n清0,继续重新计数测流量。计算流量子程序流程图如图(7)所示。图(7)计算流量子程序流程图3.3显示子程序本设计的显示部分采用了3位数码管显示物体在十秒内的流量值。此数码管为共阴极数码管,采用了动态扫描方式对段选信号和位选信号进行扫描,数码管与两个74HC573锁存器连接,通过锁存器连接到单片机上,单片机输出信号给锁存器,使数码管显示数值。当设定时间到达后,再有物体经过路灯