文章目录

  • 1.8255A的内部结构与外部引脚
    • 1.1.三个数据端口A、B、C:
    • 1.2.A组控制和B组控制
    • 1.3.数据总线缓冲器
    • 1.4.读写控制逻辑
    • 1.5.8255A的外部引脚
  • 2.8255A的控制字
    • 2.1.方式选择控制字
    • 2.2.端口C按位置位/复位控制字
  • 3.8255A的工作方式
    • 3.1.方式0:基本输入输出方式
    • 3.2.方式1:选通输入输出方式
    • 3.3.双向输入输出方式
    • 4.8255A与CPU的连接

芯片概述

  • 8255A是Intel公司生产的可编程并行接口芯片。
  • 它不需要附加外部电路就可以和大多数并行传输数据的外部设备直接连接。
  • 可以通过软件编程的方法分别设置它的3个8位I/O端口的工作方式。

1.8255A的内部结构与外部引脚

1.1.三个数据端口A、B、C:

数据端口概述:8255A芯片内部有3个8位的输入输出端口,分别为A口、B口、C口,可以通过指令分别将它们设置为输入或输出端口。

端口A

  • 端口A包含一个8位数据输入锁存器和一个8位的数据输出锁存器/缓冲器;
  • 端口A无论是作为输入口还是输出口,其数据都可以受到锁存。

端口B

  • 端口B包含一个8位数据输入缓冲器和一个8位的数据输出锁存器/缓冲器;
  • 端口B在作为输出口时,其数据能够得到锁存。端口B的输入口没有锁存能力, 因此外部设备的输入必须维持到被CPU读取为止。

端口C

  • 包含一个8位数据输入缓冲器和一个8位的数据输出锁存器/缓冲器;
  • 端口C和端口B相同,作为输入口时没有锁存能力。

使用方式

  • 端口A和端口B一般作为独立的I/O口使用,与外部设备的数据线相连;
  • 端口C可以作为一个独立的8位I/O口,也可以拆分为高4位和低4位两个4位
    端口,作为两个独立的4位I/O口使用;
  • 端口C的某些位还可以与端口A和端口B配合,用作它们的联络信号线。

1.2.A组控制和B组控制

8255A将端口A、B、C分为两组:端口A和端口C的高四位构成A组,由A组控制逻辑电路进行控制;端口B和端口C的低4位构成B组,由B组控制逻辑电路进行控制。

1.3.数据总线缓冲器

数据总线缓冲器是一个双向三态的8位缓冲器,是8255A与CPU之间传输信息的通道,与系统的数据总线连接。

1.4.读写控制逻辑

  • 读写控制逻辑负责管理8255A的数据传输过程。
  • 它接收来自控制总线的控制信号,形成对端口的读写控制,并通过A组控制和B组控制电路实现对数据、状态和控制信息的传输。

1.5.8255A的外部引脚

与CPU相连的信号线

  • D7-D0:8255A的双向三态数据线,与系统的数据总线相连;
  • #CS:芯片片选信号。信号有效时表示被选中,可以进行读写。通常与地址译码电路的输出端相连接。
  • A1 A0:端口地址选择信号。在#CS有效时,A1A0为00、01、10、11时分别表示选择A、B、C和控制端口。
  • #RD:读信号。当片选信号和读信号同时有效时,CPU可以从8255A读端口内的信息。
  • #WR:写信号。当片选信号和写信号同时有效时,CPU可以向8255A写入数据或命令。
  • RESET:复位信号。当为高电平时清除8255A所有内部寄存器的内容,并将3个数据端口置为方式0下的输入端口。
  • Vcc和GND:电源和地线。

与外部设备相连的信号线

  • PA7-PA0:A口与外部设备连接的信号线,由A口的工作方式决定这些引脚用作输入、输出和双向。
  • PB7-PB0:B口与外部设备连接的信号线,由B口的工作方式决定这些引脚用作输入、输出和双向。
  • PC7-PC0:C口输入输出数据线,这些引脚的用途由A组、B组的工作方式决定。

2.8255A的控制字

8255A的两类控制字

  • 一类用于定义各端口的工作方式,称为方式选择控制字。
  • 另一类用于对C端口的某一位进行置位或复位操作,称为C端口置位/复位控制字。

2.1.方式选择控制字

8255A的3种基本工作方式

  • 方式0:基本的输入输出方式;
  • 方式1:带选通的输入输出方式;
  • 方式2:双向传输方式。

8255A方式选择控制字的格式

  • 标志位:D7:D7位是方式选择控制字的标志位,必须为1。
  • 工作方式选择:D6D5用于选择A组的工作方式,D2用于选择B组的工作方式。
  • 输入输出方向选择:D4、D3、D1和D0分别用于选择A口、C口高4位、B口和C口低4位的输入输出方向。置一时表示输入,置零时表示输出。

各个端口的工作方式

  • 端口A:端口A可以工作在三种工作方式中的任何一种。
  • 端口B:端口B只能工作在方式0或方式1。
  • 端口C:端口C可以独立工作也可以配合端口A和端口B工作,为这两个端口的输入输出传输提供控制信号和状态信号。

