8255A可编程并行口使用方法

8255A可编程并行口使用方法
8255A可编程并行口使用方法

8255A并行接口

1.课程设计的目的

为了巩固《微型计算机技术》课程学到的相关知识,通过对本课程所学知识的综合运用,使学生融会贯通课程中所学的理论知识,加深对计算机系统各个部分的工作原理及相互联系的认识,加深对接口的理解,清晰地建立计算机系统的概念,培养学生进行微机应用系统硬件和软件开发的实践工作能力。

2.设计方案论证

2.1设计方案的选择

在进行系统设计之前,必须先熟悉被控制对象的生产过程和工艺要求,对控制对象的工作过程进行深入的调查,根据实际应用中的问题提出具体的控制要求,以确定系统所要完成的任务;然后提出不同的总体方案进行比较论证,确定出系统的总体方案。在确定系统的总体方案时,对系统的硬件和软件功能应进行综合性考虑,因为系统的一个控制功能一般是既可以用硬件来完成,也可以由软件来完成,究竟采用什么方式,则要根据系统的实时性及硬件系统的性能价格比综合平衡后加以确定。一般情况下,用硬件来完成速度快,可节约CPU的大量时间,但这会使系统非常复杂,而且价格会高一些;用软甲实现价格便宜,但要占用CPU 较多的时间。所以一般的原则是在CPU时间允许的情况下,尽量采用软件,如果控制回路较多或者有些软件设计比较困难,则可考虑用硬件来完成,总之,一个控制系统哪一部分用硬件来实现,哪一部分用软件来实现,要结合具体情况进行比较后再确定。

2.1.2设计目的

随着社会的发展,城市规模的不断扩大,城市交通成为制约城市发展的一大因素。人口和汽车日益增长,市区交通也日益拥挤,人们的安全问题当然也日益重要。因此,红绿交通信号灯成为交管部门管理交通的重要工具之一。有了交通灯,人们的安全出行也有了很大的保障。自从交通灯诞生以来,其内部的电路控制系统就不断的被改进,设计方法也开始多种多样,从而使交通灯显得更加智能化。尤

其是近几年来,随着电子与计算机技术的飞速发展,电子电路分析和设计方法有了很大的改进,电子设计自动化也已经成为现代电子系统中不可或缺的工具和手段,这些都为交通灯控制系统的设计提供了一定的技术基础。本课程设计运用可编程并行接口芯片8255A作为扩展输出口,通过十二个发光二极管来模拟进行交通灯的燃灭管理,并详细阐述了其工作原理、基本功能框图、关键设计技术及软件工作流程,对选用芯片的特点进行了分析,并最后进行了软件实现,达到了系统要求的功能。

关键词:交通灯、8255A

2.2芯片8255A

2.2.1 8255A结构

8255A是可编程并行接口芯片,双列直插式封装,用+5V单电源供电,如图1是8255A的逻辑框图,内部有3个8位I/O端口:A口、B口、C口;也可以分为各有12 位的两组:A和B组,A组包含A口8位和C口的高四位,B组包含B口8位和C口的低4位;A 组控制和B组控制用于实现方式选择操作;读写控制逻辑用于控制芯片内寄存器的数据和控制字经数据总线缓冲器送入各组接口寄存器中。由于8255A 数据总线缓冲器是双向三态8位驱动器,因此可以直接和8088系统数据总线相连。

2.2.2 芯片 8255A端口地址见表1

A1 A0 / RD /WR /CS 操作类型

操作方向

0 0 1 0

1

1

1

1

PA→数据总线

PB→数据总线

PC→数据总线

输入(读)

0 0 1 0

1

1

1

1

1

数据总线→PA

数据总线→PB

数据总线→PC

输出(写)

表1

1

2.2.3 芯片 8255A工作方式

8255A 芯片有三种工作方式: 方式0、方式1、方式2。 它通过对控制寄存

器写入不同的控制字来决定其三种不同的工作方式。 方式0 : 基本输入/输出

图2(a) 方式0引脚功能

如图3-6(a )所示。 该方式下的A 口8位和B 口8位可以由输入的控制字

决定为输入或输出,C 口分成高4 位(PC7~PC4)和低4位(PC3~PC0)两组,也有控制字决定其输入或输出。 需注意的是:该方式下,只能将C 口其中一组的四位全部置为输入或输出。 方式1 : 选通输入/输出

A 组端口 A (8)

A 组端口C

高4位(4)

B 组端口C

低4位(4)

B 组端口 B (8)

A 组 控制

B 组 控制

CPU 接口

读、写 控制 逻辑

数据 总线 缓冲器 内部逻辑 外设接口 -RD -WR A1 A0 RESET

D7~D0

