毕业设计(论文)-交通信号灯的控制.doc

上传人:椰子壳 文档编号:3946711 上传时间:2019-10-10 格式:DOC 页数:18 大小:393KB
返回 下载 相关 举报
毕业设计(论文)-交通信号灯的控制.doc_第1页
第1页 / 共18页
毕业设计(论文)-交通信号灯的控制.doc_第2页
第2页 / 共18页
毕业设计(论文)-交通信号灯的控制.doc_第3页
第3页 / 共18页
毕业设计(论文)-交通信号灯的控制.doc_第4页
第4页 / 共18页
毕业设计(论文)-交通信号灯的控制.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《毕业设计(论文)-交通信号灯的控制.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-交通信号灯的控制.doc(18页珍藏版)》请在三一文库上搜索。

1、交通信号灯的控制目 录第一章课题简介1第二章 具体方案22.1交通信号灯的控制22.2要求2第三章 具体设计331 电路原理332程序原理933 关键代码段及原码分析11第四章 测 试1541测试过程中遇到的问题记录1542测试结果15第五章 总结16第一章 课题简介 交通信号灯的控制方法,其特征在于先进行初始化,即将设置好平面交叉路口的交通运行配时程序和标准时间输入到信号机的主机和子机中;再待命,按通讯协议使子机进入正常状态,使主机与子机同步;后正常工作,主机驱动主机方向的信号灯工作,同时发射无线信号,子机接收无线信号,子机接收到一个正确的命令,修改本地时钟,使子机与主机时钟保持同步,并修改

2、子机的信号灯灯色;接收到的信息不正确,子机的微处理器驱动子机方向的信号灯工作。本发明施工方便、省时,信号机主机与子机之间无需电缆,控制命令通过无线电传递,信号机制作简单;可靠性高,抗干扰能力强。 第二章 具体方案2.1交通信号灯的控制1 通过8255A并口来控制LED发光二极管的亮灭。2 A口控制红灯,B口控制黄灯,C口控制绿灯。3 输出为0则亮,输出为1则灭。4 用8253定时来控制变换时间 。2.2要求设有一个十字路口,1、3为南,北方向,2、4为东西方向,初始态为4个路口的红灯全亮。之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。延迟30秒后,1、3路口的绿灯熄灭,而1

3、,3路口的黄灯开始闪烁(1HZ)。闪烁5次后,1、3路口的红灯亮,同时2、4路口的绿灯亮,2、4路口方向开始通车。延迟30秒时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁。闪烁5次后,再切换到1、3路口方向。之后,重复上述过程。分析题意,红,黄,绿灯可分别接在8255的A口,B口和C口上,灯的亮灭可直接由8086输出0,1控制。30秒延时及闪烁由8253控制,由闪烁的实现方法方案: 设8253各口地址分别为:设8253基地址即通道0地址为04A0H;通道1为04A2H;通道2为04A4H;命令控制口为04A6H。黄灯闪烁的频率为1HZ,所以想到由8253产生一个1HZ的方波, 8255控制或门打

4、开的时间,在或门打开的时间内,8253将方波信号输入或门使黄灯闪烁。由于计数值最大为65535,1MHZ/65536的值远大于2HZ,所以采用两个计数器级联的方式,8253通道0的clock0输入由分频器产生的1MHZ时钟脉冲,工作在方式 3即方波发生器方式,理论设计输出 周期为0.01s的方波。1MHZ的时钟脉冲其重复周期为T=1/1MHZ=1s,因此通道0的计数初值为10000=2710H。由此方波分别作为clock1和clock2的输入时钟脉冲,所以通道1和通道2的输入时钟频率为100HZ,通道1作计数器工作在方式1,计数初值3000=BB8H既30s,计数到则输出一个高电平到8255的

