当前课程知识点:微机原理与接口技术 >  第12周 可编程并行数字接口 >  第50讲 可编程并行接口 >  可编程并行接口8255_02

返回《微机原理与接口技术》慕课在线视频课程列表

可编程并行接口8255_02在线视频

可编程并行接口8255_02

下一节:可编程并行接口8255_03

返回《微机原理与接口技术》慕课在线视频列表

可编程并行接口8255_02课程教案、知识点、字幕

那么方式1我们前面说它叫选通工作方式

所谓选通控制工作方式

就是需要有一组选通控制信号

在这组选通控制信号的控制下

才能够实现A端口

或者B端口的数据的输入

或者输出

为什么在这里没有提到的C端口昵

因为既然需要一组选通控制信号

这组控制信号一定要有一个端口

来进行传输

所以这种工作方式下

我们C端口的一部分的位

就被用来作为选通控制信号的传输了

那么C端口就不可能作为一个端口

来工作在方式1下

实现数据的输入输出

所以方式0下

ABC3个端口作为基本L端口

都是可以工作在方式0的

但是方式1昵

我们作为数据的LO

只能是A或者B

C端口这个时候被专用了

我们下面来看一下

A端口和B端口工作在方式1

作为输入或者输出的时候

它们所需要的选通控制信号是不一样的

而且它们的工作时序也有一些差别

下面我们来分别来看

我们先来说一下

A口和B口工作在方式1

作为输出端口的时候

它们的一种应用

它们的基本工作时序是完全一样的

所以下面的时序

我们只选一个来看就可以了

我们把这个方式1下

A口作为输出和B口作为输出的图

都打在这里

大家主要可以看到

A端口工作在方式1

作为输出口的时候

它所需要的C端口

作为选通控制信号的C口的位

是PC3PC6和PC7

而如果同时B端口

也工作在方式1作为输出口的话

这个时候C端口的C0C1C2

这3位用来作为

B端口方式1下的选通控制信号

而PC3PC6PC7昵

就作为A端口工作在方式1下

作为输出口时候的选通控制信号的传输

所以如果A口和B口同时工作在方式1下

作为输出口的话

那么C端口就只有C4和C5

是空余状态

那么这2位这个时候

如果你希望用来传输某一位

或者某2位数据信号

我们可以用C口的这2位

那么如果你这个时候要想传输更多的昵

就不可能了

好下面我们来看作为输出状态时候

它们的工作时序

在工作在方式1下

不论是A口还是B口

那么作为输出的时候

它们的工作时序是这样

这个时序昵我们现在先不讲

我们先来想象一下作为输出的时候

系统应该是一个什么样子的工作过程

我们朴素思维一下

我们假设这个是8255的A端口

我们假设就用A端口作为例子来说了

那么现在这边是系统

这边是外部设备

如果我们现在要用这个A端口

作为输出口的话

那么我们现在显然要做这样一件事

就是说CPU把数据写到A端口

再由A端口传输到外部设备

那么这个工作时序我们想应该就是这样

我们首先要在

CPU一个写周期的时间内

然后把数据写入到A端口

写到A端口以后干什么昵

作为A端口来讲

这个时候它要通知外部设备

我这里已经有数据在我这里了

你现在可以来取了

那么外部设备收到这个信息以后

它显然就要去把数据从A端口里读走

对吧 读走以后昵

那么现在我们就认为

A端口里头已经没有数据了

虽然这个传输出去

有可能它是一个COPE过去的过程

但是我们认为它已经没有了

没有了昵

我们现在就应该告诉CPU

我这里的数据已经被外部设备接收了

那么你如果还有数据要过来的话

你现在可以往里走了

这就是我们总个作为输出接口的时候

它的一个工作时序

好我们现在回来看那个时序图

这个时序图就反映了我们刚才

所描述的那个过程

首先在一个写允许的这样一个周期里头LW

CPU首先要产生一个LW的写读机

在这个周期内

数据被写入到了A端口

这里的箭头

表示着一种时序上的控制关系

也就说当写允许完了之后

这个数据已经在A端口了

那么这个时候A端口就要通知外部设备

这个通知的信号是什么昵

就叫OBF

这个信号通知外部设备以后

外部设备就开始来读取这个数据

当它把这个数据读取完了以后

它会发出一个应答信号

就是ACK

这个ACK信号同时会使OBF有效

并且它在读取完了以后

它会使得这个叫INTR的引脚产生高电频

我们已经知道INTR是什么东西昵

是外部可屏蔽的中断请求信号

意思就是说等它把数据读走之后

那么它会告诉CPU

我现在数据已经被读走了

你现在可以如果有数据的话

可以接着来了

所以这个就是它反映的一个

工作时序的一个关系

这是作为输出的时候的一个时序

那么如果这个时候

A端口或者B端口工作在方式1

并且作为输入接口的话

那么这个时候大家看

我们会用到C端口哪些位昵

这个A端口工作在方式1

作为输入的时候昵

会用到C3C4C5这3位

作为选通控制信号的这个传输

而B端口昵

依然是C0C1C2

我们同样的来分析一下作为输入的时候

它的一个工作过程

如果作为输入我们来看

假设还是我们用A端口作为例子

这是A端口

那么输入的时候

显然就是要把信息输入到系统里头

对吧

那么这边是外部设备

那么也就是说我们首先外部设备

要把数据写进A端口

写完了以后

因为我们在前面讲

LO系统中我们曾经讲过

外部设备跟接口之间一般来讲

它是专用的或者一一对应的

而外部设备的工作速度相对于系统来讲

或者相对于CPU来讲要慢的很多

所以它在往里写的时候

不管它写多长时间

CPU应该是不会被打扰的

它应该能够自己在做它自己的加减乘除

那么等你把这个外部设备

把这个数据写到A端口以后

好A端口再去产生一个中断请求

告诉CPU我的数据已经在这里

好CPU然后就用一个读周期

把数据读到它内部

这就是我们作为输入的时候

应该有的一个朴素的思维过程

那么现在我们看

这个过程如何反映在时序上

这就是我们8255这个A端口或者B端口

工作在方式1作为

输入端口时候的工作时序

首先昵

在STB这个有效期间

外部设备会将数据写入到

A端口或者B端口

当然这里头端口会同时产生一个IBF信号

作为和外部设备的应答信号

大家看当你这个STB无效的时候

也就说数据已经被写入端口之后

那么它会触发一个中断请求信号产生

在这个中断请求就是将它告诉CPU

我现在已经有数据在我这里了

那么这个时候CPU会产生一个IOR信号

在这个有效期间把数据读进来

而数据读完之后

它就和外部设备的这种

连通信号就会让它无效了

STB信号所对应的

正好是外部设备向

向端口写数据的这样的一个时序

这个是我们8255A和B口工作在方式1下

作为输入的一个时序图

那么我们总结下来

工作在方式1下的时候

主要就是通过需要通过中断请求信号

来实现数据的输入输出

因此昵方式1我们也称为

因此昵方式1主要用于

中断控制方式下数据的输入或者输出

那么这个时候C端口的8位中

除了用作选通信号外

其余的位当然可以工作在方式0下

作为基本输入输出端口

来实现数据的传输

方式1也好方式0也好我们说

不管是哪一种工作方式

它们的3个端口从它的原理上来讲

因为它们都具有控制能力

又具有锁存能力

所以昵它们都可以作为输入

也可以作为输出

但是昵

一旦设置它们作为输入

它们就只能作为输入

如果你希望改变它的传输方向

必须重新进行初始化的工作

也就需要重新给它发布软件命令

就这一点来讲

比简单接口当然要灵活很多

但是毕竟需要通过软件命令的方式

来修改它的传输方向

但是下面我们来看

这种方式2

叫做双向输入输出方式

是不需要通过软件命令

而只是需要通过时序脉冲

就能够实现它们

就能够改变他们的传输方向的一种工作

也就是说在这种情况下

才是真正的双向传输模式

因为在双向传输模式下

也需要很多的选通控制信号

而这个时候如果A口和B口

都同时工作在双向模式下

那么所需要的选通控制信号

就会比较多

我们等一下看到

这个时候实际上是方式1下

所有选通控制信号的一个集成

因此昵

没有办法让A与B都同时工作在方式2

或者说它分时也不可能

因此昵方式2下只有A端口

可以工作在方式2下

B端口是没有可能工作在方式2下的

在A端口工作在方式2下的时候

我们看我们用到了C端口的C3C7C6C4C5

这么5个位

用来作为选通控制信号的传输

大家看这些选通控制信号引

我们也可以发现

像OBFACK是刚才做为输出的

一组选通控制信号

STBIBF是作为输入的一组选通控制信号

当然INTR是刚才我们输出和输入

都需要用到的中断请求信号

那么在这里大家就合在一起了

因此昵它们这个时候

需要5位选通控制信号

我们看一下它们的工作时序

这个工作时序实际上就描述了

现在的A端口

到底先做了输入口

还是先做了输出口

我们讲过工作时序图的看法是

这边是原点

横坐标是时间轴

那么我们从这样一个原点

逐次的由左向右这样看下去

我们第一次出现的首先出现的有效信号

是这个IOW信号

IOW我们都知道是系统发出来的

写允许信号

也就说在它有效期间

CPU或者说系统

会把数据写入到端口里头

那么数据由系统写入到

端口的目的是什么昵

那显然是要端口把数据输出去

所以在这里首先有了IOW信号

说明这个A端口现在要做输出了

因此昵在这个LW

有效结束之后

那么就会出现OBF信号

告诉外部设备来取

跟刚才的过程一样

外部设备把数据取完

会有ACK信号

跟刚才一样

外部设备就会用ACK信号

作为一个应答信号并且把数据取走

当数据取走以后

会产生中断请求

那么如果在这个数据输出完了之后

我们接着又送

产生一个STB信号昵

那么STB信号是在干什么昵

我们看STB信号是我们刚才说是

由外部设备要把数据写入到A口里头来

所以在STB有效的时候

这个数据正好是

外部设备写入到A口的数据

所以这个时候就要做输入来用

因此昵这个时序图告诉我们

这个时候A端口是先做了输出口

接着又做了输入端口

这个就是通过LW和STB信号

先产生了LW就先做输出

先产生STB就先做了输入

也就说通过这2个信号

就可以来实现这个A端口

一会儿输出一会儿输入

这样一个真正的双向传输模式

因此昵方式2下

需要用到这么多的选通控制信号

所以只有A端口可以作为双向口

也就是只有A端口可以工作在方式2下

它同样需要采用中断控制方式

因此昵不论是方式1还是方式2

实际上都不会使用查询

或者无条件的传输

而都需要采用中断控制方式

来实现数据的输入输出

当A端口工作在方式2的时候

B端口可以工作在方式1

当然B端口也可以工作在方式0

如果B端口这个时候工作在方式1

那么细心的同学会看到

这个时候C端口的所有的位

都被用来作为选通控制信号的传输

也就是说C端口没有一个空余位了

我们作为A端口工作方式2

我们刚才看到C口有5位

来作为选通控制信号传输

那么B口如果这个时候同时工作在方式1

那么不论它做输入也好输出也好

C端口的C0C1C2位都要用来

做支持B端口来进行数据传输

所以C口的所有位都没有空闲了

那么如果这个时候

B口可以又工作在方式0

而不是工作在方式1的话

那么C端口就有3位作为空闲位

那么它也可以用来做数据的传输了

总之8255的ABC3个端口

它们都可以工作在方式0

但是A端口和B端口可以工作在方式1

而只有A端口可以工作在方式2

方式0作为基本输入输出口

它们采用的输入输出工作方式

基本上都是无条件传输方式

或者查询工作方式

而方式1和方式2下

只能工作于中断控制方式

微机原理与接口技术课程列表:

第1周 微型计算机基础概论

-第1讲 关于本课程

--关于本课程

-第2讲 微型计算机系统

--微机系统_01

--微机系统_02

-第3讲 微型计算机一般工作过程

--微机的一般工作过程_01

--微机的一般工作过程_02

-第4讲 数制与编码

--常用计数制及其转换

--计算机中的编码

-第5讲 计算机中数的表示与运算

--数的表示

--符号数的表示

--数的表示与运算

-第6讲 基本逻辑运算与逻辑电路

--基本逻辑运算与逻辑门

--常用逻辑运算及电路

-第7讲 本周小结

--本周小结

-第1周 微型计算机基础概论--第一周单元测验

第2周 8088微处理器

-第8讲 8088微处理器

--8088 CPU_01

--8088 CPU_02

-第9讲 8088 CPU主要引线及机构

--8088 CPU主要引线

--8088 CPU内部结构

--8088 CPU内部寄存器

-第2周 8088微处理器--第二周单元测验

第3周 实模式存储器寻址与总线

-第10讲 实模式存储器寻址

--实模式存储器寻址_01

--实模式存储器寻址_02

--实模式存储器寻址_03

-第11讲 8088系统总线

--8088系统总线

-第12讲 微处理器小结

--微处理器小结

-单元测验--作业

第4周 数据传送指令