-CS

总线 数据 双向 I/O I/O PA7~PA0

I/O PC7~PC0 PB7~PB0

PC0~PC2

I/O

8位内部数据总线

8255

PA7~0

PC4 PC5 PC3 PC7~6

DA TA STBA IBFA

INTRA I/O

RD

8255

PA7~0

PC7 PC6 PC3 PC5~4 DA TA OBFA ACKA INTRA WR

PA 7~0

PC 7~4 PC 3~0

PB 7~0

8 4 4 8

I /O I /O I /O I /O

图2(b)方式1输入 图2(c)方式1输出

如图2(b )、(c)所示。该方式又叫单向输入输出方式,它分为A 、B 两组,A 组由数据口A 和控制口C 的高4位组成,B 组由数据口B 和控制口C 的低4位组成。数据口的输入/输出都是锁存的,与方式0不同,由控制字来决定它作输入还是输出。C 口的相应位用于寄存数据传送中所需的状态信号和控制信息。 方式2 : 双向输入输出

图2(d)方式2双向输入输出

如图3-6(d )所示。 本方式只有A 组可以使用,此时A 口为输入输出双

向口,C 口中的5位(PC3~PC7)作为A 口的控制位。

2.2.4 芯片

8255A 控制字

WR INTR PA7~0

PC7 PC6 PC5 PC3 PC4 OBF DA TA IBF STB

ACK INTRB

RD

PC2~0

I/O

8255

(1) 方式选择控制字 (2) PC 口按位置/复位控制字

三、实验内容

1、实验原理

实验原理图如图3-7所示,PB4 ~ PB7和PC0 ~ PC7分别与发光二极管电路L1~ L12 相连,本实验为模拟交通灯实验。交通灯的亮灭规律如下:

设有一个十字路口,1、3为南北方向,2、4为东西方向,初始为四个路口的红灯全亮,

P C3~0:1=输入, 0=输出

PB 口: 1=输入,0=输出 B 组 方式选择:0=方式0,1=方式1

PC7~4:1=输入, 0=输出 PA 口:1=输入,0=输出

方式选择:00=方式0 A 组 01=方式1

× × × 1=置位,0=复位

无关 位选择000~111 置位/复位标志:0=有效

主片 7

6 5 4

3 2 1

7 6 5 4 3 2 1 0

1×=方式2 方式标志:1=有效

之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车; 延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次以后,1、3 路口红灯亮, 而同时2、4路口的绿灯亮,2、4路口方向通车;延时一段时间后,2、4 路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,之后重复上述过程。

D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC7

10

RD 5WR 36A09A18RESET 35CS

6

U25

8255

1A121A241A361A482A1112A2132A3152A417

1Y1181Y2161Y3141Y4122Y192Y272Y352Y4

3

1G 12G 19

U1774LS240

L1

L4

L7

L10

L3

L6

L9

L12

12345678

9

JR1

680*8L1L2L4L3L5L6L7L8VCC

1A121A241A361A482A1112A2132A3152A4171Y1181Y2161Y3141Y4122Y192Y272Y352Y4

3

1G 12G 19

U16

74LS240

L2

L5

L8

L11

12345678

9

JR2

680*8

L9L10L11

L12

VCC

D0

D7IORD IOW R

A0A1RST1IO9

3-7

图3-7

8255A 的PB4 ~ PB7对应黄灯,PC0 ~ PC3对应红灯,PC4~ PC7对应绿灯。8255A 工作于模式0,并置为输出。由于各发光二极管为反向驱动,使其点亮应使8255A 相应端口置1。 2、实验线路连接

L1-PC0 L4-PC1 L7-PC2 L10-PC3 L2-PB4 L5-PB5 L8-PB6 L11-PB7 L3-PC4 L6-PC5 L9-PC6 L12-PC

四、实验软件框图

置8255控制字80H ,使各端口均为输出口,且均工作于方式0

点亮1、3路口绿灯

延时一段时间

使4个路口的红灯全亮

开始

五、实验步骤

1、打开单片机实验系统软件(开始→程序→DVCC598JH 实验系统→DVCC 实验系统)

2、按实验内容编写程序

3、编译、修改程序直到没有语法错误(编译→编译文件或F11)

4、连接实验系统电源(红色接+5V,黑色接地),上电后实验系统上显示“P。”闪动

5、将D 型9 芯插头串口线把计算机与实验系统连接起来

6、复位并连接实验系统(按复位键(Reset 红色,右中),再按连机键(PCDBG,

第二行最后一个按键))

7、下载程序到实验箱中(编译→编译连接传送文件或Ctrl+F9)

8、调试程序直到实现正确的功能(观察程序走向、数据存储器内容与外部实验现象)

