交通信号灯的控制

2018-12-22 21:54

交通信号灯的控制

一、设计要求:

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

二、设计原理:

由于对8253芯片不是很熟悉,所以设计用8255A芯片实现设计要求。需用到8253控制定时的部分,采用软件定时(通过汇编指令)的方法来实现。灯的闪烁是用8255的A口和B口控制的,工作在方式0,A口和B口均为输出。A口表示西、北方向,B口表示东、南方向,绿灯和红灯共同表示黄灯。

三、电路接线图如下:

四、流程示意图:

N 南北方向绿灯亮 东西方向红灯亮 ? ? 南北绿灯灭、黄灯闪烁 东西绿灯亮 N 南北黄灯闪烁5次

Y

南北红灯亮

东西绿灯亮

延迟30秒 延迟30秒 东西绿灯灭 、黄灯闪烁 ? 南北绿灯亮

8255工作方式控制字和C口按位置位/复位控制字格式

8255A有三种工作方式:基本输入/输出方式、单向选通输入/输出方式和双向选通输入/输出方式:

方式0:基本输入/输出方式。方式0是8255A的基本输入/输出方式,其特点是与外设传送数据时,不需要设置专用的联络(应答)信号,可以无条件的直接进行I/O传送。

方式1:单向选通输入/输出方式。方式1是一种带选通信号的单方向输入/输出工作方式,其特点是:与外设传送数据时,需要联络信号进行协调,允许用查询或中断方式传送数据。

方式2:双向选通输入/输出方式。方式2为双向选通输入/输出方式,是方式1输入和输出的组合,即同一端口的信号线既可以输入又可以输出。

8255A的A,B,C三个端口的工作方式是在初始化编程时,通过向8255A的控制端口写入控制字来设定的。8255A由编程写入的控制字有两个:方式控制字和置位/复位控制字。方式控制字用于设置端口A, B, C的工作方式和数据传送方向;置位/复位控制字用于设置C口的PC7~PC0中某一条口线PCi(i=0~7)的电平。两个控制字公用一个端口地址,由控制字的最高位作为区分这两个控制字的标志位。

五、程序代码:

DATA SEGMENT

PORTA EQU 380H;8255的A、B、C口地址 PORTB EQU 381H PORTC EQU 382H

PORTD EQU 383H ;8255的控制寄存器 DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX

MOV DX,PORTD ;设定8255工作方式 MOV AL,80H ;选择工作方式0,A口和B口为输出 OUT DX,AL

LOOP1: MOV DX,PORTA ;写A口发出的数据,北方向绿灯亮,西方向红灯亮 MOV AL,3CH OUT DX,AL

MOV DX,PORTB ;写B口发出的数据,南方向绿灯亮,东方向红灯亮 MOV AL,3CH


交通信号灯的控制.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:c#程序设计之画图小程序

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: