计算机输入输出接口形式,输入输出接口-微计算机原理-电子发烧友网站

news/2024/5/10 19:27:37/文章来源:https://blog.csdn.net/weixin_39891317/article/details/119122743

第五节 输入输出接口

如第六章所述,CPU要通过接口电路才能和外设交换信息.一般在接口电路中要有输入输出数据锁存器和 缓冲器,要有状态和控制命令寄存器,还要有地址译码器和控制电路,以及中断控制逻辑电路.这样才能解决 CPU与外设时序匹配问题,对外设实施控制,保证CPU于外设正确可靠的交换信息.

随着大规模集成电路的发展,生产了许多通用的可编程接口芯片,这些接口芯片按数据传送方式可分成 并行接口和串行接口两大类.如Z80PIO,I8255,MC6821均为并行接口芯片,而Z80SIO,I8251,I8250,MC6850等 均为串行接口芯片,本结只讨论并行接口芯片,有关串行接口芯片在接口电路一书中介绍.

可编程并行接口芯片,在实现方法上各厂家虽各有不同,但器件的基本结构和基本功能大体相同,一般 有以下几个功能:

(1)有两个或两个以上的含有锁存器和缓冲器的数据端口.

(2)每个数据端口都有和CPU交换数据用的状态和数据信息,也有与外设交换信息用的状态和控制信息.

(3)通常每个数据端口还具有能用中断方式与CPU交换信息所必需的电路.

(4)选片和控制电路.

(5)都有控制字寄存器,这些寄存器可由CPU写入.即用程序可选择端口,端口传送方向,交换信息的方法等.

INTEL 8255A 是一个典型通用的可编程并行接口芯片,本节作详细介绍.

§7.5.1 8255A的内部结构

8255A的内部结构如图7-31所示.由以下几部分组成:

0605379ba6f2374776ba416a102e48f1.gif                                          

1.数据总线缓冲器,这是一个双向三态缓冲器,是8255A与系统总线的接口,CPU与8255A之间的数据传送 ,状态和命令传送都通过它.

2.读/写控制逻辑,它与CPU的地址总线A1,A0以及有关控制信号相连(RD,WR,RESET,IO/M),由它控制把CPU的控制命令或输出 数据送数据端口,或者将外设的状态和输入数据送CPU.CS片选信号,CS=0时允许CPU与8255A交换信息.RD 和WR读/写信号,RD=0时,CPU读入8255A的数据或状态.WR=0时,CPU将数据或状态送入8255A.RESET复位信号, RESET=1时,清除控制寄存器,并使所有端口为输入方式.A1,A0端口寻址信号,由此两位选择三个端口和一个 控制寄存器.表7-3说明了A1,A0和RD,WR及CS组合所实现的功能.

A1

A0

RD

WR

CS

功能

0

0

0

1

0

端口A->数据总线

0

1

0

1

0

端口B数据总线

1

0

0

1

0

端口C数据总线

0

0

1

0

0

数据总线端口A

0

1

1

0

0

数据总线端口B

1

0

1

0

0

数据总线端口C

1

1

1

0

0

数据总线控制字寄存器

*

*

*

*

1

数据总线为三态

*

*

1

1

0

数据总线为三态

1

1

0

1

0

非法状态

3.数据输入端口A,B,C是三个8位输入输出端口.端口A具有一个8位数据输出锁存和缓冲器,一个8位数据输入锁存器.端口A具有一个8位数据输入/输出锁存缓冲器和一个8位数据输入缓冲器.端口C具有一个8位 数据输入缓冲器.通常端口A和B作为数据输入输出端口,端口C作为控制和状态信息端口,在方式控制字的 控制下,端口C可分为两个四位端口,每个端口包含一个四位锁存器.

4.A组和B组控制电路,这是两组根据CPU送来的控制字控制8255工作方式电路,A组控制端口A和端口C的 高4位,B组控制端口B和端口C的低4位.

§7.5.2 工作方式