六、程序清单

CODE SEGMENT

ASSUME CS:CODE

IOCONPT EQU 0FF2BH

IOAPT EQU 0FF28H

IOBPT EQU 0FF29H

IOCPT EQU 0FF2AH

ORG 10e0H

START: MOV DX,IOCONPT

MOV AL,80H

OUT DX,AL

MOV DX,IOBPT

MOV AL,00H

OUT DX,AL

MOV DX,IOCPT

MOV AL,0FH ;H

OUT DX,AL

CALL DELAY1

IOLED0: MOV AL,01011010B ;13L 24H MOV DX,IOCPT

OUT DX,AL

CALL DELAY1

;CALL DELAY1

MOV AL,00001010B ;13LN

OUT DX,AL

MOV CX,3H

IOLED1: MOV DX,IOBPT

MOV AL,01010000B

OUT DX,AL

CALL DELAY2

CALL DELAY2

MOV AL,00H

OUT DX,AL

CALL DELAY2

CALL DELAY2

LOOP IOLED1

MOV DX,IOCPT

MOV AL,10100101B

OUT DX,AL

CALL DELAY1

;CALL DELAY1

MOV AL,00000101B

OUT DX,AL

MOV CX,3H

IOLED2: MOV DX,IOBPT

MOV AL,0A0H

OUT DX,AL

CALL DELAY2

CALL DELAY2

MOV AL,00H

OUT DX,AL

CALL DELAY2

CALL DELAY2

LOOP IOLED2

MOV DX,IOCPT

MOV AL,0FH

OUT DX,AL

CALL DELAY2

JMP IOLED0

DELAY1: PUSH AX

PUSH CX

MOV CX,0030H

DELY2: CALL DELAY2

LOOP DEL Y2

POP CX

POP AX

RET

DELAY2: PUSH CX

MOV CX,8000H

DELA1: LOOP DELA1

POP CX

RET

CODE ENDS

END STA

七、实验小结

本次实验最大的体会与前两次相似,就是课程学习欠缺较大。虽然实验完成了,但是对于原理的掌握仍不深刻。今后还要加强学习。

8255练习题及答案

8255练习题及答案 一、填空题 1、8255A端口C按位置位复位控制字的_________位用来指定要置位或复位的端口C1的具体位置。 答案:D3、D2和D1 2、8255A端口C按位置位复位控制字中的________位决定对端口C的某一位置位或复位。答案:D0 3、8255A端口A工作在方式2时,使用端口C的________作为与CPU和外部设备的联络信号。 答案:PC7~PC3 4、8255A的每个端口的数据寄存器的长度为____位。 答案:8 5、Intel 8255A是一个________________________接口芯片。 答案:可编程的通用并行输入输出 6、了般I/O接口的编址方式可分为________________两种方式。 答案:I/O接口单独编,与存储器统一编址 7、8255A的端口C按位置位复位控制字的_________位用来指定置位或复位的端口C的具体位置. 答案:D3,D2和D1 8、8255A的端口C按位置位复位控制字中的________位决定对端口C的某一位置位或复位。答案:D0 9、8255A的端口A工作在方式2时,使用端口C的_________作为与CPU和外部设备的联络信号。 答案:PC7~PC3 10、8255A与CPU连接时,地址线一般与CPU的地址总线的_________连接。 答案:A0和Al 11、8255A控制字的最高位D7=_________时,表示该控制字为方式控制字。 答案:1 12、8255A的端口A的工作方式是由方式控制字的____位决定。 答案:D6和D5 13、8255A的端口B的工作方式由方式控制字的________位决定。 答案:D2 14、8255A的端口C的按位置位复位功能是由控制字中的D7=______来决定的。 答案:0 15、8255A内部具有_____个输入输出接口。 答案:3 16、8255A内部具有_______个输入输出端口。 答案:3 17、8255A的三个端口中只有端口____没有输入锁存功能。 答案:C 18、Intel8255A是一个_________________接口芯片。 答案:可编程的通用并行输入输出 19、8255A与CPU连接时,地址线一般与CPU的地址总线的__________连接。

8255试验报告(方式1查询输出)

《微型计算机接口技术》实验报告 实验名称:可编程并行接口芯片8255应用 (8255方式1、查询输出) 姓名 学号: 班级: 日期: 广东外语外贸大学信息科学技术学院

