14606612课程设计论文基于8086微处理器的交通信号灯控制设计Word下载.docx
- 文档编号:19632988
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:33
- 大小:717.49KB
14606612课程设计论文基于8086微处理器的交通信号灯控制设计Word下载.docx
《14606612课程设计论文基于8086微处理器的交通信号灯控制设计Word下载.docx》由会员分享,可在线阅读,更多相关《14606612课程设计论文基于8086微处理器的交通信号灯控制设计Word下载.docx(33页珍藏版)》请在冰豆网上搜索。
8086处理器虽说需要拓展一些外围器件如8259A、8253A、8255等,增加了电路的复杂性,但它仍具有功能丰富、实时性高等特点,对于本设计来说,它完全可以满足。
特别是对于8086系统实现所需芯片在本学期已经学习,所以对8086构造的系统还是容易接受的。
结合设计原则比较上叙三种方案后,决定选用第三种方案作为本次设计方案。
1.2单元电路比较
1.2.1显示电路
显示电路在此处主要指秒倒计时显示电路。
根据显示器件的选用,有两种方式:
LED数码管和LCD液晶显示。
LED数码管显示又可以分为动态显示和静态显示。
LED显示亮度高,不需要额外的驱动电路,实现方便简单。
对于LED的动态显示和静态显示方式,两者显示原理一致,只是实现亮灭状态采用不同的方法。
动态显示所占用的I/O口比静态显示少,需要结合模拟器件实现对各个LED的选通,从而硬件电路较静态显示复杂,动态显示程序也较静态显示复杂。
LCD显示需要额外的驱动电路,显示程序复杂。
显示亮度虽高,但在此处交通灯倒计时还是不方便的。
综合考虑后,设计中采用LED静态显示方式。
1.2.2键盘
键盘在此设计中主要实现对不同路段或不同时间段的通行时间设定。
采用独立键盘,该键盘电路结构简单、使用方便,软件实现简单,但是随着键数的增多,占用的I/O口的数目也随之增多。
采用矩阵式键盘。
在相同键数下,占用的I/O口的数目较独立键盘少,该键盘需要不断的扫描,占用大量CPU时间,将影响单片机实时处理特性。
采用中断与查询相结合的键盘,如图1.2.1所示。
该键盘较方案一、二优越。
该类键盘最大的特点是:
该键盘的特点在于占用CPU少,即没有按扭按下时,主程序循环运行。
当某按扭按下后使原本输出高电平的74LS21或74LS11翻转而输出低电平,致使单片机的P3.3电平翻转而产生中断或是通过一个74LS04接至8259A产生中断,程序进入预先编制的中断子程序,以查询的方式判断键值,最终确定键值而完成一次按键输入。
本设计采用第三种方案,由于设计的键比较的少,所以这里采用图1.2.1中的第一种方式。
二、系统框图
本交通信号灯设计主要完成对东西南北四方向的车辆通行进行指挥。
设计的系统框图如图2.1.1所示。
由系统框图2.1.1可知,8284A为8086和8253A提供时钟源,8253A通过8259A产生一个秒中断,供系统倒计时需要。
8259A则将外部的中断与系统设定的中断对号入座。
8255A主要作为输出输入端口,在8086的控制下实现秒倒计时和红、绿、黄灯的亮灭。
根据现实情况,加设一键盘作为各不同路段和时间段的通行时间设定。
整个系统在8086的控制下完成交通信号灯控制,从而完成对车辆通行控制。
由于不会影响系统软件的编制,本交通信号灯控制设计只选取东西方向、南北方向各一条通道进行设计,只要在硬件上稍做添加就可以实现对四道的交通信号灯控制。
系统初态为4道红灯全亮,运行时红灯亮35s,绿灯亮30s,黄灯亮5s,各灯的亮灭时间段可以用图2.1.2表示。
三、系统主要单元电路设计
以8086CPU为核心构造的交通信号灯控制系统主要由4个单元电路组成。
它们分别是以8284A、8253A、8259A、8255A构造的时钟发生电路、定时电路、中断系统电路、LED显示和键盘电路。
下面分别从各电路的主要芯片来介绍这四种单元电路。
3.1时钟发生电路
时钟发生为整个系统提供稳定有序的脉冲,它是系统正常工作的前提。
时钟发生电路在本设计中主要是为8086CPU和8253A提供时序脉冲。
以8284A构造的时钟发生电路与8086CPU的连接关系如图3.1.1所示。
一个低电平有效信号,它的作用是产生RESET信号。
在系统正常运行时,它必须为高电平(图3.1.1中
接电源),否则系统一直处于复位状态。
8284A所接外部时钟源有两种方式:
一种是将
置高电平,通过EFI引脚输入外部脉冲信号;
另一种是将
接低电平,通过X1和X2与晶振相连。
虽说两种时钟输入方式有所不同,但有一个共同点——两种方式下的输入频率必须是CPU的3倍。
图3.1.1中外部时钟是由晶振产生的,所以
必须接低电平(图3.1.1中
接地)。
本系统设定CPU的时钟频率为5MHz,所以外接晶振频率为15MHz,通过8284A的CLK引脚将频率为5MHz,占空比为33%的时钟输入到CPU。
本设计中只用到一片CPU和一片8284A,所以CSYNC(时钟同步信号:
高电平有效,作用是对连接在一起的多个8284A芯片进行同步处理)接低电平,RDY1和
(分别是高电平和低电平有效信号,它们合起来的作用是向微处理器提供准备就绪信号,从而在CPU的读写时钟周期中插入一个WAIT信号)分别接高电平、低电平,RDY2和
(作用与RDY1和
完全相同,只不过用于多处理器中,在本系统中只用到一片8086,所以必须永久禁用这种功能)分别接低电平和高电平。
ASYNC被称为“就绪同步信号”,它是一个低电平有效信号,用于那些无法满足RDY的严格时序要求的设备。
RESET是一个高电平信号,作用是为8086和其他外围设备提供复位信号,它由
激活。
REDAY引脚连接到CPU的REDAY引脚,当外围设备速度跟不上时,REDAY信号可以告诉8086应插入等待状态。
PCLK引脚输出的频率为CLK的1/2,即晶振频率的1/6,占空比为50%,在本设计中它与8253A的CLK1相连,为8253A提供有效时序。
3.2定时电路
定时电路在本设计中主要提供一秒的定时。
外部频率通过CLK1引脚输入到8253A中,在预先设定的程序指导下,通过OUT0向8259A产生一秒定时中断。
8253A与8259A的连接关系如图3.2.1所示
8253的基本功能:
3个独立的6位计数器,最大计数范围为0~65535;
每个计数器均可以按二进制或二-十进制计数;
计数速率可达2MHz;
可编程六种不同的工作方式;
所有输入输出都与TTL兼容。
所以8253具有较好的通用性和使用灵活性,几乎适合于任何一种微处理器组成的系统。
与CPU的接口信号:
(1)D0~D7——三态双向数据线。
与CPU数据总线相连,用于传递CPU与8253之间的数据信息、控制信息和状态信息。
(2)
——片选信号,低电平有效。
表示8253被选中,允许CPU对其进行读/写操作,本设计中与74LS138的输出引脚相连。
(3)
——写信号,输入,低电平有效。
用于控制CPU对8253写操作,可与A1、A0信号配合以决定是写入控制字还是计数初值。
(4)
——读信号,输入,低电平有效。
用于控制CPU对8253读操作,可与A1、A0信号配合读取某个计数器的当前计数值。
(5)A0、A1——地址输入线。
用于8253内部寻址的4个端口,即3个计数器和一个控制字寄存器。
一般与CPU的低位的地址线相连。
本设计中与8086的A1、A2相连。
本设计中8253A各计数器的工作方式:
设计中8253A只用到了其中两个计数器:
计数器0和计数器1。
两个计数器均工作在方式2——速率发生器、分频器。
方式2的功能如同一个N分频计数器,输出的是输入时钟按照计数值N分频后的一个连续脉冲。
(1)计数过程
写入控制字后的时钟上升沿,输出端OUT变成高电平。
若GATA=1,写入计数初值后的第一个时钟下降沿开始减1计数。
减到1时,输出端变成低电平,减到0时,输出OUT又变成高电平,从初值开始新的计数过程,即方式2能自动重装初值,输出固定频率的脉冲。
因此若装入计数初值为N,则OUT引脚上每隔N个时钟脉冲就输出一个负脉冲,其频率为输入时钟脉冲频率的1/N,故方式2也称分频器。
在本次设计的硬件电路中,在8255A的OUT0和8259A的IR1间加上一个非门,当一秒计数尚未完成时,OUT0输出高电平,通过非门后转变为低电平;
当计数完成后,OUT0输出低电平,通过非门后转变为高电平,从而产生中断。
(2)GATE信号的影响
方式2中,GATE信号为低电平终止计数,而由低电平恢复为高电平后的第一个时钟下降沿重新从初值开始计数。
由此可见,GATE一直处于高电平时,计数器方能作为一个N分频器。
(3)新的计数初值对计数过程的影响
如果在计数过程中写入新的初值,且GATE信号一直维持高电平,则新的计数初值不会立即影响当前的计数过程,但在计数结束后的下一个计数周期将按新的初值计数,即新的处置下次有效。
根据硬件电路图,本设计中8253A的端口地址(即3个计数器和一个控制字寄存器)具体见附录中表1。
根据设计要求和电路8253A的各个控制字如附录中表2所示。
3.3中断系统电路
由8259A构造的中断系统电路如图3.3.1所示。
外部中断系统犹如一座桥梁将外部中断源与CPU内部程序对应的中断向量一一对应起来,使系统有序运行。
本设计中有两个中断源:
一个是由8253A的OUT0产生;
另一个是由键盘产生。
当没有中断产生时系统循环运行主程序;
当外部有中断产生时,转入到中断子程序运行,从而使整个系统有条不紊运行。
8259A的功能:
具有8级优先权,并可通过级联扩展至64级;
可通过编程屏蔽或开放接于其上的任一中断源;
在中断响应周期能自动向CPU提供可编程的标识码,如8086的中断类型号;
可编程选择各种不同的工作方式。
8259A部分引脚介绍:
(1)D7~D0:
双向三态数据线,与CPU数据总线直接相连或与外部数据缓冲器相连。
本设计中由于只有3块芯片有数据线,所以没有加数据缓冲器。
:
片选信号,低电平有效,通常与CPU的高位地址线或地址译码器的输出相连。
本设计中
与地址译码器74LS138的输出相连。
(3)INT:
中断请求信号输出端。
用于向CPU发出中断请求信号。
中断响应输入信号。
用于接收CPU的中断响应信号。
(5)A0:
地址线,通常与CPU的低位地址总线相连,如8086的A1,A0=0是偶地址,A0=1是奇地址。
本系统中8259A的A0与CPU的A1相连。
(6)IR7~IR0:
与外部中断请求信号相连,通常IR0的优先权最高,IR7的优先权最低,按序排列。
(7)CAS0~CAS2:
级联信号线,主片位输出,从片为输入,与
配合,实现级联。
(8)
主从/允许缓冲线。
在缓冲工作方式下,用作输出信号,以控制总线缓冲器的接收和发送(
)。
在非缓冲工作方式下,用作输入信号,表示该8259A是主片(
)或从片(
由于本设计中只用到一片8259A,所以该引脚直接接低电平。
本设计中8259A的工作方式:
1、中断触发方式
本设计中的中断触发方式为电平触发方式。
电平触发方式是指中断请求输入端IRi出现高电平时,即为有效的中断请求信号这样一种中断触发方式。
使用该方式时应注意,在CPU响应中断后(ISR相应位置位后),必须撤销IRi上的高电平,否则会发生第二次中断请求。
该方式由初始化命令字ICW1的D3位置1来设置。
2、中断屏蔽方式
这里采用普通屏蔽方式。
按IMR给出的结果,屏蔽或开放该级中断,同时允许高级的中断源中断低级的中断服务程序,不允许同级的中断源或低级的中断源中断目前正在执行的中断服务程序,这样一种工作方式就是普通屏蔽方式。
普通屏蔽方式通过写入屏蔽字OCW1来设置,OCW1的内容存放在IMR中,对应位置1,屏蔽该中断,对应位为0,开放该中断。
3、优先级设置方式
本设计优先级设置为普通全嵌套方式。
该方式生活8259A最常用的方式,简称为全嵌套方式。
8259A初始化后未设置其它优先级方式,就按该方式工作,所以普通全嵌套方式是8259A的缺省工作方式。
普通全嵌套工作方式下,IR7~IR0优先级由低到高按序排列,且只允许高级的中断源中断低级的中断服务程序。
在该方式下,先要使AEOI=0,使中断结束处于正常方式。
否则,低级的中断源也有可能打断高级的中断服务程序,使中断优先级次序发生错乱,不能实现全嵌套。
4、中断结束方式
当中断服务结束时,必须给8259A的ISR相应位清0,表示该中断源的中断服务已经结束,使ISR相应位清0的操作称为中断结束处理。
本设计中采用一般的中断结束方式。
该方式通过中断服务程序中设置EOI命令,使ISR中的级别最高的那一位清0,只适用于全嵌套方式。
因为该方式中ISR中的级别最高的那一位就是当前正在处理的中断源的对应位。
该方式通过初始化命令字ICW4的D1位清0,同时将OCW2的D7D6D5设置为001来实现。
根据硬件电路图,本设计中8259A的端口地址(奇地址和偶地址)具体见附录中表1。
根据设计要求和电路8259A的各个控制字如附录中表2所示。
3.4键盘和显示电路
作为人机接口的键盘电路和倒计时显示、信号灯指示电路如图3.4.1所示。
键盘在本次设计中主要作用是设置不同路段和时间断的通行时间,LED显示则主要是显示通行剩余时间,所有的接口均连接在8255A上。
8255A是INTEL86系列微处理器的配套并行接口芯片,它可为86系列CPU与外部设备之间提供并行输入/输出通道。
由于它是可编程的,可以通过软件来设置芯片的工作方式,因此,用8255A连接外部设备时,通常不用再附加外部电路,使用较为方便。
8255A的部分引脚介绍:
(1)
表示8255被选中,允许CPU对其进行读/写操作,本设计中与74LS138的输出引脚相连。
用于控制CPU对8255写操作,可与A1、A0信号配合以决定是写入控制字还是计数初值。
用于控制CPU对8255读操作,可与A1、A0信号配合读取某个计数器的当前计数值。
(4)A0、A1——地址输入线。
用于8255内部寻址的4个端口,即3个输入输出口和一个控制字寄存器。
根据设计原则,只要能够满足设计的要求,追求最简单化。
8255A的3个口在这次设计中均工作于方式0。
其中A、B口作为输出口,C口作为输入口。
工作方式0时8255A的基本输入/输出方式。
它只完成简单的并行输入输出操作,CPU可以从指定端口输入信息,也可以向指定端口输出信息。
如果3个端口均处于工作方式0,则可以由工作方式控制字定义16种工作方式的组合。
图3.4.1中两个LED显示通行剩余时间,通过7448直接将二进制码转换为BCD码输出。
B口接两组不同的信号灯,C口接5个按键。
其中2个按键是修改黄红两种信号灯的亮状态时间(因为黄绿灯持续亮总时间即红灯持续亮的时间,修改黄红灯时间时,绿灯时间也在改变,因而没有设置修改绿灯时间的按键合程序),同时在输入端并接上了74LS11,当它们中有一个按键按下后,74LS11输出翻转为0,再经过74LS04翻转为1。
另外两个按键的功能是向上加、向下减时间。
根据硬件电路图和程序设计,交通信号灯的指示逻辑如附录中表3所示,8255A的各端口地址(A、B、C口地址,控制字地址)如附录中表1所示。
四、软件设计
交通信号灯的程序设计,主要子程序以流程图的形式表示出来,具体程序见附录。
4.1主程序流程图
在编写交通信号灯控制的主程序前先做好的工作有三个:
第一是确定各个芯片的端口地址;
第二个是对各个芯片的工作方式的确定,即对各个芯片的状态字或控制字的确定;
第三是完成一些细致工作,如联系硬件电路图对中断向量和其他一些逻辑量确定。
由于前期工作的准备较充分,所以主程序编写起来思路较清晰。
主程序的任务有三个:
第一是完成对各个芯片的工作方式和状态字的确定,即各个芯片的初始化;
第二是完成对中断向量的定义;
第三个就是等待中断的出现,中断出现后,将需要处理的数据或者要实现的功能转交给中断子程序完成。
需要说明的是,本次设计的键盘中断优先级高于1s定时中段。
主程序的流程图如图4.1.1所示。
4.2LED时间显示和红绿灯控制
LED时间显示和红绿灯控制子程序的流程图如图4.2.1所示。
4.3键盘
键盘在本系统中是设置不同路段和时间段的通行时间的人机接口,键盘子程序的流程图如图4.3.1所示。
五、系统调试与仿真
5.1软件调试
(1)调试环境
本次软件调试软件为MASMFORWINDOWS集成实验环境共享版。
(2)调试步骤
1、导入源程序到MASMFORWINDOWS集成实验环境,截图如图5.1.1所示。
2、编译源程序
在程序运行前,源程序必须先通过编译,生成OBJ文件,同时可以观察源程序是否有语法错误。
源程序编译的截图如图5.1.2所示。
3、生成EXE文件
程序正式运行前,源程序必须通过编译生成OBJ文件,再生成EXE文件。
源程序生成EXE文件的截图如图5.1.3所示。
(3)调试时间
2007-1-419:
30
六、设计结论
本次设计的交通信号灯控制基本上可以实现课题所要求的功能。
在设计之初,考虑到现实中的一些实际情况,于是在本设计中附加了一个键盘模块。
键盘模块主要是根据不同的路段和时间段实现对车辆通行时间的设定,以改善车辆通行状况。
由于自身知识水平以及现实条件的限制,不能很好的对系统的可行性进行验证分析。
七、实习体会
为期两周的微机原理及应用实习已经告一段落,回首两周所作的工作,感受颇多。
总结起来有4点:
1、本次设计得出一点小体会。
本次设计的工作顺序是:
大致确定各个芯片的工作方式、画硬件电路图、以表格形式编写各个芯片的地址和控制字、确定主程序流程图、确定子程序流程图、编写各子程序、编写主程序。
发现这种工作顺序的一个有点就是前后联系紧密,且不容易漏掉事项,最重要的是似乎自身站在一个最高点,总揽全局,这对自身来说是很重要的,因为设计思路一直保持清晰,不会走弯路或少走弯路。
2、凡事需量力而行。
量力而行首先体现在选课题时,选课题要根据自身知识水平来进行。
虽说只是一次课程设计,但也有其实现难度。
运用自身最熟悉的知识完成一次设计,未必不是件有意义的事。
因为既提高自身对已学知识的进一步掌握,又可以增加对学习该门课程的信心。
量力而行还体现在课题功能的扩充问题上。
课题要求的基本功能是根本,放弃根本而去追求上层的枝干可能让自己碰壁受挫。
当反过头去实现基本功能时,都会觉得有难度。
可谓为捡芝麻丢了西瓜,但结果是什么也没有捡到。
3、在作设计前,信心十足,希望把这次设计作的尽量完美一些。
但在实现起来感觉到困难重重,很多内容不是自己怎么想的就可以怎么实现。
这需要耐心和恒心不断的摸索和论证,如一种工作方式的确定,它涉及到多方面的内容,需学会怎么协调,怎么取舍。
4、这点也是最重要的,在做一件事之前如果觉得自己做不好,那肯定做不好,因为在战争还未开始就已经认输了,做事时肯定没什么信心。
总之,这次实习有辛酸也有收获。
芯片
及其对应端口
8086地址口
A15~8
A7
A6
A5
A4
A3
A2
A1
A0
十六进制地址
8255A
A口
1
FFD0H
B口
FFD2H
C口
FFD4H
控制字
FFD6H
8259A
偶地址
FFC4H
奇地址
FFC6H
8253A
计数器0
FFC8H
计数器1
FFCAH
计数器2
FFCCH
FFCEH
附录
芯片及对应控制字
D7
D6
D5
D4
D3
D2
D1
D0
十六进制
ICW1
1BH
ICW2
80H
ICW4
05H
OCW1
FCH
OCW2
27H
控制字0
35H
控制字1
75H
工作方式
89H
置位复位
9FH
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 14606612 课程设计 论文 基于 8086 微处理器 交通 信号灯 控制 设计