搜档网
当前位置:搜档网 › 可编程并行接口芯片8255A

可编程并行接口芯片8255A

可编程并行接口芯片8255A
可编程并行接口芯片8255A

可编程并行接口芯片8255A

并行输入/输出就是把若干个二进制位信息同时进行传送的数据传输方式。它具有传输速度快、效率高的优点。并行数据传输需用的信号线较多(与串行传输相比),不适合长距离传输。所以,并行数据传输适用于数据传输率要求较高,而传输距离相对较短的场合。

8255A是Intel公司为其80系列微处理器生产的通用可编程并行输入输出接口芯片,也可以与其他系列的微处理器配套使用。由于其通用性强,与微机接口方便,且可通过程序指定完成各种输入输出操作,因此,8255获得了广泛的应用。

8255A的引脚与结构

1.8255A的引脚

8255A是可编程的三端口并行输入输出接口芯片,具有40个引脚,双列直插式封装,由+5V供电,其引脚与功能示意图如图所示。

A、B、C三个端口各有8条端口I/O线:PA7PA0,PB7PB0,PC7PC0,共32个引脚,用于8255A与外设之间的数据(或控制、状态信号)的传送。

D0~D7:8位三态数据线,接至系统数据总线。CPU通过它实现与8255之间数据的读出与写入,以及控制字和状态字的写入与读出等。

A0~A1:地址信号。A0和A1经片内译码产生四个有效地址分别对应A、B、C 三个独立的数据端口以及一个公共的控制端口。在实际使用中,A1、A0端接到系统地址总线的A1、A0。

CS#:片选信号,由系统地址译码器产生,低电平有效。

读写控制信号RD#和WR#:低电平有效,用于决定CPU和8255A之间信息传送的方向:当RD#=0时,从8255A读至CPU;当WR#=0时,由CPU写入8255A。CPU对8255各端口进行读写操作时的信号关系如表所示。

RESRT:复位信号,高电平有效。8255A复位后,A、B、C三个端口都置为输入方式。

2.8255A的内部结构

如图所示,8255A的内部由以下四部分组成:

(1)端口A、端口B和端口C

端口A、端口B和端口C都是8位端口,可以选择作为输入或输出。还可以将端口C的高4位和低4位分开使用,分别作为输入或输出。当端口A和端口B

作为选通输入或输出的数据端口时,端口C的指定位与端口A和端口B配合使用,用作控制信号或状态信号。

(2)A组和B组控制电路

这是两组根据CPU送来的工作方式控制字控制8255工作方式的电路。它们的控制寄存器接收CPU输出的方式控制字,由该控制字决定端口的工作方式,还可根据CPU的命令对端口C实现按位置位或复位操作。

(3)数据总线缓冲器

这是一个8位三态数据缓冲器,8255A正是通过它与系统数据总线相连,实现8255A与CPU之间的数据传送。输入数据、输出数据、CPU发给8255A的控制字等都是通过该部件传递的。

(4)读/写控制逻辑

读/写控制逻辑电路的功能是负责管理8255A与CPU之间的数据传送过程。它接收CS及地址总线的信号A1、A0和控制总线的控制信号RESET、WR、RD,将它们组合后,得到对A组控制部件和B组控制部件的控制命令,并将命令送给这两个部件,再由它们控制完成对数据、状态信息和控制信息的传送。各端口读写操作与对应的控制信号之间的关系见表所示。

8255A的工作方式与控制字

1.8255A的工作方式

8255A在使用前要先写入一个工作方式控制字,以指定A、B、C三个端口各自的工作方式。8255A共有三种工作方式:

方式0——基本输入输出方式,即无须联络就可以直接进行8255A与外设之间的数据输入或输出操作。A口、B口、C口的高四位和低四位均可设置为方式0。方式1——选通输入输出方式,此时8255A的A口和B口与外设之间进行输入

或输出操作时,需要C口的部分I/O线提供联络信号。只有A口和B口可工作于方式1。

方式2——选通双向输入输出方式,即同一端口的I/O线既可以输入也可以输出,只有A口可工作于方式2。此种方式下需要C口的部分I/O线提供联络信号。有关8255A三种工作方式的功能及应用的详细介绍见下一节。

2.8255A的控制字

(1)工作方式选择控制字

8255A的工作方式可由CPU写一个工作方式选择控制字到8255A的控制寄存器来选择。控制字的格式如图所示,可以分别选择端口A、端口B和端口C上下两部分的工作方式。端口A有方式0、方式1和方式2共三种工作方式,端口B只能工作于方式0和方式1,而端口C仅工作于方式0。

注意:在端口A工作于方式1或方式2,端口B工作于方式1时,C口部分I/O 线被定义为8255A与外设之间进行数据传送的联络信号线,此时,C口剩下的I/O 线仍工作于方式0,是输入还是输出则由工作方式控制字的D0和D3位决定,如图所示。

(2)C口按位置位/复位控制字

8255A的C口具有位控功能,即端口C的8位中的任一位都可通过CPU向8255A 的控制寄存器写入一个按位置位/复位控制字来置1或清0,而C口中其他位的状态不变。控制字格式如图所示。

例如,要使端口C的PC4置位的控制字为00001001B(09H),使该位复位的控制字为00001000B(08H)。

应注意的是,C口的按位置位/复位控制字必须跟在方式选择控制字之后写入控制字寄存器,即使仅使用该功能,也应先选送一个方式控制字。方式选择控制字只需写入一次,之后就可多次使用C口按位置位/复位控制字对C口的某些位进行置1或清0操作。

8.2.3 各种工作方式的功能

1.方式0——基本输入输出方式

方式0无须联络就可以直接进行8255A与外设之间的数据输入或输出操作。它适用于无需应答(握手)信号的简单的无条件输入/输出数据的场合,即输入/输出数据处于准备好状态。

在此方式下,A口、B口、C口的高4位和低4位可以分别设置为输入或输出,即8255A的这四个部分都可以工作于方式0。需要说明的是,这里所说的输入或输出是相对于8255A芯片而言的。当数据从外设送往8255A则为输入,反之,数据从8255A送往外设则为输出。

方式0也可以用于查询方式的输入或输出接口电路,此时端口A和B分别作为一个数据端口,而用端口C的某些位作为这两个数据端口的控制和状态信息。如图所示是一个方式0下利用C口某些位作为联络信号的接口电路。在此例中将8255A设置为:A口输出,B口输入,C口高4位输入(现仅用PC7、PC6两位输入外设的状态),C口低4位输出(现仅用PC1、PC0两位输出选通及清除信号)。此时8255A的工作方式控制字为:B(8AH)。

其工作原理如下:在向输出设备送数据前,先通过PC7查询设备状态,若设备准备好则从A口送出数据,然后通过PC1发选通信号使输出设备接收数据。从输入设备取数据前,先通过PC6查询设备状态,设备准备好后,再从B口读入数据,然通过PC0发清除信号,以便输入后续字节。

与下面介绍的选通输入输出方式(方式1)和选通双向输入输出方式(方式2)相比,方式0的联络信号线可由用户自行安排(方式1和方式2中使用的C口联络线是已定义好的),且只能用于查询,不能实现中断。

2.方式1——选通输入输出方式