一、实验目的 掌握8255方式1查询输入、输出时的使用及编程 二、实验内容 1、按照图示连接硬件(注意图中大多数线试验箱已经连好,只连接需要用户连接的部分,预习,参考PPT) 2、编程:每按一次单脉冲按钮,ACK信号有效,8255内部输出准备好状态有效(INTR),查询输出一次数据,点亮、熄灭相应的发光二极管。 三、实验原理(8255方式1输出:结合结构图、时序图、状态字描述) 8255是一片可编程并行I/O接口芯片,每片8255有两个8位的并行口(PA,PB)和两个4位并行口(PC的高、低四位),其中PA口可工作于方式0,1,2。PB口工作于方式0,1。PC口仅能工作于方式0。在方式1中,将8255的三个端口分为了A、B两组,PA、PB两个口仍作为数据输入/输出口,而PC口则作为两部分,分别作为PA、PB口的联络信号。8255A 方式1 A口输出过程由CPU响应中断开始,在中断中用OUT指令通过8255A 向外设输出数据,发出WR 信号;WR上升沿清除INTRA 中断请求信号,且使OBFA =“L”(有效),通知外设取数;当外设接受数据后,发出ACKA 应答信号,一方面使OBFA=“H”(无效),另一方面在ACKA信号的上升沿使INTRA=“H”(有效),以此向CPU发出新的中断请求,开始下一轮输出。 四、硬件设计及方案论证(完整图的信号线连接及作用:数据、地址、控制及外设线)硬件设计如图,其中: 1.8255芯片中的数据总线D0—D7是和CPU的数据线直接相连的,从而CPU可以向8255 发送命令、数据和8255芯片也可以向CPU发送状态、数据等等。 2.8255芯片中的A0和A1也是与CPU的地址总线直接相连,并且在控制字在以下几种 情况有不同的设置,若A1A0= 00时,8255芯片中的PA口被选中,若A1A0=01时,8255芯片中的PB口被选中,若A1A0=10时,8255芯片中的PC口被选中,若A1A0=11时,则8255芯片的控制口被选中。 3.8255芯片的读信号、写信号、复位信号,分别于CPU的IOR、IOW、RESET直接相 连,当CPU执行IN指令时,8255的读信号有效,CPU从8255芯片读取信息,当CPU 执行OUT指令时,8255的写信号有效,CPU输出信息到8255芯片,完成一定的功能。 而当CPU发出复位的信号时,8255也会进行复位操作。 4.8255芯片中的片选信号与3—8译码器的Y1相连,而Y1的寻址范围是288H—28FH, 而8255芯片中的端口A的地址是288H,端口B的地址是289H,端口C的地址是28AH,控制端口的地址是28BH,因此4的端口都在在3—8译码器的Y1的寻址范围之内。5.8255芯片的PC6与脉冲信号是连接在一起,8255芯片的A端口与二极管L7—L0直接 相连。当脉冲信号到来,PC6会被置1,允许中断,CPU会将数据通过8255芯片的A 口输出到二极管L7中,点亮相应的灯。 。。。。。。等等详细论证,如我课堂所讲

8255A的工作方式概述

8255A的工作方式概述 8255A有三种工作方式:方式0、方式1和方式2。 1.方式0 方式0为基本的输入/输出方式,传送数据时不需要联络信号。A口、B口和C口(或C高4位口及C低4位口)均可独立设置成方式0输入口或方式0输出口。 2.方式1 方式l为选通输入/输出方式,即需要进行联络的输入/输出。A组、B组的8位口(A口或B口)可被设置为方式1输入口或方式1输出口,而这时要用相应C口的3根线作联络线。 3.方式2 方式2为双向传送。该方式要使用C口的5根线作联络线。由于C口只有8根线,因此只能有一组使用方式2确定为A组。当A组被设置成方式2时,A口被设置成双向端口,即既可以输入数据,也可以输出数据,C口的5根线被指定为联络线。 4.方式1、2用到的联络信号 当将8255A设置为方式1或方式2时,要使用C口中的一些线传输联络信号。这些信号可归结为五种(方式1仅使用其中的三种): (1)STB# 选通,输入信号,由外设提供,低电平有效。该信号将外设提供的数据送入端口的输入缓冲器。 (2)IBF 输入缓冲器满,输出信号,高电平有效。该信号有效表示来自外设的数据已经进入输入缓冲器,但CPU尚未取走,外设暂时不要送新的数据。 (3)OBF# 输出缓冲器满,输出信号,低电平有效。为低时表示CPU已把数据送到指定端口,该端口外围引线上的数据有效,外设可以利用了。 (4)ACK# 来自外设的回答,输入信号。为低时表示输出的数据已被外设接收,CPU可以输出下一个数据。 (5)INTR

中断请求,送往CPU。输入和输出都可以引起中断。对于输入,外设的数据进入输入缓冲器后8255A产生INTR,请求CPU取走数据;对于输出,当外设利用完输出缓冲器中的数据之后会发出一个回答信号ACK#,8255A产生INTR,请求CPU输出下一个数据。

