基于新型规则的可编程交通控制系统设计Word下载.docx
- 文档编号:19446496
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:34
- 大小:915.01KB
基于新型规则的可编程交通控制系统设计Word下载.docx
《基于新型规则的可编程交通控制系统设计Word下载.docx》由会员分享,可在线阅读,更多相关《基于新型规则的可编程交通控制系统设计Word下载.docx(34页珍藏版)》请在冰豆网上搜索。
1.2控制器模块
课题要求控制器可编程,在众多的可编程控制器中我选择了单片机这种价格低廉、功能完善、易于仿真的控制器。
MCS系列单片机集成了几乎完善的数据处理单元,处理功能强,中央处理单元中集成了方便灵活地专用寄存器,硬件的加、减、乘除法器和布尔处理机及各种逻辑运算和转移指令。
单片机把微型计算机的主要部件都集成在一块芯片上,使得数据传送距离大大缩短,运行速度更快,可靠性更高,抗干扰能力更强。
由于属于芯片化的微型计算机,各功能部件在芯片中的布局和结构达最优化,工作亦相对稳定。
因此,控制系统中,使得单片机是理想的选择。
单片机属于典型的嵌入式系统,所以它是低端控制系统的最佳器件。
单片机的开发环境要求较低,软件资源十分丰富,开发工具的使用和语言也大大简化。
对于本交通控制系统使用的89C系列的单片机,不需要外扩展存储器,就能实现显示、预制状态、动态调节的功能,因而整体结构简单。
1.3电源提供模块
为方便系统稳定工作,须有可靠电源,如果采用独立的稳压电源,优点是稳定可靠,且有各种成熟电路可供选用,缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。
而如果采用的是单片机控制模块提供电源,该方案的优点是系统简明扼要,节约成本,缺点是输出功率不高。
为了让电路电平稳定,系统稳定工作,我决定采用单片机的控制模块提供电源。
1.4显示界面模块
该系统要求完成倒计时,信息提示功能,所以我考虑了用LED和发光二极管结合的方案,用LED来实现数码显示倒计时,用发光二极管来演示交通灯的工作状态。
而如果采用LCD显示,这种方案只显示有限的符号和数码字符,无法胜任课题要求。
而完全采用点阵式LCD显示,这种方案实现复杂,且须完成大量的软件工作。
优点是功能强大,可方便的显示各种英文字符,汉字,图形等。
采用LED和发光二极管结合的方法。
因为设计既要求倒计时数字输出,又要求有信号提示,为方便观看并考虑到现实情况,用LED和发光二极管结合这种方案既满足系统功能要求,又减少了系统实现的复杂度。
1.5输入模块
课题要求系统能手动设置灯亮时间、紧急情况处理,我决定采用单片机I/O接口及键盘,采用74HC138来控制数码显示。
采用单片机I/O接口及键盘的优点是使用灵活,可编程,并且有RAM及计数器,可提供较多的单片机I/O接口。
采用74HC138来控制数码显示,74HC138作用原理于高性能的存贮译码或要求传输延迟时间短的数据传输系统,在高性能存贮器系统中,用这种译码器可以提高译码系统的效率。
将快速赋能电路用于高速存贮器时,译码器的延迟时间和存贮器的赋能时间通常小于存贮器的典型存取时间,这就是说由肖特基钳位的系统译码器所引起的有效系统延迟可以忽略不计。
74HC138按照三位二进制输入码和赋能输入条件,从8个输出端中译出一个低电平输出。
两个低电平有效的赋能输入端和一个高电平有效的赋能输入端减少了扩展所需要的外接门或倒相器,扩展成24线译码器不需外接门;
扩展成32线译码器,只需要接一个外接倒相器。
在解调器应用中,赋能输入端可用作数据输入端。
由于该系统对于交通灯及LED的控制,只用单片机本身的I/O口就可实现,再采用74HC138译码器就可以实现数码显示倒计时,而数据输入采用的是2*4规格的键盘。
第2章硬件设计
硬件是整个系统实现运行的基础,只有在这个基础上才能下一步的设计。
本章主要确定硬件设计方案和进行各个模块的硬件设计。
2.1单片机及键盘控制模块
单片机采用89C51,其中有8K程序存储可用,对交通灯的控制主要用其中的计数器定时来完成。
一方面要完成对各模块的控制,另一方面也要协调好各模块的时序及口线冲突问题。
键盘采用2*4的规格,采用独立按键接口,这种方式是各种按键相互独立,每个按键接一根输入线,一根输入线按键的工作状态不会影响其他输入线上的工作状态。
因此,通过检测输入线的电平状态可以很容易判断哪个按键被按下。
2.1.1管脚说明
AT89C51的管脚如下图2.1所示。
图2.1AT89C51管脚图
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,说明如下:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;
当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
2.1.2键盘控制模块
独立式按键电路配置灵活,软件简单。
但每个按键需要占用一根输入口线,在按键数量较多时,需要较多的输入口线且电路结构复杂,故此种键盘用于按键较少或操作速度较高的场合。
独立式按键电路按键直接与单片机的I/O口连接,通过读I/O口,判定每个I/O口的电平状态,即可识别按下的键。
采用独立按键接口,这种方式是各种按键相互独立,每个按键接一根输入线,一根输入线按键的工作状态不会影响其他输入线上的工作状态。
由于只有8个按键,因此按键接口电路的设计比较简单,单片机P1.0到P1.7端口设定为输入状态,平时通过电阻上拉到Vcc,按键按下时,对应的端口的电平被拉到低电平。
这样就可以通过查询有无外部中断来判断有没有按键按下,按键各接一根输入线,一根输入线的按键工作状态不会影响其他输入线上的工作状态。
通过内部判断是否产生外部中断,即可识别按下的键。
8个按键定义如下:
B0\M0:
个位按键,按此键则设定时间的设定值个位加一。
B1\M1:
十位按键,按此键则设定时间的设定值十位加一。
K1:
东西方向控制键。
K2:
南北方向控制键。
M0*M1:
输入设定的是K1方向通行的时间。
B0*B1:
输入设定的是K2方向通行的时间。
ENTER:
确定键。
S/TS:
启动/紧急情况控制键。
2*4输入键盘如下图2.2所示。
图2.2输入键盘
2.2LED显示模块
respack-7一般是接在51单片机的P0口,因为P0口内部没有上拉电阻,不能输出高电平,所以要接上拉电阻。
排阻就是好多电阻连载一起,他们有一个公共端,1端为公共端接VCC或地,可直接从单片机P0口上接过来。
如下图2.3所示
图2.3respack-7
LED(型号:
7SEG-MPX6-CC)是7段六位共阴极数码管,如果要实现动态显示必须位码(1-6)轮流通低电位,也就是片选。
数码管倒计时显示如下图2.4所示。
图2.47SEG-MPX6-CC
LED倒计时数码显示可以直观的显示各个方向的通行时间以及人行道的通行时间,右转的通行时间,同时还可以在发生紧急事件后显示交通管制时间。
可靠性好、功能完备、独立性强,改进了以前的交通指挥灯的那种信号单一,提示能力不强的缺点,让行人和车辆能够清楚地明白各自的通行时间,使得行人和车辆能够很好的遵守交通法则法规,减少交通事故发生的概率。
2.3交通灯演示模块
交通灯演示模块采用发光二极管设计,来实现交通灯的演示,其可以直接通过总线与单片机P3口相连接,演示模块如下图2.5所示。
图2.5交通灯演示模块
2.4系统硬件电路
系统的整体硬件电路如下图2.6所示。
图2.6系统硬件电路
至此系统所需的各个硬件模块设计完成。
如需要进行仿真的话,接下来应该进行软件的编程设计。
第3章软件设计
本软件系统全部采用汇编语言编写,系统的各个硬件模块设计完成后,硬件电路能满足题目的设计要求,本章主要进行程序的设计及程序的编写。
3.1软件框图
根据系统所要实现的功能,以及汇编语言编写软件和单片机执行程序的特点,绘制了一幅基本的程序流程图,程序流程图如下图3.1所示。
图3.1程序流程图
根据设计要求,首先要确定软件设计方案,即确定该软件应该完成哪些功能;
其次是规划为了完成这些功能需要分成多少个功能模块,以及每一个程序模块的具体任务是什么。
一般划分模块应遵循下述原则:
1)每个模块都应具有独立的功能,能产生一个明确直观的结果。
2)模块长度要适中。
模块太长时,分析和调试比较困难,失去了模块化程序结构的优越性;
模块太短则信息交换太频繁,也不合适。
3)每个模块之间的控制参数应尽量简单,数据参数应尽量少。
控制参数是指模块进入开始运行和退出停止运行的条件及方式,数据参数是指模块间的信息交换方式、交换量的多少及交换的频率。
下面将对整个软件系统进行说明,相对应的汇编源程序详见附录二。
3.2软件说明
整个软件系统可以分为以下几个模块:
主程序模块、LED倒计时数码显示模块,键盘扫描处理模块,交通灯逻辑处理模块。
计算机基本的被独立提供出来的程序,它能够调用子程序,而不被任何子程序所调用。
它是计算机程序的中心部分。
主程序的设计内容一般包括:
主程序的起始地址,中断服务程序的起始地址,有关存储单元及相关部件的初始化和一些子程序调用等等。
主程序模块的主要内容是对整个系统进行初始化,并且包含调用子程序。
在本课题研究的系统中,主程序主要为两个部分:
第一个是对系统初始化,如打开相关中断,设置相关引脚的电平信号以及设置初始通行方向和时间。
此系统中主程序初始化包括以下内容:
1)打开中断允许命令:
SETBEA
2)打开定时中断0:
SETBET0
3)开启定时器0:
SETBTR0
4)设置交通灯初始状态和数码倒计时显示的初始状态。
在汇编语言编写的程序中,必须先进行系统的初始化,才能执行之后的指令。
系统初始化程序如下:
SEC0EQU30H
SEC1EQU31H
M_SEC0EQU32H
M_SEC1EQU33H
B_SEC0EQU34H
B_SEC1EQU35H
FLAGEQU36H
FLAG1EQU37H
ORG0000H
AJMPSTART
ORG0000BH
AJMPINT_T0
系统初始化完毕后,就进入了正式的执行程序,设置初始通行时间,以及调用数码显示程序和键盘输入程序,程序如下:
START:
MOVM_SEC0,#0
MOVM_SEC1,#4
MOVB_SEC0,#5
MOVB_SEC1,#3
LCALLDISPLAY
CSH:
LCALLKEY_SCAN
MOVA,FLAG1
CJNEA,#1,CSH
定时器是由单片机提供的一个非常稳定的计数源。
定时器是由单片机的晶振经过12分频后获得的一个脉冲源。
当单片机的晶振为12MHZ时,计数值1代表的时间就是1us。
计数器的容量是16位,也就是最大的计数值到65536,因此计数计到65536就会产生溢出。
当定时器/计数器溢出时,就会使得相关的寄存器标志产生变化,单片机将由此而产生定时中断,在中断服务程序中处理定时到而需要完成的任务。
定时器程序如下:
MOVTL0,#(65536-50000)MOD256
MOVTH0,#(65536-50000)/256
在汇编语言里面没有真正的延时指令,从以前的学习中我们知道单片机每执行一条指令都需要一定的时间,所以要达到延时效果,只需让单片机执行没有任何具体实际意义的指令。
延时子程序如下:
DELAY:
MOVR4,#1
SS2:
MOVR3,#5
SS1:
MOVR2,#200
DJNZR2,$
DJNZR3,SS1
DJNZR4,SS2
RET
本章节确定了可编程交通控制系统软件部分的编写步骤,把整个软件系统分为了几个大的模块,然后再进行总的程序编写。
接下来就是硬件电路的检查和软件系统的编译,最后再进行总的软硬联调和系统仿真。
第4章系统仿真
完成系统的硬件和软件设计后,就可以用Proteus软件进行调试和仿真了。
本章节进行可编程交通控制系统的调试和仿真,以及说明仿真的效果。
4.1Proteus简介
Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台。
在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。
4.2硬件调试
(1)交通灯演示电路的调试:
检查二极管无故障、导线无断线、连接头无互相搭联后可先写一个软件调试程序,根据灯的亮灭情况依次查找直到电路正常工作为止。
(2)倒计时电路调试:
若倒计时电路中有数码管不亮,检查数码管是否良好、数码管连线是否良好。
依次检查,直到倒计时电路正常工作。
(3)其它电路的调试主要看接口以及连线是否正确。
依次检查,直到正常工作。
4.3软件调试
本系统的软件系统全部采用汇编语言编写,除语法与逻辑差错外,当确认程序没问题时,直接下载到单片机仿真调试。
采取自下而上的方法,单独调好每一个模块,最后完成一个完整的系统调试。
4.4软硬联调
启动Proteus软件,打开硬件电路设计图,加载编译过后的系统软件,按下仿真按钮,系统进入工作模式,初始化后,等待键盘事件。
在这里按下S/TS键就可以直接进入系统预先装入的工作模式进行工作,也可以根据不同的通行方向和通行时间进行设置,输入完成后一定要按下ENTER键,用以确定重新设定的时间。
仿真后系统开始工作如下图4.1所示。
图4.1系统进入工作模式,初始化后,等待键盘事件。
(1)按下S/TS键再按下K1键,交通灯开始工作,先是东西方向通行。
通行时间为40S,系统仿真如下图4.2所示。
图4.2东西方向通行
(2)按下S/TS键再按下K2键,交通灯改变方向,南北方向通行,通行时间为35S,系统仿真如下图4.3所示。
图4.3南北方向通行
(3)按时间设置键后,进行时间设置,系统按重新设置的时间进行工作。
东西方向的通行时间调整为55S,系统仿真如下图4.4所示。
图4.4重新设置通行时间
(4)按时间设置键后,进行南北方向通行时间设置,系统按重新设置的时间进行工作。
南北方向的通行时间调整为18S,系统仿真如下图4.5所示。
图4.5南北方向通行时间
(5)按紧急键后,先出现全红状态,交通管制时间为15S。
再按一下方向键K1,又出现东西通行状态,再按另一方向键K2,则南北通行,仿真如下图4.6所示。
图4.6紧急按键状态
4.5仿真结果
经过调试和实验,仿真通过,整个系统工作正常,硬件和软件都没有问题,达到了题目的要求,系统仿真如下图4.7所示。
图4.7系统仿真图
通过以上仿真,确定该系统具有显示倒计时、演示交通灯工作状态、时间设置、紧急情况处理以及根据具体情况手动控制通行方向等功能,能作为基于新型交通规则的可编程控制系统的模拟硬件电路。
结论
设计中使用的51单片机,体积小,重量轻,抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好。
本设计的交通控制系统,只是单片机广泛应用于各行各业中比较简单的一例。
基于新型交通规则的可编程交通控制系统具有自动化程度高、可靠性好、功能完备、可扩张、可编程、便于升级、独立性强的优点。
改进了以前的交通指挥灯的那种信号单一,处理应急事故的能力差的缺点。
在本次设计过程中,培养了自己单独设计的能力以及综合运用知识的能力,体会到了收获自己劳动成果的喜悦心情,并从中发现自己了平时学习的不足和薄弱之处,从而得以弥补。
经过近三个月的学习设计,我学到了很多新的知识,培养和锻炼了我的创新能力和实际操作的能力。
在毕业设计过程中给我最大的感受就是理论上和实际应用是有很大的差距的,只有在实践中检验理论的时候,自己才会认识到很多的问题。
像在之前的单片机的汇编语言学习中感觉挺简单,但是要把这些程序组织起来设计成一个系统的程序还是有难度的。
只有更深刻的认识到理论中的一些基本问题,才能发现自己知识的不足和很多需要改进的地方。
这一次设计让我积累了无数实际经验,使我的头脑更好的被知识武装了起来,也必然会让我在未来的工作学习中表现出更高的应变能力,更强的沟通力和理解力。
参考文献
[1]王金明,杨吉斌.数字系统设计与VerilogHDL.北京:
电子工业出版社.2001
[2]张毅坤.单片微型计算机原理及应用.西安:
西安电子科技大学出版社.1998
[3]余锡存,曹国华.单片机原理及接口技术.陕西:
西安电子科技大学出版社.2007
[4]雷丽文等.微机原理与接口技术.北京
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 新型 规则 可编程 交通 控制系统 设计