当前位置:文档之家› 8255,8253交通灯模拟实验(1)

8255,8253交通灯模拟实验(1)

8255,8253交通灯模拟实验(1)
8255,8253交通灯模拟实验(1)

微机原理课程设计

一.设计任务及要求:

交通信号灯的控制:

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路口方向。之后,重复上述过程。

二.方案比较及评估论证:

分析题意,红,黄,绿灯可分别接在8255的A口,B口和C口上,灯的亮灭可直接由8086输出0,1控制。30秒延时及闪烁由8253控制,由闪烁的实现方法可分为两种方案:

方案一:

设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将A口数据输入到8086,8086检测到则输出一个高电平到8255的PA

7

到高电平既完成30s定时。通道2工作在方式3需输出一个1HZ的方波,通过一个或门和8086共同控制黄灯的闪烁,因此也是工作在方波发生器方式,其计数

初值为100=64H,将黄灯的状态反馈到8055的端口PB7和PC7,同样输入到8086,8086通过两次检测端口状态可知黄灯的状态变化,计9次状态变化可完成5次闪烁。

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

方案二:

考虑到题目要求黄灯闪烁的频率为1HZ,既每秒1次,那么前0.5秒黄灯亮,后0.5秒黄灯灭,所以最小的定时单位为0.5秒,频率为2HZ,30秒即为60个0.5秒。

显然如方案一一样一个计数器无法完成,所以采用两个计数器级联的方式,将计数器0的输出OUT0接到计数器1的输入端CLK1,CLK0=1MHZ,计数值为50000=C350H,OUT0=20HZ,CLK1=20HZ,记数值=10,OUT1=2HZ。并且计数器0工作于方式3用于产生方波信号,计数器1工作方式2,产生负脉冲信号,计数器1的输出端OUT1接入8255芯片的PC5口,用于读取负脉冲个数,以完成计时功能。8086及8255设置同方案一,8086则每隔0.5秒变换一次黄灯的状态,持续五次,完成闪烁的功能。

经比较,方案二8086在黄灯闪烁时需频繁发送数据到8255,加重了系统的负担,因此我决定采用方案一。

三.系统原理

工作原理说明:

此方案是通过并行接口芯片8255A和8086计算机的硬件连接,以及通过8253延时的方法,来实现十字路口交通灯的模拟控制。

如硬件连接图所示,红灯(RLED),黄灯(YLEDD)和绿灯(GLED)分别接在8255的A,B,C口的低四位端口,PA0,PA1,PA2,PA3分别接1,2,3,4路口

的红灯,B,C口类推。8086工作在最小模式,低八位端口AD

0~AD

7

接到8255和

8253的D

0~D

7

,AD

8

~AD

15

通过地址锁存器8282,接到三八译码器,译码后分别连

到8255和8253的CS片选端。8253的三个门控端接+5V,CLOCK0接由分频器产生的1MHZ的时钟脉冲,OUT0接到CLOCK1和CLOCK2,OUT1接到8086的AD

18,

8086通过检测此端口是否有高电平来判断是否30S定时到。OUT2产生1MHZ方波通过或门和8255的B口共同控制黄灯的闪烁。8255三个口全部工作在方式0既基本输入输出方式,红绿灯的转换由软件编程实现。

四.硬件原理及电路图

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

A 线分别与8086CPU 的2A 、1A 线相连,而将8086的

A 线作为选通信号。如果

是按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 指令,将入口转到引导和装配程序中,从而实现对系统的初始化,引导监控程序或操作系统程序。由于出现突然断电或其它情况时,8086可能正在执行交通灯程序,现有的地址丢失,应按下RESET 键重新开始。另外,应将8255A 与8086的RESET 线相连,保持同步。

(6)MN/MX (Minimun/Maximun): 最小、最大工作模式选择信号,输入。此时MN/MX 接+5V ,构成单处理器系统,系统控制信号由CPU 提供。 接下来,对8282芯片作一下说明:

7DI ~0DI :8位数据输入;7DO ~0DO :8位数据输出;STB:选通信号;

OE :输出允许信号,在不带DMA 控制器的8086单处理器系统中,它接地。

其实,这就是8个D 触发器。由于只用15AD ~0AD ,所以用两片即可。 最后,对时钟发生器8284芯片按两部分进行说明:

(1)

C F /=0钟信号;

CLK :3分频OSC 1/3,大约满足8086CPU 的输入频率5MHz (2)复位生成电路:

由RES RESET ,送到CPU 的RESET 端接“电源好“信号,使系统上电后自动复位。

此为最小模式系统,除了8086CPU ,I/O 接口芯片8255A ,定时计数芯片8353外,其它配置如下:

1片8284A ,作为时钟发生器;

2片8282,作为地址锁存器; 2片74LS138,作为地址选通译码器;

1个二输入或非门;1个4输入或非门;1个二输入与非门;4个或门 12个发光二极管;12个限流电阻;1个复位信号开关。

五.软件思想 1.流程图

.

2.源程序:

DATA SEGMENT; 设置数据段,以及端口地址分配

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 ENDS

CODE SEGMENT

ASSUME DS:DATA,CS:CODE

INIT: 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,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,AL

MOV DX,PORTC

MOV AL,0FH

OUT DX,AL;灯初始化完成

STA: MOV DX,PORTA

MOV AL,0A0H

OUT DX,AL

MOV DX,PORTB

MOV AL,0F0H

OUT DX,AL

MOV DX,PORTC

MOV AL,50H

OUT DX,AL;1,3绿灯亮,2,4红灯亮

MOV DX,PORT1

MOV AX,0BB8H

OUT DX,AL

MOV AL,AH

OUT DX,AL;8253通道1赋值开始计时

SCAN1: MOV AL,0

MOV DX,PTCON8255

MOV AL,90H

OUT DX,AL

MOV DX,PORTA

IN AL,DX

AND AL,0FH

CMP AL,1

JNZ SCAN1;扫描PA7口

FLA1: MOV DX, PTCON8255

MOV AL,80H

OUT DX,AL

MOV DX,PORTC

MOV AL,0F0H

OUT DX,AL

MOV DX,PORTB

MOV AL,50H

OUT DX,AL

MOV CX,0

TEST1: MOV DX,PTCON8255;检测PB7

MOV AL,82H

OUT DX,AL

MOV DX,PORTB

IN AL,DX

AND AL,0FH

MOV DX,PTCON8255

MOV AL,82H

OUT DX,AL

MOV DX,PORTB

IN AL,DX

AND AL,0FH

XOR AL,AH

ADD CL,AL

CMP CL,9

JNZ TEST1;闪烁5次

MOV DX, PTCON8255

MOV AL,80H

OUT DX,AL

MOV DX,PORTA

MOV AL,50H

OUT DX,AL

MOV DX,PORTB

MOV AL,0F0H

OUT DX,AL

MOV DX,PORTC

MOV AL,0A0H;1,3红灯亮,2,4绿灯亮

MOV DX,PORT1

MOV AX,0BB8H

OUT DX,AL

MOV AL,AH

OUT DX,AL;8253通道1赋值开始计时SCAN2: MOV AL,0

