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

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

可编程并接口8255_01在线视频

可编程并接口8255_01

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

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

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

好 大家好

在我们学完了可编程定时计数器8253之后

这一讲我们来学习另外一片

可编程的接口芯片8255

8253我们说它是一个非通道型的接口

因此昵它的主要工作

就是实现对外部设备的控制

而8255了是一个通道型的接口

因此了它可以用来做数据的输入或者输出

和8253一样

8255的内部也有三个独立的

并行输入输出端口

这三个端口总体上来讲

它们都是8位的

但是其中有一个

也就是我们称为PC口的这个端口昵

它实际上

可以被拆分为两个四位的端口

这样子的一个设计

它的主要的好处

就是因为我们前面看到

看到过就会有一些外部设备在

我们利用查询方式

进行输入输出控制的时候

我们需要获取外部设备的

当前的工作状态

而这些状态信息

通常都只有一位

两位或者三位等等

很少有8位状态位的这样子的一种情况

因此了把这样的C端口

采用这样可以拆分的这种设计方案

我们就可以用C端口的比如第四位

用来去获取某一个外部设备的状态信息

用高4位去获取另外一个

外部设备的状态信息

这样也就相当于扩大了它的应用范围

和我们第6章讲的三态门接口

和锁存器接口相比

8255的这三个独立的输入输出端口

它们都具有数据的控制能力

也具有数据的锁存能力

因此了

它们都可以作为输入端口

也可以作为输出端口

我们回忆一下我们前面讲过

我们说三态门接口昵

因为它只有数据的控制能力

而没有数据的锁存能力

所以它只能作为输入口

而锁存器接口

我们讲过那个8D锁存器

因为它有数据的锁存能力

所以它可以作为输出口

但是它没有数据的控制能力

所以它不能作为输入口

而8255这三个端口ABC

它们都具有这两者的能力

也就是相当于

我们前面一章里头内容

第6章里头设计到的那种

74LS373或者374

这样就带控制能力的锁存器接口

因此昵

它两者都具有

所以它可以作为输入

也可以作为输出

但是昵

我们第6章学过的那个74LS373

就说带控制能力的锁存器接口

虽然它既有控制能力

也有锁存能力

理论上讲

它也可以作为输入口

也可以作为输出口

但是了因为

它不可能接收软件命令

因此昵

它一旦在线路上接好了

在系统中设置它为输入

它就只能做输入

设计它为输出

它就只能做输出

不可能改变

但是昵8255作为一个可编程的接口

它是可以通过软件命令的形式

来改变这3个端口

它的数据传输方向的

所以在这一点上

要比我们前面学的那种简单接口芯片

要好用的多

8255的内部昵

这是它的内部的结构图

虽然它内部有ABC三个独立的端口

但是了它在控制上昵

它分了两组来控制

A组了它负责控制A端口

和C端口的高4位

而B组昵

负责控制B端口

和C端口的第4位

另外昵

它们也同样它内部具有一个

接收控制字或者控制命令的控制寄存器

当然在这个结构图里头

这个控制寄存器没有显示的画出来

但是它是有的

因此昵

这ABC三个端口以及控制寄存器

同样就跟8253一样了

也占用4个端口地址

所以它在片内的引线上

也有A0和A1两根片内地址

同样的作为这样子的

通道型的输入输出接口昵

它也可以对它进行读操作或者写操作

因此在这个引脚上

它也有RD和WR两个写信号和读允许

这个就是8255和系统连接这一端

它的主要的一些引线信号

我们看到CS是片选信号

D0到D7是数据信号

这些都是没有问题的

读和写允许

大家也是很熟悉的

A0和A1就是刚才我们说了

它是片内地址信号

这里只有一个

我们之前的芯片中都没有看到过的

就是REAST

但是这个信号我想

所有的学习者都应该很清楚

它就是一个复位信号

所以和系统连接的时候

REAST信号可以直接

跟CPU的REAST端连接

那么区分这内部的4个端口

它也同样靠A1和A0这两个低位地址

来区分

这两位地址信号位0 0的时候

表示现在是A端口的地址

为1 1的时候

就表示内部控制寄存器

和8253相同

就是说它内部的这4个端口

都在同样的一片芯片上

因此它们都具有同样的高位地址

这三个端口和外部设备的连接

是通过PA0到PA7

PB0到PB7

PC0到PC7

这样子分别的8根引线

也就是说一共是24根引线

这三个这

这三组8位的引线

就用来可以连接

分别连接三个外部设备

我们用这个图先大家先示意一下

这个就是8255其中

它的和系统这边的连接线

我们看到

它的数据总线

当然和系统的数据总线是直接连接的

数据是可以输入也可以输出的