8255A有三种基本的工作方式,他们是方式0(MODE 0),基本输入/输出方式;方式1(MODE 1),选通输入/输出方式;方式2(MODE 2),双向传送.

1.方式选择控制字

使用8255A时要对8255进行初始化编程,CPU向8255A的控制寄存器输出一个方式选择控制字,由它来决定8255A三个功能和工作方式.控制字的格式如图7-32所示.可以分别选择端口A和端口B的工作方式.端口C则分成两部分,高四位随端口A,低四位随端口B,端口A可有三种工作方式,而端口B只能工作于方式0和方式1.

2.按位置位复位功能

端口C的每一位都可由输出指令置位或复位,这一功能主要用于控制,实现这一功能的控制字格式见图 7-33.要注意的是,端口C按位置位复位的控制字是写到控制寄存器的地址.例如,下面几条指令使端口C的 BIT 1置0,而使BIT 7置1,设控制寄存器地址为CNTRL.

MOV AL,02H

OUT CNTRL,AL ;置PC1为0

MOV AL,0FH

OUT CNTRL,AL ;置PC7为1

0546dde17ba102c6a41acdae290068d8.gif

4a11e423c104e9dc238530794f179639.gif

§7.5.3 8255A的工作方式

1.方式0的功能

方式0是一种基本的输入或输出方式,在这种工作方式下,三个端口的每一个都可由程序设定为输入或 输出端口,但这种方式沒有规定固定的用于应答式的联络信号线,基本功能为:有两个8位端口和两个4位 端口(C),因此,输入输出可有16种不同的组合;任何一端可作为输入或输出,输出是锁存的,输入是不锁存的. 在这种方式下,CPU可用输入输出指令读或写,可用作无条件传送接口电路,也可用作条件接口传送电路, 此时端口C某些位作端口A和B的控制或状态位.方式0的输入输出时序如图7-34所示.

9c01dfececb76ab4b5acfda196bbca30.gif

c560bc8258d18cca3aa9b1ef42d0d889.gif                                                 

输入时,当外设准备好一个数据,CPU执行一条输入指令便可从8255读入这个数据.但RD的宽度要大于300ns,而且地址信号要超前RD信号TAR,这样在RD有效后经TRD时间,数据即可稳定在数据总线上.

输出时,CPU用输出指令将数据输出到8255数据输出锁存器,并传给外设,要求WR宽度大于400ns,且地址信号要超前WR信号TAW,并在WR信号结束后保持TWA时间(TWA大于70ns).另外输出数据必须在WR结束前TDW时间内有效(大于100ns),并在WR信号结束后保持TWA时间(接口).

2.方式1的功能

这是一种选通的I/O方式,在这种方式时,端口A和B仍作为数据的输入输出端口,但同时规定端口C的某些 位用作控制或状态信息.在方式1工作时,三个端口分成AB两组,每组包含有8位数据口及三条控制和状态线. 每组即可输入也可输出.当端口A和B工作在方式1输入时,其控制字格式及信号连接如图7-35所示.

ac27276a736eab9b9216b17a36fdf6c9.png

其中各控制信号的意义如下:

STB(Strobe):选通输入,低电平有效.这是由外设提供的输入信号,当其有效时,将输入设备送来的数据 送入输入锁存器.

IBF:输入缓冲器滿信号,高电平有效,是8255的输出信号,当其有效时,表示数据已输入至输入锁存器,他 由STB信号置位,RD信号上升沿复位.

INTR:中断请求信号,高电平有效,是8255的输出信号,向CPU申请中断请求.当STB,IBF和IBTE都为高电平 时被置为高,由RD信号下降沿清除.

INTE A:端口A中断允许信号,由PC4的置位复位控制,PC4=1时允许中断.

INTE B:由PC2的置位复位控制.

方式1的输入时序见图7-36.当外设准备好数据,用STB信号把数据送入输入锁存器.STB的宽度至少为500 ns,STB的下降沿经过TSIB时间(TSIB<300ns),IBF信号有效,输给外设,阻止外设输入新的数据,也可供CPU 查询.STB信号结束后经TSIT向CPU发出INTR信号.CPU响应中断并转入中断服务程序,执行输入指令发出RD信号,把数据读入CPU,并清除INTR,使IBF变为低电平.