MOV DX,PTCON8255

MOV AL,90H

OUT DX,AL

MOV DX,PORTA

IN AL,DX

AND AL,0FH

CMP AL,1

JNZ SCAN2

FLA2: MOV DX, PTCON8255

MOV AL,80H

OUT DX,AL

MOV DX,PORTC

MOV AL,0F0H

OUT DX,AL

MOV DX,PORTB

OUT DX,AL

TEST2: MOV DX,PTCON8255

MOV AL,88H

OUT DX,AL

MOV DX,PORTC

IN AL,DX

AND AL,0FH

MOV AH,AL

MOV DX,PTCON8255

MOV AL,88H

OUT DX,AL

MOV DX,PORTC

IN AL,DX

AND AL,0FH

XOR AL,AH

ADD CL,AL

CMP CL,9

JNZ TEST2;闪烁5次

CODE ENDS

END STA

六.调试记录及结果分析

(1) 本电路没有设置显示倒计时的七段LED数码管,如果应用到街道上,不利于司机、行人把握

(2)在上机调试中发现,由于此软件延时的时间均为估算时间,不是特别准确,对于交通要求特别高的地方不宜采用。如果是放到一个大的交通灯系统中,会影响到各个交通灯的运行时间,可能整个系统对交通的指挥调度会大大偏离理论计算,不能有效地防止和消除交通堵塞现象;

(3)当出现紧急情况,在特种车(如消防车、救护车)正要通过时,这种编程方式就不能完成;

但是,可以看到以上方案的一般性,只要将程序里的数据排列或规律稍加修改就可应用到任何一个路口的某一个方向上的交通灯上了,可移植性很强。

七.参考资料

《微型计算机原理及运用》谭浩强清华大学出版社

《微机原理及接口技术》

《微机接口技术应用》

《汇编语言程序设计》

八.芯片资料

1.8255

8255的内部结构

8255A是一个40引脚的双列直插式集成电路芯片

按功能可把8255A分为三个逻辑电路部分,即:口电路、总线接口电路和控制逻辑电路。

(1)口电路

8255A共有三个8位口,其中A口和B口是单纯的数据口,供数据I/O使用。而C口则既可以作数据口,又可以作控制口使用,用于实现A口和B口的控制功能。

数据传送中A口所需的控制信号由C口高位部分(PC7~PC4)提供,因此把A 口和C口高位部分合在一起称之为A组;同样理由把B口和C口低位部分(PC3~PC0)合在一起称之为B组。

(2)总线接口电路

总线接口电路用于实现8255A和单片微机的信号连接。其中包括:

(a)数据总线缓冲器

数据总线缓冲器为8位双向三态缓冲器,可直接和80C51的数据线相连,与I/O 操作有关的数据、控制字和状态信息都是通过该缓冲器进行传送。

(b)读/写控制逻辑

与读写有关的控制信号有

CS—片选信号(低电平有效)

RD—读信号(低电平有效)

WR—写信号(低电平有效)

A0、A1—端口选择信号。8255A共有四个可寻址的端口(即A口、B口、C口和控制寄存器),用二位地址编码即可实现选择。参见下表。

RESET—复位信号(高电平有效)。复位之后,控制寄存器清除,各端口被置

为输入方式。

读写控制逻辑用于实现8255A的硬件管理:芯片的选择,口的寻址以及规定

各端口和单片微机之间的数据传送方向。

(c)控制逻辑电路

控制逻辑电路包括A组控制和B组控制,合在一起构成8位控制寄存器。

用于存放各口的工作方式控制字

8255A工作方式及数据I/O操作

(1)8255A的工作方式

8255A共有三种工作方式,即方式0、方式1、方式2.

(a)方式0 基本输入/输出方式

方式0下,可供使用的是两个8位口(A口和B口)及两个4位口(C

口高4位部分和低4位部分)。四个口可以是输入和输出的任何组合。

方式0适用于无条件数据传送,也可以把C口的某一位作为状态位,实现查

询方式的数据传送。

(b)方式1 选通输入/输出方式

A口和B口分别用于数据的输入/输出。而C口则作为数据传送的联络信号。具体定义见表7–2。可见A口和B口的联络信号都是三个,如果A或B

只有一个口按方式1使用,则剩下的另外13位口线仍然可按方式0使用。

如果两个口都按方式1使用,则还剩下2位口线,这两位口线仍然可以进行

位状态的输入输出。

方式1适用于查询或中断方式的数据输入/输出。

(c)方式2 双向数据传送方式

只有A口才能选择这种工作方式,这时A口既能输入数据又能输出数据。

在这种方式下需使用C口的五位线作控制线,信号定义如表7–2所示。方

式2适用于查询或中断方式的双向数据传送。如果把A口置于方式2下,则B口只能工作于方式0.

(2)数据输入操作

用于输入操作的联络信号有:

STB(StroBe)—选通脉冲,输入,低电平有效。当外设送来STB信号时,输入数据装入8255A的锁存器。

IBF(Input Buffer Full) —输入缓冲器满信号,输出,高电平有效。

IBF信号有效,表明数据已装入锁存器,因此它是一个状态信号。INTR(INTerrupt Request)—中断请求信号,高电平有效,当IBF数据输入过程:当外设准备好数据输入后,发出信号,输入的数据送入缓冲器。然后IBF信号有效。如使用查询方式,则IBF即作为状态信号供查询使用;如使用中断方式,当信号由低变高时,产生INTR信号,向单片微机发出中断。单片微机在响应中断后执行中断服务程序时读入数据,并使INTR信号变低,同时也使IBF信号同时变低。以通知外设准备下一次数据输入。

(3)数据输出操作

用于数据输出操作的联络信号有:

ACK(ACKnowledge)—外设响应信号输入,低电平有效。

当外设取走输出数据,并处理完毕后向单片微机发回的响应信号为高,信号由低变高(后沿)时,中断请求信号有效。向单片微机发出中断请求。

OBF(Output Buffer Full)——输出缓冲器满信号,输出,低电平有效。

当单片微机把输出数据写入8255A锁存器后,该信号有效,并送去启动外设以接收数据。

INTR—中断请求信号,输出,高电平有效。

数据输出过程:外设接收并处理完一组数据后,发回ACK信号。该信号使OBF变高,表明输出缓冲器已空。如使用查询方式,则OBF可作为状态信号供查询使用;如使用中断方式,则当ACK信号结束时,INTR有效,向单片微机发出中断请求。在中断服务过程中,把下一个输出数据写入8255A的输出缓冲器。写入后OBF有效,表明输出数据已到,并以此信号启动外设工作,取走并处理8255A中的输出数据。

表7–2 8255A C口联络信号定义

2.8253定时计数器

8253内部可分为6个模块,每个模块的功能如下:

在初始化编程时,CPU写入方式控制字到控制字寄存器中,用以选择计数通道及其相应的工作方式。

8253的控制字:

8253的工作方式也是有控制字来决定,其控制字意义如下

4. 计数通道0、计数通道1、计数通道2

3个计数通道内部结构完全相同。每个计数通道都由一个16位计数初值寄存器、一个16位减法计数器和一个16位计数值锁存器组成