8255方式1

8255A作中断方式工作的字符打印机的接口,如下图所示: 原理图 打印机接口需要一个数据选通信号STB,故由CPU控制PC0来产生选通脉冲STB。OBF在此没有用,将它悬空就行了,ACK端连接打印机端。 PC3连到中断控制器8255A的中断请求信号输入端IR3。对应于中断类型号0BH,此中断对应的中断,向量放在00段2CH、2DH、2EH、2FH这4个单元中,8255A在系统程序中已完成初始化。 设8255A的端口地址为: A端口:0C0H B端口:0C2H C端口:0C4H 控制口:0C6H 方式控制字为0A0H,因为B口未用,故取D3~D1位为0,其他各位的值使A 组工作于方式1,A端口为输出,作为输出。 在这个设计中,由中断处理子程序完成字符输出;而初始化程序完成对8255A设置方式控制字、设置中断向量、开放中断。主程序执行其它操作,并等待中断。

中断服务主程序入口标号为INTPR。所谓设置中断向量,就是把中断服务程序的入口地址(4字节的逻辑地址)写到中断向量表中由中断类型号指定的单元中。 在中断处理子程序中,设字符已放在主机的字符输出缓冲区,往A端口输出字符后,CPU用对C端口的置1/置0命令使输出负脉冲,从而将数据送入打印机。当打印机接收并打印字符后,发出回答信号ACK,由此清除了8255A 的“输出缓冲器满”信号,并使8255A产生新的中断请求。 软件设计 1、CPU启动打印机设备工作。 2、当打印机准备好一个字符输出时,把外设置为就绪状态。 3、I/O口在设备就绪时向CPU发出中断请求,需求服务。 4、CPU接到中断请求信号,暂停当前工作,响应中断,输入中断服务程序,服务程序实现发送下一个字符到I/O口并选通打印机。 5、CPU从中断服务。 6、重复2-5,直到所有的字符打印完关闭打印机 7、程序及流程图如下: 主程序: MAIN: MOV AL,0A0H OUT 0C6H,AL ;设置8255A的控制字 MOV AL,01H ;使选通无效 OUT 0C6H,AL XOR AX,AX MOV DS,AX MOV AX,OFFSET ROUTINTR MOV WORD PTR [002CH],AX MOV AX,SEG ROUTINTR MOV WORD PTR [002EH],AX ;送中断向量 MOV AL,0DH OUT 0C6H,AL ;使8255A A口输出允许中断

(完整版)接口考试试题第4章(8255)

一、选择题 2.8255A在方式1工作时,端口A和端口B作为数据输入输出使用,而端口C的各位分别作为端口A和端口B的控制信息和状态信息。其中作为端口A和端口B的中断请求信号的分别 是端口C的() A. PC4和PC2 B.PC5和PC1 C.PC6和PC7 D.PC3和PC0 D 3.8255A的端口A或端口B工作在方式1输入时,端口与外设的联络信号有()。 A. 选通输入STB# B. 中断请求信号INTR C. 中断允许信号INTE D. 输入缓冲器满信号IBF A 4.当8255A的端口A和端口B都工作在方式1输入时,端口C的PC7和PC6 ()。 A. 被禁止使用 B. 只能作为输入使用 C.只能作为输出使用 D. 可以设定为输入或输出使用 D 7.8255A的A 口工作在方式2时,B 口()。 A. 可工作在方式0 或方式1 B. 可工作在方式1 或方式2 C. 只能工作在方式1 D. 只能空着 A 8.8255A 用户可以用命令字设置() A. A 口和B 口均可工作在方式0或方式1或方式2 B. A 口工作在方式0, B 口工作在方式1 C. A 口工作在方式1, B 口工作在方式1或方式2 D. A 口工作在方式2, B 口只能工作在方式1 B 10. 当8255A工作在方式1时,端口C被分为两个部分,分别作为端口A和端口B的控制信息 和状态信息。这两个部分的划分是() A.端口C的高4位和低4位 B. 端口C的高5位和低3位 C.端口C的高3位和低5位 D. 端口C的高6位和低2两位 B 11. 8255A工作方式设置为方式1时,CPU与外设通信() A. 可以采用查询方式传送,或者采用中断方式传送 B. 只能采用中断方式传送 C. 可以进行双向方式传送 D. 只能采用无条件传送方式或查询方式传送 A 14.假定对8255A进行初始化时所访问的端口地址是0CBH并将其A端口设定为工作方式1输出,则A端口的地址是()。 A. 0C8H B. 0CAH C. 0CCH D. 0CEH 本题答案为A。 16. 当8255A工作于方式2时,要占用几条联络信号线()。 A . 2 B . 3

