流水灯式箭头标志

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

基于8086和8255的流水灯式安全出口标志设计
一、设计目的:
1. 通过简单的设计来掌握8086以及8255A 芯片的工作原理。

2. 利用设计来掌握简单的汇编。

二、设计要求:
1.利用8086做CPU,用74HC373进行锁存,用8255进行控制LED 灯的亮灭的时间和规律。

2.用74HC373锁存器控制8255A 的地址数据A0,A1。

3.用8255A 的A 口控制箭头中的流水灯,用其B 口控制四个字‘安全出口’的闪烁。

4.首先让所有的灯都亮两秒,接着所有灯灭掉,随后四个字流动闪烁一次,接着箭头中的灯依次进行闪烁,当最后一个灯闪烁完之后跳到起初,所有的灯亮,整个过程进行循环。

三.系统工作原理
此方案是通过并行接口芯片8255A 和8086计算机的硬件连接,以及通过74HC373的锁存方法,来实现安全出口标语的模拟控制。

如硬件连接图所示,四个字“安全出口”和箭头分别接在8255的A 口和B 口的高四位,PA0,PA1,PA2,PA3,PA4,PA5,PA6,PA7分别接箭头中的灯,B 口的高四位接四个字。

8086工作在最小模式,低八位端口AD 0~AD 7接到8255和74HC373
的AD 0~AD 7, 8255两个口全部工作在方式0既基本输入输出方式,红绿灯的转换
由软件编程实现。

四、硬件和接线原理:
1.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 )地址锁存允许信号,输出高电平有效,
(5)RESET:复位信号,输入,高电平有效。

(6)MN/MX (Minimun/Maximun): 最小、最大工作模式选择信号,输入。

2.硬件原理图
3.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中的输出数据。

五、源程序代码:
CODE SEGMENT
ASSUME CS:CODE
START: MOV AL,80H
OUT 06H,AL
L0: MOV AL,000H
OUT 00H,AL
OUT 02H,AL
LOOP $
LOOP $
LOOP $
LOOP $
MOV AL,0FFH
OUT 00H,AL
OUT 02H,AL
LOOP $
MOV AL,0FEH
L1: OUT 02H,AL
MOV BX,20
WAIT0: MOV CX,10000
LOOP $
DEC BX
JNZ WAIT0
ROL AL,1
CMP AL,0EFH
JZ L2
JMP L1
L2: MOV AL,0FFH
OUT 02H,AL
MOV AL,0FEH
L3: OUT 00H,AL
MOV BX,10
WAIT1: MOV CX,10000
LOOP $
DEC BX
JNZ WAIT1
ROL AL,1
CMP AL,0FEH
JZ L0
JMP L3
MOV AH,4CH
INT 21H
CODE ENDS
END START
六、总结:
经过这两周的课程设计, 做关于安全出口标志的系统设计,我认真查阅资料,学习关于这方面的知识,比如说要了解8086芯片中各个引脚的功能,怎么样去使用8255这个可编程并行接口芯片,怎么样用74HC373这个锁存器来存储地址.在理论学习的基础上,再加上我的兴趣爱好,又下了一次苦工夫,;也让我体会到要想成功地设计某个东西是特别的不容易,光学好微机原理知识是不够的,必须要系统的去学习某方面的所有知识,无论在哪方面都要有个明白的概念,我也发现BAIDU是那么的好,给与了我很多的帮助,每遇到一个不会的指令,我总会想到BAIDU,去上网求救。

当然我的设计成功了,我感到特别的有成就感,原来知道的越多生活越美满。

微机原理课程设计
题目:
基于8086和8255的流水灯式安全出口标志设计
班级:电气自动化一班
姓名:马勇
学号:12010245382
合作者:李翔
学号:12010245。

相关文档
最新文档