与方式0相比,它的主要特点是当A口、B口工作于方式1时,C口的某些I/O 线被定义为A口和B口在方式1下工作时所需的联络信号线,这些线已经定义,不能由用户改变。现将方式1分为:A口和B口均为输入、A口和B口均为输出以及混合输入与输出等三种情况进行讨论。

(1)A口和B口均为输入

A口和B口均工作于方式1输入时,各端口线的功能如图所示。

A口工作于方式1输入时,用PC5~PC3作联络线。B口工作于方式1输入时,用PC2~PC0。C口剩余的两个I/O线PC7和PC6工作于方式0,它们用作输入还是输出,由工作方式控制字中的D3位决定,D3=1,输入;D3=0,输出。

各联络信号线的功能解释如下(请参考图所示的方式1输入时序图来理解各信号的功能):

STB(Strobe):选通信号,输入,低电平有效。当STB有效时,允许外设数据进入端口A或端口B的输入数据缓冲器。STBA接PC4,STBB接PC2。IBF(Input Buffer Full):输入缓冲器满信号,输出,高电平有效。当IBF有效时,表示当前已有一个新数据进入端口A或端口B缓冲器,尚未被CPU取走,外设不能送新的数据。一旦CPU完成数据读入操作后,IBF复位(变为低电平)。

INTR(Interrupt Request):中断请求信号,输出,高电平有效。在中断允许INTE=1且IBF=1的条件下,由STB信号的后沿(上升沿)产生,该信号可接至中断管理器8259A作中断请求。它表明数据端口已输入一个新数据。若CPU响应此中断请求,则读入数据端口的数据,并由RD信号的下降沿使INTR复位(变为低电平)。

INTE(Interrupt Enable):中断允许信号,高电平有效。它是8255A内部控制8255A是否发出中断请求信号(INTR)的控制信号。这是由软件通过对C口的置位或复位来实现对中断请求的允许或禁止的。端口A的中断请求INTRA可通过对PC4的置位或复位加以控制,PC4置1,允许INTRA工作,PC4清0,则屏蔽INTRA。端口B的中断请求INTRB可通过对PC2的置位或复位加以控制。

(2)A口和B口均为输出

A口和B口均工作于方式1输出时,各端口线的功能如图所示。

A口工作于方式1输出时,用PC3,PC6和PC7作联络线。B口工作于方式1输出时,用PC0PC2作联络线。C口剩余的两个I/O线PC4和PC5工作于方式0。各联络信号线的功能解释如下(请参考图所示时序图来理解各信号的功能):

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

把数据写入端口A或B的输出缓冲器时,写信号WR的上升沿把OBF置成低电平,通知外设到端口A或B来取走数据,当外设取走数据时向8255A发应答信号ACK,ACK的下降沿使OBF恢复为高电平。

ACK(Acknowledge):外设应答信号,输入,低电平有效。当ACK有效时,表示CPU输出到8255A的数据已被外设取走。

INTR(Interrupt Request):中断请求信号,输出,高电平有效。该信号由ACK 的后沿(上升沿)在INTE=1且OBF=1的条件下产生,该信号使8255A向CPU发出中断请求。若CPU响应此中断请求,向数据口写入一新的数据,写信号WR

上升沿(后沿)使INTR复位,变为低电平。

INTE(Interrupt Enable):中断允许信号,与方式1输入类似,端口A的输出中断请求INTRA可以通过对PC6的置位或复位来加以允许或禁止。端口B的输出中断请求信号INTRB可以通过对PC2的置位或复位来加以允许或禁止。

(3)混合输入与输出

在实际应用中,8255A端口A和端口B也可能出现一个端口工作于方式1输入,另一个工作于方式1输出的情况,有以下两种情况:

端口A为输入,端口B为输出时,其控制字格式和连线图如图所示。

端口A为输出,端口B为输入时,其控制字格式和连线图如图所示。

3.方式2——选通双向输入输出方式

选通双向输入输出方式,即同一端口的I/O线既可以输入也可以输出,只有A 口可工作于方式2。此时C口有5条线(PC7PC3)被规定为联络信号线。剩下的3条线(PC2PC0)可以作为B口工作于方式1时的联络线,也可以与B口一起工作于方式0。8255A工作于方式2时各端口线的功能如图所示。

图中INTE1是输出的中断允许信号,由PC6的置位或复位控制。INTE2是输入的中断允许信号,由PC4的置位或复位控制。图中其他各信号的作用及意义基本上与方式1相同,在此不再赘述。

8255A的应用举例

例8255A初始化编程。设8255A工作于方式1,A口输出,B口输入,PC4,PC5输入,禁止B口中断。设片选信号CS由A9A2=确定。试编写程序对8255A 进行初始化。根据题意,设计接口电路如图所示。

初始化程序:

MOV AL,B ;控制字送AL

MOV DX,11B ;8255A控制字寄存器地址送DX

OUT DX,AL ;控制字送8255A的控制寄存器

MOV AL,00001101B ;PC6置1,允许A口中断

OUT DX,AL

MOV AL,00000100B ;PC2置0,禁止B口中断

OUT DX,AL

例用于对非编码键盘的管理。

如图所示,使用8255A构成4行4列的非编码矩阵键盘控制电路。

图中8255A的A口工作于方式0输出,B口工作于方式0输入。键盘工作过程如下:首先进行第1次键盘扫描(判断是否有键按下)。使A口PA3~PA0输出均为0,然后读入B口的值,查看PB3PB0是否有低电平,若没有低电平,则说明没有键按下,继续进行扫描。若PB3PB0中有一位为低电平,使用软件延时10ms20ms以消除抖动,若低电平消失,则说明低电平是由干扰,或按键的抖动引起的,必须再次扫描,否则,则确认有键按下,接着进行第2次扫描(行扫描,判断所按键的位置)。首先通过A口输出使PA0=0,PA1=1,PA2=1,PA3=1对第0行进行扫描,此时,读入B口的值,判断PB3PB0中是否有某一位为低电平,若有低电平,则说明第0行某一列上有键按下。如果没有低电平,接着使A口输出PA0=1,PA1=0,PA2=1,PA3=1对第1行进行扫描,按上述方法判断,直到找到被按下的键,并识别出其在矩阵中的位置,从而可根据键号去执行该键对应的处理程序。

设图中8255A的A口、B口和控制寄存器的地址分别为80H、81H和83H,其键盘扫描程序如下:

;判断是否有键按下

MOV AL,82H ;初始化8255A,A口方式0输出,B口方式0输入

OUT 83H,AL ;将工作方式控制字送控制寄存器

MOV AL,00H

OUT 80H,AL ;使PA3=PA2=PA1=PA0=0

LOOA:IN AL,81H ;读B口,判断PB3PB0是否有一位为低电平

AND AL,0FH

CMP AL,0FH

JZ LOOA ;PB3~PB0没有一位为低电平时转LOOA继续扫描

CALL D20ms ;PB3~PB0有一位为低电平时调用延时20ms子程序

IN AL,81H ;再次读入B口值。如果PB3PB0仍有一位为低电平,

AND AL,0FH ;说明确实有键按下,继续往下执行,以判断是哪个键 CMP AL,0FH ;按下;如果延时后PB3PB0中低电平不再存在,

JZ LOOA ;说明是干扰或抖动引起,转LOOA继续扫描。

