乐娱网
您的当前位置:首页交通信号灯模拟控制系统设计I

交通信号灯模拟控制系统设计I

来源:乐娱网




交通信号灯模拟控制系统设计I
一、概述 成细 STARES598PCI实验系统的基础丄,应用可编程并行接口8255、定-----------/计数器8253I/O接口芯片,设计一个十字路口交通信号灯模拟控制系统。

二、 设计目的
通过设计一个十字路口交通灯系统掌握8255.8253等接口芯片的编程和应用方法,做到理论联系实际。

三、设计要求
要求绘制流程图、编写源程序,并在实验系统丄调试通过程序。

!1!

设计内容


1、十字路口交通信号灯设置
某十字路口交通信号灯系统在4个路口均装设红、绿2个灯,并装设数码管显示倒计吋。

1交通信号灯设置
实验时用LED(发光二极管)代替十字路口的红绿灯(其分布口行定义)。

2 交通信号灯亮灭规律
交通信号灯系统初始状态为所有红灯闪烁N1秒钟(不必在数码管显示);之后东西向车行道绿灯亮,车辆放行N秒钟,此吋南北向车行道红灯亮,之后转为南北向车行道放行N秒钟,如此循环重复。要求数码管能够显示倒计时。

参数选择:
NIWlOs,闪烁次数为3-8
各小组自行选择NN1及闪烁次数方案。

3 参考方案
采用82558253组成系统,采用8253产生定吋。如果加入紧急车辆通过功能或其他任何先进功能,可根据具体情况加创新分。

如果采用825582538259组成系统,则加创新分(用8259产生中断,其功能自学)。



1、方案说明...............................................7 1.1十字路口交通信号灯设置
1.2实验接口芯片选择
1.2.1 8255
1.2. 2 8253

2、硬件设计...............................................9 2.1硬件接线图2.2引脚连接详细说明
3、软件设计...............................................10 3.1程序流程图
3.2源程序清单
4、调试现象...............................................13

5、心得体会...............................................15

6、参考文献...............................................15



.方案说明

1.1十字路口交通信号灯设置

某十字路口交通信号灯系统在4个路口均装设红、绿2个灯,每个路口均装设一个数码管显

示倒计时。

原理图屮的东西南北方向红绿灯分别对应于实验仪器丄的8LED灯,分别代表如下:

西


绿灯

红灯

绿灯

红灯


绿灯

红灯

绿灯

红灯

根据实验实验要求,在初始情况下,所有方向的红灯闪烁4秒;然后进入先让南北方向红灯亮(此时东西方向绿灯亮),南北方向亮10S,并用数码管显示所有方向的倒计时。Z后南北方向绿

灯亮,如此循环往复下去。

1?2实验接口芯片选择

1.2.18255
主要功能:控制的是交通灯的亮灭以及数码管的显示。

(1)首先对8255的控制端口写入控制字,程序如下:

MOVAL,10000001B 8255初始化

MOVDX,0F003H 8255控制口地址
OUTDX,AL
AL=10000001B,实现的功能如下:

写入方式0控制字,A口、B口、C口高四位为输出,C口低4位为输入。

A口控制的是交通灯的亮灭,B口用来显示数码管丄的数字,C口用来控制数码管。

以下程序为A口地址:0F000H来实现交通灯红绿灯的转换。0表示灯亮,1表示灯灭。

MOVDX,0F()0()H
MOVALJ0100101B ;南北红灯,东西绿灯

OUTDX,AL
CALLCOM
MOVDX,0F()0()H
MOVAL,010I1010B ;南北绿灯,东西红灯

OUTDX,AL (3)以下程序为B口地址:0F00IH,用来显示数码管的数字。

Al:

MOV DX,0F001H

;数码管每隔1秒依次显示9,&7....0

MOV AL,[SI]

OUTDX,AL
CALLDELAY
CALLDELAY ;延时两个0.5秒,即1INCSI
LOOPAl
RET
COMENDP