2.2.端口C按位置位/复位控制字

控制字作用:端口C置位/复位控制字用于对端口C的任何一位置一或清零,同时不影响该端口其他位的状态。

控制字格式

  • 位选择:通过D3-D1设置进行置位或复位的数位。
  • 置位或复位:通过设置最低位进行选择。

3.8255A的工作方式

3.1.方式0:基本输入输出方式

方式特点:该方式下8255A对3个端口24条数据线的用途没有任何强制性的规定,完全由使用者选择决定。

端口划分:可以将3个数据端口划分为4个可以进行独立输入输出的部分:端口A、端口B、端口C的高4位和端口C的低4位。

适用情况:该方式使用在无条件传送和查询式传送两种场合。

无条件传送下的使用方式:无条件传送一般用于连接简单的外部设备,此时接口和外部设备之间不使用联络信号,CPU可以随时对外部设备进行读写。

查询式传送下的使用方式:端口A和端口B作为数据的输入输出端口,端口C的若干位用作联络信号:通常把端口C的一组(4位)设置为输入,另一组(4位)设置为输出。将端口C的若干个输出引脚定义为端口A和端口B的控制信号,若干个输入引脚用作端口A和端口B的外部设备状态信号输入。

3.2.方式1:选通输入输出方式

方式特点:端口A和端口B用作8位数据的输入输出,端口C的一些引脚被规定为端口A、端口B的联络信号,不能再用于一般的输入输出。

引脚信号:如下图所示。

  • #STBA和#STBB:外部设备数据输入选通信号,连接输入设备时使用,由外部设备送给8255A。该信号有效表示输入设备已经将数据准备好,已经出现在端口A或端口B的数据线上。这个信号同时使输入缓冲区满信号IBF变为有效。对于端口A,STBA信号将外部设备送往端口A的数据锁存到端口A输入锁存器内,端口B没有输入锁存功能。
  • IBFA和IBFB:输入缓冲区满信号,连接输入设备时使用。IBF信号有效时,表示8255A相应端口已经接收到输入数据,但未被CPU取走,输入缓冲器已满。CPU可以通过读端口C得到IBFA和IBFB的状态。该信号一方面可供CPU查询,另一方面送给外部设备,组织外部设备发送新的数据。IBF信号由#STB信号置位,由CPU读信号的后沿将其复位。
  • #OBFA和#OBFB:输出缓冲区满信号,连接输出设备时使用,由8255A输出给外部设备。当信号有效时,表示相应端口已经收到了来自CPU的数据,它的输出缓冲器数据有效,外部设备可以取走该数据。CPU可以通过读C端口获取#OBFA和#OBFB的状态。
  • #ACKA和#ACKB:输出设备接收到数据后的应答信号,由外部设备输出给8255A。外部设备送回该信号表示外部设备已经接收到数据并输出完成,同时该信号会清除输出的#OBFA或#OBFB信号。CPU通过读端口C,获取#OBF为无效时,可以输出下一个数据给8255A相应的端口。
  • INTEA和INTEB:端口A和端口B的中断允许信号。
  • INTRA和INTRB:中断请求信号,由8255A输出给CPU或中断控制器。哪一个信号有效就表示哪一个端口正在申请中断。

工作特点:端口A和端口B中每有一个工作在方式1,则端口C中需要3位作为该方式的联络信号。

适用情况:如果外部设备能够向8255A提供输入数据选通信号和输出数据接收应答信号,就可以采用方式1,方便有效地传输数据。

具体应用场合

  • 中断方式:将INTE置为1,A组和B组可以使用各自的INTR信号申请中断。
  • 查询方式:CPU通过读端口C,可以查询各个信号的当前状态,决定是否进行数据传输。

3.3.双向输入输出方式

方式特点:该方式下外设可以在端口的8位数据线上分别向8255A发送数据或从8255A接收数据,但是不能同时进行。只有端口A可以工作在方式2。

联络信号:该方式需要占用端口C的5位作为联络信号。

  • INTE1:输出中断允许信号。信号有效时,8255输出缓冲器空时通过INTRA向CPU发出输出中断请求信号,为0时屏蔽。
  • INTE2:输入中断允许信号。为1时允许,为0时屏蔽输入中断。

使用场合:如果一个外部设备既是输入设备也是输出设备,并且输入和输出是分时进行的,那么将此设备与8255A的端口A相连,并使得端口A工作在方式2就非常方便。

4.8255A与CPU的连接

  • 与8088的连接:8088使用8位数据总线,8255A中的A1和A0可以直接与系统地址总线中的A1和A0连接。
  • 与8086的连接:8086使用16位数据总线,访问8255A的四个端口时,编程地址应该是4个连续的偶地址。A0总是假定为0,8255的A1和A0引脚分别连接系统地址总线的A2和A1。