;判断哪一个键按下

START:MOV BL,4 ;行数送BL

MOV BH,4 ;列数送BH

MOV AL,0FEH ;D0=0,准备扫描0行

MOV CL,0FH ;键盘屏蔽码送CL

MOV CH,0FFH ;CH中存放起始键号

LOP1:OUT 80H,AL ;A口输出,扫描一行

ROL AL,1 ;修改扫描码,准备扫描下一行

MOV AH,AL ;暂时保存

IN AL,81H ;读B口,以便确定所按键的列值

AND AL,CL

CMP AL,CL

JNZ LOP2 ;有列线为0,转LOP2,找列值

ADD CH,BH ;无键按下,修改键号,使适合下一行找键号

MOV AL,AH ;恢复扫描码

DEC BL ;行数减1

JNZ LOP1 ;行未扫描完转LOP1

JMP START ;重新扫描

LOP2:INC CH ;键号加1

ROR AL,1 ;右移一位

JC LOP2 ;无键按下,查下一列线

MOV AL,CH ;已找到,键号送AL

CMP AL,0

JZ KEY0 ;是0号键按下,转KEY0执行

CMP AL,1

JZ KEY1 ;是1号键按下,转KEY1执行

……

CMP AL,0EH ;

JZ KEY14 ;是14号键按下,转KEY14执行

JMP KEY15 ;不是014号键,一定是15号键,转KEY15执行

例利用8255A作为两机并行通讯接口。

两台PC机通过8255A构成如图所示的并行数据传送接口,A机发送数据,B 机接收数据。A机一侧的8255A工作于方式1输出,从PA7PA0发送由CPU写入A口的数据,PC3、PC7和PC6提供A机一侧8255A的A口工作于方式1时的联络信号INTR、OBF和ACK。B机一侧的8255A工作于方式0输入,从PA7PA0接收A机送来的数据,PC4和PC0选作联络信号。

工作过程如下:A机将数据从A口送出后,经PC7送出OBF有效信号(请参阅图和),B机查询到OBF信号(经B机一侧8255A的PC4引脚)有效后,从A 口读入数据,并通过软件在PC0上产生一个ACK有效信号,该信号的上升沿使A 机的8255A的PC3上产生有效的INTR信号,A机CPU查询到INTR有效(PC3为高电平)时,接着发送下一个数据,如此不断重复,直到发送完所有的数据为止。

假设两台PC机传送1KB数据,发送缓冲区为0300:0000H,接收缓冲区为0400:0000H,A、B两机的8255A的端口地址均为300303H。驱动程序如下:

;A机的发送程序

MOV AX,0300H ;

MOV ES,AX ;设置A机发送数据缓冲区段地址

MOV BX,0 ;设置A机发送数据缓冲区偏移地址

MOV CX,03FFH ;设置发送字节数

;对A机8255A进行初始化

MOV DX,303H ;指向A机8255A的控制寄存器

MOV AL,B ;8255A指定为工作方式1输出

OUT DX,AL

MOV AL,00001101B ;置发送中断允许INTEA=1

OUT DX,AL ;

;发送数据

MOV DX,300H ;向A口写第1个数据,产生第一个OBF信号,对方 MOV AL,ES:[BX] ;查询到OBF信号有效后,读入数据,并通过软件,

;在PC0上发出ACK信号,该信号上升沿使A机8255A ;的PC3产生有效的INTR信号,A机CPU查询到

OUT DX,AL ;该信号有效后,再接着发下一个数据。

INC BX ;缓冲区指针加1

DEC CX ;计数器减1

LOOP0:MOV DX,302H ;指向8255A的C口,读有关状态信息 LOOP1:IN AL,DX ;

AND AL,08H ;查询中断请求信号INTR(PC3)=1

JZ LOOP1 ;若INTR=0则等待,否则向A口发数据

MOV DX,300H

MOV AL,ES:[BX]

OUT DX,AL

INC BX ;缓冲区指针加1

LOOP LOOP0 ;数据未送完,继续

MOV AX,4C00H

INT 21H ;返回DOS

;B机接收数据

MOV AX,0400H ;

MOV ES,AX ;设B机接收缓冲区段地址

MOV BX,0 ;设B机接收缓冲区偏移地址

MOV CX,3FFH ;置接收字节数计数器

;对B机的8255A初始化

MOV DX,303H ;指向B机8255A的控制寄存器

MOV AL,B ;设A口和C口高4位为方式0输入

OUT DX,AL ;C口低4位为方式0输出

MOV AL,00000001B ;置PC0=ACK=1

OUT DX,AL

LOOP0:MOV DX,302H ;指向C口

LOOP1:IN AL,DX ;查A机的OBF(B机的PC4)=0

AND AL,10H ;即查询A机是否发来数据

JNZ LOOP1 ;若未发来数据,则等待

MOV DX,300H ;发来数据,则从A口读数据

IN AL,DX

MOV ES:[BX],AL ;存入接收缓冲区

MOV DX,303H ;产生ACK信号,并发回A机

MOV AL,0 ;PC0置0

OUT DX,AL ;

NOP ;延时,使所产生的有效ACK信号(低电平)持续

NOP

MOV AL,01H ;PC0置1,使ACK变为高电平,注意在此信号作用下, OUT DX,AL ;A机8255A的PC3变为高电平

INC BX ;缓冲区指针加1

DEC CX ;计数器减1

JNZ LOOP0 ;不为0,继续

MOV AX,4C00H

INT 21H ;返回

实验十三 可编程并行接口8255A芯片实验

实验十三可编程并行接口8255芯片实验 一、实验目的 1、了解8255芯片的结构和功能。 2、掌握8255初始化程序的设计方法。 3、学会8255和CPU信号的连接方法。 二、电路逻辑图 三、实验内容 第一题: 由8255A的A接口输出数据,驱动4个LED,使其顺序显示0--F的二进制状态,每个状态保持1秒钟。 源程序: CODE SEGMENT ASSUME CS:CODE START:MOV DX,283H;向8255送控制字MOV AL,80H OUT DX,AL MOV CX,16;设置计数次数 MOV AL,00H;设置初始显示值L1:MOV DX,280H;A口输出

OUT DX,AL CALL DELAY;延时1秒 INC AL;显示状态加1 LOOP L1;16次循环 MOV AH,4CH INT 21H DELAY PROC NEAR;1秒延时子程序PUSH CX MOV BX,299H FOR1:MOV CX,0FFFFH FOR2:LOOP FOR2 DEC BX JNZ FOR1 POP CX RET DELAY ENDP CODE ENDS END START 第二题: 用8255方式1将4位开关量设置的二进制数由B口选通输入CPU,3秒钟后由A口选通输出送LED显示。要求通过对状态字IBFB和OBFA的测试来控制程序运行。STBB和ACKA 由消抖电路产生。 源程序: CODE SEGMENT ASSUME CS:CODE START:MOV DX,283H;向8255送控制字 MOV AL,0A6H OUT DX,AL MOV DX,282H;读C口状态字,检测IBF L1: IN AL,DX AND AL,02H;和02H相与 JZ L1;为高时数据已锁存,向下继续 MOV DX,281H;读B口数据AGAIN:IN AL,DX CALL DELAY;延时3秒 MOV DX,280H;通过A口输出 OUT DX,AL MOV DX,282H;读C口状态 L2: IN AL,DX AND AL,80H;检测OBF,为高说明ACK 信号已有,可返回主程序 JZ L2 MOV AH,4CH INT 21H DELAY PROC NEAR;延时3秒程序 PUSH CX

