微机接口 8255并行接口实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浙江工业大学计算机学院实验报告
实验名称 8255并行接口实验
姓名徐洁
学号 ************
班级计科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次之后,中断结束,程序结束。
二、实验原理与硬件连线
2.1 实验原理
1、8255A的内部结构:
图1 8255A内部结构图
(1)数据端口:
端口A:内含一个8位的输入、输出锁存器/缓冲器,用作输入或输出时,其数据均可得到锁存。
端口B:内含一个8位的输出锁存器/缓冲器和一个8位的输入缓冲器(输入无锁存)。
端口C:内含一个8位的输出锁存器/缓冲器和一个8位的输入缓冲器(输入无锁存)。
●可作为一个独立的8位端口,也可分成两个4位端口。
●可用作数据输入/输出端口,也可作为控制/状态端口(联络信号),配合A、
B端口一起工作。
●具有按位置位/复位功能。
(2)端口的输入/输出及其工作方式:
8255A可通过软件编程来分别设定每个端口的输入/输出及其工作方式。
A口:有3种工作方式:方式0(基本输入/输出)、方式1(选通输入/输出)、方式2(双向输入/输出)。
B口:有2种工作方式:方式0、方式1
C口:可设置为并口或按位置位/复位工作方式。
(3)A 组和B 组控制逻辑:
A口和C口的高4位构成A组,由A组控制逻辑控制。
B口与C口的低4位构成B组,由B组控制逻辑控制。
A、B两组控制电路内部均有控制寄存器,用来接收CPU发来的读/写控制信号和控制
字,并按控制字确定各端口的工作方式。
(4)数据总线缓冲器:
8位三态双向缓冲器,与系统数据总线相连,用于CPU与8255A之间传送数据、命令和状态信息。
(5)读/写控制逻辑:
接收CPU发来的地址信号和控制信号,转变为各种命令送到A、B组控制逻辑,对端口进行相应的操作。
2、8255A的工作方式:
(1)方式0——基本输入/输出:
A口、B口、C口的高4位和低4位均可独立地被设置为输入或输出。
8255A与CPU之间没有固定的应答联络信号,可用于无条件传送或查询方式传送。
单向I/O:一次初始化只能指定端口作为输入或作为输出,不能指定其同时既作为输入又作为输出。
采用查询方式传送时,可以将端口A、端口B作为数据端口,用端口C存放外部设备状态信息,用于CPU查询。
(2)方式1输入:
当端口A作为方式1输入时,端口C的PC3、PC4、PC5作为端口A的联络控制信号。
当端口B作为方式1输入时,端口C的PC0、PC1、PC2作为端口B的联络控制信号。
PC6、PC7则可作为输入/输出数据口使用,如图2所示。各控制信号的定义如下。
注意:方式1下C口复位/置位功能与PC口引脚的功能无任何关系。
方式1 (端口A )
方式1 (端口B )STB A IBF A
INTR A STB B IBF B
INTR B
图2 方式1输入时,端口对应的控制信号
STB :输入选通信号。有效时,可将数据从外设输入到A 口或B 口的锁存器中。
IBF :输入缓冲器满信号,是对STB 的响应。有效时,对CPU :表示8255端口有数据,通知
CPU 进行读取。对外设:表示CPU 还未取走数据,阻止外设发新数据。
INTE :中断允许信号。INTE=1时允许8255向CPU 发中断请求。PC 4 =1允许A 口中断;PC 2 =1
允许B 口中断。该信号通过C 口置位/复位来实现。
INTR :中断请求信号。INTR=1时,CPU 可从端口读取数据。读取后INTR 自动清除。
(3)方式1输出:
当端口A 作为方式1输出时,端口C 的PC3、PC7、PC6作为端口A 的联络控制信号。 当端口B 作为方式1输出时,端口C 的PC0、PC1、PC2作为端口B 的联络控制信号。 PC4、PC5则可作为输入/输出数据口使用,如图3所示。各控制信号的定义如下。
方式1 (端口A )
方式1 (端口B )ACK A OBF A
INTR A ACK B OBF B
INTR B
图3 方式1输出时,端口对应的控制信号