计数初值存于预置寄存器,在计数过程中,减法计数器的值不断递减,而预置寄存器中的预置不变。输出锁存器用于写入锁存命令时,锁定当前计数值。

计数器的3个引脚说明:

(1)CLK时钟输入信号

在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1 (2) GATE门控输入信号

控制计数器工作,可分成电平控制和上升沿控制两种类型

(3) OUT计数器输出信号

当一次计数过程结束(计数值减为0),OUT引脚上将产生一个输出信号

8253有6种工作方式,由方式控制字确定

区分这6种工作方式的主要标志由3点:一是输出波形不同;二是启动计数器的触发方式不同;三是计数过程中门控信号GATE对计数器操作的控制不同。1..方式0--低电平输出(GATE信号上升沿继续计数)

2.方式1--低电平输出(GATE信号上升沿重新计数)

3.方式2--周期性脉冲输出

4.方式3--周期性方波输出

OUT输出低电平,装入计数值n后,OUT立即跳变为高电平。如果当前GATE为高电平,则立即开始减“1”计数,OUT保持为高电平,若n为偶数,则当计数值减到n/2时,OUT跳变为低电平,一直保持到计数值为“0”,系统才重新置入计数值n,实现循环计数。这时OUT端输出周期为n×CLK周期,占空比为1:1的方波序列:若n为奇数,则OUT端输出周期为n×CLK周期,占空比(n+1)/2 : (n-1)/2的近似方波序列。

5.方式4--单次负脉冲输出(软件触发) 6.方式5--单次负脉冲输出(硬件触发) 每种工作方式的设置过程类似: ⑴ 设定工作方式 ⑵ 设定计数初值 〔 ⑶ 硬件启动 〕

⑷ 计数初值进入减1计数器

⑸ 每输入一个时钟计数器减1的计数过程 ⑹ 计数过程结束 3.8282

7

DI ~

DI :8位数据输入;

7

DO ~

DO :8位数据输出;STB:选通信号;

OE :输出允许信号,在不带DMA 控制器的8086单处理器系统中,它接

地。

其实,这就是8个D 触发器。由于只用15

AD ~

AD ,所以用两片即可。

4.3—8译码器74LS138

74LS138译码器引脚图,逻辑图及功能表如下

九.总结

经过这两周的课程设计, 做关于交通灯系统设计,我认真查阅资料,学习关于这方面的知识,比如说要了解8086芯片中各个引脚的功能,怎么样去使用8255这个可编程并行接口芯片,怎么样使用8253来定时及输出一定频率的脉冲,怎么样用8282这个地址锁存器来存储高位地址和低位地址以及交通有哪些规则.在理论学习的基础上,又下了一次苦工夫,算是明白了设计一个系统的过程;也让我体会到要想成功地设计某个东西,光学好专业知识是不够的,必须要系统的知识,无论在哪方面都要有个明白的概念,只有这样才不至于在设计过程中摸不着头脑,知道去哪些是需要查的资料,还有一点,我觉得我在芯片编程方面,特别是在初始化方面是我最大的困难,或许是我的汇编语言学得不够好,我只能借助参考资料,查每一条指令的作用与功能,这样一来又巩固了我的对汇编语言的了解.

如此,我体会到学习理论知识固然重要,但在你学完了之后,你不在实践中运用你所学的知识,我想学是白学了,过一段时间后,你可能什么都记不起来了,或许在学的时候心里有一个概念,认为这个知识我曾经学得不错,我现在怎么想不起来了,一心想依赖课本;如果我们用实践来学习知识,你会努力地去搜索你想要需要的东西,即使是过了一段时间后,你也会记得你曾经对这点不明白认真地查阅过,所以你不容易忘记!.

(整理)应用8255A实现交通灯控制设计

二○一一~二○一二学年第二学期信息科学与工程学院课程设计报告书 课程名称:微机原理课程设计 班级:电子信息工程2009级6 班学号:200904135150 姓名:张强 指导教师:徐守明 二○一二年二月二十日

前言 随着计算机科学技术的不断发展,微型计算机得到了广泛的应用,是人们利用计算机设计和开发各种应用系统的基础。同时微型计算机接口技术也是一门实践性较强的课程,理论与实践相结合可以更好的掌握知识,这也是这次交通灯系统控制的设计目的。交通灯是交通安全的关键,已广泛应用于城乡的十字路口,它的有无作为交通安全检查的重要依据,是交通秩序正常进行的有力保障。 十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。当前,国内大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自动切换。它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。交通灯的时间控制显示,以固定时间值预先“固化”在单片机中,每次只是以一定周期交替变化。但是,实际上不同时刻的车辆流通状况是十分复杂的,是高度非线性的、随机的,还经常受认为因素的影响。采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。它不顾当前道路上交通车辆数的实际情况变化,其最大的缺陷就在于当路况发生变化时,不能满足司机与路人的实际需要,轻者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的下降。目前,有一种使用“模糊控制”技术控制交通灯的方法。能够根据十字路口两个方向上车辆动态状况,自动判断红绿灯时间间隔,以保证最大车流量,减少道口的交通堵塞。但是却不像定时控制,能用数字显示器显示当前灯色剩余时间,以便于驾驶员随时掌握自己的驾驶动作,及时停车或启动。 本次的交通灯控制系统主要由8255A并行口、8253定时/计算器、8259单极中断控制器以及74LS139译码器实验等芯片组成。整个课程设计主要使用8255A的A口和B口模拟十字路口交通灯的闪烁情况。主要包括以下五个方面:1.课程设计题目名称;2.课程设计要求完成的任务;3.系统设计文档(包括了总体设计、详细设计以及程序设计等文档);4、课程设计总结;5.参考文献本次课程设计以固定的程序实现对交通灯实行控制,没有实现智能化,但智能化是交通控制系统是交通控制系统发展的必然趋势,也是满足日益发展的社会需要。通过本次的课程设计,更好的学习微机接口的应用技术,使我们将课堂所学到的知识和实践有机结合起来,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。 由于时间仓促和水平所限,本次课程设计难免有欠妥之处,请不吝批评指正。 摘要:本文介绍了以计算机为核心.利用可编程并行接口芯片8255A的软硬件功能,实现对交通灯控制 关键词:计算机可编程并行接日芯片交通灯 8255A

微机原理课程设计报告交通灯

WORD格式微机原理课程设计 设计题目交通灯的设计 实验课程名称微机原理 姓名王培培 学号080309069 专业09自动化班级2 指导教师张朝龙 开课学期2011至2012学年上学期