微机原理与接口技术实验五报告8255 并行接口实验

电子信息专业实验报告 课程微机原理与接口技术实验 实验题目8255并行接口实验 学生姓名lz评分 学号20171414xxxxxxx班级 同实验者 实验时间2019.11.9上午地点望江实验室基B520电子信息学院专业实验中心

一、实验目的 1、掌握8255A的工作原理 2、掌握8255A的编程方法 二、实验内容(含技术指标) 1、8255A的A口作为输入口,与逻辑电平开关相连。8255A的B口作为输出口,与发光二极管相连。编辑程序,单步运行,调试程序; 2、K1~K8控制LED1~LED8 3、K1控制LED1、LED2;K2控制LED3、LED4 K3控制LED5、LED6;K4控制LED7、LED8 4、K置H,对应LED亮;K置L,对应LED灭 5、全速运行程序,观看实验结果。 三、实验仪器(仪器名称、型号,元器件名称、清单,软件名称、版本等) 清华同方微机;8086单片机原理实验系统;EL型微机试验箱 四、实验原理(基本原理,主要公式,参数计算,实现方法及框图,相关电路等) 1、开关量输入输出电路 开关量输入电路由8只开关组成,每只开关有两个位置H和L,一个位置代表高电平,一个位置代表低电平。对应的插孔是:K1~K8。开关量输出电路由8只LED组成,对应的插孔分别为LED1~LED8,当对应的插孔接低电平时LED点亮,其原理见图一。 2、8255并行接口电路 该电路由1片8255组成,8255的数据口、地址、读写线、复位控制线均已接好,片选输入端插孔为8255CS,A,B,C三端口的插孔分别为:PA0~PA7,PB0~PB7,PC0~PC7,电路原理见图二。 3、8255A工作基本输入输出方式

实验二 8255A并行接口实验

实验二 8255A并行接口实验(一) 一实验目的 1、掌握通过8255A并行口传输数据控制LED发光二极管的亮灭;进一 步熟悉软件编程环境。 二实验设备 1、微机系统一套; 2、TPC-3型微机接口实验系统一台; 3、导线若干。 三实验内容 1、基础部分:用8255A的A端口控制8个LED发光二极管的亮和灭(端口 输出为1则亮,输出为0则灭)。其中L0―L2为东西方向,L5―L7为南北 方向、L3-L4不用,PA口与相应的发光二极管驱动信号输入端相连,输入端 为1时发光二极管亮。接线如图4-5所示。 图4-5 编制程序,通过8255A控制发光二极管,以模拟交通灯的管理。 2.提高部分:利用开关K0,K1的控制,以模拟几种交通灯的管理,具体要求 为: K0K1灯控制 00正常运行 01南北路口绿灯亮、东西路口红灯亮 10东西路口绿灯亮、南北路口红灯亮 3.如果模拟车流量大小来来决定红绿灯交通时间,请问你有什么解决办法。如果 能解决请加以解释并编程调试。

四、编程提示: 1.要完成本实验,首先必须了解交通灯的亮灭规律。设有一个十字路口,南北、东西方向初始态为四个路口的红灯全亮。之后,南北路口的绿灯亮,东西 路口的红灯亮,南北路口方向通车。延迟一段时间后,南北路口的绿灯熄灭, 而南北路口的黄灯开始闪烁。闪烁8次后,南北路口的红灯亮,同时东西路口 的绿灯亮,东西路口方向开始通车。延迟一段时间后,东西路口的绿灯熄灭, 而黄灯开始闪烁。闪烁苦干次后,再切换到南北路口方向。之后,重复上述过 程。 2.程序中应设定好8255A的工作模式,使三个端口均工作于方式0,并处于输出态 3.8255A的A端口地址为:288H B端口地址为:289H C端口地址为:28AH 控制口地址为:28BH 五、实验要求: 1.做好实验预习和准备工作,并写出预习报告(要求写出实验的流程图及程序),熟练掌握8255A编程原理及编程方法。 2.实验操作的最低要求是要做出实验内容的基础部分,然后根据实际操作能力争取做出实验内容的提高部分及回答实验内容的第三部分问题。 3.写出实验报告,内容为: 1)实验目的; 2)实验设备; 3)实验中遇到的问题及解决问题的分析思路与办法,问题定位及问题的性质; 4)对本实验的建议及有何创新。 ;这是自动生成的代码模板 STACKS SEGMENT STACK ;堆栈段 DW 128 DUP(?) ;注意这里只有128个字节 STACKS ENDS DATAS SEGMENT ;数据段 ;请在这里定义您的数据 DATAS ENDS CODES SEGMENT ;代码段 ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS ;初始化 MOV DS,AX

8255并行口实验实验报告

8255并行口实验实验报告 作者: 一、实验目的 掌握8255A的编程原理。 二、实验设备 CPU挂箱、8086CPU模块。 三、实验内容 8255A的A口作为输入口,与逻辑电平开关相连。8255A的B口作为输出口,与发光二极管相连。编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。 四、实验原理介绍 本实验用到两部分电路:开关量输入输出电路和8255可编程并口电路。 五、实验步骤 1、实验接线 CS0?CS8255; PA0~PA7?平推开关的输出K1~K8; PB0~PB7?发光二极管的输入LED1~LED8。 2、编程并全速或单步运行。 3、全速运行时拨动开关,观察发光二极管的变化。当开关某位置于L 时,对应的发光二极管点亮,置于H时熄灭。 六、实验提示 实验也是如此。实验中,8255A工作于基本8255A是比较常用的一种并行接口芯片,其特点在许多教科书中均有介绍。8255A有三个8位的输入输出端口,通常将A端口作为输入用,B端口作为输出用,C端口作为辅助控制用,本输入输出方式(方式0)。 七、实验结果 程序全速运行后,逻辑电平开关的状态改变应能在LED上显示出来。例如:K2置于L位置,则对应的LED2应该点亮。 八、程序框图(实验程序名:t8255.asm)

开始 设置8255工作方式 读A口 输出至B口 结束 九、程序源代码清单: assume cs:code code segment public org 100h start: mov dx,04a6h ;控制寄存器地址 mov ax,90h ;设 置为A口输入,B口输出 out dx,ax mov al,0feh start1:mov dx,04a2h 芯片的 入口地址 out dx,al mov bl,al mov dx ,04a0h in al,dx test ax,01h jz strat2 mov al ,bl rol al,1 流水灯循环左移 mov bl,al mov cx,3000h 设置cx为灯闪烁时间对应的循环次数 add: loop add jmp start1 无条件跳转至start1 strat2:mov al,bl mov dx,04a2h out dx,al ror al,1 流水灯循环左移 mov bl, al mov cx,3000h add1: loop add jmp start 无条件跳转至start code ends end start 十、实验总结 通过该实验,掌握了8255A的编程原理,学会了用汇编语言来编写程序控制8255A进行流水灯的操作实验。

8255A并行口实验

实验四 1