8255A的工作方式及其初始化编程

8255A 的工作方式及其初始化编程 8255A 有三种工作方式:基本输入/输出方式、单向选通输入/输出方式和双向选通输入/输出方式. 1.8255A 的工作方式 (1)方式0:基本输入/输出方式(basic Input/Output) 方式0是8255A 的基本输入/输出方式,其特点是与外设传送数据时,不需要设置专用的联络(应答)信号,可以无条件的直接进行I/O 传送. A, B, C 3个端口都可以工作在方式0. A 口和 B 口工作在方式0时,只能设置为以8位数据格式输入/输出; C 口工作在方式0时,可以高4位和低4位分别设置为数据输入或数据输出方式. 方式0常用于与外设无条件数据传送或查询方式数据传送. (2)方式1:单向选通输入/输出方式(strobe Input/Output) 方式1是一种带选通信号的单方向输入/输出工作方式,其特点是:与外设传送数据时,需要联络信号进行协调,允许用查询或中 断方式传送数据. 由于C 口的PC0, PC1和PC2定义为B 口工作在方式1的联络信号线,PC3, PC4和PC5定义为A 口工作方式1的联络信号线,因此只允许A 口和B 口工作 在方式1. A 口和 B 口工作在方式1,当数据输入时, C 口的引脚信号定义如图7.6所 示.PC3, PC4和PC5定义为A 口的联络信号线INTRA, A STB 和IBFA, PC0, PC1 和PC2定义为B 口的联络信号线INTRB, IBFB 和B STB ,剩余的PC6和PC7仍 可以作为基本I/O 线,工作在方式0. 方式1输入联络信号的功能如下: S T B (strobe input):选通信号,输入,低电平有效.此信号由外设产生输入,当STB 有效时,选通A 口或B 口的输入数据锁存 器,锁存由外设输入的数据,供CPU 读取. IBF(input buffer full):输入缓冲器满信号,输出,高电平有效.当A 口或B 口的输入数 据锁存器接收到外设输入的数据时,IBF 变为高电平,作为对外设STB 的响应信号,CPU 读取 数据后IBF 被清除. INTR:中断请求信号,输出,高电平有效,用于请求以中断方式传送数据. 为了能实现用中断方式传送数据,在8255A 内部设有一个中断允许触发器INTE,当触发器 为"1"时允许中断,为"0"时禁止中断.A 口的触发器由PC4置位或复位,B 口的触发器由PC2置 位或复位. 方式1数据输入的时序如图7.7所示. 当外设的数据准备就绪后,向8255A 发送STB 信号以便锁存输入的数据, STB 的宽度至少为500ns,在STB 有效之后的约300ns,IBF 变为高电平,并一直保持到RD 信号由低电平变为高电平,待 CPU 读取数据后约300ns 变为低电平,表示一次数据传送结束.INTR 是在中 断允许触发器INTE 为1,且IBF 为1(8255A 接收到数据)的条件下,在STB 后沿(由低变高)之后约300ns 变为高电平,用以向CPU 发出中断请求,待 RD 变为低电平后约400ns, INTR 被撤销. A 口和 B 口工作在方式1,当数据输出时, C 口的引脚信号定义如图7.8所示. PC3, PC6和PC7定义为A 口联络信号线INTRA,A ACK 和A OBF ,PC0, PC1和PC2定义为B 口联络信号线INTRB, B OBF 和B ACK ,剩余的PC4 和PC5仍可以作为基本I/O 线,工作在方式0. 方式1输出联络信号的功能如下: OBF (output buffer full):输出缓冲器满指示信号输出,低电平有效. OBF 信号由8255A 发送给外设,当CPU 将数据写入数据端口时, OBF 变为低 电平,用于通知外设读取数据端口中的数据. A C K (acknowledge input):应答信号,输入,低电平有效. ACK 信号由 外设发送给8255A,作为对OBF 信号的响应信号,表示输出的数据已经被外设接 收,同时清除OBF 信号. INTR:中断请求信号,输出,高电平有效.用于请求以中断方式传送数据. 方式1数据输出的时序如图7.9所示.当CPU 向8255A 写入数据时,WR 信号上升沿后约650ns, OBF 有效,发送给外设,作为外设接收数据的选通信号.当外设接收到送来的数据后,向8255A 回送ACK 信号,作为对OBF 信号的应答.ACK 信号有效之后约350ns, OBF 变为无效,表明一次数据传送结束.INTR 信号在中断允许触发器INTE 为1且 信号无效之后约350ns 变为 高电平.

8255设置