-第13讲 指令概述

--指令概述

-第14讲 寻址方式

--寻址方式

-第15讲 通用数据传送指令

--通用数据传送指令_01

--通用数据传送指令_02

--通用数据传送指令_03

-第16讲 地址传送指令

--地址传送指令

-第17讲 输入输出指令

--输入输出指令

-第4周 数据传送指令--第四周单元测验

第5周 算术运算、逻辑运算与移位操作指令

-第18讲 算术运算指令

--加法运算指令

--减法指令

--乘除运算指令

-第19讲 逻辑运算指令

--逻辑运算指令_01

--逻辑运算指令_02

-第20讲 移位操作指令

--移位操作指令

-第5周 算术运算、逻辑运算与移位操作指令--第五周单元测验

第6周 串操作指令

-第21讲 关于串操作指令的说明

--串操作指令说明

-第22讲 串传送与串比较

--串传送与串比较

-第23讲 串扫描指令

--串扫描指令

-第24讲 串装入与串存储指令

--串装入与串存储指令

-第六周单元测验--作业

第7周 程序与处理器控制

-第25讲 程序控制指令说明

--程序控制类指令说明

-第26讲 转移类指令

--无条件转移指令

--条件转移指令

-第27讲 循环控制指令

--循环控制指令

-第28讲 过程调用指令

--过程调用指令

-第29讲 中断指令

--中断指令

-第30讲 处理器控制指令

--处理器控制指令

-第31讲 指令系统小结

--指令系统小结

-第7周 程序与处理器控制--第七周单元测验

-第7周 程序与处理器控制--第七周作业

第8周 汇编语言程序设计

-第32讲 汇编语言源程序

-- 汇编语言源程序_01

-- 汇编语言源程序_02

-第33讲 伪指令

--数据定义伪指令

--符号与段定义伪指令

--汇编语言源程序结构例

--其它伪指令

-第34讲 系统功能调用

--系统功能调用_01

--系统功能调用_02

-第35讲 汇编语言程序设计示例详解

--程序设计示例1

--汇编语言程序设计示例_02

-第36讲 汇编语言程序设计小结

--汇编语言程序设计小结

-第8周 汇编语言程序设计--第八周单元测验

-第8周 汇编语言程序设计--第八周作业

第9周 半导体存储器

-第37讲 半导体存储器概述

--半导体存储器概述

-第38讲 内存单元编址

--存储单元编址

-第39讲 随机存取存储器RAM

-- RAM_01

--RAM_02

-第40讲 只读存储器ROM

--ROM_01

--ROM_02

-第九周单元测验--作业

第10周 半导体存储器扩展技术

-第41讲 半导体存储器扩展

--半导体存储器扩展_1

--存储器扩展_2

--半导体存储器扩展_3

-第42讲 半导体存储器小结

--半导体存储器小结

-第十周单元测验--作业

-第十周作业--作业

第11周 输入输出与中断技术

-第43讲 基本I/O接口

--I/O系统概述_01

--I/O系统概述_02

-第44讲 简单接口芯片

--简单接口芯片

-第45讲 基本输入输出方法

--基本I/O方法

-第46讲 简单I/O控制系统设计

--简单I/O控制系统设计1

--简单I/O控制系统设计2

-第47讲 中断技术

--中断技术1

--中断技术2

-第48讲 输入输出与中断技术小结

--本周小结

-第十一周单元测验--作业

第12周 可编程并行数字接口

-第49讲 可编程定时计数器

--可编程定时计数器8253_01

--可编程定时计数器8253_02

--可编程定时计数器8253_03

-第50讲 可编程并行接口

--可编程并接口8255_01

--可编程并行接口8255_02

--可编程并行接口8255_03

-第51讲 可编程接口小结

--本周小结_01

--本周小结_02

-第十二周单元测验

第13周 模拟量的输入输出

-第52讲 模拟量的输入输出

--模拟量的输入输出

-第53讲 D/A转换器

--D/A转换器_01

--D/A转换器_02

-第54讲 A/D转换器

-- A/D转换器_01

--A/D转换器_02

-第十三周单元测验--作业

第14周 系统综合设计示例详解

-第55讲 I/O接口系统综合设计示例详解I

--综合设计示例详解I_01

--综合设计示例详解I_02

-第56讲 综合设计示例详解II

--综合设计示例详解II_01

--综合设计示例详解II_02

-第57讲 结束语

--结束语

可编程并行接口8255_02笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。