OUT DX,AL INC DX OUT DX,AL MOV CX,0800H LOOP $ NOT AL JMP P11 CODE ENDS END H1 8255A并行口实验㈡PA输入、PB输出 一、实验目的 ⑴掌握8255A和微机接口方法。 ⑵掌握8255A的工作方式和编程原理。 二、实验内容 用8255 PA作开关量输入口,PB作输出口。 编程提示 8255A芯片简介 8255A可编程外围接口芯片是Intel公司生产的通用并行接口芯片,它具有A、B、C三个并行接口,用+5V电源供电,能在以下三种方式下工作: 方式0:基本输入/输出方式 方式1:选通输入/输出方式 方式2:双向选通工作方式 使8255A端口A工作在方式0并作为输入口,读取K1—K8八个开关量,送PB 口显示。PB口工作在方式0作为输出口。 实验步骤 ⑴按实验电路图连接线路: ①8255A芯片A口的AP0~PA7依次和开关量输入插孔K1~K8相连。 ②8255A芯片B口的AB0~PB7依次接L1~L8 ⑵运行实验程序。 在系统处“P.”状态时,输入32E0,按EXEC键, 拨动K1~K8、L1~L8会跟着亮灭。 -----------------硬件实验二8255A并行口实验(2) PA输入,PB输出------------- CODE SEGMENT 2

ASSUME CS:CODE,DS:CODE,ES:CODE ORG 32E0H PA EQU 0FFD8H PB EQU 0FFD9H PC EQU 0FFDAH PCTL EQU 0FFDBH H2: MOV DX,PCTL MOV AL,90H OUT DX,AL P2: MOV DX,PA IN AL,DX INC DX OUT DX,AL JMP P2 CODE ENDS END H2 3

8255并行接口实验

8255并行接口实验 4.5.1 实验目的 1. 学习并掌握8255的工作方式及其应用。 2. 掌握8255典型应用电路的接法。 3. 掌握程序固化及脱机运行程序的方法。 4.5.2 实验设备 PC 机一台,TD-PITE 实验装置或TD-PITC 实验装置一套。 4.5.3 实验内容 1. 基本输入输出实验。编写程序,使8255的A 口为输入,B 口为输出,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就发生相应改变。 2. 流水灯显示实验。编写程序,使8255的A 口和B 口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0正相反,由右向左,每次仅点亮一个灯,循环显示。 4.5.4 实验原理 I/O I/O I/O I/O PA7-PA0 PC7-PC4 PC3-PC0 PB7-PB0 图4.31 8255内部结构及外部引脚图 并行接口是以数据的字节为单位与I/O 设备或被控制对象之间传递信息。CPU 和接口之间的数据传送总是并行的,即可以同时传递8位、16位或32位等。8255可编程外围接口芯片是Intel 公司生产的通用并行I/O 接口芯片,它具有A 、B 、C 三个并行接口,用+5V 单电源供电,能在以下三种方式下工作:方式0--基本输入/输出方式、方式1--选通输入/输出方式、方式2--双向选通工作方式。8255的内部结构及引脚如图4.31所示,8255工作方式控制字和C 口按位置位/复位控制字格式如图4.32所示。

位(a )工作方式控制字 (b )C 口按位置位/复位控制字 1 图4.32 8255控制字格式 8255实验单元电路图如图4.33所示: 图4.33 8255实验单元电路图 4.5.5 实验步骤 1. 基本输入输出实验 本实验使8255端口A 工作在方式0并作为输入口,端口B 工作在方式0并作为输出口。用一组开关信号接入端口A ,端口B 输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入输出功能。具体实验步骤如下述: (1)实验接线图如图4.34所示,按图连接实验线路图。 (2)编写实验程序,经编译、连接无误后装入系统。 (3)运行程序,改变拨动开关,同时观察LED 显示,验证程序功能。 (4)点击“调试”下拉菜单中的“固化程序”项,将程序固化到系统存储器中。 (5)将短路跳线JDBG 的短路块短接到RUN 端,然后按复位按键,观察程序是否正常运行;关闭实验箱电源,稍等后再次打开电源,看固化的程序是否运行,验证程序功能。 (6)实验完毕后,请将短路跳线JDBG 的短路块短接到DBG 端。

微机接口 8255并行接口实验报告

浙江工业大学计算机学院实验报告 实验名称 8255并行接口实验 姓名徐洁 学号 201326810521 班级计科1301班 教师雷艳静 日期 2015/12/31

一、实验内容与要求 1.1 实验内容 8255方式0实验一:从8255端口C输入数据,再从端口A输出,即TPC-USB平台按逻辑电平开关K0~K7通过编程使端口C接收,然后再通过端口A输出到LED显示电路L0~L7,这样逻辑电平开关的值就可以通过8255芯片显示在LED显示电路上。 8255方式1输出实验:编程实现每按一次单脉冲按钮产生一个正脉冲,使8255产生一次中断,让CPU进行一次中断服务:依次输出01H、02H、04H、08H、10H、20H、40H、80H 使LED显示电路L0~L7依次发光,中断8次结束。 8255方式1输入实验:编程实现每按一次单脉冲按钮产生一个正脉冲使8255产生一次中断请求,让CPU进行一次中断服务,读取逻辑电平开关预置的ASCII码,在屏幕上显示其对应的字符,中断8次结束。 1.2 实验要求 (1) 具有一定的汇编编程的基础,能编写一些基本语句来实现实验。实验前根据实验流程 图,写出对应代码; (2) 要了解8255A并行接口芯片内部结构和外部引脚,理解8255芯片的工作方式和程序设 计方法; (3) 熟悉实验平台TPC-USB了解各个接口的名称与功能,进行实验时能快速并正确地连接 好实验电路; (4) 8255方式0实验一:连接PC与TPC-USB平台,用微机实验软件运行程序,用TPC-USB 平台上的逻辑电平开关与LED显示电路观察,LED显示的值与逻辑电平开关设的值对应; (5) 8255方式1输出实验:连接PC与TPC-USB平台,用微机实验软件运行程序,手按单 脉冲按钮,观察LED显示电路能依次发光,按8次后,中断结束,程序结束; (6) 8255方式1输入实验:连接PC与TPC-USB平台,用微机实验软件运行程序,用TPC-USB 平台的逻辑电平开关设置一个ASCII码,按一次单脉冲,屏幕就能显示该ASCII码对应的字符,变更逻辑电平的开关,按一次单脉冲,屏幕就会显示变更的ASCII码对应的字符。这样操作N次之后,中断结束,程序结束。

8255A并行口实验(二)内容

上海电力学院实验报告计算机硬件实验课程 题目:8255A并行口实验(二)内容 班级: 姓名: 学号:

一、实验目的 掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。 二、实验内容 1、实验原理 实验原理图如图所示,PB4 ~ PB7和PC0 ~ PC7分别与发光二极管电路L1~ L12 相连,本实验为模拟交通灯实验。交通灯的亮灭规律如下: 设有一个十字路口,1、3为南北方向,2、4为东西方向,初始为四个路口的红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车; 延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次以后,1 、3 路口红灯亮,而同时2、4路口的绿灯亮,2、4路口方向通车;延时一段时间后,2、4 路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,之后重复 上述过程。 8255A的PB4~ PB7对应黄灯,PC0 ~ PC3对应红灯,PC4~ PC7对应绿灯。8255A工作于模式0,并置为输出。由于各发光二极管为共阳极,使其点亮 应使8255A相应端口清0。 2、实验线路连接 (1) CS-8255插孔连译码输出Y7插孔。 (2) L1 - PC4 L4 - PC5 L7 - PC6 L10 - PC7 L2 - PB4 L5 - PB5 L8 - PB6 L11 - PB7 L3 - PC0 L6 - PC1 L9 - PC2 L12 - PC3

