十并行接口芯片8255与输出控制

更新时间:2024-03-06 07:03:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验十 并行接口芯片8255与输出控制

【实验目的】

1. 掌握8255的基本功能和工作原理;

2. 掌握8255工作于方式0及其初始化编程的方法以及输出的软件设计方法; 3. 初步了解并行接口电路及其工作原理。 4. 学会基本LED显示及扫描控制的方法。

【实验预习】

(建议用时:40min)

复习教材中的相关内容,联系阅读讲义后附实验资料,回答以下问题:

1. 数据从8255的PortC往数据总线上读出时,8255的控制信号CS= ;RD= ;

WR= ;A1= ;A0= 。

2. 据实验箱中8255各端口地址,编写PA和PB工作于方式0,且A口输入,B口输出情况下的初始化程序:

MOV AL, B MOV DX, H OUT DX, AL

3.根据下图说明,PC口输出“0”,发光二极管是亮/灭?PC口输出“1”,发光二极管是亮/灭?

D0D1D2D3D4D5D6D7RDWRA0A1RESETCSPA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB7PC0PC1PC2PC3PC4PC5PC6PC7VCC74077407740774077407740774077407LED1R1LED2R2LED3R3LED4R4LED5R5LED6R6LED7LED8R7R8

74LS138译码器8255A图10-1 实验电原理示意图

【实验原理】

在32位机系统下,数据总线32位,占4个字节,其寻址以4个字节地址为单位,所以在输入输出寻址时,其地址间隔为4的倍数。本实验系统所提供的I/O地址范围为9800H~98FFH,分别由IOY0~IOY3决定。

- 35 -

IO片选信号 IOY0 IOY1 IOY2 IOY3

实验内容2的电原理图如下所示:

偏移地址范围 9800H ~ 983FH 9840H ~ 987FH 9880H ~ 98BFH 98C0H ~ 98FFH 图10-2 实验2参考原理图

【实验内容】

(实验1和2建议用时:25min)

1.用导线连接一个发光二极管(LED)和电源+5V,则观察到LED______(亮/暗);若接地,则LED______(亮/暗);说明LED为共_____(阴/阳)。

2.根据实验电原理图10-2 及以下程序片断,观察描述LED灯的输出结果 。并对程序片断加以注释。

MOV AL,10000000B MOV CX,0

PUSH BX MOV DX,980CH

JP2: MOV BX,10000 OUT DX,AL

JP3: DEC BX MOV AL,0FFH

JNZ JP3 MOV DX,9808H

LOOP JP2 OUT DX,AL

POP BX MOV AL,00000000B

DEC BL MOV BL,8

MOV DX,980CH CMP BL,0

JNZ JP1 JP1: OUT DX,AL

ADD AL,10B

- 36 -

3.编程必做题(建议用时:45min)

(1)PB输出,8个LED灯从左至右轮流点亮(每次点亮一位),不断循环。

注意:点亮一位LED与点亮下一位LED之间,需要延时,否则将看见全亮的效果;延时多少时间,以自己能够分辨为准,一般可以是0.5秒~2秒之间,不需要十分精确。

(2)PA输出,在LED数码管上显示字形“F”

4.编程选做题:

(1) 在发光二极管上显示从中间向两边点亮的过程; (2) 在LED数码管上稳定地显示“123456”。

【思考题】

1.实验内容3(1)中,改变延时长度,LED灯显示效果如何?如无延时显示又效果如何?

2.参考实验内容3(1),若要求使用PB输出使16个LED灯实现相同效果,如何调整?

3.本实验中你所设计的电路,8255的每个端口共有几个地址?如何改进?

【实验资料】

1. 8255的芯片引脚和内部结构分别如图所示

PA3PA2PA1PA0/RD/CSGNDA1A0PC7PC6PC5PC4PC0PC1PC2PC3PB0PB1PB212345678910111213141516171819204039383736353433323130292827262524232221PA4PA5PA6PA7/WRRESETD0D1D2D3D4D5D6D7VCCPB7PB6PB5PB4PB3

图10-3 8255引脚图

- 37 -