以下程序为C口地址:C端口的高4位用来控制数码管的位置,0C口高4为有效。

MOVDX,0F002H ;C口控制数码管灭

MOVAL,0FH ;4个数码管

OUTDX,AL 1. 2. 2 8253

主要功能:产生2HZ的方波,使数码管每秒计数以及交通灯亮10S的要求。

(1)首先是将方式控制字写入8253的控制端口中,程序如下:

MOVAL,00110111B ;通道0读低高字节,方式3,BCD

MOVDX,0E003H

OUTDX,AL

AL=00110111B,按照8253控制字的格式,通道0计数,计数器先读写低字节,再读写高字节,

工作方式为方式3,BCD码计数。血8253的控制口的端口地址为0E003H。当计数器通道用作定

时器时,8253的计数初值计算可由以下公式求得:计数初值二输入时钟脉冲的频率/输出吋钟

脉冲的频率

输入吋钟脉冲的频率=7812H

而输出吋钟脉冲的频率=2HZ

计数初值是被送到通道0的地址。程序如下:

MOV DX,0E000H ;8253 初始化,产生 2HZ 方波,7812/2=3906

MOV AL,06H
OUT DX,AL
MOV AL,39H
OUT DX,AL

8253 OUTO输出产生2HZ的方波,而将OUTOPC2连接,判断PC2在一?个周期内, 输出低电

平则执行A,输出高电平则执行B, 一次来实现交通灯与数码管的功能。

(3)延迟的程序如下:

DELAY PROC ;8253延时0.5秒钟
A: MOV DX,0F002H

B

IN AL,DX 则执行AND AL,04H
JZA

;OUTO —个周期(0.5)输出高低电平,低电平执行A,

;0000 0l00B





B: MOV DX,0F002H
IN AL,DX
AND AL,04H
JNZB
RET

DELAY ENDP



.硬件设计:

2.1硬件接线图

2?2引脚连接详细说明

C5 区:CSAOA1


A3 区:CS2AOA1

C5 区:OUTO


B4 区:PC2

C5 区:GATEO


C1 :VCC

C5 :CLKO


B2 区:7812

B4 区:AO,A1


A3 区:AO,A1

B4 区:/CS


A3 区:CS1

B4 区:PA


G6 区:JP65

B4 区:PB


G5 [x JP42

B4 区:PC


G5区:JP41上半部




三、软件设计
3.1程序流程图



3.2源程序清单

DATA

SEGMENT

;0-9数码显示

TAB

DB 6FH,7FH,07H,7DH,6DH,66H,4FH,5BH,06H,3FH

DW $-TAB

XUN

DATA

ENDS

STAR

SEGMENT STACK

DW 100 DUP(?)

STAK

ENDS

CODE

SEGMENT

ASSUMECS:CODE,SS:STAK,DS:DATA

START:
MOVAX,DMA MOV
DS,AXXOR AX,AX

MOVAL, 1000000IB ;8255初始化,AB口为方式0,输出;C口高四位输出,低四位输入

MOVDX.0F003H
OUTDX,AL
MOVAL,0011011IB;8253初始化,选择计数通道0,工作方式3,

高低字节,BCD码计数

MOVDX,0E003H
OUTDX,AL
MOVDX,0E000H ;产生2HZ方波,输入频率/输出频率二计数

初值,8253/2=3906

MOVAL,06H;读计数初值低字节

OUTDX,AL
MOVAL,39H;读计数初值高字节OUTDX,AL

MOVCX,4 ;初始吋东西南北红灯闪四次,0表示灯亮,

1表示灯灭

L:

MOV DX,0F000H

A 口控制的是交通灯的亮灭

MOV AL,10101010 B

;红灯全亮

OUTDX,AL
CALLDELAY

MOVDX,0F000H
MOVALJHlllllB;全灭
OUTDX,AL
CALLDELAY
LOOPL

SI:

MOV DX,0F002H

C 口控制数码管亮灭

4个数码管

MOV AL,0FH

OUTDX,AL
MOVDX,0F000H
MOVAL,01011010B;南北红灯,东西绿灯OUTDX,AL



CALLXS
MOVDX,0F000H

MOVALJOIOOIOIB
OUT DX,AL
CALL XS
JMPS1
MOV AH,4CH
INT21H

;南北绿灯,东西红灯

;无条件跳转,死循

DELAY

PROC

;8253 延时 0.5 秒钟1/20.5

A:

MOV DX,0F002H

;OUT个周期0.5秒)输出高低电平,低电