三、实验框图 四、实验程序 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

实验三8255A并行口实验

实验三8255A并行口实验 一、实验目的 1、了解8255A的基本工作方式及特点。 2、学会8255A在计算机系统中的典型应用方法。 二、实验内容 利用8255A的PA端口作为输入口,读取开关状态,并将此状态通过8255A 的PB端口再驱动发光二极管显示出来。 三、实验步骤 1、连线:将实验箱上8255A芯片A口的PA0-PA7依次和开关量输入Kl-K8相连,B口的PB0-PB7依次接Ll-L8。 端口地址:A口---FF28H B口---FF29H C口---FF2AH 控制口---FF2BH 2、编辑程序:实验箱上电,打开实验程序,PC机与下位机通信成功,将事先编好的程序编辑输入。 3、调试程序:编译程序,根据提示更正错误;通过后下载程序至实验箱,然后单步运行程序,观察相应寄存器的值的变化,并察看发光二极管的状态与开关状态是否一致,如不一致,分析原因并改正。 4、运行程序:连续运行程序,改变开关状态,观察发光二极管的状态变化,记录结果。 5、实验总结分析:分析实验过程及结果,完成实验报告。 四、编程

CODE SEGMENT ASSUME CS:CODE IOCONPT EQU 0FF2BH ;设置控制端口常量 IOBPT EQU 0FF29H ;设置数据端口B地址常量 IOAPT EQU 0FF28H ;设置数据端口A地址常量 ORG 11B0H START: MOV AL,90H MOV DX,IOCONPT OUT DX,AL ;往控制端口写控制字,设置A口工作在方式0输入,B方式 0输出 IOLED1: MOV DX,IOAPT IN AL,DX ;读端口A的数值 MOV DX,IOBPT OUT DX,AL ;往端口B输出数据 JMP IOLED1 CODE ENDS END START 五、思考题 1. 利用8255A模拟交通灯系统 2. 利用8255A和实验箱上的8个开关与8个发光二极管设计一个电子抢答器,功能如下:○1K1—K7作为抢答输入端,L1—L7为抢答指示器,K8为控制端;○2K8闭合为抢答开始信号(此时L8亮);○3当正常抢答时,其所对应的发光二极管亮,犯规抢答时(开始信号未发出),其所对应的发光二极管闪烁,无论何种情况,L1—L7中只要有一个发光二极管动作,其他发光二极管均被锁定为熄灭状态;○4无论抢答违规与否,只要K8状态变化,L1—L7均复位。 注意:抢答时开关闭合后应紧接着断开(模拟抢答按钮)

实验二8255并行接口应用实验

文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持. 实验二 8255并行接口应用实验 一.实验目的 1. 掌握8255工作方式的编程设计。 2. 8255与外部设备进行连接的应用。 二.实验设备与材料: TDN86/88教学实验系统一台,扁平插线若干。 三.实验原理: INTEL8255是一种通用的可编程并行I /O 接口芯片,是专为INTEL 公司的微处理器设计的,也可用于其它系列的微型机系统中。利用8086汇编指令系统,编制初始化程序,可以变更8255 的工作方式,通用性强,使用灵活。8255具有3个带锁存或缓冲的数据端口,它的并行数据宽度为8位。可与外设并行进行数据交换。A 口和B 口内具有中断控制逻辑,在外设与CPU 之间可用中断方式进行信息交换。 8255能与许多外部设备连接,例如:键盘、显示器、打印机等。 (a)工作方式控制字 (b)C 口按位置位/复位控制字 四.实验内容及步骤 1.8255的一般输入输、出方式 本系统中的8255芯片8255的数据线、地址线、读写控制线等分别与系统总线相连,其A 、B 、C 三个端口以排针形式引出,供8255实验使用,其线路如图1所示。 图1 8255接口实验中端口地址如表1所示 表1 8255端口A 工作在方0并作为输出口,端口B 工作在方式0并B, A 输出线接至一组发光二极管上,通过 对8255编程来实现输入输出功能。 实验步骤 ● 图2 8255输入输出方式实验接线图 注:圆圈处是要求接的连线。 (1)按图2接线。用扁平线(8头)分别插在8255的A 口和发光二极管的插针上。用扁平线 分别插在8255的B 口和拨动开关的插针上。 (2)输入源程序,汇编、连接后装入系统。 ● 参考程序1 STACK SEGMENT STACK DW 64 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE START: MOV AL,82H ;设8255方式字 A 位输出,B 口位输入。 OUT 63H,AL A1: IN AL,61H OUT 60H,AL JMP A1 CODE ENDS END START (3)执行程序后,拨动开关组K0-K7,观察发光二极管LED0-LED7变化,它应是与开关组K0-K7的值是一一对应的变化。 2.8255的选通输入、输出方式 按图3 所示实验线路,8255端口A 工作在方式0并作为输出口,端口B 工作在方式1并作为输入口。从端口C 的PC2成为选通信号输入, 端STBb,PC0成为中断请求信号输出端INTRb 。当B 口数据就绪后,通过发口STBb 信号来请求CPU 读取端口B 数据并送A 口输出显示。 信号线 寄存器 编址 IOY3 A 口 60H B 口 61H C 口 62H 控制寄存器 63H

北理工8255A可编程并行接口实验

本科实验报告实验名称:8255A可编程并行接口实验

实验一8255A可编程并行接口实验 1. 实验目的 1)掌握并行接口芯片8255A 和微机接口的连接方法; 2)掌握并行接口芯片8255A 的工作方式及其编程方法; 3)掌握小键盘的工作原理及接口技术; 4)利用8255A 并行接口芯片与小键盘的接口电路,实现并行接口实验。 2. 实验原理和内容 1) 8255A 芯片原理 8255A 是可编程并行接口芯片,双列直插式封装,用+5V 单电源供电,如图3-1 是 8255A 的逻辑框图,内部有3 个8 位I/O 端口:A 口、B 口、C 口;也可以分为各有12 位 的两组: 图3-1 8255A 芯片管脚示意图 A 和 B 组,A 组包含A 口8 位和 C 口的高四位,B 组包含B 口8 位和C 口的低4 位。 A 组控制和 B 组控制用于实现方式选择操作;读写控制逻辑用于控制芯片内寄存器的 数据和控制字经数据总线缓冲器送入各组接口寄存器中。由于8255A 数据总线缓冲器是双 向三态8 位驱动器,因此可以直接和8088 系统数据总线相连。 2) 8255A 端口地址