2a59d0c3d7def699ea104a9d144207c4.png

方式1输出工作情况如图7-37所示:

b3fc071887b2d6a45a9042cd76725644.png

控制信号如下:

OBF(Output Buffer Full):输出缓冲器满信号,低电平有效,送给外设信号.当有效时,表示CPU已将数据送到输出锁存器,由WR上升沿置成低电平,ACK使其变高.

ACK(Acknowlege):外设送来的响应信号,低电平有效,表示数据已被外设取走.

INTR:中断请求信号,当外设已取走数据,向CPU中断请求,要求CPU送下一个数据,当ACK,OBF和INTE均为 高电平时,INTR变高,由WR的下降沿复位.

INTE A由PC6置位复位,INTE B由PC2置位/复位.

方式1的输出时序如图7-38.方式1用中断方式输出時,由CPU响应中断开始,在中断服务程序,CPU执行输出 指令时发出WR信号,将数据送到输出锁存器,在WR的上升沿产生OBF信号,由OBF将数据送到外设,外设收到数据 后,发回ACK信号,它使OBF变高,使INTR变高,又向CPU申请中断.

dd98c80672e748de8082142a5c427761.gif                                                          

3.方式2的功能

方式2可使外设在单一总线上即可接收数据也可发送数据.只有端口A有这种功能,端口C提供5位控制状态 信息。各控制信息信号的信息与方式1输入输出时信号意义相同.其中INTE A表示允许输出中断,由PC6置位/复位控制,INTE B允许输入时中断,由PC4置位/复位控制.

方式2的工作时序就是方式1的输入时序与输出时序的组合,输入和输出都可请求中断.

当端口A工作在方式2时,端口B可工作在方式0或方式1,当端口B工作在方式1时,PC0是INTRB,PC1是IBFB或 OBFB,PC2是INTE B,可以用输入指令读入端口C,检查各位的状态.

§7.5.4 8255A的应用

在IBM PC/XT中,有一片8255A三个端口全部工作在方式0,起电路如图7-40所示.

d26b8d3dedd30f1be2ed408fbae5e3b7.gif                                                    

deff4eb1f5b24146bedd928b12bb945c.gif                                                   

1.PA0~PA7在加电自检时工作于输出状态,输出当前部件的标志信号,若检测到关键性故障停机时,测量PA口的电平可确定发生故障的部件.PA口主要输出下列被检部件标志:

PA2 PA1 PA0

0  0  1    BIOS累加和错

0  1  0   8253错

0  1  1    8237错

1  0  0   前16KB RAM错

1  0  1   8259错

1  1  0   CRT適配器

在正常的工作时,CPU通过PA口读取键盘输入扫描码.

2.PB口输出系统内部控制信号,通过编程设置,可以控制系统内部某些电路的动作.

PB0输出TIM2GATESPK信号,送到8253的GATE2,控制8253通道工作.

PB1输出SPKDATA信号,控制扬声器发声.

PB3输出控制对系统开关DIP的读取,当PB3=0时,允许PC口读取DIP的低四位,PB3=1时,允许PC口读取DIP的高四位.

PB4输出ENBRAMPCK信号,是允许系统板RAM进行奇偶校验信号,送到奇偶校验电路.

PB5输出ENABLE I/O CK信号,送到NMI控制电路,PB5=0时,允许I/O通道中奇偶校验结果送入NMI控制电路.

PB6和PB7是键盘接口电路的控制信号.

3.PC口读取系统内部状态,其中PC0~PC3读取系统配置开关DIP的设置状态,PC4读取扬声器的状态,PC5 读取8252的OUT2状态,PC6读取I/O通道中奇偶校验状态,PC7读取系统板上RAM奇偶校验的结果.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_783619.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

era5数据内容说明_关于爬取网站数据保存为docx出现的一些问题