5、PA7口,8255将A口数据输入到8086,8086检测到高电平既完成30s定时。通道2工作在方式3需输出一个1HZ的方波,通过一个或门和8086共同控制黄灯的闪烁,三个通道的门控信号都未用,均接5V即可。第三章 具体设计31 电路原理1此方案是通过并行接口芯片8255A和8086计算机的硬件连接,以及通过8253延时的方法,来实现十字路口交通灯的模拟控制。如硬件连接图所示,红灯(RLED),黄灯(YLEDD)和绿灯(GLED)分别接在8255的A,B,C口的低四位端口,PA0,PA1,PA2,PA3分别接1,2,3,4路口的红灯,B,C口类推。8086工作在最小模式,低八位端口AD0AD7接

6、到8255和8253的D0D7,AD8AD15通过地址锁存器8282,接到三八译码器,译码后分别连到8255和8253的CS片选端。8253的三个门控端接+5V,CLOCK0接由分频器产生的1MHZ的时钟脉冲,OUT0接到CLOCK1和CLOCK2,OUT1接到8086的AD18,8086通过检测此端口是否有高电平来判断是否30S定时到。OUT2产生1MHZ方波通过或门和8255的B口共同控制黄灯的闪烁。8255三个口全部工作在方式0既基本输入输出方式,红绿灯的转换由软件编程实现。由于8255A与8086CPU是以低八位数据线相连接的,所以应该是8255A线分别与8086CPU的、线相连,而将

7、8086的线作为选通信号。如果是按8255A内部地址来看,则在图中它的地址是PA口地址即(CS+000H),PB口地址为(CS+001H),PC口地址为(CS+002H),命令控制口地址为(CS+003H),其中,CS为8255片选信号的首地址;若是按8086CPU地址来看,则8255A的地址是PA口地址即(CS+000H),PB口地址为(CS+002H),PC口地址为(CS+004H),命令控制口地址为(CS+006H)。当CS0288H,则PA口地址为0288H,PB口地址为028AH,PC口地址为028CH,命令控制口地址为028EH。2电路图3硬件原理说明:A.8086各个引脚的连接方

8、法。(1)引脚:通常用此引线产生片选信号,当为1,0编码时,在数据总线低8位和偶地址之间进行字节传送()。(2)CLK(Clock)时钟信号(输入):CLK为CPU和总线控制器提供基本的定时脉冲。时钟周期是非对称的,当它为有效高电平的时间和时钟周期的比为33时,提供最佳的内部定时。由8284时钟发生器产生,8086CPU使用的时钟频率,因芯片型号不同,时钟频率不同。这里采用5MHz。(3)(+5V),GND(地):CPU所需电源5V。GND为地线。(4)QS0ALE(Address Latch Enable)地址锁存允许信号,输出高电平有效,作地址锁存器8282/8283的片选信号,在地址周期

9、状态,ALE有效,表示AB、DB上传送的是地址信息,将它锁存。这是由于AB、DB分时复用所需要的,ALE信号线不能悬空。如图所示,加入2片地址锁存器8282。(5)RESET:复位信号,输入,高电平有效。8086接到复位信号后,停止现行操作,并初始化段寄存器DS,SS,ES,标志寄存器PSW,指令指针IP和指令队列,而使CS=FFFFH。RESET信号至少保持四个周期以上的高电平,当它变为低电平时(一个下降沿),CPU执行重启过程,8086将从地址FFF0H开始执行指令。通常FFFF0H单元开始的几个单元中存放一条JMP指令,将入口转到引导和装配程序中,从而实现对系统的初始化,引导监控程序或操

10、作系统程序。由于出现突然断电或其它情况时,8086可能正在执行交通灯程序,现有的地址丢失,应按下RESET键重新开始。另外,应将8255A与8086的RESET线相连,保持同步。(6)MN/(Minimun/Maximun): 最小、最大工作模式选择信号,输入。此时MN/接5V,构成单处理器系统,系统控制信号由CPU提供。接下来,对8282芯片作一下说明: :8位数据输入;:8位数据输出;STB:选通信号;:输出允许信号,在不带DMA控制器的8086单处理器系统中,它接地。其实,这就是8个D触发器。由于只用,所以用两片即可。该系统中时钟发生器是8284。B.8255的内部结构8255A是一个4