8255的方式设置(一) 8255A的端口A可以在方式0、方式1、方式2这三种方式下工作,而端口B只能在方式0 和方式1这两种方式下工作。此外,我们也说明了端口的工作方式是由方式选择控制字决定的。下面,介绍三种工作方式的具体含义。 (1)方式0的工作特点:方式0也叫基本输入/输出方式。在这种方式下,端口A和端 口B可以通过方式选择字规定为输入口或者输出口,端口C分为2个4位端口,高4位为一个端口,低4位为一个端口;这两个4位端口也可由方式选择字规定为输入口或输出口。概括地说,方式O的基本特点如下:①任何一个端口可作为输入口,也可作为输出口,各端口之间没有规定必然的关系。②各个端口的输入或输出,可以有16种不同的组合,所以 可以适用于多种使用场合。 (2)方式0的使用场合有两种:一种是同步传送,另一种是查询式传送。在同步传送时,发送方和接收方的动作由一个时序信号来管理,所以,双方互相知道对方的动作,不需要应答信号,也就是说,CPU不需要查询外设的状态。这种情况下,对接口的要求很简单,只要能传送数据就行了。因此,在同步传输下使用8255A时,3个数据端口可以实现三路数据传输。查询式传输时,需要有应答信号。但是,在方式0情况下,没有规定固定的应答信号,所以,这时,将端口A和端口B作为数据端口,把端口C的4个数位(高4位或者低4位均可)规定为输出口,用来输出一些控制信号,而把端口C的另外4个数位规定为输入口,用来读入外设的状态。就是这样,利用端口C来配合端口A和端口B的输入/输出操作。 (1)方式1的工作特点:方式1也叫选通的输入/输出方式。和方式O相比,最重要的 差别是A端口和B端口用方式1进行输入/输出传输时,要利用端口C提供的选通信号和应答信号,而这些信号与端口C中的数位之间有着固定的对应关系,这种关系不是程序可以改变的,除非改变工作方式。概括地讲,方式1有如下特点:①端口A和端口B可分别作为两个数据口工作在方式1,并且,任何一个端口可作为输入口或者输出口。②如果8255A 的端口A和端口B中只有一个端口工作于方式1,那么,端口C中就有3位被规定为配合方式1工作的信号,此时,另一个端口可以工作在方式o,端口C中的其他数位也可以工作在方式o,即作为输入或者输出. ③如果8255A的端口A和端口B都工作在方式1,那么,端口C中就有6位被规定为配合方式1工作的信号,剩下的2位,仍可作为输入或输出。 (2)方式1输入情况下有关信号的规定: 当端口A工作在方式1并作为输入端口时,端口C的数位PC4作为选通信号输入端STBA,PC5作为输入缓冲区满信号输出端IBFA,PC3则作为中断请求信号输出端INTRA。当端口B 工作在方式1并作为输入端口时,端口C的数位PC2作为选通信号输入端STBB,PC1作为输入缓冲区满信号输出端IBFB,PC0作为中断请求信号输出端INTRB。这些数位和信号之间的对应关系是在对端口设定工作方式时自动确定的,不需要程序员干预;而且,一旦确定了某个端口工作于方式1,程序员也就无法改变端口C的数位与信号之间的对应关系,除非重新设置方式选择控制字。当8255A的端口A和端口B都工作在方式1的输入情况时,端口C 的PC0~PC5共6个数位都被定义,只剩下PC6、PC7这2位还未用。此时,方式选择控制字的D3位用来定义PC6和PC7的数据传输方向。当D3为1时,PC6和PC7这2位作为输入来用;当D3为0时,PC6和PC7作为输出来用。

微机接口实验报告-8255并口控制器实验 (1)-基本输入输出实验

姓名 院专业班 年月日实验内容8255并口控制器实验(1) ——基本输入输出实验指导老师 【实验目的】 掌握8255 的工作方式及应用编程。 掌握8255的典型应用电路接法。 【试验设备】 PC微机一台、TD-PIT+实验系统一套。 【实验内容】 基本输入输出实验。编写程序,使8255的A口为输出,B口为输入,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就改变。 【实验原理】 并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式。8255的内部结构及引脚如图8-1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图8-2所示。 图8-1 8255的内部结构及引脚 【实验说明及步骤】 本实验使8255端口A工作在方式0并作为输出口,端口B工作在方式0并作为输入口。用一组开关信号接入端口B,端口A输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入输出功能。参考程序流程如图8-3所示。 实验步骤如下。 1.确认从PC机引出的两根扁平电缆已经连接在实验平台上。

姓名 院专业班 年月日实验内容8255并口控制器实验(1) ——基本输入输出实验指导老师 2.参考图8-4所示连接实验线路。 3.首先运行CHECK程序,查看I/O空间始地址。 4.利用查出的地址编写程序,然后编译链接。 5.运行程序,拨动开关,看数据灯显示是否正确。 (a)工作方式控制字(b)C口按位置位/复位控制字 8-2 8255控制字格式

