一种智能交通横道路口管理系统中单片机的工作方法

文档序号:6509962阅读:280来源:国知局
一种智能交通横道路口管理系统中单片机的工作方法
【专利摘要】一种智能交通横道路口管理系统中单片机的工作方法,属智能交通控制【技术领域】。包括计算机图像处理部分和单片机,通过单片机实现各个状态的判断和转换,经图像处理技术将复杂的图像转变为简单的数据,使复杂问题简化,将简单数据与单片机进行通信,实现计算机图像处理与单片机协同操作,达到智能化处理。本发明优点是:数据吞吐率高,可减缓系统在功耗和处理速度之间的矛盾;在保障行车道畅通的前提下,使行人安全;通过智能控制车流与人流,最大程度上减少目前定时交通信号灯无行人时汽车仍然等待的情况,进而减少了汽车的尾气排放,减少能源的无谓消耗。
【专利说明】一种智能交通横道路口管理系统中单片机的工作方法
[0001]本申请为申请号是201110372185.5的分案申请【技术领域】
[0002]本发明涉及一种智能交通横道路口管理系统中单片机的工作方法,属智能交通控制【技术领域】。
【背景技术】:
[0003]在郊区,由于人少,公路的某些路口处常常出现没行人过马路但却亮红灯的情况。这时,过往的车辆不得不停下来,司机们焦急的等待着。这不仅浪费了能源、污染了空气,更可能诱发司机闯红灯行为,造成交通事故。为了应对这种状况,在国外出现了人行横道按钮装置,在有行人时,按动按钮,则可以使人行道绿灯亮,车行道红灯亮,保障行人安全通行。但此种设计方案有一个很大的瑕疵,如果在一路段出现多个此种行人按钮路口,会有碍于城市交通的畅通,车辆不得不停下来等待行人的通过。虽然保障了行人的安全,但无法兼顾车道的畅通无阻。鉴于此种情况,智能交通信号灯系统成为一新研究热点。随着城市交通智能化设计理念的提出,此项研究又引起了高度的关注。《国外电子测量技术》杂志2010-11-22作者为吴慎将、李党娟所写的论文”智能交通信号灯控制器的设计”即属于此列。

【发明内容】