11、0引脚的双列直插式集成电路芯片按功能可把8255A分为三个逻辑电路部分,即:口电路、总线接口电路和控制逻辑电路。(1)口电路8255A共有三个8位口,其中A口和B口是单纯的数据口,供数据I/O使用。而C口则既可以作数据口,又可以作控制口使用,用于实现A口和B口的控制功能(2)总线接口电路总线接口电路用于实现8255A和单片微机的信号连接。其中包括: (a)数据总线缓冲器数据总线缓冲器为8位双向三态缓冲器,可直接和80C51的数据线相连,与I/O操作有关的数据、控制字和状态信息都是通过该缓冲器进行传送。(b)读/写控制逻辑与读写有关的控制信号有CS片选信号(低电平有效)RD读信号(低电平有效)W

12、R写信号(低电平有效)A0、A1端口选择信号。8255A共有四个可寻址的端口(即A口、B口、C口和控制寄存器),用二位地址编码即可实现选择。RESET复位信号(高电平有效)。复位之后,控制寄存器清除,各端口被置为输入方式。读写控制逻辑用于实现8255A的硬件管理:芯片的选择,口的寻址以及规定各端口和单片微机之间的数据传送方向。(c)控制逻辑电路控制逻辑电路包括A组控制和B组控制,合在一起构成8位控制寄存器。用于存放各口的工作方式控制字8255A工作方式及数据I/O操作(1)8255A的工作方式 8255A共有三种工作方式,即方式0、方式1、方式2.(a)方式0 基本输入/输出方式 方式0下,可

13、供使用的是两个8位口(A口和B口)及两个4位口(C口高4位部分和低4位部分)。四个口可以是输入和输出的任何组合。方式0适用于无条件数据传送,也可以把C口的某一位作为状态位,实现查询方式的数据传送。(b)方式1 选通输入/输出方式 A口和B口分别用于数据的输入/输出。而C口则作为数据传送的联络信号。具体定义见表72。可见A口和B口的联络信号都是三个,如果A或B只有一个口按方式1使用,则剩下的另外13位口线仍然可按方式0使用。如果两个口都按方式1使用,则还剩下2位口线,这两位口线仍然可以进行位状态的输入输出。方式1适用于查询或中断方式的数据输入/输出。 (c)方式2 双向数据传送方式只有A口才能选

14、择这种工作方式,这时A口既能输入数据又能输出数据。在这种方式下需使用C口的五位线作控制线,信号定义如表72所示。方式2适用于查询或中断方式的双向数据传送。如果把A口置于方式2下,则B口只能工作于方式0.(2)数据输入操作用于输入操作的联络信号有:STB(StroBe)选通脉冲,输入,低电平有效。 当外设送来STB信号时,输入数据装入8255A的锁存器。IBF(Input Buffer Full) 输入缓冲器满信号,输出,高电平有效。IBF信号有效,表明数据已装入锁存器,因此它是一个状态信号。INTR(INTerrupt Request)中断请求信号,高电平有效,当IBF数据输入过程:当外设准备

15、好数据输入后,发出信号,输入的数据送入缓冲器。然后IBF信号有效。如使用查询方式,则IBF即作为状态信号供查询使用;如使用中断方式,当信号由低变高时,产生INTR信号,向单片微机发出中断。单片微机在响应中断后执行中断服务程序时读入数据,并使INTR信号变低,同时也使IBF信号同时变低。以通知外设准备下一次数据输入。(3)数据输出操作用于数据输出操作的联络信号有:ACK(ACKnowledge)外设响应信号输入,低电平有效。当外设取走输出数据,并处理完毕后向单片微机发回的响应信号为高,信号由低变高(后沿)时,中断请求信号有效。向单片微机发出中断请求。OBF(Output Buffer Full)