微机原理与接口技术:并行接口相关推荐

  1. 《微机原理及接口技术》第08章在线测试

    <微机原理及接口技术>第08章在线测试  <微机原理及接口技术>第08章在线测试 剩余时间: 59:54  答题须知:1.本卷满分20分.            2.答完题后, ...

  2. 微型计算机与接口技术考试题,微机原理与接口技术试题库2

    微机原理与接口技术试题库2 更新时间:2017/2/3 0:10:00  浏览量:843  手机版 课程试卷库测试试题(编号: 2 ) 一:填空题(每空1分,共20分) 1. 为提高系统性能,让CPU ...

  3. 《微机原理与接口技术》期末复习笔记

    微机原理与接口技术 第01章 微机原理概述 基本知识 CPU:中央处理单元(Central Processor Unit),处理器,能够分析和执行指令的部件,能分析和执行指令的芯片就是CPU MPU: ...

  4. 微型计算机接口与技术的交通灯,微机原理与接口技术课程设计——交通灯设计.doc...

    微机原理与接口技术课程设计--交通灯设计.doc 1 任务及要求 1.1设计任务 交通信号灯的控制: (1)通过8255A并口来控制LED发光二极管的亮灭. (2)A口控制红灯,B口控制黄灯,C口控制 ...

  5. 微型计算机接口技术425页,微机原理与接口技术(修订版高等院校电工电子技术类课程十二五规划教材)...

    导语 内容提要 谢四连.董辉.许岳兵主编的<微机原理与接口技术(修订版)>内容分为两部分:第一部分全面系统地介绍了Intel系列微处理器的工作原理.指令系统以及汇编语言程序设计方法:第二部 ...

  6. 微型计算机原理周明德答案,微机原理与接口技术周明德主编习题答案

    <微机原理与接口技术>试题(第一套) 一.选择题(每题3分,共30分) 1.8288在8086/8088组成的计算机中的作用是( ② ). ① 数据缓冲器 ② 总线控制器 ③ 地址锁存器 ...

  7. 微机原理和计算机硬件基础知识,微机原理与接口技术

    微机原理与接口技术 (2010年清华大学出版社出版的图书) 语音 编辑 锁定 讨论 上传视频 <微机原理与接口技术>是2010年8月1日清华大学出版社出版的图书,作者是姚琳.孙志辉.韩伯涛 ...

  8. 微型计算机接口与技术的交通灯,《微机原理与接口技术》交通灯控制实验.doc...

    <微机原理与接口技术>交通灯控制实验 2.4实验详细步骤 首先接线,8255C口的0.1.2.5.6.7号管脚接LED显示电路L0.L1.L2.L5.L6.L71,.WR*.A0.A1.R ...

  9. 微机原理与接口技术课程设计——数字电压表的设计(含完整代码与实验连接图)

    1.设计内容 此次课程设计的基础内容为设计一个可精确到小数点后两位的电压表,作为拓展并加入了电压报警功能,该功能实现一个对超过额定电压就会发出蜂鸣声,进行报警. 它主要是通过采集实验箱提供的0~5V的 ...

  10. 微型计算机原理daa,西安交通大学18年3月课程考试《微机原理与接口技术》作业考核试...

    西安交通大学18年3月课程考试<微机原理与接口技术>作业考核试题 试卷总分:100    得分:0 一. 单选题 (共 30 道试题,共 60 分) 1.在8086系统中中断号为0AH,则 ...

最新文章

  1. NSMakeRange基础函数应用
  2. python commands模块_python commands模块在python3.x被subprocess取代
  3. 【PC工具】PhotoScape简单绿色功能强大的照片编辑器
  4. 【原】网页程序学习Linux利器-----jsuix
  5. JQUERY的toFixed()
  6. 【移动开发】EditText输入字数限制总结(包括中文输入内存溢出的解决方法)...
  7. android底层按键监听,Android应用中Back键的监听及处理实例
  8. Shell 变量及函数讲解 [2]
  9. java锁的级别_Java锁的那些事儿之JDK锁(ReentrantLock)
  10. 做实体行业现在难吗?
  11. jquery 获取select框选中的值示例一则
  12. 7号信令: TUP与ISUP的区别
  13. 从智能门锁,看3D视觉的安全性突围
  14. Web前端初步——IDE工具选择和emment插件
  15. RGB565 转 HSV C语言实现
  16. App主界面交互框架(其中包括标签式、跳板式、列表式、旋转木马、抽屉式、点聚式、陈列馆式、瀑布流)
  17. 【小白话通信】离散分布之间的关系
  18. 什么软件能测试显卡功耗,测试方案及测试平台
  19. Ubuntu Server 18.04配置无线Wifi网卡
  20. 使用python3抓取链家二手房数据

热门文章

  1. 与Simon,Warren,Neo,Paul同学聊天体会
  2. WebRTC学习笔记七 pion/webrtc
  3. 后缀表达式的求值(c语言)
  4. 通过 itms:services://? 在线安装ipa ,跨过appstore
  5. 你不知道的东西----半月痕(中医诊断)
  6. java.sql.SQLException: Parameter index out of range (4 number of parameters, which is 2).
  7. SpringBoot-21-统一日志框架
  8. 时间子系统10_hpet时钟初始化
  9. [QNX Hypervisor 2.2用户手册]10.4 vdev hpet
  10. ITILv4 MP认证以及证书展示