最近同事在爬取某网站数据&#xff0c;想将爬取的数据保存为docx。在爬取数据过程中一切很顺利&#xff0c;但是在保存数据时却提示以下错误。File "srclxmletree.pyx", line 1024, in lxml.etree._Element.text.__set__ File "srclxmlapihelpers.pxi", l…

搭载网站的云服务器需要空间备案,云服务器需要备案么

如果国内用户使用国内大陆免备案云服务器的好处在于&#xff0c;不必受限于网站的备案流程&#xff0c;购买之后&#xff0c;建好网站就可以迅速使用。如果是大陆的主机&#xff0c;还要进行备案的提交&#xff0c;审核等流程。用户们在选择免备案免备案服务器一般以总之&#…

如何将你的网站开发成手机应用?

2019独角兽企业重金招聘Python工程师标准>>> 只需2步&#xff1a; 一、建立网页手机版 一般企业都有PC版本的web页面&#xff0c;有些也有手机版的wap页面&#xff0c;如果有手机版的wap页面那就更好了&#xff0c;做成应用入口&#xff0c;用户的体验会好很多。如果…

刨根问底--技术--jsoup登陆网站

2019独角兽企业重金招聘Python工程师标准>>> 使用jsoup登陆网站&#xff0c;重要的就是看这个网站登录的时候需要什么信息&#xff1f; 步骤&#xff1a; &#xff08;1&#xff09; Jsoup.connect(url)创建一个connect对象&#xff0c;注意&#xff1a;这个方法只…

《高性能网站建设指南》阅读体会

今日阅读了《高性能网站建设指南》一书&#xff0c;该书的作者Steve Souders"为Yahoo!的开发团队构建了YSlow"。YSlow是Web页面性能分析工具&#xff0c;可以集成至Firebug&#xff0c;非常好用。书和工具是配套的&#xff0c;工具会在线更新&#xff0c;书印出来就不…

源码下载和购买网站

1.速帮网 http://www.58subang.com/ 2. 免费源码下载站 搜刮好东西 http://www.sogua2008.com/ 3.码云-开源中国代码托管平台 提供开源代码 https://gitee.com/ 4.看源社区 http://www.see-source.com/ 转载于:https://www.cnblogs.com/yangchunlong/p/8195957.html

初中计算机使用在线,初中信息技术考试模拟试题(flash+网站基础知识)