所以这个数据总线的方向是双向的

对于读和写允许

当然和我们这个系统总线这边的写允许

和读允许分别进行连接

它的片内地址

和系统总线这边的低两位地址

进行直接的连接

唯一的就是这个移码电路

也就说我们片选信号

是需要连接到移码器的输出端

而移码器的输入端

就是我们的高位地址信号

那么这边昵

是A口B口和C口可以分别连接

三个外部设备

当然它们也可以协同工作

连接一个更复杂的外部设备

这个我们后面通过练习来说明它

8255有3种工作方式

这一点跟8253比较起来

听上去减少了一半

我们前面讲8253一共有6种工作方式

不同的工作方式下

它的OUT端

输出的波形的形式是不一样的

那么8255昵

这三种工作方式

它们分别也可以叫做方式0

方式1和方式2

当然它们有更具体的名字

方式0我们称为基本输入输出方式

而方式1

叫做选通工作方式

方式2叫双向工作方式

那么我们先来看方式0

它既然是基本输入输出方式

意思就是说

它是作为简单接口的一种运用的

所以方式0完全相当于三个独立的

或者三个简单接口

集成在一片芯片上

我们可以想象一下

想象它就是我们第6章学过的那个

带控制能力的锁存器接口

把这三个接口

集成在这样一片硅片上

用一套控制逻辑去控制它

然后通过软件命令

可以去设置它们三个接口

分别工作在不同的这种方式下

就说它们可以工作在输入

或者输出这样子的模式下

这就是工作在方式0

因为我们简单接口我们说

它通常作为一个简单的接口芯片

它就实现一个简单的数据的输入

或者输出

那么方式0昵

也可以既然是这样

它也就是类似于这样子的工作方式了

因此昵方式0在方式0下

每一个端口

它们都可以设置它为输入口

当然你也可以通过软件命令

设置它为输出口

或者再过一段时间修正它

再作为输入口都没有问题

那么这个时候昵

那么这个时候昵

C端口可以是一个8位的简单接口

也可以分为两个4位的端口

用来传输状态信息

对于这种基本输入输出方法

如果工作在这种方式下

那么经常用来就是连接简单的外部设备

他们所使用的L控制方法

就是无条件的传输或者查询的工作方式

因此昵我们后面用的例子里

对于这种方式

我们会有一个具体的事例

来给大家介绍

这种事例用的比较简单

也适合我们前面第6章所学习的内容

可以是一脉相承的

那么所以方式0原则上

我们有一个习惯

因为A端口和B端口

它都是一个完整的8位端口

所以我们通常可以使用A口

或者B口来进行数据的传输

刚才我们说了

C端口它是可以拆分成两个4位端口的

所以C端口经常用来作为状态信息的输入

这个不是真理

这只是一种应用的习惯

而且这种习惯是基于这个

芯片本身它的一种构造

来得出来的

请大家注意一下

如果C端口的第4位中

我们选择一位作为状态信息的输入

那么C端口的整个第4位

就必须都作为输入了

即使其他的位没有用

它也是处于输入端口这样的一个状态

因为它们不能够再拆分了

如果这个时候

你希望在C端口中找一位作为输出

来用的话

你只能在C端口的高4位中选一位来用

反过来也是一样的

我们也同样给出一个8255

工作在方式0下的一个连接示意

假设我们这里有一个外部设备

它是可以提供状态信息的外部设备

我们简单的说假设它是个打印机

那么打印机那个缓冲区到底有没有空

能不能向打印机传输数据

我们需要确定打印机缓冲区的状态

所以这个时候缓冲区就会

提供一个状态信息

假设这个状态信息

我们连接到C0位的话

那么通过C0位

我们就可以知道目前打印机的状态

是不是符合往外传输数据的

好 如果符合

那么我们可以通过A端口

输出我们要打印的字符或者是一大块字符

那么这个时候B端口并没有使用

那么如果我们还要使用的话我们

B端口可以用来连接另外一个外部设备

来实现数据的输入

当然我们也可以用B端口作为输出

那么这个时候

C口的高位没有用到

这个时候如果我们B端口

连接的这个外部设备也需要有状态信息

也能够提供状态信息的话

那么我们可以用C口的高位的某一位

来读取第二个外部设备它的状态信息

那么它当然跟系统这边的连接

我们刚才已经看过了

这个没有问题

这个数据总线都是双向的

所有的控制信号线

地址信号线都是单向的

而片选端显然就是连接到移码器的输出

好 这就是我们总个的一个框架

有关方式0下的应用

我们在这一讲的最后

我们会通过一个具体的事例

来帮助大家理解

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

第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_01笔记与讨论

也许你还感兴趣的课程:

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