8255芯片工作方式2用途

6.5 8255A方式2的特点 8255方式2也叫双向传输方式。该方式只适用于端口A。在方式2下,外设在8位数据总线上,既能往CPU发送数据,又能从CPU接收数据。当A端口作于方式2时,端口C中有固定的5根线配合A口工作,用来提供相应的控制信号和状态信号。(PC3、PC4、PC5、PC6、PC7配合A口)。 一、8255方式2的特点 方式2只适用于端口A。当端口A作于方式2时,端口C用5个数位自动配合端口A提供控制信号和状态信号。控制信号、状态信号和时序基本上是A口工作在方式1下的控制信号、状态信号和时序的组合。 二、方式2的信号规定和时序 我们可以方式2的信号图 与A口工作在方式1输入

和方式1输出下的信号进行比较,发现它们基本上是A口工作在方式1下的控制信号、状态信号的组合。

INTR ——中断请求信号,高电平有效 A 不管是输入还是输出,当一个过程完成而要进入下一个过程时,8255A通过这一引脚向CPU发出中断请求信号 STB *——选通信号,低电平有效 A 由外设提供的输入信号,当其有效时,将输入设备送来的数据锁存至8255A的输入锁存器。 ——输入缓冲器满信号,高电平有效 IBF A *的回答信号。也可以8255A输出的联络信号。当其有效时,表示数据已锁存在输入锁存器,作为STB A 作为供CPU查询的信号 OBF ——输出缓冲器满信号,低电平有效 A 8255A输出给外设的一个控制信号,当其有效时,表示CPU已把数据输出给指定的端口,外设可以取走。 ——响应信号,低电平有效 ACK A 这信号和方式一略有区别。该信号有效是,使8255A的端口A的输出缓冲器开启,送出数据,否则,输出缓冲器处于高阻状态。 ——中断允许信号,即控制中断允许或中断屏蔽的信号 INTE 1 该信号无外部引出端,它是由软件通过对C端口的置1/置0指令实现对中断的控制。PC6为0允许8255A 向CPU发中断请求信号,通知CPU往端口A输出一个数据。 ——中断允许信号,即控制中断允许或中断屏蔽的信号 INTE 2 该信号无外部引出端,它是由软件通过对C端口的置1/置0指令实现对中断的控制。PC4为0允许8255A 向CPU发中断请求信号,通知CPU从端口A输入一个数据。 方式2的时序基本上也是在方式1下输入时序和输出时序的组合。输入/输出的先后顺序是任意的,根据实际传送数据的需要选定。方式2的数据输出过程与方式1的输出方式有一点不同:数据输出时8255A 不是在OBF有效时向外设输出数据,而是在外设提供响应信号ACK时才送出数据。具体可以看时序图

微机接口8255A方式1输出实验

实验报告 课程名称微机接口技术 实验项目名称实验 5 8255A方式1输出实验班级与班级代码102511022 实验室名称(或课室) ss1-337 专业计算机科学与技术 任课教师李芳 学号:10251102252 姓名:刘芳 实验日期:2012 年5月28 日 广东商学院教务处制

姓名实验报告成绩 评语: 指导教师(签名) 年月日说明:指导教师评分后,学年论文交院(系)办公室保存

实验 5 8255方式1输出实验 一、实验目的 掌握查询方式实现8255选通型输人(方式1)的编程控制方法。 二、实验原理 可编程并行I/O接口芯片8255A具有40条引脚,使用单一+5V电源。8255A芯片内部有3个8位的输入/输出端口,即端口A、端口B和端口C。从内部控制的角度来讲,可分为两组:A组和B组。A组控制模块管理A端口和C端口的高4位(PC7~PC4);B组控制模块管理B端口和C端口的低4位(PC3~PC0)。 8255A有三种工作方式: 方式0:基本型输入/输出方式 方式1:选通型输入/输出方式 方式2:双向数据传送方式 A端口可以工作在方式0、方式1和方式2;B端口可以工作在方式0和方式1;C端口只能工作在方式0下。 当A口或B口工作在方式1时需要各自向C口借三根线作为各自的联络信号线。对A口指定的是PC4、PC5、PC3三位,对B口指定的是PC2、PC1、PC0三位。且指定的这6根线都不受方式选择控制字的控制。 对8255A初始化只有一个步骤就是向控制口写入方式选择控制字,其方式选择控制字格式如下图所示: 8255A的控制字除了上述的方式选择控制字外还有一个C端口按位置0/置1控制字,其格式如下图所示:

相关文档
最新文档