一、实验设计方案 实验名称:交通灯的设计实验时间:2011/12/23 小组合作:是□否?小组成员:无 1、实验目的: 分析实际的十字路口交通灯的亮灭过程,用实验箱上的8255实现交通灯的控制。(红,黄,绿三色灯) 2、实验设备及材料: 微机原理和接口技术实验室的实验箱和电脑设备等。 3、理论依据: 此设计是通过并行接口芯片8255A和8086计算机的硬件连接,以及通过8253延时的方法,来实现十字路口交通灯的模拟控制。 如硬件连接图所示(在后),红灯(RLED),黄灯(YLEDD)和绿灯(GLED)分别接在8255 的A,B,C口的低四位端口,PA0,PA1,PA2,PA3分别接1,2,3,4(南东北西)路口的红灯,B,C口类推。8086工作在最小模式,低八位端口AD0~AD7接到8255和8253的D0~D7,AD8~AD15通过地址锁存器8282,接到三八译码器,译码后分别连到8255和8253的CS片选端。8253的 三个门控端接+5V,CLOCK0接由分频器产生的1MHZ的时钟脉冲,OUT0接到CLOCK1和CLOCK,2 OUT1接到8086的AD18,8086通过检测此端口是否有高电平来判断是否30s定时到。OUT2产生 1MHZ方波通过或门和8255的B口共同控制黄灯的闪烁。8255三个口全部工作在方式0既基本 输入输出方式,红绿灯的转换由软件编程实现。

4、实验方法步骤及注意事项: ○1设计思路 红,黄,绿灯可分别接在8255的A口,B口和C口上,灯的亮灭可直接由8086输出0,1 控制。 设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=1s,因此 通道0的计数初值为10000=2710H。由此方波分别作为clock1和clock2的输入时钟脉冲,所以 通道1和通道2的输入时钟频率为100HZ,通道1作计数器工作在方式1,计数初值3000=BB8H 既30s,计数到则输出一个高电平到8255的PA7口,8255将A口数据输入到8086,8086检测 到高电平既完成30s定时。通道2工作在方式3需输出一个1HZ的方波,通过一个或门和8086 共同控制黄灯的闪烁,因此也是工作在方波发生器方式,其计数初值为100=64H,将黄灯的状态 反馈到8055的端口PB7和PC7,同样输入到8086,8086通过两次检测端口状态可知黄灯的状态 变化,计9次状态变化可完成5次闪烁。 三个通道的门控信号都未用,均接+5V即可。 ○ 2硬件原理及电路图 由于8255A与8086CPU是以低八位数据线相连接的,所以应该是8255A的A1、A 0 线分别与 8086CPU的A2、A线相连,而将8086的 1 A 0 线作为选通信号。如果是按8255A内部地址来看, 则在图中它的地址是PA口地址即(CS+000H),PB口地址为(CS+001H),PC口地址为(CS+002H),

实验一 8255控制交通灯实验

D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC7 10 RD 5WR 36A09A18RESET 35CS 6 8255 U36 D0D1D2D3D4D5D6D7WR RD RST A0 A1 PC5PC6PC7 PC2PC3PC4PC0PC1DS35DS36DS37DS38DS39DS40DS4112345678 VCC DS42 A0A1 CS CS1(0F000H) 510 R111510 R112 510R113510R114510R115510R116510R117510R118

.MODEL TINY COM_ADD EQU 0F003H PA_ADD EQU 0F000H PB_ADD EQU 0F001H PC_ADD EQU 0F002H .STACK 100 .DATA LED_Data DB 01111101B ;东西绿灯,南北红灯DB 11111101B ;东西绿灯闪烁,南北红灯 DB 10111101B ;东西黄灯亮,南北红灯 DB 11010111B ;东西红灯,南北绿灯 DB 11011111B ;东西红灯,南北绿灯闪烁 DB 11011011B ;东西红灯,南北黄灯亮 .CODE START: MOV AX,@DATA MOV DS,AX NOP MOV DX,COM_ADD MOV AL,80H ;PA、PB、PC为基本输出模式 OUT DX,AL MOV DX,PA_ADD ;灯全熄灭 MOV AL,0FFH OUT DX,AL LEA BX,LED_Data

实验6.1_8255并行接口与交通灯控制

8255端口地址: 控制寄存器地址28BH A口的地址288H B口的地址289H C口的地址28AH 实验程序: DATA SEGMENT BUF1 EQU 00100100B ;南北绿灯亮东西红灯亮BUF2 EQU 01000100B ;南北黄灯亮东西红灯亮BUF3 EQU 00000100B ;南北灯灭东西红灯亮BUF4 EQU 10000001B ;南北红灯亮东西绿灯亮BUF5 EQU 10000010B ;南北红灯亮东西黄灯亮BUF6 EQU 10000000B ;南北红灯亮东西灯灭DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,80H MOV DX,28BH OUT AX,AL ALL: MOV AL,BUF1 MOV DX,28AH OUT DX,AL CALL DELAYL MOV CX,5 YEL1: MOV AL,BUF2 MOV DX,28AH OUT DX,AL CALL DELAYS MOV AL,BUF3 MOV DX,28AH OUT DX,AL CALL DELAYS LOOP YEL1 MOV AL,BUF4 MOV DX,28AH OUT DX,AL CALL DELAYL MOV CX,4 YEL21: MOV AL,BUF5 MOV DX,28AH

OUT DX,AL CALL DELAYS MOV AL,BUF6 MOV DX,28AH OUT DX,AL CALL DELAYS LOOP YEL2 JMP ALL MOV AH,4CH INT 21H DELAYL PROC NEAR ;长延时 PUSH CX PUSH DI Y1:MOV CX,2000H X1:MOV DI,2000H DEC DI JNE X1 LOOP Y1 POP DI POP CX RET DELAYL ENDP DELAYS PROC NEAR ;短延时 PUSH CX PUSH DI Y2:MOV CX,500H X2:MOV DI,1000H DEC DI JNE X2 LOOP Y2 POP DI POP CX RET DELAYS ENDP CODE ENDS END START 桂林电子科技大学信息与通信学院

8255,8253交通灯模拟实验

微机原理课程设计——8255,8253交通灯模拟实验 文档介绍:交通信号灯的控制: 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路口方向。之后,重复上述过程。 系统原理 工作原理说明: 此方案是通过并行接口芯片8255A和8086计算机的硬件连接,以及通过8253延时的方法,来实现十字路口交通灯的模拟控制。 如硬件连接图所示,红灯(RLED),黄灯(YLEDD)和绿灯(GLED)分别接在8255的A,B,C口的低四位端口,PA0,PA1,PA2,PA3分别接1,2,3,4路口的红灯,B,C口类推。8086工作在最小模式,低八位端口AD0~AD7接到8255和8253的D0~D7,AD8~AD15通过地址锁存器8282,接到三八译码器,译码后分别连到8255和8253的CS片选端。8253的三个门控端接+5V,CLOCK0接由分频器产生的1MHZ的时钟脉冲,OUT0接到CLOCK1和CLOCK2,OUT1接到8086的AD18,8086通过检测此端口是否有高电平来判断是否30S定时到。OUT2产生1MHZ 方波通过或门和8255的B口共同控制黄

8255交通灯控制系统(倒计时显示,紧急中断)

《单片机原理与应用》 课程设计报告 题目:简单交通灯控制系统 专业:计算机科学与技术 班级:09计算机1班 学号:09070009 姓名:陈民厅 天津理工大学中环信息学院 计算机工程系 2011年12月29 日

