[信息与通信]第07章 可编程接口芯片1.ppt
《[信息与通信]第07章 可编程接口芯片1.ppt》由会员分享,可在线阅读,更多相关《[信息与通信]第07章 可编程接口芯片1.ppt(79页珍藏版)》请在三一文库上搜索。
1、第七章 可编程接口芯片,可编程接口概术 可编程并行输入输出接口芯片8255A,可编程接口概术 一个简单的具有输入和输出功能的可编程接口电路如下图,它包括一个输入接口,其组成主要是八位的三态门;一个输出接口,其组成主要是八位的锁存器;另外还有八位 的多路转换开关及 控制这个开关的寄 存器FF。,数据端口,控制端口,控制信息,方式控制字,命令寄存器,用户对寄存器FF写入的内容称为命令字或方式控制字,而寄存器FF称为命令寄存器,相应的端口称为命令端口或控制端口,对可编程芯片初始化过程实际上就是对芯片的控制端口写入各种命令字的操作过程。,目前常用的可编程芯片有如下几种: 8255A 并行I/O接口 8
2、253 计数器/定时器 8251 串行I/O 8259A 中断控制器,7.1 可编程并行输入/输出接口芯片8255A,一、功能 8255A是一种通用的可编程并行I/O接口芯片,广泛用于几乎所有系列的微型机系统中,如8086、MCS51、Z80CPU系统等。8255A具有3个带锁存或缓冲的数据端口,可与外设并行进行数 据交换。用户可用程序来选择多种 操作方式,通用性强。使用灵活,可 为CPU与外设之间提供并行输入/输出 通道。,二、8255A的内部结构,A口 B口 C口,二、8255A的内部结构,并行输入/输出端口,A组和B组控制,数据总线 缓冲器,读/写控制电路,端口选择控制,三、8255A的
3、管脚分配,1、与外设连接的管脚 已知8255A有三个数据端口, 每个端口是8位的,由此可推算 与外设相连接的管脚共有24个。 其中A口有PA7PA0八个I/O引脚,B口有PB7PB0八个I/O引脚,C口有PC7PC0八个I/O引脚。特别地对于PC7PC0,其中有若干根复用线可用于“联络”信号或状态信号,其具体定义与端口的工 作方式有关。,PA0PA7 PB0PB7 PC0PC7,2、与CPU连接的管脚 包括数据线D7D0,读写控制线/WR 和/RD,复位线RESET,以及和CPU地 址线相连接的片选信号、端口地址控制 线A0和A1。,D0D7 A0 A1 /CS /WR /RD RESET,3
4、、电源线和地线 8255A的电源引脚为VCC和GND。VCC为电源线,一般取5V 。GND为电源地线。,四、8255与8086CPU的接口,1、连接方法 同RAM相似,取M/IO=0 2、举例 设计8位I/O接口,使8255地址为0300H 设计16位I/O接口,使8255地址为0300H,五、8255A的工作方式及编程,1、8255A的工作方式 8255A有三种工作方式,它们是: 方式0基本输入输出方式; 方式1选通输入输出方式; 方式2双向传送方式。,2、8255A编程 所谓8255A编程,就是用户在使用8255前,用户可用软件来定义端口的工作方式,选择所需要的功能。 8255A复位时,A
5、、B、C三端口工作在方式0的输入状态。,1、方式控制字 这是一个八位的控制字,代表的信息非常丰富。上面提到8255A内部的3个端口分为A、B两组,因此方式控制字也就相应地分成两个部分,分别控制A组和B组,其格式如下:,2、C口置“1”清“0”控制字 置“1”又称为置位操作,而清“0”称为复位操作。,3、读入状态字 当8255A由程序设定在方式1或方式2工作时,C口就根据不同的情况,产生或接收“联络”信号。如果这时我们对C口进行读操作,则读出的内容就包含两部分内容,一部分是那些作为I/O线上的内容,另一部分是与“联络”状态有关的内容。,方式1的输入状态字,六、8255A的三种工作方式,1、825
6、5A工作在方式0 方式0也叫基本输入输出方式。 在这种方式下,端口A和B可通过方式选择控制字规定为输入口或者输出口; 端口C分为高4位(PC7PC4) 和低4位(PC3PC0) 两个4位端口,这两个4位端口也可由方式选择控制字分别规定为输入口或输出口。 这四个并行口共可构成16种不同的使用组态。 利用8255A的方式0进行数据传输时,由于没有规定专门的应答信号,所以这种方式常用于与简单外设之间的数据传送,如向LED显示器的输出,从二进制开关装置的输入等。,8255A的工作过程: 8255A编程(初始化) 程序对端口的访问,例:8255A的A口和B口工作在方式0,A口为输 入端口,接有四个开关。
7、B口为输出端,接 有一个七段发光二极管,连接电路如图所 示。试编一程序要求七段发光二极管显示 开关所拨通的数字。,电路,LED数码管,段码表,地址 A口:8020H, B口:8022H, C口:8024H, 控制口:8026H. 方式控制字 10011001B=99H,a_port equ 8020h b_port equ 8022h ctrl_port equ 8026h mov al,99h ;设置8255方式字 mov dx,ctrl_port out dx , al mov dx,a_port in al,dx ;取键盘信息 and al,0fh ;屏蔽高4位 mov bx,offse
8、t tab1;取段码表首地址 xlat ;查表得段码 mov dx,b_port ;输出显示 out dx,al,A口的选通信号,当其有效时,外设把数据打入A口的输入缓冲器,A口的输入缓冲器“满”信号,当其有效时表示A口的输入缓冲器已暂存一个有效数据。,A口的中断请求信号。当其有效时,8255A的A口向CPU申请中断,要求CPU从A口取数,中断允许信号,2、8255A工作在方式1输入(以A口为例),C口的特点: 1、C35作为A口的联络线, C4 /STB;C5IBF;C3INTR 2、C67可工作在基本的I/O 3、C02由B组决定,8255A工作在方式1(输入)的时序图,1,2,3,4,1
9、、/STB有效,外设数 据A口锁存器,2、IBF有效,告诉外 设数据未被CPU取 走,3、INTR有效,申请 中断(告诉CPU A口有新数据),4、CPU从A口取数,清除IBF和INTR,使之无效,8255A工作在方式1(输入) 当A口已接受外设数据后,有两种方式通知CPU取数:其一用条件查询方式,通过查询缓冲器是否“满”,即IBFA是否为高电平来取数。其二用中断方式。,在条件传送中,一般要有所谓的“握手”信号来协调数据的传送。“握手”信号至少要有两位信号线,其中一位是由接口电路发给外设,功能是向外设提供接口电路的信息。另一位是由外设发给接口,功能是向接口提供外设的信息。显然在8255A的选通
10、输入方式中STBA和IBFA是一对“握手”信号。,例:8255A的A口和B口分别工作在方式1和方式 0,A口为输入端口,接有8个开关。B口为 输出端,接有8个发光二极管,连接电路如 图所示。现要求用方式1把改变后的键信息 输入到CPU并通过B口显示。,例题电路图,这个系统的工作过程如下: 1、用户通过改变K0 K7,产生新的键信 息; 2、按下开关K,产生 选通信号,数据进 入A口的缓冲器, 此步骤实际上告诉 CPU,8255A的A 口来了一个新数 据;,例题电路图,3、IBFA有效使LED点亮。 这里含有两个信息, 一个是8255A 通知 CPU其A口来了一个 新数据,另一个是告 诉用户CP
11、U尚未取走 这个数据,用户不得 再送其他数据; 4、CPU取走这个数据, LED熄灭; 5、转步骤1。,这个系统的工作过程如下: 1、用户通过改变K0K7,产生新的键信息; 2、按下开关K,产生选通信号,数据进入A口的缓冲 器,此步骤实际上告诉CPU,8255的A口来了一个 新数据; 3、IBFA有效使LED点亮。这里含有两个信息,一个 是8255A 通知CPU其A口来了一个新数据,另一个 是告诉用户CPU尚未取走这个这个数据,用户不得 再送其他数据; 4、CPU取走这个数据,LED熄灭; 5、转步骤1。,设8255A的I/O地址分布为88H8EH,相应程序段如下: mov al,101110
12、01b ;设置A口为方式1的输 out 8eh,al ; 入, loop1: in al,8ch ;取C口的状态线 test al,00100000b ;测试IBFA信息 jz loop1 ;等待用户设定新的键值 call delay1S in al,88h ;取数。LED灯灭(相对于步骤4) out 8ah,al ;更新B口的显示 jmp loop1 ;重复,3、8255A工作在方式1输出(以A口为例),外设回答信号。由外设发出。当其有效时,表示外设已接收数据。,A口的输出缓冲器“满”信号,当其有效时表示A口的输出缓冲器已暂存一个有效数据。,A口的中断请求信号。当其有效时,8255A的A口向
13、CPU申请中断,要求CPU送数给A口,中断允许信号,C口的特点: 1、C3、C6、C7作为A口的联络线, C3 /INTR;C7 /ACK;C5/OBF 2、C45可工作在基本的I/O 3、C02由B组决定,8255A工作在方式1(输出)时序图,1,2,3,4,1、CPU对A口 写数据, /OBF有 效,表示A 口锁存器 中有新数 据;,2、外设取走 新数据, 向8255发/ACK信号,告诉8255A口数据取走;,3、A口的/OBF无效,表示A口数据锁存器为空,4、INTR有效,发中断信号给CPU,请求新数据,1,当A口已接受外设数据后,有两种方式通知CPU取数:其一用条件查询方式,通过查询缓
14、冲器是否“满”,即OBFA是否为高电平来取数。其二用中断方式。,在这种方式下,OBFA和ACKA是一对“握手”信号。 OBFA是8255A产生,当其有效时,告诉外设A口已有一个新数据。 ACKA是外设产生,当其有效时,通知A口外设已把数据取走。,例:8255A的A口工作在方式1的输出,接有 8个发光二极管,现要求把内存中的10个 数,通过A口发送给发光二极管以二进制 的形式供用户抄录。,例题电路图,这个系统的工作过 程如下: CPU把内存中的一个数据写入A口; LED灯亮,告诉用户 LED显示的是新数据; 用户抄录数据; 用户按下开关K,发ACK信号,告诉CPU数据已取走; 转第一步。,这个系
15、统的工作过程如下: 1、CPU把内存中的一个数据写入A口; 2、LED灯亮,告诉用户LED显示的是新数据; 3、用户抄录数据; 4、用户按下开关K,发ACK信号,告诉CPU数 据已取走; 5、转第一步。,mov cx,10 ;送10个数 mov bx,offset xx ;数组指针送bx loop1: mov al,bx ;取数 out 88h,al ;送数到A口 loop2: in al,8ch ;取C口状态线 anl al,80h ;测试OBFA jz loop2;用户尚未抄录数据,检测;等待, ;此时; LED灯亮(对应步骤2) call delay;用户已抄录数据,LED灯灭 ; (对
16、应步 骤4) inc bx ;准备送下一个数 loop loop1 ;循环10次,4、8255A工作在方式2双向,外设回答信号。由外设发出。当其有效时,表示外设已接收数据。,A口的输出缓冲器“满”信号,当其有效时表示A口的输出缓冲器已暂存一个有效数据。,A口的中断请求信号。当其有效时,8255A的A口向CPU申请中断,要求CPU访问A口,中断允许信号,中断允许信号,A口的输入缓冲器“满”信号,当其有效时表示A口的输入缓冲器已暂存一个有效数据,A口的选通信号,当其有效时,外设把数据打入A口的输入缓冲器,如果设定某个8255A的A口和B口分别工作在方式2和方式1下,则这个8255A的C口的I/O功
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息与通信 信息与通信第07章 可编程接口芯片1 信息 通信 07 可编程 接口 芯片
链接地址:https://www.31doc.com/p-2001043.html