[0004]为了达到城市交通智能化的要求,本发明提供了一种智能交通横道路口的管理系统,采用新型设计理念为交通横道路口设置多种状态,通过单片机实现各个状态的判断和转换,以同时兼顾车道畅通和行人安全。
[0005]本发明的技术方案如下:
[0006]一种智能交通横道路口的管理系统,包括计算机图像处理部分和单片机,计算机图像处理部分包括计算机和摄像头,其特征在于摄像头和计算机相连接,计算机通过单片机的串口和单片机相连接,单片机通过其接口和人行道按钮及交通信号灯相连接;所述的摄像头是USB摄像头。
[0007]所述的单片机为ATmegal6单片机。
[0008]所述的交通信号灯包括车行道交通信号灯和人行横道交通信号灯,车行道交通信号灯为红绿黄三个,人行横道交通信号灯为红绿两个,交通信号灯直接与单片机相连,通过设置单片机I/o 口控制其亮灭。
[0009]上述的人行道按钮是一种按钮式开关。
[0010]一种上述管理系统中计算机进行图像处理的方法,步骤如下:
[0011]A.USB摄像头对准行车道,采集的视频信息经OpenCV库函数CvCaptureFromCAM以15帧图片一秒读入图像处理系统;
[0012]B.用OpenCV库中的cookbook背景学习方法对行车道环境不断学习建模,产生二值化的前景目标(汽车等运动的物体)图像;
[0013]C.使用cvFindContours函数对二值化图中的有效区域进行分割,通过提取各有效区域的形状、大小信息判断出是否有车辆靠近;
[0014]D.当识别出有车辆靠近时,调用系统函数,以串口通信方式将该信息发送给单片机。
[0015]一种上述管理系统中单片机的工作方法,步骤如下:
[0016]a.单片机采用内部4MHz振荡器,然后声明中断变量Buffer_Array ;
[0017]b.延时子函数,以秒为单位进行精确延时;
[0018]c.串口初始化,设置UCSRB寄存器,置位RXEN, TXEN和RXCIE位,使接收串口接收和接收中断使能,设置UCSRC寄存器,置位URSEL,UCSZl和UCSZ0,设置数据格式为8位数据位、I位停止位和不保留校检位,设置UBRRL和UBRRH寄存器,设置波特率为9600,
[0019]UBRRL= (F_CPU/9600/16-l)%256 ;UBRRH= (F_CPU/9600/16-l) /256 ;
[0020]d.主函数,设置
[0021]DDRB=OxOO ;P0RTB=0xFF ;
[0022]P0RTC=0xFF ;DDRC=OxFF ;
[0023]DDRD=OxOO ;P0RTD=0xFF ;
[0024]PB 口为输入口,设为电阻内部上拉,PC 口为输出口,设为电阻内部上拉,H) 口为输入口,设为电阻内部上拉,然后设置MCUCR寄存器,MCUCR=0x08,设为外部中断下降沿产生异步中断请求,设置GICR,置位INT1,开INTl中断,然后开全局中断,开始进入while (I)循环:判断中断变量Buffer_Array的值,如果为31H,则i=0,如果为32H,则i=l,对PC 口进行数据输出,点亮PCl和PC5控制的交通信号灯,即人行道红灯和车行道绿灯,然后返回判断中断变量Buffer_Array的值,循环执行此流程;式中中断变量Buffer_Array的值由步骤e中给出;
[0025]e.USART中断函数,使用单片机的USART串口通信口,接收从计算机传出的数据,单片机自动判断计算机是否传出数据,传出数据,立刻存入M)R寄存器,然后将UDR寄存器的值赋予中断变量Buffer_Array变量,判断计算机是否传出数据,单片机判断传出数据,返回步骤e,没有传出数据,返回步骤d ;
[0026]f.1NTl中断函数,触发通过按下连接单片机的按钮实现,表明为有行人状态,如果触发,则跳出主函数,进入中断函数执行,通过设置PC 口的高低电平,确定灯的亮灭,判断此时变量i的值,如果i的值为0,则进入状态S2,立刻人行道红灯灭,车行道绿灯灭,人行道绿灯亮,车行道红灯亮,延时30s,然后车行道黄灯亮,人行道红灯亮,延时5s,然后车行道绿灯亮,人行道红灯亮,退出中断函数,如果i的值不为0,则进入状态SI,车行道绿灯亮,人行道红灯灭,延时20s,然后车行道黄灯亮,人行道红灯亮,延时5s然后人行道绿灯亮,车行道红灯亮,延时30s,然后车行道黄灯亮,人行道红灯亮,延时5s,然后车行道绿灯亮,人行道红灯亮,退出中断函数,返回步骤d。
[0027]DDRB, DDRC, DDRD, PORTB, PORTC, PORTD 是本领域通用 IO 口控制寄存器。
[0028]本发明智能交通横道路口管理系统可以检测一个横道路口的车流与行人情况,并做出适当的状态切换。将摄像头设置在交通横道路口处,车辆的检测由摄像头自动采集图像实现,对行人的检测由装在人行横道两侧的人行道按钮来实现。系统自动根据车辆与行人的状态判断交通信号灯下一时刻进入何种状态,实现智能化控制。交通信号灯系统状态设置有以下三种:
[0029]状态SO:总是行车道畅通,人行横道截止;(方便汽车在没有行人的情况下畅通无阻)
[0030]状态S1:行车道畅通一段时间,而后人行道畅通一段时间;(有车、有行人时的情况)
[0031]状态S2:人行道畅通一段时间,而后行车道畅通一段时间;(有行人、无车时的情况)
[0032]本发明系统通过图像处理技术将复杂的图像转变为简单的数据,将复杂问题简单化,将简单数据与单片机进行通信,实现计算机图像处理与单片机协同操作,达到智能化处理。
[0033]本发明智能交通横道路口管理系统较其他系统有以下优点:
[0034]1、单片机的选取,ATmegal6是基于增强的AVR RISC结构的低功耗8位CMOS微控制器,由于其先进的指令集以及单时钟周期指令执行时间,ATmegal6的数据吞吐率高达lMIPS/MHz,从而可以减缓系统在功耗和处理速度之间的矛盾,ATmegal6具有节能和对环境要求低的优势,在交通横道路口这种电磁环境复杂的状况下工作,有其得天独厚的优势。
[0035]2、智能交通信号灯管理系统可以在最大限度的保障行车道畅通的前提下,保障了行人的安全,较以往以牺牲车道畅通换取行人安全的方法有了很大的改进。
[0036]3、通过智能控制车流与人流,最大程度上减少目前定时交通信号灯无行人时汽车仍然等待的情况,进而减少了汽车的尾气排放,减少能源的无谓消耗。
【专利附图】