交通灯控制系统设计 摘要 设计一个交通灯控制系统,该控制系统工作后,交通灯按照下列规律变化:初始态东南西北均为红灯,持续时间为2s;然后转为状态1(10s),为东西红、南北绿;状态2(3s)东西红灯不变、南北绿灯灭、黄灯闪烁三次;状态3(15s),为东西绿、南北红;状态4(3s),为东西绿灯灭、黄灯闪烁三次、南北红灯不变;最后回到状态1,依此循环。如遇到特殊情况,可拨动应急开关,使各向均为红灯,特殊车辆不受红灯限制,待其顺利通过后拨动另一个开关,系统返回继续运行。同时用LED用倒计时方式显示各路口亮灯时间。 关键词:单片机,交通灯,应急开关,LED

1绪论 1.1设计背景 红绿交通灯自动控制系统在城市十字(或丁字)路口有着广泛的应用。随着社会的进步,人们生活水平的提高,私家车数量会不断增加,对城市交通带来前所为有的压力。道路建设也将随之发展,错综复杂的道路将不段增多。为维持稳定的交通秩序,红绿灯自动控制系统将得到更为广泛的应用。现在实际应用的红绿灯系统中一般没有倒计时功能,使司机和行人不知道指示灯还有多久将会改变现有状态。本设计应用基本数字电路知识,采用LED灯作红、绿、黄三交通灯,用七段数码管作同步倒计时显示。实现两方向通行时间不相等的控制并配有倒计时。 1.2设计目的 熟悉单片机控制系统,并了解系统设计的一般规律。 掌握8255芯片的结构及编程方法。 熟悉模拟交通灯控制的实现方法。 1.3设计任务及要求 设计一个交通灯控制系统,该控制系统工作后,交通灯按照下列规律变化:初始态东南西北均为红灯,持续时间为2s;然后转为状态1(10s),为东西红、南北绿;状态2(3s)东西红灯不变、南北绿灯灭、黄灯闪烁三次;状态3(15s),为东西绿、南北红;状态4(3s),为东西绿灯灭、黄灯闪烁三次、南北红灯不变;最后回到状态1,依此循环。如遇到特殊情况,可拨动应急开关,使各向均为红灯,特殊车辆不受红灯限制,待其顺利通过后拨动另一个开关,系统返回继续运行。同时用LED用倒计时方式显示各路口亮灯时间。 2 设计使用的仪器和设备 2.1 达爱思教仪 本实验采用达爱思教仪型号是Dais-PG206FD 2.2八段数码管 码管, 2.3 8255芯片 8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(8255引脚如图1,8255编程模式如图2)。 的中间接口电路。8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接

微机原理实验四实验报告 8255控制交通灯实验

实验四 8255控制交通灯实验 一、实验目的与要求 1、了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。学会使用8255并行接口芯片实现各种控制功能,如本实验(控制交通灯)等。 2、熟悉8255内部结构和与8088的接口逻辑,熟悉8255芯片的3种工作方式以及控制字格式。 3、认真预习本节实验内容,尝试自行编写程序,填写实验报告。 二、实验设备 STAR系列实验仪一套、PC机一台 三、实验内容 1、编写程序:使用8255的PA0.. 2、PA4..6控制LED指示灯,实现交通灯功能。 2、连接线路验证8255的功能,熟悉它的使用方法。 四、实验原理图 五、实验步骤 六、演示程序

.MODEL TINY COM_ADD EQU 0F003H PA_ADD EQU 0F000H PB_ADD EQU 0F001H PC_ADD EQU 0F002H .STACK 100 .DATA LED_Data DB 01111101B ;东西绿灯,南北红灯DB 11111101B ;东西绿灯闪烁,南北红灯 DB 10111101B ;东西黄灯亮,南北红灯 DB 11010111B ;东西红灯,南北绿灯 DB 11011111B ;东西红灯,南北绿灯闪烁 DB 11011011B ;东西红灯,南北黄灯亮 .CODE START: MOV AX,@DATA MOV DS,AX NOP MOV DX,COM_ADD MOV AL,80H ;PA、PB、PC为基本输出模式 OUT DX,AL MOV DX,PA_ADD ;灯全熄灭 MOV AL,0FFH OUT DX,AL LEA BX,LED_Data START1: MOV AL,0 XLAT OUT DX,AL ;东西绿灯,南北红灯 CALL DL5S MOV CX,6 START2: MOV AL,1 XLAT OUT DX,AL ;东西绿灯闪烁,南北红灯 CALL DL500ms MOV AL,0 XLAT OUT DX,AL CALL DL500ms LOOP START2 MOV AL,2 ;东西黄灯亮,南北红灯 XLAT OUT DX,AL CALL DL3S MOV AL,3 ;东西红灯,南北绿灯

微机原理实验交通灯控制实验

微机原理实验交通灯控制实验

课程设计时间:2014.12.22---2015.1.2微机原理专业课程设计任务书 学生姓名专业 班级 学号 题 目 交通灯控制实验 课题 性质 工程设计课题来源自拟课题指导 教师 同组姓名 主要内容L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。编程使六个灯按交通灯变化规律亮灭。

任务要求1:掌握并理解芯片8255和8253计时器工作原理 2:掌握并理解源程序和程序中的函数 3:熟悉8255内部结构和与单片机的接口逻辑,掌握8255芯片的3种工作方式。 4:了解单片机外围芯片8255的工作原理、初始化编程以及输入、输出程序设计方法 参考文献《微型计算机原理及运用》谭浩强清华大学出版社 《16/32位微机原理、汇编语言及接口技术》陈涛机械工业出版社《微机接口技术应用》 审查意见指导教师签字: 教研室主任签字:年月日 一:设计的目的和内容 1 目的:通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用。 2 内容:如图1,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东 西路口的交通灯与PC2、PC1、PC0相连。编程使六个灯按交通灯变化规律亮灭。

图1 二:设计思想: 在选择循环的时间上,老师上课时说过,长延时可以采用双层嵌套,外层嵌套为0FFFFH,内层嵌套为4000H,我在编程时外层送进了0,相当于初值为65536,内层送进了4000H。为了达到闪烁和延时的区别,我在编闪烁的程序时,给外层嵌套送入初值3000H,内层0100H (这是我通过实验的结果)。人眼感觉闪烁的效果只是短延时的结果此方案是通过并行接口芯片8255A和8086计算机的硬件连接,以及通过8253延时的方法,来实现十字路口交通灯的模拟控制。 如上图所示,红灯(RLED),黄灯(YLEDD)和绿灯(GLED)分别接在8255的A,B,C口的低四位端口,PA0,PA1,PA2,PA3分别接南,东,北,西路口 的红灯,B,C口类推。8086工作在最小模式,低八位端口AD 0~AD 7 接到8255和 8253的D 0~D 7 ,AD 8 ~AD 15 通过地址锁存器8282,接到三八译码器,译码后分别连 到8255和8253的CS片选端。8253的三个门控端接+5V,CLOCK0接由分频器产生的1MHZ的时钟脉冲,OUT0接到CLOCK1和CLOCK2,OUT1接到8086的AD 18, 8086通过检测此端口是否有高电平来判断是否30S定时到。OUT2产生1MHZ方波通过或门和8255的B口共同控制黄灯的闪烁。8255三个口全部工作在方式0既基本输入输出方式,红绿灯的转换由软件编程实现。 三:设计方案与硬件连接 设8253各口地址分别为:设8253基地址即通道0地址为04A0H;通道1为04A2H;通道2为04A4H;命令控制口为04A6H。 黄灯闪烁的频率为1HZ,所以想到由8253产生一个1HZ的方波, 8255控制或门打开的时间,在或门打开的时间内,8253将方波信号输入或门使黄灯闪

