- 15
- 0
- 约3.33千字
- 约 9页
- 2019-06-22 发布于河南
- 举报
微机原理课程设计
PAGE 1
课程设计题目 交通灯控制
课程设计目的
综合运用《微机原理与应用》课程知识,利用集成电路设计实现一些中小规模电子电路或者完成一定功能的程序,以复习巩固课堂所学的理论知识,提高程序设计能力及实现系统、绘制系统电路图的能力,为实际应用奠定一定的基础。
掌握8255A方式0的使用与编程方法
PC机及配套的接口电路实验装置
IC芯片:8255A应用和8253
课程设计内容
采用8255A设计交通灯控制的接口方案
采用8253设计延时电路
插接电路
编写控制程序
课程设计过程1、设计原理
82558255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。其内部与引脚图如图所示:
8255有三个端口A、B、C端口,3种不同的工作方式,在其控制字的作用下使某一个端口工作于某一种工作状态下。
8253
intel8253是NMOS工艺制成的可编程计数器/ 定时器,其
内部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全相同,如图所示:
每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立,采用减1计数方式。控制字如图所示:
在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲是已知周期的时钟信号时,计数就成为定时。各通道可有6种可供选择的工作方式, 以完成定时、计数或脉冲发生器等多种功能。在这里我们主要采用方式0:计数结束产生中断 (由低电平变为高电平)。其波形图如图所示:
a. 写CW后:OUT=0,直到计数到0
b. 写N后:下1个CLK脉冲下降沿开始计数
c. 计数过程中,可重写N,重写N后,同b.
d. GATE的作用:GATE=1计数、=0暂停计数
e. 计数到0:OUT=1,直到再写CW或N
2、方案设计
考虑普通十字路口,交通灯的控制可分东西向和南北向两组,每组可用红、黄、绿三个灯进行交通管理,所以本方案要点是至少对六个交通灯进行控制。由于灯光控制只需要开、关两个状态,所以可以采用开关量实施控制。开关量的输出可以采用8255A的端口,由于开关量有6位,所以采用8位端口,又因为灯光控制不需要联络信号,所以按照方式0输出即可。由于题目要求时间的控制精确,所以我们在这里运用8253芯片定时控制。首先我们确定使用8255端口A与交通灯的连接方式,如下表所示(假定发光状态为高电平有效):
没用
NS(南北)
WE(东西)
码字
G
Y
R
G
Y
R
状态
PA7
PA6
PA5
PA4
PA3
PA2
PA1
PA0
PA
状态说明
0
0
0
0
0
0
0
0
0
00
关灯
1
0
0
0
1
0
1
0
0
14
NS: R; WE:G
2
0
0
0
1
0
0
1
0
12
NS: R; WE:Y
3
0
0
0
1
0
0
0
0
10
NS: R; WE:N
4
0
1
0
0
0
0
0
1
41
NS: G; WE:R
5
0
0
1
0
0
0
0
1
21
NS: Y; WE:R
6
0
0
0
0
0
0
0
1
01
NS: N; WE:R
说明:
NS:南北;WE:东西;R:红;G:绿; Y:黄;N:关
由上表可知状态变换流程为:
其中状态1和4持续30秒,其它状态持续0.5秒;又状态2各状态3,状态5和状态6之间各循环5次。整个控制过程,要按照上面的流程,依次把相应的控制码输出到8255的端口A,时间由8253定时控制,6个交通灯就能够按照要求实现交通管理了。
3、电路插接
4、编程与运行
data segment
out_code db 14h,5dup(12h,10h),41h,5dup(21h,01h),0
data ends
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
mov dx,307h ;8255控制端口地址
mov al,80h ;1000 0000 8255端口A工作于0方式下
out dx,al
mov dx,304h ;8255端口A地址
loop0: lea si,out_code
loop1: mov al,[si]
and al,al ;al=al
原创力文档

文档评论(0)