【附图说明】
[0037]图1是本发明系统的连接结构示意图。
[0038]其中:1、计算机图像处理部分,2、摄像头,3、计算机,4、人行道按钮,5、单片机,6、
交通信号灯。
[0039]图2是本发明系统的单片机电路连接示意图。其中:7、外部晶振模块,8、单片机芯片ATmegal6,9、交通信号灯,与单片机的PC 口连接,显示效果,10、人行道按钮。单片机芯片连接外部晶振模块,有较高的抗外界干扰的能力,而且可以提高单片机运行速度,单片机处理速度无法满足要求时,采用外部晶振可以提高处理速度。
[0040]图3是本发明系统中计算机进行图像处理的方法的流程图;其中A-D为其各个步骤。
[0041]图4是本发明系统中单片机的工作方法的流程图;其中a_f为其各个步骤。【具体实施方式】
[0042]下面结合附图和实施例对本发明做进一步说明,但不限于此。
[0043]实施例1:
[0044]本发明实施例1如图1所示,包括计算机图像处理部分I和单片机5,计算机图像处理部分I包括计算机3和摄像头2,其特征在于摄像头2和计算机3相连接,计算机3通过单片机5的串口和单片机5相连接,单片机5通过其接口和人行道按钮4及交通信号灯6相连接;所述的摄像头2是USB摄像头。
[0045]所述的单片机5为ATmegal6单片机。
[0046]所述的交通信号灯6包括车行道交通信号灯和人行横道交通信号灯,车行道交通信号灯为红绿黄三个,人行横道交通信号灯为红绿两个,交通信号灯6直接与单片机5相连,通过设置单片机51/0 口控制其亮灭。
[0047]实施例2:
[0048]一种上述管理系统中计算机进行图像处理的方法,如图3所示,步骤如下:
[0049]A.USB摄像头对准行车道,采集的视频信息经OpenCV库函数cvCaptureFromCAM以15帧图片一秒读入图像处理系统;
[0050]B.用OpenCV库中的cookbook背景学习方法对行车道环境不断学习建模,产生二值化的前景目标(汽车等运动的物体)图像;
[0051]C.使用cvFindContours函数对二值化图中的有效区域进行分割,通过提取各有效区域的形状、大小信息判断出是否有车辆靠近;
[0052]D.当识别出有车辆靠近时,调用系统函数,以串口通信方式将该信息发送给单片机。
[0053]一种上述管理系统中单片机的工作方法,如图4所示,步骤如下:
[0054]a.单片机采用内部4MHz振荡器,然后声明中断变量Buffer_Array ;
[0055]b.延时子函数,以秒为单位进行精确延时;
[0056]c.串口初始化,设置UCSRB寄存器,置位RXEN, TXEN和RXCIE位,使接收串口接收和接收中断使能,设置UCSRC寄存器,置位URSEL,UCSZl和UCSZ0,设置数据格式为8位数据位、I位停止位和不保留校检位,设置UBRRL和UBRRH寄存器,设置波特率为9600,
[0057]UBRRL= (F_CPU/9600/16_l) %256 ;UBRRH= (F_CPU/9600/16_l) /256 ;
[0058]d.主函数,设置
[0059]DDRB=OxOO ;P0RTB=0xFF ;
[0060]P0RTC=0xFF ;DDRC=OxFF ;
[0061]DDRD=OxOO ;P0RTD=0xFF ;
[0062]PB 口为输入口,设为电阻内部上拉,PC 口为输出口,设为电阻内部上拉,H) 口为输入口,设为电阻内部上拉,然后设置MCUCR寄存器,MCUCR=0x08 ;
[0063]设为外部中断下降沿产生异步中断请求,设置GICR,置位INT1,开INTl中断,然后开全局中断,开始进入while (I)循环:判断中断变量Buffer_Array的值,如果为31H,则i=0,如果为32H,则i=l,对PC 口进行数据输出,点亮PCl和PC5控制的交通信号灯,即人行道红灯和车行道绿灯,然后返回判断中断变量Buffer_Array的值,循环执行此流程;式中中断变量Buffer_Array的值由步骤e中给出;
[0064]e.USART中断函数,使用单片机的USART串口通信口,接收从计算机传出的数据,单片机自动判断计算机是否传出数据,传出数据,立刻存入M)R寄存器,然后将UDR寄存器的值赋予中断变量Buffer_Array变量,判断计算机是否传出数据,单片机判断传出数据,返回步骤e,没有传出数据,返回步骤d ;
[0065]f.1NTl中断函数,触发通过按下连接单片机的按钮实现,表明为有行人状态,如果触发,则跳出主函数,进入中断函数执行,通过设置PC 口的高低电平,确定灯的亮灭,判断此时变量i的值,如果i的值为O,则进入状态S2,立刻人行道红灯灭,车行道绿灯灭,人行道绿灯亮,车行道红灯亮,延时30s,然后车行道黄灯亮,人行道红灯亮,延时5s,然后车行道绿灯亮,人行道红灯亮,退出中断函数,如果i的值不为0,则进入状态SI,车行道绿灯亮,人行道红灯灭,延时20s,然后车行道黄灯亮,人行道红灯亮,延时5s然后人行道绿灯亮,车行道红灯亮,延时30s,然后车行道黄灯亮,人行道红灯亮,延时5s,然后车行道绿灯亮,人行道红灯亮,退出中断函数,返回步骤d。
【权利要求】
1.一种智能交通横道路口管理系统中单片机的工作方法,该系统包括计算机图像处理部分和单片机,计算机图像处理部分包括计算机和摄像头,摄像头和计算机相连接,计算机通过单片机的串口和单片机相连接,单片机通过其接口和人行道按钮及交通信号灯相连接;所述的摄像头是USB摄像头,该步骤如下: a.单片机采用内部4MHz振荡器,然后声明中断变量Buffer_Array; b.延时子函数,以秒为单位进行精确延时; c.串口初始化,设置UCSRB寄存器,置位RXEN,TXEN和RXCIE位,使接收串口接收和接收中断使能,设置UCSRC寄存器,置位URSEL,UCSZl和UCSZO,设置数据格式为8位数据位、I位停止位和不保留校检位,设置UBRRL和UBRRH寄存器,设置波特率为9600,
UBRRL=(F_CPU/9600/16-l)%256 ;UBRRH=(F_CPU/9600/16-l) /256 ; d.主函数,设置
DDRB=OxOO ;P0RTB=0xFF ;
P0RTC=0xFF ;DDRC=0xFF ;
DDRD=OxOO ;P0RTD=0xFF ; PB 口为输入口,设为电阻 内部上拉,PC 口为输出口,设为电阻内部上拉,PD 口为输入口,设为电阻内部上拉,然后设置MCUCR寄存器,MCUCR=0x08,设为外部中断下降沿产生异步中断请求,设置GICR,置位INT1,开INTl中断,然后开全局中断,开始进入while (I)循环:判断中断变量Buffer_Array的值,如果为31H,则i=0,如果为32H,则i=l,对PC 口进行数据输出,点亮PCl和PC5控制的交通信号灯,即人行道红灯和车行道绿灯,然后返回判断中断变量Buffer_Array的值,循环执行此流程;式中中断变量Buffer_Array的值由步骤e中给出; e.USART中断函数,使用单片机的USART串口通信口,接收从计算机传出的数据,单片机自动判断计算机是否传出数据,传出数据,立刻存入UDR寄存器,然后将UDR寄存器的值赋予中断变量Buffer_Array变量,判断计算机是否传出数据,单片机判断传出数据,返回步骤e,没有传出数据,返回步骤d ; f.1NTl中断函数,触发通过按下连接单片机的按钮实现,表明为有行人状态,如果触发,则跳出主函数,进入中断函数执行,通过设置PC 口的高低电平,确定灯的亮灭,判断此时变量i的值,如果i的值为0,则进入状态S2,立刻人行道红灯灭,车行道绿灯灭,人行道绿灯亮,车行道红灯亮,延时30s,然后车行道黄灯亮,人行道红灯亮,延时5s,然后车行道绿灯亮,人行道红灯亮,退出中断函数,如果i的值不为0,则进入状态SI,车行道绿灯亮,人行道红灯灭,延时20s,然后车行道黄灯亮,人行道红灯亮,延时5s然后人行道绿灯亮,车行道红灯亮,延时30s,然后车行道黄灯亮,人行道红灯亮,延时5s,然后车行道绿灯亮,人行道红灯亮,退出中断函数,返回步骤d。
【文档编号】G06F13/24GK103489311SQ201310393419
【公开日】2014年1月1日 申请日期:2011年11月21日 优先权日:2011年11月21日
【发明者】马丕明, 梁博涛 申请人:山东大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1