基于单片机8255交通灯

8255控制交通灯 一、实验目的 了解8255芯片的结构及编程方法,学习模拟交通灯控制的实现方法。 二、实验内容 用8255做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。 三、实验说明 1.因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化情况和规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1东西绿灯通车,南北红灯。过一段时间转状态2,东西绿灯灭,黄灯闪烁几次,南北仍然红灯。再转状态3,南北绿灯通车,东西红灯。过一段时间转状态 4,南北绿灯灭,闪几次黄灯,延时几秒,东西仍然红灯。最后循环至状态1。 四、实验程序框图 五、实验接线图

六、实验步骤 ①8255 PA0—PA7、PB0—PB3依次接发光二极管L1—L12。 ②以连续方式从0BB0H开始执行程序,初始态为四个路口的红灯全亮之后,东西路口的绿灯亮南北路口的红灯亮,东西路口方向通车。延时一段时间后东西路口的绿灯熄灭,黄灯开始闪耀。闪耀若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车,延时一段时间后,南北路口的绿灯熄灭,黄灯开始闪耀。闪耀若干次后,再切换到东西路口方向,之后重复以上过程。 一摘要: 本系统采用单片机、键盘、LED显示、交通灯演示系统组成。设计一个用于十字路口的车辆及行人的交通管理,系统包括左拐、右拐、及行基本的交通灯的功能,计时牌显示路口通行转换剩余时间,在出现紧急情况时可由交通手动实现全路口车辆禁行而行人通行状态。另外,在特种车辆如119、120通过路口时,系统可自动转为特种车辆放行,其他车辆禁止通行的状态,15s后系统自动恢复正常管理。其他还有 84s与60s通行管理转换等功能。采用数码管与点阵LED相结合的显示方法,既要求倒计时数字输出,又要求有状态灯输出等。 关键字: 单片机系统(AT89C51)控制8255、交通规则、LED显示、动态扫描、按键输入、分时段调整 参考文献:《单片机课程设计指导》北京航天航空大学出版社《基于MCS-51系列的单片机原理的应用设计》国防工业出版社 《单片机实训教程》北京大学出版社 《单片机系统原理及应用》 《微机原理及应用》

基于8253和8255的模拟交通灯控制系统

广东外语外贸大学信息科学技术学院 《微型计算机接口技术》大作业设计报告 基于8255,8253的 发声人性化交通灯控制设计 日期:2011-1-7

摘要 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。井然秩序的实现,靠的是交通信号灯的自动指挥系统。交通信号灯控制方式有很多。本系统采用8255A芯片实现了A口设置红、绿、黄灯点亮时间的功能,从而控制LED发光二极管实现红、黄、绿灯循环点亮。另外结合日常生活经验,并且从亚残会中对残疾人的生活不便中得出感悟,采用8253进行控制扬声器,在红、绿灯变换之间黄灯闪烁时,同时添加了“声音提示"功能。整个系统具有固定的“红灯—黄灯—绿灯”转换间隔,并自动切换,对东西南北方向的道路进行“自动”的控制。但是,经过小组成员提出的各种假设,发现此系统需要加入更多人性化的元素:交警可以根据实际的路面情况,针对不同的突发事件,进行手工控制红绿灯的转换。例如救护车警车执行紧急任务;例如东西道路塞车,南北道路空闲无车辆行驶时,需要灵活调节红绿灯的转化。通过8255并口控制,可以达到更加人性化的效果从而方便各种人群。 关键字:8255 交通灯控制8253 发声人性化 第一部分概论 1.1设计任务:交通信号灯的控制 (1)通过8255并行接口来控制LED发光二极管的亮灭,并适当延时。(2)黄灯闪烁时,通过8253控制扬声器发出声音,以提醒灯的转换。(3)通过8255并口控制,人工进行交通灯的转换。 1.2 任务要求 (1)南北路口的绿灯、东西路口的红灯同时亮5秒左右。 (2)南北路口的黄灯闪烁若干次,扬声器鸣叫,同时东西路口的红灯闪烁。(3)南北路口的红灯、东西路口的绿灯同时亮5秒左右。

实验一 8255控制交通灯实验

实验一 8255控制交通灯实验 一、实验目的与要求 1、了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。学会使用8255并行接口芯片实现各种控制功能,如本实验(控制交通灯)等。 2、熟悉8255内部结构和与8088的接口逻辑,熟悉8255芯片的3种工作方式以及控制字格式。 3、认真预习本节实验内容,尝试自行编写程序,填写实验报告。 二、实验设备 STAR 系列实验仪一套、PC 机一台 三、实验内容 1、编写程序:使用8255的PA0.. 2、PA4..6控制LED 指示灯,实现交通灯功能。 2、连接线路验证8255的功能,熟悉它的使用方法。 四、实验原理图 D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC7 10 RD 5WR 36A09A18RESET 35CS 6 8255 U36 D0D1D2D3D4D5D6D7WR RD RST A0 A1 PC5PC6PC7 PC2PC3PC4PC0PC1DS35DS36DS37DS38DS39DS40DS4112345678 VCC DS42 A0A1 CS CS1(0F000H) 510 R111510 R112 510R113510R114510R115510R116510R117510R118

.MODEL TINY COM_ADD EQU 0F003H PA_ADD EQU 0F000H PB_ADD EQU 0F001H PC_ADD EQU 0F002H .STACK 100 .DATA LED_Data DB 01111101B ;东西绿灯,南北红灯DB 11111101B ;东西绿灯闪烁,南北红灯 DB 10111101B ;东西黄灯亮,南北红灯 DB 11010111B ;东西红灯,南北绿灯 DB 11011111B ;东西红灯,南北绿灯闪烁 DB 11011011B ;东西红灯,南北黄灯亮 .CODE START: MOV AX,@DATA MOV DS,AX NOP MOV DX,COM_ADD MOV AL,80H ;PA、PB、PC为基本输出模式 OUT DX,AL MOV DX,PA_ADD ;灯全熄灭 MOV AL,0FFH OUT DX,AL LEA BX,LED_Data

8255,8253交通灯模拟实验报告

(-)课题简介 (2) (二)设计方案 (2) (三)具体设计 (4) 1.电路原理 (4) 2. ........................................................ 程序原理: 6 3.系统原理 (8) 1)....................................................................... 8259, 8255A, 8254 工作原理:8 4.关键技术分析 (13) 1)实时控制和管理设计 (13) 2)发光二极管闪烁程序 (14) 3)源程序 (15) (四)测试 (21) 1.在测试中遇到的问题记录 (21) 2.测试结果 (22) (五)....................... 总结22 (六)........................... 设计体会23 (七)........................... 参考文献24 (一)课题简介 十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。当前,国大多数城市正在采用“自动”红绿交通灯,它具有固左的“红灯一绿灯”转换间隔,并自动切换。它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。在交通灯的通行与禁止时间控制显示中,通常要么东西、南北两方向务50秒:要么根拯交通规律,东四方向60秒,南北方向40秒,时间控制都是固泄的。交通灯的时间控制显示,以固定时间值预先"固化”在单片机中,每次只是以一泄周期交替变化。但是,实际上不同时

