欢迎来到天天文库
浏览记录
ID:5634871
大小:905.50 KB
页数:52页
时间:2017-12-20
《第九章 可编程外围接口芯片8255a及其应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第九章并行I/O接口芯片8255A8255A是一种通用的可编程的并行I/O接口芯片,通过对它进行编程,可使芯片工作在不同的工作方式。在微型计算机系统中,用8255A作接口时,通常不需要附加外部逻辑电路就可直接为CPU与外设之间提供数据通道,因此它得到了极为广泛的应用。9-18255A的工作原理一、8255A的结构与功能1.数据端口A、B、C8255A内部包含3个8位的输入输出端口A、B、C,通过外部的24根输入输出线与外设交换数据或进行通信联络。端口A和端口B都可以用作一个8位的输入口或8位的输出口,C端口既可作为一个8位的输入或输出口
2、用,又可作为两个4位的输入输出口(C口上半部分和C口下半部分)使用,还通常来配合A口和B口工作,分别用来产生A口和B口的输出控制信号和输入A口和B口的端口状态信号。2.A组和B组控制逻辑内部有控制寄存器,用来接收CPU送来的命令字,然后分别决定A组和B组的工作方式,或对端口C的每一位执行置位或复位等操作。8255A的端口A和端口C的上半部分(PC7~PC4)由A组控制逻辑管理,端口B和端口C的下半部分(PC3~PC0)由B控制逻辑管理。3.数据总线缓冲器这是一个双向三态的8位缓冲器,用作8255A和系统数据总线之间的接口。通过这个缓冲器
3、和与之相连的8位数据总线D7~D0,接收CPU送来的数据或控制字,外设传送给CPU的数据或状态信息,也要通过这个数据总线缓冲器送给CPU。4.读/写控制逻辑这部分电路用来管理所有的内部或外部数据信息、控制字或状态字的传送过程。它接收从CPU的地址总线和控制总线来的信号,并产生对A组和B组控制逻辑进行操作的控制信号。系统送到读/写控制逻辑的信号包括:RESET:复位信号,高电平有效。该信号有效时,将8255A控制寄存器内容都清零,并将所有的端口都置成输入口。:片选信号,低电平有效,由地址总线经I/O端口译码电路产生。只有当该信号有效时,C
4、PU与8255A之间才能进行通信,也就是CPU可对8255A进行读/写等操作。:读信号,低电平有效。当为低时,CPU才可能从8255A读取数据或状态信息。:读信号,低电平有效。当为低时,CPU才可能向8255A写入数据或控制字。A1、A0:端口选择信号。A1A0=00,选中端口A;A1A0=01,选中端口B;A1A0=10,选中端口C,A1A0=11,选中控制命令口8255A的控制信号与执行的操作之间的对应关系★8255A与CPU的连接及寻址I/O并行接口芯片8255A其内部共有4个端口(A、B、C和控制命令口),通过其A1、A0引脚的
5、电平组合来进行寻址,此两引脚一般接到地址总线的低两位上(并不一定是A1、A0)。第二章讲8086系统存储器的组织结构时,提到过8086系统把1M字节空间的存储器分为奇存储体和偶存储体,其中奇存储体的数据线与系统数据总线的高8位相连;偶存储体的数据线与系统数据总线的低8位相连。这样的规则也同样应用于I/O接口电路中,也就是说(就拿8255A为例),如果8255A的数据线连到系统数据总线的低8位上(I/O接口一般都是这样),则8255A的内部所有端口地址必须都是偶数,这样CPU才能访问到。同理,如果8255A的数据线连到系统数据总线的高8位
6、上,则8255A的内部所有端口地址必须都是奇数。8086与8255A的典型连接4个端口地址的确定:当A7A6A5=111,A4A3A0=100时,=0,选中8255A。则,A15┅A8,A7A6A5A4A3A2A1A0A口地址为:×┅×11110000=00F0HB口地址为:01=00F2HC口地址为:10=00F4H命令控制口地址为:11=00F8H可以看出,8255A的4个端口地址是4个连续的偶地址!不过地址重叠。二、8255A的控制字8255A有两类控制字:①方式选择控制字:用来定义A、B、C端口的工作方式。②置位复位控制字:用来
7、对端口C的任意一位进行置位或复位操作。这两类控制字都占8位,即D7~D0。在对8255A进行编程时,这两种控制字被写入到同一个端口——命令控制端口中去,那么8255A是怎样区分到底是哪种控制字呢?在这里,是通过控制字的最高位即D7位来区别的:若D7=0,表示是置位复位控制字若D7=1,表示是方式选择控制字1.方式选择控制字8255A具有3种基本的工作方式,在对8255A进行初始化编程时,应向命令控制端口写入方式选择控制字,用来规定8255A各端口的工作方式。这3种基本工作方式为:方式0——基本输入输出方式方式1——选通输入输出方式方式2
8、——双向总线I/O方式当系统复位后,8255A的RESET输入端为高电平,使8255A复位,所有的数据端口都被置成输入方式;当复位信号撤消后8255A继续保持复位时的输入方式。如果希望它以这种方式工作,就不
此文档下载收益归作者所有