16、输出缓冲器满信号,输出,低电平有效。当单片微机把输出数据写入8255A锁存器后,该信号有效,并送去启动外设以接收数据。INTR中断请求信号,输出,高电平有效。C8253定时计数器8253内部可分为6个模块,每个模块的功能如下: (1) 数据总线缓冲器及数据总线D0D7(2) 读/写控制逻辑及控制引脚CS* A1 A0I/O地址读操作RD*写操作WR*0 0 00 0 10 1 00 1 140H41H42H43H读计数器0读计数器1读计数器2无操作写计数器0写计数器1写计数器2写控制字(3) 控制字寄存器在初始化编程时,CPU写入方式控制字到控制字寄存器中,用以选择计数通道及其相应的工作方式。

17、(4) 计数通道0、计数通道1、计数通道23个计数通道内部结构完全相同。每个计数通道都由一个16位计数初值寄存器、一个16位减法计数器和一个16位计数值锁存器组成计数初值存于预置寄存器,在计数过程中,减法计数器的值不断递减,而预置寄存器中的预置不变。输出锁存器用于写入锁存命令时,锁定当前计数值。32程序原理流程图初始化8255,8253红灯全亮绿灯黄灯全灭1,3绿灯亮2,4红灯亮等待8253延时30s时间是否到?YN1,3绿灯灭2,4红灯不变1,3黄灯闪烁等待黄灯闪烁5次?YN1,3红灯亮2,4绿灯亮8253延时30s2,4绿灯灭黄灯闪烁5次 . 33 关键代码段及原码分析DATA SEGME

18、NT; 设置数据段,以及端口地址分配 PORTA EQU 218H PORTB EQU 219H PORTC EQU 21AH PTCON8255 EQU 21BH PORT0 EQU 238H PORT1 EQU 239H PORT2 EQU 240H PTCON8253 EQU 241H DATA ENDSCODE SEGMENT ASSUME DS:DATA,CS:CODEINIT: MOV AX,DATA MOV DS,AX MOV DX, PTCON8253 MOV AL,36H OUT DX,AL MOV DX,PORT0 MOV AX,2710H OUT DX,AL MOV AL

19、,AH OUT DX,AL;通道0工作方式3 周期0.01s MOV DX, PTCON8253 MOV AL,71H OUT DX,AL;通道1工作方式1 MOV DX, PTCON8253 MOV AL,96H OUT DX,AL MOV DX,PORT2 MOV AL,64H OUT DX,AL;通道2工作方式3 周期1s 8253初始化完成 MOV DX, PTCON8255 MOV AL,80H OUT DX,AL;8255初始化 A,B,C口均工作在方式0 MOV DX,PORTA MOV AL,0 OUT DX,AL MOV DX,PORTB MOV AL,0FH OUT DX,

20、AL MOV DX,PORTCMOV AL,0FHOUT DX,AL;灯初始化完成STA: MOV DX,PORTAMOV AL,0A0HOUT DX,ALMOV DX,PORTBMOV AL,0F0HOUT DX,ALMOV DX,PORTCMOV AL,50HOUT DX,AL;1,3绿灯亮,2,4红灯亮MOV DX,PORT1MOV AX,0BB8HOUT DX,ALMOV AL,AHOUT DX,AL;8253通道1赋值 开始计时SCAN1: MOV AL,0MOV DX,PTCON8255MOV AL,90HOUT DX,ALMOV DX,PORTAIN AL,DXAND AL,0F

21、HCMP AL,1JNZ SCAN1;扫描PA7口FLA1: MOV DX, PTCON8255MOV AL,80HOUT DX,ALMOV DX,PORTCMOV AL,0F0HOUT DX,ALMOV DX,PORTBMOV AL,50HOUT DX,ALMOV CX,0TEST1: MOV DX,PTCON8255;检测PB7MOV AL,82HOUT DX,ALMOV DX,PORTBIN AL,DXAND AL,0FHMOV AH,ALMOV DX,PTCON8255MOV AL,82HOUT DX,ALMOV DX,PORTBIN AL,DXAND AL,0FHXOR AL,AHA