微机原理课程设计-8255控制交通灯

微机原理课程设计:8255模拟交通灯 1、目的:学习8255使用方法,学习模拟交通灯控制的方法,学习双色灯的使用。 2、要求:控制4个双色LED灯(可发红,绿,黄光),模拟十字路口交通灯管理。 3、电路及连线 PC0-PC3连DG1-DG4,PC4-PC7连DR1-DR4。8255片选CS8255连138译码处210H。 4、说明 (1)因为本实验是模拟交通灯控制实验,所以要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。最后循环至状态1。 (2)双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。 (3)74LS240为8输入输出的反向驱动器。 5、完成的任务 (1)利用计算机和微机原理试验箱,将实验6的程序Tlamp_88.asm在试验箱运行和调试。全速运行,观察整体效果。单步运行,观察程序每条语句额执行效果,理解语句含义。

(2)修改实验连线为,PC7-PC4连DG1-DG4,PC3-PC0连DR1-DR4。8255片选CS8255连138译码处210H孔。将Tlamp_88.asm另存为jiaotong.asm。修改jiaotong.asm,实现交通灯原有功能。 (3)修改实验连线为,PB7-PB4连DG1-DG4,PB3-PB0连DR1-DR4。8255片选CS8255连138译码处210H孔。将jiaotong.asm另存为jiaotong2.asm。修改jiaotong2.asm,实现交通灯原有功能。 (4)将jiaotong2.asm另存为jiaotong3.asm。修改jiaotong3.asm,实现交通灯各个灯亮和灭的时间是原有时间的3倍。 6、实验程序框图

微机原理交通灯控制实验及其详细

交通灯信号控制实验 一、实验目的 1、掌握并行接口8253的基本原理 2、掌握8253的编程方法 二、实验内容 如图,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。编程使六个灯按交通变化规律亮灭。 三、编程提示 1、8255控制寄存器地址: 28BH —0C40BH A 口地址: 288H —04C408H C 口地址: 28AH —04C40AH 2、十字路口交通灯的变化规律要求 ( 1) 南北路口的绿灯、东西路口的红灯同时亮三秒; (2) 南北路口的黄灯闪烁三次,同时东西路口的红灯继续亮; (3) 南北路口的红灯、东西路口的绿灯同时亮三秒; (4) 南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁三次; (5) 转(1)重复。 3、程序设计流程

四、程序设计及实验调试 程序设计的思想及注意事项: 1.首先是在选择程序时是选用软件延时还是硬件延时。我采用的是C口方式0输入,所以选用了软件延时。 2.在选择循环的时间上,老师上课时说过,长延时可以采用双层嵌套,外层嵌套为0FFFFH,内层嵌套为4000H,我在编程时外层送进了0,相当于初值为65536,内层送进了4000H。为了达到闪烁和延时的区别,我在编闪烁的程序时,给外层嵌套送入初值3000H,内层0100H (这是我通过实验的结果)。人眼感觉闪烁的效果只是短延时的结果。 CODE SEGMENT ASSUME CS:CODE START: MOV DX,0C40BH MOV AL,10010000B ;C口方式0输入 OUT DX,AL FIRST: MOV DX,0C40AH MOV AL,00100100B OUT DX,AL ;南北绿,东西红写入C口 MOV CX,0 ;送入初值65536 MOV AX,4000H ;软件长延时,由经验值确定 DELAY1: DEC AX JNZ DELAY1 LOOP DELAY1 MOV BL,4 ;控制黄灯亮的次数 SECOND:MOV DX,0C40AH MOV AL,01000100B OUT DX,AL ;南北黄,东西红 MOV CX,3000H

8255控制交通灯实验

一、实验目的与要求 1、 了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。学会使用8255并行接口芯片实现各种控制功能,如本实验(控制交通灯)等。 2、 熟悉8255内部结构和与单片机的接口逻辑,熟悉8255芯片的3种工作方式以及控制字格式。 3、 认真预习本节实验内容,尝试自行编写程序,填写实验报告。 二、实验设备 STAR 系列实验仪一套、PC 机一台 三、实验内容 1、编写程序:使用8255的PA0、PA1、PA 2、PA4、PA5、PA6控制LED 指示灯,实现交通灯功能。 2、连接线路验证8255的功能,熟悉它的使用方法。 四、实验原理图 D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC7 10 RD 5WR 36A09A18RESET 35CS 6 8255 U36 D0D1D2D3D4D5D6D7WR RD RST A0 A1 PC5PC6PC7 PC2PC3PC4PC0PC1DS35DS36DS37DS38DS39DS40DS4112345678 VCC DS42 A0A1 CS CS1(0F000H) 510 R111510 R112 510R113510R114510R115510R116510R117510R118 绿 黄 红 绿 黄 红 (东 西) (南北) 8255各端口地址: PA 口:7CFFH PB 口:F001H PC 口:F002H 控制口:7FFFH

8255控制交通灯

专业:机电一体化班级:机电姓名:学号: 设计题目:8255控制交通灯 设计条件: 了解8255芯片的结构及编程方法,学习模拟交通灯控制的实现方法。用8255做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。 功能说明:假设一个十字路口为东西南北走向。交通灯的变化情况和规律如下,初始状态0为东西红灯,南北红灯。然后转状态1东西绿灯通车,南北红灯。过一段时间转状态2,东西绿灯灭,黄灯闪烁几次,南北仍然红灯。再转状态3,南北绿灯通车,东西红灯。过一段时间转状态4,南北绿灯灭,闪几次黄灯,延时几秒,东西仍然红灯。最后循环至状态1。 设计任务: 使用单片机作为控制器来模拟交通灯控制。具体采用8255芯片做为输出口,控制十二个发光二极管燃灭,模拟交通灯管理。要求掌握单片机的结构和功能,学会较简单单片机系统的硬件设计,并能通过汇编语言进行软件编程,完成要求的功能,同时熟练掌握8255A芯片的结构及使用。 设计报告内容包括:1)系统设计方案 2)硬件电路图及硬件电路功能说明 3)软件实现方法及程序流程图 4)源程序及调试结果

摘要 自从交通灯诞生以来,其内部的电路控制系统就不断地被改进,设计方法也多种多样,从而使交通灯显得更加智能化。由于单片机本身具有通讯联网功能,将同一条道路上的信号灯组成一局域网进行统一调度管理,可缩短车辆通行等候时间,实现科学化管理。论文提出了一种涉及单片机的无人智能交通灯管理系统的控制方案,鉴于时间及所学知识所限,文中仅对系统中的一个节点____一个十字路口交通灯的管理进行了具体实现。以8751芯片作为主控制器,可编程并行接口芯片8255作为扩展输出口,通过十二个发光二极管来模拟进行交通灯的燃灭管理,并详细阐述了其工作原理、基本功能框图、关键设计技术及软件工作流程,对选用芯片的特点进行了分析,并最后进行了软件实现,达到了系统要求的功能。