IN AL,DX

平执行A高电平执行B

B:

AND AL,04H

;00000100B

JZ A

ZF=1则跳AAL=0,实现低电平执行A

MOV DX,0F002H

IN AL,DX
AND AL,04H

JNZB ;ZF=0则跳BALH0,实现高电平执行B

RET

DELAY

ENDP

;数码管每隔1秒依次显示9,&7....0

XS

PROC

MOV CX,XUN

Al:

LEA SI,TAB

;TAB的有效地址(偏移地址)

MOV DX,0F001H

;B 口用来显示数码管上的数字

MOV AL,[SI]

;TAB的第一个元素给AL

OUT DX,AL CALL
DELAY

CALL DELAY INC SI

;延时两个0.5秒,即1

LOOP Al
RET

XS ENDP
CODE ENDS
END START





四、调试现象

1、交通信号灯系统初始状态:所有红灯闪烁4秒钟(不必在数码管显示)

xmgyan. com. cn

2、东西向车行道绿灯亮,车辆放行10秒钟,此吋南北向车行道红灯亮(要求数码管能够

显示倒计时)

CLK

LK



5




1

O




2




Q

A2


SIN

OM11

rc总线



开关



U




ADOC




?研电子科技有限公司


WWW. xingyan. com. cn

佐红編亿址紅仇?L



3、之后转为南北向车行道放行10秒钟,即东西红灯亮,南北绿灯亮,如此循环重复。 (要求数码管能够显示倒计时)



五、心得体会
本次实习最主要学习了82558253接口芯片的功能及应用,为期一周的实习让我对8086汇编语言的一些应用有了更深的认识,我学到了许多书本上学不到的知识,为今后的进一步学习奠定了基础。当老师布置完题H后,由于对需要掌握的知识还不是十分理解,我通过看教材和查资料等方式将各个芯片的引脚和功能分析清楚,在设计的过程屮编程部分是个难点,尤其是芯片接口方面的编程。通过查表得知各引脚的作用以及各引脚対应的端口,然后设定各端口的功能。以前在丄课的时候,老师说在写一个程序的时候,要先把程序原理方框图画出来,但是我开始总觉得这样做没必要,很浪费时间。但是,这次课程设计完全改变了我以前的那种错误的认识,以前我接触的那些程序都是很短、很基础的,但是在课程设计屮碰到的需要很多代码才能完成的任务,画程序方框图是很有必要的。通过程序方框图,在做设计的过程屮,我们每一步要做什么,每一步要完成什么任 血且在程序测试的过程屮也有利于查错。
同时我也深入了解了务都有一个很清楚的思路,试验仪的操作,比如在进行结果验证时,结果与预想的相反,最后查明是PA端口与JP65的高低位接反,使输岀结果错误。这提醒我在接线的时候要注意高低位,不能接反。

经过这次的实际动手操作,让我明白不仅要掌握课本上的知识,而且要学以致用。

本次实习使我对微机原理这门课程又有了新的认识,这对于我今后的学习会有事半功倍的效果。非常感谢本次实习给了我这样一个锻炼我的机会,在此也感谢老师对我的指导!

六、参考文献
1、李干林,李升.微机原理及接口技术实验指导书.北京:北京大学出版社.2、李继灿.新编16/32位微型计算机原理及应用(第4版).北京:清华大学出版社.



3、周荷琴,吴秀清?微型计算机原理与接口技术?合肥:

屮国科学技术大学岀版社.

显示全文