图3-2 8255A 端口地址 3) 8255A 工作方式 8255A 芯片有三种工作方式:方式0、方式1、方式2。它通过对控制寄存器写入不同的控制字来决定其三种不同的工作方式。 方式0 :基本输入/输出 该方式下的A 口8 位和B 口8 位可以由输入的控制字决定为输入或输出, C 口分成高4 位(PC7~PC4)和低4 位(PC3~PC0)两组,也有控制字决定其输入或输出。需注意的是:该方式下,只能将C 口其中一组的四位全部置为输入或输出。 方式1 :选通输入/输出 该方式又叫单向输入输出方式,它分为A、B 两组,A 组由数据口A 和控制口C 的高 4 位组成,B 组由数据口B 和控制口C 的低4 位组成。数据口的输入/输出都是锁存的,与方式0 不同,由控制字来决定它作输入还是输出。C 口的相应位用于寄存数据传送中所需的状态信号和控制信息。 方式2 :双向输入输出 本方式只有A 组可以使用,此时A 口为输入输出双向口,C 口中的5 位(PC3~PC7)作为A 口的控制位。

实验五 8255A可编程并行口实验

实验五-1 8255A可编程并行口实验 一、实验目的 1.掌握并行接口芯片8255A和微机接口的连接方法。 2.掌握并行接口芯片8255A的工作方式及其编程方法。 三、实验内容 1.实验原理 如实验原理图6-4所示,PA口8位接8个开关K1~ K8,PB口8位接8个发光二极管,从PA口读入8位开关量送PB口显示。拨动K1~ K8,PB口上接的8个发光二极管L1~ L8对应显示K1~ K8的状态。 图6-4 2.实验线路连接 (1)8255A芯片PA0~ PA7插孔依次接K1~ K8。 (2)8255A芯片PB0~PB7插孔依次接L1 ~ L8。 系统已定义的I/O地址如下: 四、实验软件框图 五、实验参考程序 PA EQU 0FFD8H PB EQU 0FFD9H PC EQU 0FFDAH

PCTL EQU 0FFDBH CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 32E0H H2: 。。。。。。。。。 。。。。。。。。 CODE ENDS END H2 六、实验思考 1.通过实验你是如何理解8255的PA口和PB口的工作过程? 2.用程序验证若8255的PA口为方式1或方式2,是否可以实现PA口控制PB口? 七、实验步骤 1.按图6-4连好线路。 2.运行实验程序,拨动K1~K8,L1~L8会跟着亮灭。 实验五-28255并行口实验(二)A.B.C口输出方波 一、实验目的 掌握可编程I/O接口芯片8255的接口原理使用,熟悉对8255初始化编程和输入、输出软件设计方法。 二、实验内容 在8255 A.B.C口用示波器测出波形。 三、程序流程 四、实验步骤 编译、装载,连续运行程序,用示波器测量8255 A.B.C口并观察其波形。 关键点:ch0、ch1分接PA口的D1、D0;ch0、ch1分接PB口的D1、D0;ch0、ch1分接PC口的D1、D0 五、实验参考程序 PA EQU 0FFD8H PB EQU 0FFD9H PC EQU 0FFDAH PCTL EQU 0FFDBH CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 32C0H H1: JMP P11

微机原理实验报告(8255并口实验)

深圳大学实验报告课程名称:微型计算机技术 实验项目名称:8255并行接口实验学院:信息工程学院 专业:电子信息工程 指导教师: 报告人:学号:班级: 实验时间: 实验报告提交时间: 教务处制

图6 8255 基本输入输出失误接线图 3.编写实验程序如下面 (1)汇编源程序 SSTACK SEGMENT STACK DW 32 DUP(?) SSTACK ENDS CODE SEGMENT ASSUME CS:CODE START: MOV DX, 0646H ;控制端口地址0646H送DX,因为8255的cs端口接的是I0Y1, 而I0Y1对应的编址空间是0640H—067FH,所以这里是0646H。 MOV AL, 90H ;方式选择控制字送AL OUT DX, AL ;方式选择控制字输给8255A的控制端口,完成端口A 工作在方 式0 并作为输入口,端口B 工作在方式0 并作为输出口。 AA1: MOV DX, 0640H ;控制端口A地址0640H送DX IN AL, DX ;将端口A连接的开关的对应状态送给AL CALL DELAY MOV DX, 0642H ;控制端口A地址0642H送DX OUT DX, AL ;将AL的数据送到8255的端口B,从而使其连接的LED的灯发光 JMP AA1 DELAY: PUSH CX MOV CX, 0F00H AA2: PUSH AX POP AX LOOP AA2 POP CX RET CODE ENDS END START ii具体实验步骤如下述: (1)编写实验程序,经编译、连接无误后装入系统

(2)运行程序,改变拨动开关,同时观察LED 显示,验证程序功能。 (3)点击“调试”下拉菜单中的“固化程序”项,将程序固化到系统存储器中。 (4)将短路跳线JDBG 的短路块短接到RUN 端,然后按复位按键,观察程序是否正常运行;关闭实验箱电源,稍等后再次打开电源,看固化的 程序是否运行,验证程序功能。 (5)实验完毕后,请将短路跳线JDBG 的短路块短接到DBG 端(为了脱离计算机的控制而端接到JDBG端,试验后要调回,以便的实验)。程序分析:请看上面程序中的注释。 实验结果: 从实验中可以明显的看到,当key开关波动后,经过8255处理后的输出信号端相对应的led灯就会被点亮。具体灯图像如下:

微机原理8255并行接口完整实验报告

实验2 8255并行接口实验 实验时间2019年10月23日 实验类型■验证性□设计性□综合性 1.实验目的 1.学习并掌握8255的工作方式及其应用 2.掌握8255典型电路的接法 3.掌握程序固化及脱机运行程序的方法 2. 实验内容及过程(主要内容、操作步骤) 1.基本输入输出实验。编写程序,使8255的A口为输出,B口为输入,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就发生相应改变。 2.流水灯显示实验。编写程序,使8255的A口和B口均为输出,数据灯D7~D0由左向右,每次仅亮-一个灯,循环显示,D15~D8与D7~D0正相反,由右向左,每次仅点亮一个灯,循环显示。 3.方式1输入输出实验。编写程序,使8255工作在方式1控制下的A口输入,B口输出。 1. 基本输入输出实验 本实验使8255端口A工作在方式0并作为输出口,端口C工作在方式0并作为输入口用一组开关信号接入端口B,端口A输出线接至一组数据灯上,然后通过

对8255芯片编程来实现输入输出功能。具体实验步骤如下 (1)实验接线图如图4.3.4所示,按图连接实验线路图。(实际实验改为C为输入,A为输出,相应实际接线图改为下图所示) (2)编写实验程序,经编译、连接无误后装入系统。 (3)运行程序,改变拨动开关,同时观察LED显示,验证程序功能。 3. 测试数据及实验结果 4. 实验分析及总结(主要考察内容) 1.控制字格式决定了哪个端口为输入,哪个为输出,将D0-D7 8个控制字视为一个16进制数,再将其送入AX的高八位,就实现了端口的输入输出控制,而AX 的低八位没有使用 2.A、B、C口和控制寄存器的地址后面*2是指地址第一位没有用 教师评阅 评价指标:实验目的、操作步骤、设计、算法、程序结构、实验结果、实验分析、实验总结

8255并行接口流水灯显示实验

※※※※※※※※※ ※※ ※※ ※※ ※※※※※※※※※ 微机原理课程设计报告书 课题名称 8255 并行接口流水灯显示实验 姓名 学号 院、系、部物理与电信工程系 专业 指导教师

