8086 交通灯系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机原理课程设计

学号:***********

姓名:***

一、课题提出

简易交通信号灯控制系统,因为以前用51单片机做过的,刚好现在要做这个微机课程,就拿那个练习下,我觉得这样可以从中发现51和8086的区别以及对比下各自的优缺点。

二、构思框架

交通信号灯的控制:

1、通过8255A并口来控制LED发光二极管的亮灭。

2、A口控制红灯,B口控制黄灯,C口控制绿灯。

3、输出为0则亮,输出为1则灭。

4、用8253定时来控制变换时间。

首先把实际模型化:设有一个十字路口,1、3为南,北方向,2、4为东西方向,初始态为4个路口的红灯全亮。之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。延迟30秒后,1、3路口的绿灯熄灭,而1,3路口的黄灯开始闪烁(假设1HZ吧)。闪烁5次后,1、3路口的红灯亮,同时2、4路口的绿灯亮,2、4路口方向开始通车。延迟30秒时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁。闪烁5次后,再切换到1、3路口方向。之后,重复上述过程

针对模型的解决方案:设8253各口地址分别为:设8253基地址即通道0地址为04A0H;通道1为04A2H;通道2为04A4H;命令控制口为04A6H。黄灯闪烁的频率为1HZ,所以想到由8253产生一个1HZ的方波, 8255控制或门打开的时间,在或门打开的时间内,8253将方波信号输入或门使黄灯闪烁。

由于计数值最大为65535,1MHZ/65536的值远大于2HZ,所以采用两个计数器级联的方式,8253通道0的clock0输入由分频器产生的1MHZ时钟脉冲,工作在方式3即方波发生器方式,理论设计输出周期为0.01s的方波。1MHZ的时钟脉冲其

重复周期为T=1/1MHZ=1 s,因此通道0的计数初值为10000=2710H。由此方波

分别作为clock1和clock2的输入时钟脉冲,所以通道1和通道2的输入时钟频率为100HZ,通道1作计数器工作在方式1,计数初值3000=BB8H既30s,计数到则输出一个高电平到8255的PA

口,8255将A口数据输入到8086,8086检测

7

到高电平既完成30s定时。通道2工作在方式3需输出一个1HZ的方波,通过一个或门和8086共同控制黄灯的闪烁,因此也是工作在方波发生器方式,其计数初值为100=64H,将黄灯的状态反馈到8055的端口PB7和PC7,同样输入到8086,8086通过两次检测端口状态可知黄灯的状态变化,计9次状态变化可完成5次闪烁。

三个通道的门控信号都未用,均接+5V即可

三、主要器件

定时器8253:8253的三个门控端接+5V,CLOCK0接由分频器产生的1MHZ的

8086通过检测时钟脉冲,OUT0接到CLOCK1和CLOCK2,OUT1接到8086的AD

18,

此端口是否有高电平来判断是否30S定时到。OUT2产生1MHZ方波通过或门和8255的B口共同控制黄灯的闪烁

并行接口8255A:红灯(RLED),黄灯(YLEDD)和绿灯(GLED)分别接在8255

的A ,B ,C 口的低四位端口,PA0,PA1,PA2,PA3分别接1,2,3,4路口的红灯,B ,C 口类推。8255三个口全部工作在方式0既基本输入输出方式,红绿灯的转换由软件编程实现。

CPU8086:8086工作在最小模式,低八位端口AD 0~AD 7接到8255和8253的D 0~D 7,AD 8~AD 15通过地址锁存器8282,接到三八译码器,译码后分别连到8255和8253的CS 片选端

1片8284A ,作为时钟发生器;2片8282,作为地址锁存器;2片74LS138,作为地址选通译码器;1个二输入或非门;1个4输入或非门;1个二输入与非门;4个或门12个发光二极管;12个限流电阻;1个复位信号开关。

四、硬件原理及电路图

由于8255A 与8086CPU 是以低八位数据线相连接的,所以应该是8255A 的

1A 0A 线分别与8086CPU 的2A 、1A 线相连,而将8086的0A 线作为选通信号。如

果是按8255A 内部地址来看,则在图中它的地址是PA 口地址即(CS+000H),PB 口地址为(CS+001H),PC 口地址为(CS+002H),命令控制口地址为(CS+003H),其中,CS 为8255片选信号CS 的首地址;若是按8086CPU 地址来看,则8255A 的地址是PA 口地址即(CS+000H),PB 口地址为(CS+002H),PC 口地址为(CS+004H),命令控制口地址为(CS+006H)。当CS =0288H ,则PA 口地址为0288H ,PB 口地址为028AH ,PC 口地址为028CH ,命令控制口地址为028EH 。

下面,分析8086各个引脚的连接方法。

(1)BHE 引脚:通常用此引线产生片选信号,当为BHE =1,0A =0编码时,在数据总线低8位和偶地址之间进行字节传送(0AD ~7AD )。

(2)CLK (Clock )时钟信号(输入):CLK 为CPU 和总线控制器提供基本的定时脉冲。时钟周期是非对称的,当它为有效高电平的时间和时钟周期的比为33%时,提供最佳的内部定时。由8284时钟发生器产生,8086CPU 使用的时钟频率,因芯片型号不同,时钟频率不同。这里采用5MHz 。

(3)CC V (+5V),GND(地):CPU 所需电源CC V =+5V 。GND 为地线。 (4)QS0ALE (Address Latch Enable )地址锁存允许信号,输出高电平有效,作地址锁存器8282/8283的片选信号,在1T 地址周期状态,ALE 有效,表示AB 、DB 上传送的是地址信息,将它锁存。这是由于AB 、DB 分时复用所需要的,ALE 信号线不能悬空。如图所示,加入2片地址锁存器8282。

(5)RESET:复位信号,输入,高电平有效。8086接到复位信号后,停止现行操作,并初始化段寄存器DS,SS,ES ,标志寄存器PSW ,指令指针IP 和指令队列,而使CS=FFFFH 。RESET 信号至少保持四个周期以上的高电平,当它变为低电平时(一个下降沿),CPU 执行重启过程,8086将从地址FFF0H 开始执行指令。通常FFFF0H 单元开始的几个单元中存放一条JMP 指令,将入口转到引导和装配程序中,从而实现对系统的初始化,引导监控程序或操作系统程序。由于出现突然

相关文档
最新文档