微机课程设计_应用8255A实现交通灯控制

随着计算机科学技术的不断发展,微型计算机得到了广泛的应用,是人们利用计算机设计和开发各种应用系统的基础。同时微型计算机接口技术也是一门实践性较强的课程,理论与实践相结合可以更好的掌握知识,这也是这次交通灯系统控制的设计目的。交通灯是交通安全的关键,已广泛应用于城乡的十字路口,它的有无作为交通安全检查的重要依据,是交通秩序正常进行的有力保障。 十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。当前,国大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自动切换。它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。交通灯的时间控制显示,以固定时间值预先“固化”在单片机中,每次只是以一定周期交替变化。但是,实际上不同时刻的车辆流通状况是十分复杂的,是高度非线性的、随机的,还经常受认为因素的影响。采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。它不顾当前道路上交通车辆数的实际情况变化,其最大的缺陷就在于当路况发生变化时,不能满足司机与路人的实际需要,轻者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的下降。目前,有一种使用“模糊控制”技术控制交通灯的方法。能够根据十字路口两个方向上车辆动态状况,自动判断红绿灯时间间隔,以保证最大车流量,减少道口的交通堵塞。但是却不像定时控制,能用数字显示器显示当前灯色剩余时间,以便于驾驶员随时掌握自己的驾驶动作,及时停车或启动。 本次的交通灯控制系统主要由8255A并行口、8253定时/计算器、8259单极中断控制器以及74LS139译码器实验等芯片组成。整个课程设计主要使用8255A的A口和B口模拟十字路口交通灯的闪烁情况。主要包括以下五个方面:1.课程设计题目名称;2.课程设计要求完成的任务;3.系统设计文档(包括了总体设计、详细设计以及程序设计等文档);4、课程设计总结;5.参考文献本次课程设计以固定的程序实现对交通灯实行控制,没有实现智能化,但智能化是交通控制系统是交通控制系统发展的必然趋势,也是满足日益发展的社会需要。通过本次的课程设计,更好的学习微机接口的应用技术,使我们将课堂所学到的知识和实践有机结合起来,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。 由于时间仓促和水平所限,本次课程设计难免有欠妥之处,请不吝批评指正。 摘要:本文介绍了以计算机为核心.利用可编程并行接口芯片8255A的软硬件功能,实现对交通灯控制 关键词:计算机可编程并行接日芯片交通灯 8255A

交通灯8253-8255-8259

二○○九~二○一○学年第二学期 信息科学与工程学院 课程设计报告书 课程名称:微机原理课程设计 班级:电子信息工程2009级6 班 学号:200904135150 姓名:张强 指导教师:徐守明 二○一二年二月二十日

2.21 8259的工作原理: 一、数据总线缓冲器:8259A与系统数据总线的接口,是8位双向三态缓冲器。CPU与8259A之间的控制命令信息、状态信息以及中断类型信息,都是通过缓冲器传送的。 二、读/写控制逻辑:CPU通过它实现对8259A的读/写操作。 三、级连缓冲器:用以实现8259A芯片之间的级连,使得中断源可以由8级扩展至64级。 四、控制逻辑电路:对整个芯片内部各部件的工作进行协调和控制。 五、中断请求寄存器IRR:8位,用以分别保存8个中断请求信号,当响应的中断请求输入引脚有中断请求时,该寄存器的相应位置1。 六、中断屏蔽寄存器IMR:8位,相应位用以对8个中断源的中断请求信号进行屏蔽控制。当其中某位置“0“时,则相应的中断请求可以向CPU提出;否则,相应的中断请求被屏蔽,即不允许向CPU提出中断请求。该寄存器的内容为8259A的操作命令字OCW1,可以由程序设置或改变。 七、中断服务寄存器ISR:8位,当CPU正在处理某个中断源的中断请求时,ISR寄存器中的相应位置1。 八、用以比较正在处理的中断和刚刚进入的中断请求之间的优先级别,以决定是否产生多重中断或中断嵌套。 2.22 8255A的工作原理: 一、8255A的内部结构: 1、数据总线缓冲器:这是一个双向三态的8位数据缓冲器,它是8255A与微机系统数据总线的接口。输入输出的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。 2、三个端口A,B和C:A端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入锁存器。B端口包含一个8位数据输入/输出锁存器和缓冲器,一个8位数据输入缓冲器。C端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入缓冲器(输入没有锁存器)。 3、A组和B组控制电路:这是两组根据CPU输出的控制字控制8255工作方式的电路,它们对于CPU而言,共用一个端口地址相同的控制字寄存器,接收CPU输出的一字节方式控制字或对C口按位复位字命令。方式控制字的高5位决定A组的工作方式,低3位决定B组的工作方式。对C口按位复位命令字可对C口的每一位实现置位或复位。A组控制电路控制A口和C口上半部,B组控制电路控制B口和C口下半部。 4、读写控制逻辑:用来控制把CPU输出的控制字或数据送至相应端口,也由它来控制把状态信息或输入数据通过相应的端口送到CPU。 二、8255A的工作方式: 方式0---基本输入输出方式;方式1---选通输入输出方式; 方式2---双向选通输入输出方式。 2.23 8253的工作原理: 8253是可编程的计数器/定时器,其内部有三个独立的16位计数器/定时器通道,每个计数器通道均可按6种不同的方式工作,并且都可以按二进制或十进制计数。其CLK0~CLK2是计数器0~2的时钟脉冲输入端, GATE0~GATE2是门控脉冲输入端, OUT0~OUT2是输出端。 3、总体设计和方案论证: 3.1交通信号灯实时控制和管理的总体设计 芯片选择及端口选择 1.用实验系统8255A实现对信号灯的控制(所用端口自定);2位数码显示用8255A实现控制。 2. 用实验系统8235的计数器0定时向实验系统主片8259A的IRQ7请求中断,以实现要求的20秒、5秒钟的定时。实验系统8253的计数器0的CLK2接OPCLK,频率为1.19318MHZ;GATE0已接 +5V; 定时采用软硬件相结合的方式实现。 ⒊用实验系统的发光二极管模拟红绿灯。 注:8259A的端口地址为:218H、219H 8255A的端口地址为:端口A-200H、端口B-201H、端口C-202H、控制端口-203H 8253的端口地址为:计数器0-208H、计数器1-209H、计数器0-20AH、控制寄存器0-20BH。 本设计硬件由定时模块、发光二极管模块、数码管显示模块和紧急中断模块组成。定时模块采用硬件定时和软件定时相结合的方法,用8253定时/计数器定时1s,再用软件计时实现所需的定时。发光二极管模块由8255控制发光二极管来实现。数码管显示模块由实验平台上的LED显示模块实现。紧急中断模块是由单脉冲发生单元和8259中断控制器组成。 程序主要是由定时子程序、发光二极管显示子程序、数码管显示子程序和中断服务程序组成。包括对8253、8255以及8259等可编程器件的编程。

相关主题
文本预览
相关文档 最新文档