22、DD CL,ALCMP CL,9JNZ TEST1;闪烁5次MOV DX, PTCON8255MOV AL,80HOUT DX,ALMOV DX,PORTAMOV AL,50HOUT DX,ALMOV DX,PORTBMOV AL,0F0HOUT DX,ALMOV DX,PORTCMOV AL,0A0H;1,3红灯亮,2,4绿灯亮MOV DX,PORT1MOV AX,0BB8HOUT DX,ALMOV AL,AHOUT DX,AL;8253通道1赋值 开始计时SCAN2: MOV AL,0MOV DX,PTCON8255MOV AL,90HOUT DX,ALMOV DX,PORTAIN AL,

23、DXAND AL,0FHCMP AL,1JNZ SCAN2FLA2: MOV DX, PTCON8255MOV AL,80HOUT DX,ALMOV DX,PORTCMOV AL,0F0HOUT DX,ALMOV DX,PORTBMOV AL,0A0HOUT DX,ALTEST2: MOV DX,PTCON8255MOV AL,88HOUT DX,ALMOV DX,PORTCIN AL,DXAND AL,0FHMOV AH,ALMOV DX,PTCON8255MOV AL,88HOUT DX,ALMOV DX,PORTCIN AL,DXAND AL,0FHXOR AL,AHADD CL,ALC

24、MP CL,9 JNZ TEST2;闪烁5次 CODE ENDS END STA 第四章 测 试41测试过程中遇到的问题记录(1)本电路没有设置显示倒计时的七段LED数码管,如果应用到街道上,不利于司机、行人把握;(2)在上机调试中发现,由于此软件延时的时间均为估算时间,不是特别准确,对于交通要求特别高的地方不宜采用。如果是放到一个大的交通灯系统中,会影响到各个交通灯的运行时间,可能整个系统对交通的指挥调度会大大偏离理论计算,不能有效地防止和消除交通堵塞现象;(3)当出现紧急情况,在特种车(如消防车、救护车)正要通过时,这种编程方式就不能完成。42测试结果可以看到以上方案的一般性,只要将程序里

25、的数据排列或规律稍加修改就可应用到任何一个路口的某一个方向上的交通灯上了,可移植性很强。 第五章 总结 经过这两周的课程设计, 做关于交通灯系统设计,我认真查阅资料,学习关于这方面的知识,比如说要了解8086芯片中各个引脚的功能,怎么样去使用8255这个可编程并行接口芯片,怎么样使用8253来定时及输出一定频率的脉冲,怎么样用8282这个地址锁存器来存储高位地址和低位地址以及交通有哪些规则.在理论学习的基础上,又下了一次苦工夫,算是明白了设计一个系统的过程;也让我体会到要想成功地设计某个东西,光学好专业知识是不够的,必须要系统的知识,无论在哪方面都要有个明白的概念,只有这样才不至于在设计过程中

26、摸不着头脑,知道去哪些是需要查的资料,还有一点,我觉得我在芯片编程方面,特别是在初始化方面是我最大的困难,或许是我的汇编语言学得不够好,我只能借助参考资料,查每一条指令的作用与功能,这样一来又巩固了我的对汇编语言的了解. 如此,我体会到学习理论知识固然重要,但在你学完了之后,你不在实践中运用你所学的知识,我想学是白学了,过一段时间后,你可能什么都记不起来了,或许在学的时候心里有一个概念,认为这个知识我曾经学得不错,我现在怎么想不起来了,一心想依赖课本;如果我们用实践来学习知识,你会努力地去搜索你想要需要的东西,即使是过了一段时间后,你也会记得你曾经对这点不明白认真地查阅过,所以你不容易忘记! .18

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1