论文部分内容阅读
【摘 要】智能交通是将先进的通信技术用于错综复杂的道路交通中,在现有道路的基础上,以更智能、更人工化的手段来全方位控制、处理各种交通顽疾。为了解决道路拥挤,采用STC12C5A60S2芯片为主控CPU,采用红绿双色点阵来模拟交通路口上的红绿灯,STC微处理器通过HC05蓝牙模块传过来的信息来控制点阵内容的变化。手机界面用蓝牙串口软件设计,主要是通过手机与STC12C5A60S2单片机的蓝牙模块进行连接来传输数据,用手机控制红绿灯的不同状态,起到关键时刻改变交通灯状态从而解决危急情况下道路拥堵的问题。
【关键词】智能交通;STC12C5A60S2;单片机;手机;蓝牙
【中图分类号】TN925;U491.54 【文献标识码】A 【文章编号】1674-0688(2018)04-0140-02
0 引言
本次设计主要是手机界面通过蓝牙模块传输指令到单片机起到控制交通灯的目的。手机编辑后点击按键即可发送指令给单片机。单片机型号为STC12C5A60S2,通过蓝牙接手机发送的信息,控制由红绿双基色点阵模拟的交通灯。此设计模拟手机远程控制红绿灯用于改善现交通系统中红绿灯控制的固化,便于工作人员在道路有突发状况时迅速地对交通情况作出反应并能够及时操作,使突发事件造成的危害降到最小。
1 底层硬件设计
1.1 硬件原理设计框图
本系统由STC12C5A60S2单片机模块、点阵显示屏模块、74hc595芯片、74LS138芯片、HC05蓝牙模块、手机组成。总体框图如图1所示。
1.2 STC12C5A60S2单片机电路设计
1.2.1 STC单片机简介
STC12C5A60S2是STC生产的单时钟/机器周期(1T)的单片机,是具有速度快、耗能低、抗干扰性强的新一代8051单片机,其处理速度是一般51单片机的8~12倍,且完全可兼容大众化的单片机程序。由于在速度上有优势,开发时间大量减少,使其成为初学者的最佳选择。应用STC12C5A60S2单片机也恰恰切合本次设计控制交通灯的目的。此外,STC12C5A60S2单片机还具有以下优势。
(1)芯片本身有看门狗,可对单片机中的程序进行加密,可有效地防止程序丢失,对劳动成果提供了保障。
(2)自带双串口,使其在通信中越发简便,操作者可以操作自如。
(3)I/O口有4种状态可以定义,在程序编写及操作时可以自由选择。
(4)STC12C5A60S2中断优先级有4种状态可定义。
1.2.2 STC单片机控制点阵电路
该设计电路点阵的行与列是由74LS138和74HC595芯片通过51单片机的控制来实现的,其中74LS138所接收的代码由单片机发送至其输入端,在其芯片内部进行译码,并经输出端输出至放大电路来对点阵的行进行控制。点阵采用的是双基色共阳极的设计,所以其公共端的驱动能力必须由放大电路来提升。形状选择代码由74HC595的输入端输入,因为该芯片的工作特性是将串行数据转为并行数据,所以点阵的列就由其输出端来扫描,以此实现对点阵的操作与控制。
2 程序设计
2.1 程序说明
首先进行定义库函数,然后定义变量。在此程序中,定义了74LS138译码器的高电平有效地使能端为P2.3端口、74HC595的串口输入时钟端为P0.7端口、595的数据输入时钟端为P0.6端口。然后对定义的端口、串口及单片机的定时器进行初始化在这里使用的是定时器0的第二种工作模式,高八位和第八位一并设置为0XD2,定义全局中断使能及定时器中断使能,开启定时器。接下来进入一个大循环,此循环为不停地接收和发送控制点阵改变的信号。
定义点阵颜色和形状的变量,单片机先将蓝牙接收的数据存放在接收区。接着进入FOR循环,此循环中,单片机将接收区的数据移到缓冲区。将信息中控制屏幕1的形状的数值赋给定义的屏幕1形状的变量中;信息中控制屏幕2的形状的数值赋给定义的屏幕2形状的变量中;信息中控制屏幕3的形状的数值赋给定义的屏幕3形状的变量中并进行递减运算,已完成交通灯倒计时的功能。接着将信息中控制屏幕1的颜色的数值赋给定义的屏幕1颜色的变量中;将信息中控制屏幕2的颜色的数值赋给定义的屏幕2颜色的变量中。最后执行一个判断语句,此判断语句实现的功能是前2个屏幕中有1个屏幕颜色为绿色,第三个倒计时的屏幕颜色即为绿色;前2个屏幕颜色都为红色,第三个屏幕才为红色。这样加真实地模拟了交通灯的工作状态。
在上述程序运转过程中,当定时器计满1 ms的时间时执行中断程序。中断程序开始,先关闭定时器0,重装定时器初值高八位和第八位都为0xD2,与初始化相同。因为定时器0采用工作方式二,每次中断为50 μs,所以要进20次中断才能执行一次程序。然后单片机将缓冲区的数据发送至74LS138芯片,判断芯片是否扫描完点阵列的一行,如扫描完成,进行下一步程序;如判断未扫描,则重新扫描。74LS138芯片扫描完一行后,74HC595来扫描点阵的一列,单片机判断是否扫描到,如判断未扫描到,则单片机重新发送显色数据,再次从74LS138开始扫描;如扫描完成,开启74LS138的使能端,先将数据发送给点阵让点阵显示出应有的图像,然后开启定时器,执行大循环,等待下次中断。
2.2 程序流程图
程序流程图如图2所示。
3 手机与交通灯的通信
因为程序采用MODBUS通信协议,所以单片机需要接收蓝牙发送的十六进制数字才可以将显示内容下发给各硬件使其正常工作。发送10位十六进制数位点阵控制信号,定义发送的第一位为地址为用来选择要控制的交通灯,可在程序中自行选择修改;第二位为控制第一个点阵的形状;第三位为控制第二个点阵的形状;第四位是控制第三个点阵的形状,在本次设计中用做红绿灯的倒计时时间;第五位在设计中没有具体作用,在此不多赘述;第六位控制第一个点阵的颜色;第七位控制第二个点阵的颜色;第八位控制第三个点阵的颜色;第九和第十位是CRC的校验位。
如果给单片机发送十六进制代码:EE 10 11 03 03 02 01 01 F8 9B,则交通灯的显示状态为第一个点阵是红色上箭头;第二个点阵是绿色右箭头;第三个点阵从3开始倒计时,颜色为绿色。
参 考 文 献
[1]刘智勇.智能交通控制理论及其应用[M].北京:科学出版社,2003.
[2]胡振文.城市智能交通系统现状与发展构想[J].国防交通工程与技术,2003(2):10-13.
[3]李江全.计算机控制技术[M].北京:机械工业出版社,2007.
[4]关积珍.LED显示屏发展状况及趋势[J].世界产品与技术,2000(2):21-22.
[5]余孟尝.数字电子技术基础简明教程(第三版)[M].北京:高等教育出版社,2006.
[6]胡花.单片机原理及应用技术[M].南昌:江西高校出版社,2009.
[7]康华光.电子技术基础数字部分[M].北京:高等教育出版社,2008.
[8]汪文,陈林.单片机原理及应用[M].武汉:华中科技大学出版社,2007.
[9]朱剛,谈振辉,周贤伟.蓝牙技术原理与协议[M].北京:北方交通大学出版社,2002.
[10]刘书生,赵海.蓝牙技术应用[M].沈阳:东北大学出版社,2001.
[责任编辑:钟声贤]
【关键词】智能交通;STC12C5A60S2;单片机;手机;蓝牙
【中图分类号】TN925;U491.54 【文献标识码】A 【文章编号】1674-0688(2018)04-0140-02
0 引言
本次设计主要是手机界面通过蓝牙模块传输指令到单片机起到控制交通灯的目的。手机编辑后点击按键即可发送指令给单片机。单片机型号为STC12C5A60S2,通过蓝牙接手机发送的信息,控制由红绿双基色点阵模拟的交通灯。此设计模拟手机远程控制红绿灯用于改善现交通系统中红绿灯控制的固化,便于工作人员在道路有突发状况时迅速地对交通情况作出反应并能够及时操作,使突发事件造成的危害降到最小。
1 底层硬件设计
1.1 硬件原理设计框图
本系统由STC12C5A60S2单片机模块、点阵显示屏模块、74hc595芯片、74LS138芯片、HC05蓝牙模块、手机组成。总体框图如图1所示。
1.2 STC12C5A60S2单片机电路设计
1.2.1 STC单片机简介
STC12C5A60S2是STC生产的单时钟/机器周期(1T)的单片机,是具有速度快、耗能低、抗干扰性强的新一代8051单片机,其处理速度是一般51单片机的8~12倍,且完全可兼容大众化的单片机程序。由于在速度上有优势,开发时间大量减少,使其成为初学者的最佳选择。应用STC12C5A60S2单片机也恰恰切合本次设计控制交通灯的目的。此外,STC12C5A60S2单片机还具有以下优势。
(1)芯片本身有看门狗,可对单片机中的程序进行加密,可有效地防止程序丢失,对劳动成果提供了保障。
(2)自带双串口,使其在通信中越发简便,操作者可以操作自如。
(3)I/O口有4种状态可以定义,在程序编写及操作时可以自由选择。
(4)STC12C5A60S2中断优先级有4种状态可定义。
1.2.2 STC单片机控制点阵电路
该设计电路点阵的行与列是由74LS138和74HC595芯片通过51单片机的控制来实现的,其中74LS138所接收的代码由单片机发送至其输入端,在其芯片内部进行译码,并经输出端输出至放大电路来对点阵的行进行控制。点阵采用的是双基色共阳极的设计,所以其公共端的驱动能力必须由放大电路来提升。形状选择代码由74HC595的输入端输入,因为该芯片的工作特性是将串行数据转为并行数据,所以点阵的列就由其输出端来扫描,以此实现对点阵的操作与控制。
2 程序设计
2.1 程序说明
首先进行定义库函数,然后定义变量。在此程序中,定义了74LS138译码器的高电平有效地使能端为P2.3端口、74HC595的串口输入时钟端为P0.7端口、595的数据输入时钟端为P0.6端口。然后对定义的端口、串口及单片机的定时器进行初始化在这里使用的是定时器0的第二种工作模式,高八位和第八位一并设置为0XD2,定义全局中断使能及定时器中断使能,开启定时器。接下来进入一个大循环,此循环为不停地接收和发送控制点阵改变的信号。
定义点阵颜色和形状的变量,单片机先将蓝牙接收的数据存放在接收区。接着进入FOR循环,此循环中,单片机将接收区的数据移到缓冲区。将信息中控制屏幕1的形状的数值赋给定义的屏幕1形状的变量中;信息中控制屏幕2的形状的数值赋给定义的屏幕2形状的变量中;信息中控制屏幕3的形状的数值赋给定义的屏幕3形状的变量中并进行递减运算,已完成交通灯倒计时的功能。接着将信息中控制屏幕1的颜色的数值赋给定义的屏幕1颜色的变量中;将信息中控制屏幕2的颜色的数值赋给定义的屏幕2颜色的变量中。最后执行一个判断语句,此判断语句实现的功能是前2个屏幕中有1个屏幕颜色为绿色,第三个倒计时的屏幕颜色即为绿色;前2个屏幕颜色都为红色,第三个屏幕才为红色。这样加真实地模拟了交通灯的工作状态。
在上述程序运转过程中,当定时器计满1 ms的时间时执行中断程序。中断程序开始,先关闭定时器0,重装定时器初值高八位和第八位都为0xD2,与初始化相同。因为定时器0采用工作方式二,每次中断为50 μs,所以要进20次中断才能执行一次程序。然后单片机将缓冲区的数据发送至74LS138芯片,判断芯片是否扫描完点阵列的一行,如扫描完成,进行下一步程序;如判断未扫描,则重新扫描。74LS138芯片扫描完一行后,74HC595来扫描点阵的一列,单片机判断是否扫描到,如判断未扫描到,则单片机重新发送显色数据,再次从74LS138开始扫描;如扫描完成,开启74LS138的使能端,先将数据发送给点阵让点阵显示出应有的图像,然后开启定时器,执行大循环,等待下次中断。
2.2 程序流程图
程序流程图如图2所示。
3 手机与交通灯的通信
因为程序采用MODBUS通信协议,所以单片机需要接收蓝牙发送的十六进制数字才可以将显示内容下发给各硬件使其正常工作。发送10位十六进制数位点阵控制信号,定义发送的第一位为地址为用来选择要控制的交通灯,可在程序中自行选择修改;第二位为控制第一个点阵的形状;第三位为控制第二个点阵的形状;第四位是控制第三个点阵的形状,在本次设计中用做红绿灯的倒计时时间;第五位在设计中没有具体作用,在此不多赘述;第六位控制第一个点阵的颜色;第七位控制第二个点阵的颜色;第八位控制第三个点阵的颜色;第九和第十位是CRC的校验位。
如果给单片机发送十六进制代码:EE 10 11 03 03 02 01 01 F8 9B,则交通灯的显示状态为第一个点阵是红色上箭头;第二个点阵是绿色右箭头;第三个点阵从3开始倒计时,颜色为绿色。
参 考 文 献
[1]刘智勇.智能交通控制理论及其应用[M].北京:科学出版社,2003.
[2]胡振文.城市智能交通系统现状与发展构想[J].国防交通工程与技术,2003(2):10-13.
[3]李江全.计算机控制技术[M].北京:机械工业出版社,2007.
[4]关积珍.LED显示屏发展状况及趋势[J].世界产品与技术,2000(2):21-22.
[5]余孟尝.数字电子技术基础简明教程(第三版)[M].北京:高等教育出版社,2006.
[6]胡花.单片机原理及应用技术[M].南昌:江西高校出版社,2009.
[7]康华光.电子技术基础数字部分[M].北京:高等教育出版社,2008.
[8]汪文,陈林.单片机原理及应用[M].武汉:华中科技大学出版社,2007.
[9]朱剛,谈振辉,周贤伟.蓝牙技术原理与协议[M].北京:北方交通大学出版社,2002.
[10]刘书生,赵海.蓝牙技术应用[M].沈阳:东北大学出版社,2001.
[责任编辑:钟声贤]