教学设计、复习1flash&网站总分60分 考试时间30分钟题号 一 二 总分 分数得分 评卷人一、单项选择题(共20题&#xff0c;计20分)第1题(1分): 制作个人网站时为了使网页界面整齐、有序&#xff0c;一般使用哪种工具对网页布局() A 、格式刷 B 、表格 C 、标尺 D 、文本框第2…

[置顶] 第一个ASP.NET网站——从静态到动态

【操作步骤】 一、创建简单的静态网页 1、在D盘新建文件夹aaa; 2、在文件夹aaa中新建文本档&#xff0c;输入如下内容&#xff1a; <html> <head> <title>简单的静态网站</title> </head> <body> 你好&#xff0c;今天是2013年4月28日。 &…

黑客对俄罗斯克里姆林宫网站展开攻击

俄罗斯政府周一表示&#xff0c;上周日&#xff0c;黑客对克里姆林宫网站进行“非常严重的”攻击。克里姆林宫发言人迪米特里佩斯科夫(Dmitry Peskov)表示&#xff0c;这一黑客攻击与俄罗斯地方选举有关&#xff0c;而选举委员会网站周日上午遭到了攻击。 他表示&#xff1a;“…

Android实现蝴蝶动画,飞舞的蝴蝶 - Android中的动画详解系列_Linux编程_Linux公社-Linux系统门户网站...

这一篇来使用逐帧动画和补间动画来实现一个小例子&#xff0c;首先我们来看看Android中的补间动画。Android中使用Animation代表抽象的动画类&#xff0c;该类包括下面几个子类&#xff1a;AlphaAnimation:透明改变动画。ScaleAnimation:大小缩放动画。TranslateAnimation:位移…

创建高安全性PHP网站的几个实用要点

2019独角兽企业重金招聘Python工程师标准>>> 大家都知道PHP已经是当前最流行的Web应用编程语言了。但是也与其他脚本语言一样&#xff0c;PHP也有几个很危险的安全漏洞。所以在这篇教学文章中&#xff0c;我们将大致看看几个实用的技巧来让你避免一些常见的PHP安全问…

实战J2EE—开发购物网站(一)

前言本文通过实战全程编写一个购物网站来讲解如何使用J2EE来建立企业级的网络应用&#xff01;本文针对的是像我这样的绝对初学者&#xff0c;如果您是高手就莫要见笑了&#xff01;一&#xff1a;搭建开发平台本文从实战出发&#xff0c;所以关于一些概念性的问题就不…

实战J2EE—开发购物网站(二)

第三步&#xff0c;安装配置jBuilder 7这里我安装的是weblogic版安装jBuilder不要把它装到带有空格的目录里如Prograih Files,或是中文目录中&#xff0c;不然编译时会出错的。安装很简单&#xff0c;不必多言&#xff0c;这里着重讲一下配置小技巧一&#xff1a;大…

实战J2EE—开发购物网站(三)

二&#xff1a;创建数据库小试牛刀oracle 8i(顺便我们练练手)(为了方便&#xff0c;我就将oracle 8i简写8i了)8i和9i确实有些不一样&#xff0c;不过在界面上区别不大&#xff0c;还是以我的oracle 8i为例为大家讲解一下吧&#xff01;既然是实战&#xff0c;首先我们为…

部署社交网站

项目案例&#xff1a;部署社交网站前言&#xff1a;本次项目是搭建一套动态网站服务器平台&#xff0c;在上面运行社交网站&#xff08;例如&#xff1a;人人网&#xff0c;开心网&#xff0c;天涯论坛&#xff09;。相关知识点在前面的课程中都有所涉及&#xff0c;今天的实验…

Python自动化备份系统及网站

随着目前IT迅猛的发展&#xff0c;自动化运维对于Linux运维人员也越来越重要&#xff0c;传统的运维方式靠大量的人力&#xff0c;现在也逐渐转向自动化运维&#xff0c;我们常见的跟自动化有关的软件有哪些呢。今天我们来简单列举一下&#xff1a;kickistart、puppet、cobbler…

SEO从业五年,软文编写经验总结

从事SEO工作五年&#xff0c;对于很多SEO的技术也有一些自己的经验和想法&#xff0c;在这里想和大家交流一下关于SEO中的主要一块——软文编写的经验和总结。一、最关键&#xff1a;蜘蛛喜欢收录并且有排名蜘蛛喜欢的&#xff0c;用户不一定喜欢;用户喜欢的&#xff0c;蜘蛛一…

php远程获取网站的关键字信息(并附:php判断字符串编码)

php远程获取网站的关键字信息&#xff08;并附&#xff1a;php判断字符串编码&#xff09; 很明显&#xff0c;php100是gbk编码的网站。现在获取它的关键字&#xff0c;并无乱码的显示出来&#xff0c;然后好保存到数据库。 123456789101112131415161718192021<meta http-eq…

百度seo排名点击器app_seo如何快速排名百度首页

seo排名首页是多个要素共同作用的结果&#xff0c;达成seo快速排名首页结果同样需要多个优化要素共同作用&#xff0c;一般而言seo不能快速起效。如果仅仅以快速而言&#xff0c;推荐的方法包括但不限于301永久重定向&#xff0c;快照劫持&#xff0c;模拟用户行为以及短时间增…

网站速度与性能优化要抓主要矛盾解决—瓶颈法

本文主要是思维性的总结&#xff0c;是总结优化的方法学,对方面上面的错误进行总结。不会涉及到前端具体的技术&#xff0c;比如对js和css进行压缩、合并&#xff0c;减少http请求,缓存头控制等等。这些那本《高性能建站指南》都有现成的。 基于本人在多家公司分别遇到的网站速…