一、设计任务及要求: 设计任务: 流水灯显示实验。编写程序,使8255 的A口和B口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0 正相反,由右向左,每次仅点亮一个灯,循环显示。 要求: 指导教师签名: 2009年6月8日 二、指导教师评语: 指导教师签名: 2009 年6月8 日 三、成绩 验收盖章 2009年6 月8日

8255 并行接口流水灯显示实验 一、设计目的 1. 学习并掌握8255 的工作方式及其应用; 2. 掌握8255 典型应用电路的接法。 二、设计要求 流水灯显示实验。编写程序,使8255 的A口和B口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0 正相反,由右向左,每次仅点亮一个灯,循环显示。 三、电路及连线设计 并行接口是以数据的字节为单位与I/O 设备或被控制对象之间传递信息。CPU 和接口之间的数据传送总是并行的,即可以同时传递8 位、16 位或32 位等。8255可编程外围接口芯片是Intel公司生产的通用并行I/O 接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/输出方式、方式1--选通输入/输出方式、方式2--双向选通工作方式。8255 的内部结构及引脚如图2-6-1 所示,8255工作方式控制字和C口按位置位/复位控制字格式如图2-6-2所示 图2-6-1 8255内部结构及外部引脚图

实验二 8255并行接口的应用实验

实验二8255并行接口应用实验 一.实验目的 1. 掌握8255工作方式的编程设计。 2. 8255与外部设备进行连接的应用。 二.实验设备与材料: TDN86/88教学实验系统一台,扁平插线若干。 三.实验原理: INTEL8255是一种通用的可编程并行I/O接口芯片,是专为INTEL公司的微处理器设计的,也可用于其它系列的微型机系统中。利用8086汇编指令系统,编制初始化程序,可以变更8255 的工作方式,通用性强,使用灵活。8255具有3个带锁存或缓冲的数据端口,它的并行数据宽度为8位。可与外设并行进行数据交换。A口和B口内具有中断控制逻辑,在外设与CPU之间可用中断方式进行信息交换。 8255能与许多外部设备连接,例如:键盘、显示器、打印机等。 (a)工作方式控制字 (b)C口按位置位/复位控制字

四.实验内容及步骤 1.8255的一般输入输、出方式 本系统中的8255芯片8255的数据线、地址线、读写控制线等分别与系统总线相连,其A、B、C三个端口以排针形式引出,供8255实验使用,其线路如图1所示。 图1 8255接口实验中端口地址如表1所示 表1

按图所示实验线路,8255端口A工作在方式0并作为输出口,端口B工作在方式0并作为输入口。用一组开关信号接入端口B, 端口A输出线接至一组发光二极管上,通过对8255编程来实现输入输出功能。 实验步骤 ● 图2 8255输入输出方式实验接线图 注:圆圈处是要求接的连线。 (1)按图2接线。用扁平线(8头)分别插在8255的A口和发光二极管的插针上。用扁平线分别插在8255的B口和拨动开关的插针上。 (2)输入源程序,汇编、连接后装入系统。 ●参考程序1 STACK SEGMENT STACK DW 64 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE START: MOV AL,82H ;设8255方式字10000010 A位输出,B口位输入。 OUT 63H,AL A1: IN AL,61H OUT 60H,AL JMP A1 CODE ENDS END START (3)执行程序后,拨动开关组K0-K7,观察发光二极管LED0-LED7变化,它应是与开关组K0-K7的值是一一对应的变化。

8255A与开关电路的实验

8255A与开关电路的实验 一、实验目的和要求 1.掌握8255A并行接口芯片的原理及片成方法; 2.掌握读取开关状态的方法。 二、实验内容和原理 1.实验内容 编写程序,通过8255A借口芯片,读取开关状态,并在PC机屏幕上显示出来。 线路连接:实验中共有8个逻辑开关8255A端口C的8位连接8个。线路连接如图1所示。开关向上拨时,8255A相应的端口输出高电平“1”;开关向下拨时,相应端口输出低电平“0”。 流程图 程序流程图如图2所示 图2 8255A与开关电路程序流程图 程序: DATA SEGMENT IOPORT EQU 0D880H-280H IO8255C EQU IOPORT+282H ;地址 IO8255T EQU IOPORT+283H TAB DB '1 2 3 4 5 6 7 8 ',0DH,0AH,'$' MESS DB 'PLEASE ENTER ANY KEY WHEN READY!',0DH,0AH,'$' DATA ENDS STACK SEGMENT STACK STA DW 50 DUP(?) STACK ENDS

CODE SEGMENT ASSUME CS:CODE, DS:DATA, ES:DATA, SS:STACK START: MOV AX,DATA MOV DS,AX MOV ES,AX MOV AH,09H MOV DX,OFFSET MESS INT 21H ;显示提示信息 Mov AH,01H ;按任意键开始 INT 21H MOV DX,IO8255T ;控制端口 MOV AL,99H ;控制字 OUT DX,AL MOV DX,IO8255C IN AL,DX MOV BL,AL ;K1-K8信息送BL MOV AH,09H MOV DX,OFFSET TAB INT 21H ;显示表头 MOV CL,08H ;显示K1-K8 BBB: MOV DL,BL CALL DISP SHL BL,1 LOOP BBB MOV AX,4C00H INT 21H DISP PROC NEAR ;显示字符子程序 PUSH AX PUSH CX MOV CL,07H AND DL,80H SHR DL,CL POP CX ADD DL,30H MOV AH,02H INT 21H MOV DL,20H INT 21H POP AX RET DISP ENDP CODE ENDS END START 2.实验原理

实验四 8255A并行口实验

实验四 8255A并行口实验 PA输入、PB输出一、实验目的 ⑴掌握8255A和微机接口方法。 ⑵掌握8255A的工作方式和编程原理。 二、实验内容 用8255 PA作开关量输入口,PB作输出口 三、电路原理图 1.程序流程 2.实验电路 四、程序清单 ;--------------8255A并行口实验(2) PA输入,PB输出------------- CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 32E0H

PA EQU 0FFD8H PB EQU 0FFD9H PC EQU 0FFDAH PCTL EQU 0FFDBH H2: MOV DX,PCTL MOV AL,90H OUT DX,AL P2: MOV DX,PA IN AL,DX INC DX OUT DX,AL JMP P2 CODE ENDS END H2 五、编程提示 8255A芯片简介 8255A可编程外围接口芯片是Intel公司生产的通用并行接口芯片,它具有A、B、C三个并行接口,用+5V电源供电,能在以下三种方式下工作: 方式0:基本输入/输出方式 方式1:选通输入/输出方式 方式2:双向选通工作方式 使8255A端口A工作在方式0并作为输入口,读取K1—K8八个开关量,送PB 口显示。PB口工作在方式0作为输出口。 六、实验步骤 ⑴按实验电路图连接线路: ①8255A芯片A口的AP0~PA7依次和开关量输入插孔K1~K8相连。 ②8255A芯片B口的AB0~PB7依次接L1~L8 ⑵运行实验程序。 在系统处“P.”状态时,输入32E0,按EXEC键, 拨动K1~K8、L1~L8会跟着亮灭。 七、实验心得 本次实验掌握了8255A和微机接口方法,掌握了8255A的工作方式和编程原理等。

微机接口实验报告-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控制字格式

相关主题