A组控制数据总线缓冲器A组A口(8位)PA7-PA0D7-D0A组C口高位(4位)PC7-PC4RDWRA1A0CSRESETB组控制B组B口(8位8255 内部结构图PB7-PB0读写控制逻辑B组C口低位(4位)PC3-PC0

图10-4 8255的引脚图和内部结构图

8255 内部寄存器选择由信号CS以及A0,A1共同决定。

表11-1 8255 内部寄存器选择

A1 0 0 1 0 0 1 1 × 1 × A0 0 1 0 0 1 0 1 × 1 × /RD 0 0 0 1 1 1 1 × 0 1 /WR 1 1 1 0 0 0 0 × 1 1 /CS 0 0 0 0 0 0 0 1 0 0

2.8255的连接使用

8255 可以采取多种方式与CPU 连接:既可以是存储器寻址的I/O方式,也可以是输

操作 数据总线?通道A 数据总线?通道B 数据总线?通道C 数据总线?通道A 数据总线?通道B 数据总线?通道C 数据总线控制字寄存器 数据总线?三态 非法操作 数据总线?三态 RD与WR 应分别接到系统的MEMR和MEMW上;入输出寻址的I/O方式。使用前者时,

使用后者时,RD与WR 应分别接到IOR和IOW上。而 CS 在两种方式下接法类似,

只要接至地址线的全译码或部分译码输出,与用户设计的地址一致即可。

3.8255的工作方式

(1)方式0:基本输入/输出方式

A组中PA(PA0~PA7)与PC(PC4~PC7)(或 B组中PB(PB0~PB7)与PC(PC0~PC3))既可以组成整体又可以独立工作。数据直通式传输,不需要设置专门的联络(应答)信号,8255各口起数据缓冲器作用。

- 38 -

(2)方式1:选通输入/输出方式

PA/PB作为独立的输入输出,PC主要作为联络或中断请求信号使用。

数据传输方式可以是中断式或程序查询式。 a)方式1输入

联络信号功能如下:

STB:选通信号,输入,低电平有效。它由外设产生输入,当它有效时,选通A或B的输入数据锁存器,锁存由外设输入的数据,供CPU读取。

IBF:输入缓冲器满信号,输出,高电平有效。当A或B接收到外设的数据时,IBF变为高电平,作为对/STB的响应信号,CPU读取数据后,IBF被清除。

INTR:中断请求信号,输出,高电平有效,用于请求以中断方式输出数据。

从A口输入数据时,PC4作为STB,PC5作为IBF,PC3作为INTR。从B口输入数据时,PC2作为STB,PC1作为IBF,PC0作为INTR。

b)方式1输出 联络信号功能如下:

“输出缓冲器满”指示信号,输出,低电平有效。它由8255送给外设,当CPUOBF:

写入数据端口数据时,该信号变为低电平,用于通知外设读取数据端口中的数据。

ACK:应答信号,输入,低电平有效。它由外设送给8255,作为对/OBF的响应信号,表示输出的数据已被外设接受,用来清除/OBF。

INTR:中断请求信号,输出,高电平有效。用于请求以中断方式输出数据。 (3)方式2:双向输入/输出方式 只有PortA具有双向总线能力,PortC作为联络或中断请求信号使用。PC3作为INTR,PC7作为OBF,PC4作为STB,PC5作为IBF。

4.工作方式的选择

方式选择控制字:8255 工作在何种方式下,是由送到8255 控制寄存器的方式选择控制字决定的,而且只要一个控制字,就可以决定三个通道的全部工作方式。如果工作过程中要改变工作方式,只要送入新的方式选择控制字,8255就会复位所有寄存器,然后按照新的确定的方式进行工作。

1D6D5D4D3D2D1D0B组控制C口低位设置1=输入 0=输出B口输入输出设置1=输入 0=输出B口工作方式选择1=方式1 0=方式0A组控制C口高位设置1=输入 0=输出A口输入输出设置1=输入 0=输出A口工作方式选择00=方式0 01=方式11X=方式28255方式选择控制字 按位置位/复位控制字:通道C的8位的任何一位,都可以用一条输出指令使其置位复

- 39 -

而不影响其他位的状态。

0D6D5任意8255 按位置位/复位控制字D4D3D2D1D0置位/复位0=复位 1=置位D3D2D1位选择000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC7- 40 -

位,

本文来源:https://www.bwwdw.com/article/w5ba.html

Top