9.IO接口.ppt_第1页
9.IO接口.ppt_第2页
9.IO接口.ppt_第3页
9.IO接口.ppt_第4页
9.IO接口.ppt_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第九讲:并行输入输出接口,王新,中国农业大学技术学院,电话子邮件:2,第九讲:并行输入输出接口,9-1单片机输入输出接口技术概述,输入输出接口的功能,它是外设和中央处理器之间的桥梁和通道。三二。输入/输出端口* 4的功能。外部设备寻址,5。统一寻址的优点:中央处理器访问外部存储器的所有指令都适合访问输入输出端口,大大提高了中央处理器处理外围端口信息的能力。中央处理器不需要为输入输出端口设置输入输出指令。外围端口的地址排列灵活,数量不限。6,四种输入/输出数据传输模式* 1)同步传输无条件传输,类似于中央处理器和内存之间的数据传输。2)异步传输查询传输,中央处理器需要

2、输入输出接口为外设提供两个状态和数据端口,中央处理器通过状态端口查询外设准备好后传输数据。7,3)中断模式在查询模式中,中央处理器处于主动模式,而中断模式中央处理器处于被动模式,等待中断请求的到达。MCS-51的外部中断输入端口被认为是外部设备中断请求的输入端。大大提高了系统的工作效率,8,4)直接存储器存取直接在外设和存储器之间传输输入输出数据,不需要经过中央处理器。外围设备成批传输数据。数据传输速度非常快。MCS-51没有直接存储器存取功能。9,9-1-4输入/输出接口类型,1。串行输入输出接口,如英特尔8251 2。并行输入输出接口,如8255/8155等。P0端口:(1)当P0端口用作

3、地址/数据总线端口时,T1和T2交替导通,形成“推挽电路”,可驱动8 LS TTL负载;(2)对于一般输入输出:在高电平输出之前,必须外接上拉电阻(开漏);(3)在进行一般输入输出输入时:必须向相应的锁存器写入1,以关闭T2“准双向端口”;(4)作为地址/数据总线端口,CUP在操作前自动向锁存器写入1,P0是一个真正的双向端口(无需添加拉电阻和写入1)。(5)“读取引脚”和“读取锁存器”的含义。9-2 MCS-51内部并行输入输出端口及其应用*,P0端口:地址/数据复用端口,只能作为输入输出端口,为准双向端口。内部有一个上拉电阻。特点:(1)当P1端口输出高电平时,可以向外部提供拉电流负载,所

4、以不需要连接拉电阻。(2)当端口用作输入时,它必须首先向相应的锁存器写入1以关闭测试。(3)当使用输入/输出输入端口时,它是准双向端口。P1港:P1港的某种结构,特点:(1)当P2港作为通用输入输出时,它是一个准双向端口。(2)当从P2端口输入数据时,首先将“1”写入锁存器。(3)它可以通过位或字节来寻址。(4)输出地址的高8位。P2、P3具有内部上拉电阻;8位准双向输入输出端口;每个位可以驱动(注入或输出电流)四个最小二乘TTL负载;P3端口的每个引脚也有第二个功能(P60-表2-4)。P3端口,当W=1时,输出q端信号;当Q=1时,可以输出w线信号。w,txdwrr rd,rxdint0

5、int1t0t1,并且数据指针指向扩展端口I/O地址MOVX A,DPTR;读取数据至244,并检查按钮MOVEX DPTR,A;将数据输出到273,以驱动SJMP环路;循环273和244使用相同的地址(P2.7=0),该地址仅由读(RD=0)/写(WR=0)指令区分。8255A是英特尔公司生产的通用可编程输入输出接口芯片,主要针对英特尔8080/8085设计,也可用于MCS-51。MCS-51和8255A相连,为外设提供三个8位输入/输出端口,允许同步、异步和中断数据传输。1.8255A的内部结构和引脚功能。8255A的内部部分由四个电路组成:端口a、端口b和端口c、a组控制器和b组控制器、

6、数据缓冲器和读/写控制逻辑。9-4 8255A可编程并行输入输出端口的扩展,29,8255A的逻辑结构和引脚,1)端口电路的三个8位端口,PA,PB和PC。PA和PB是简单的数据端口,PC机既可以作为数据端口,也可以作为控制端口来控制PA和PB。PC74、控制PA PC30、控制PB PA和PC74称为A组PB,PC30称为B组,内部结构图为8255A *,引脚(40引脚)*:1。数据线(8条):D07:在计算机和8255之间传输数据、控制字和状态字。地址线:CS:芯片线选择A1和A0:地址输入线,寻址PA、PB和PC数据端口和控制端口。读写控制线:RD,WR:读写命令行,控制计算机和8255

7、之间的信息传输和流动。4.复位线:高电平复位,清除所有内部寄存器。并行输入/输出总线(24片):PA7PA0:双向输入/输出总线,可设置为输入或输出模式,或输入/输出双向模式。PB7 PB0:双向输入输出总线,可设置为输入或输出模式。PC7 PC0:双向输入/输出总线,可设置为输入或输出模式或控制/状态模式。如果8255A处于工作模式1或2,PC7PC0用作端口a和端口b的控制/状态线,33,8255A读/写控制表*, (1)端口a、b和c:端口a、b和c都是8位I/O数据端口,但它们在结构上不同。A端口由一个8位数据输出缓冲器/锁存器和一个8位数据输入缓冲器/锁存器组成,而B端口和C端口分别

8、由一个8位数据输出缓冲器/锁存器和一个8位输入缓冲器组成(没有输入数据锁存器,所以B端口不能在工作模式2下工作)。在使用功能上,A、B、C端口可以与外设相连,分别传输外设的输入输出数据或控制信息。然而,在工作模式1和模式2中,端口A和端口B通常被用作传输输入/输出数据的数据端口。C端口为控制端口,高四位传输A端口上外设的控制/状态信息,低四位传输B端口所需的状态/控制信息。(2)组甲控制器和组乙控制器由控制字寄存器和控制逻辑组成。控制字寄存器接收中央处理器发送的控制字。用于确定8255A的工作模式。a组控制寄存器控制端口a和c的上半部分(PC7PC4),b组控制器控制端口b和c的下半部分(PC

9、3PC0)。(3)数据缓冲区:双向8位缓冲区,用于在单片机和8255A之间传输控制字、状态字和数据。(4)读写控制逻辑:这部分电路用于接收单片机发送的读写命令和端口地址,并控制8255A的读写。36、2和8255A,模式0:基本输入/输出模式,两个8位端口PA和PB和两个4位端口PC,输入/输出的任意组合。适用于无条件的数据传输。您也可以在端口C上执行位操作.查询模式下的数据传输是在C端口的某一位状态下实现的。模式1:选通输入/输出模式PA和PB用于数据输入/输出,PC数据传输接触信号;模式2:双向数据传输模式只使用PA,因此可以选择该工作模式,PC5位端口线可以作为控制线。PA在模式2下工作

10、,那么PB只能在模式0下工作。3.8255a * (1)的控制字和状态字8255a中有两个控制字:端口操作模式控制字和C端口单置位/复位控制字。用户可以通过指令将这两个控制字发送到8255A的控制寄存器(A1A0=11),从而设置8255A的工作模式和c端口的位状态。这两个控制字由D7位状态标记,如果D7=1,则它们是端口操作模式控制字。如果D7=0,则是端口C的置位/复位控制字。其格式如下:38,4,8255A控制字和初始化,模式控制字,39,端口C位置位/复位控制字,40,8255A初始化*。系统要求:扩音端口:工作模式0,输入;PB端口:工作模式1,输出;PC4PC7是输出;PC2PC0

11、用于PB端口模式1门控控制信号,其余PC3线输入。假设8255A的地址是:5FFCH5FFFH确定控制字,控制字95H,41,初始化程序:MOV DPTR,# 5ffffh地址8255A控制字MOV A,# 95H MOFX DPTR A;模式控制字写入,电脑端口用于设置/复位模式,PC5被设置。初始化程序:MOV DPTR,# 5ffffh8255A控制字地址MOV A,# 0BH MOFX DPTR,A;模式控制字写,例如,让8255A的控制字寄存器的地址为EB10H,并试图写一个程序,使PC3设置“1”,然后“0”。解决方案:对应的方案是:MOV DPTR,0EB10H控制寄存器端口地址

12、发送到DPTR MOV A,# 07H将控制字“PC3”设置为1,以发送一个MOFX DPTR,一个;使PC3=1 MOV A,# 06H将控制字PC3设置为0,以发送一个MOFX DPTR,一个;PC3=0,8255A (1)工作模式0为基本输入/输出模式,端口a、端口b和端口c均可设置为工作模式0。在工作模式0下,单片机可以无条件传输8255A。例如:如果8255A的控制寄存器的地址是FF7FH,端口a和端口c的高4位将是工作模式0(输出);端口b和端口c的低4位是工作模式0(输入)程序,如下所示:movdptr,# 0ff7fh将控制寄存器地址发送给dptrmov a,# 83h工作模式

13、字83H被发送到amovxdptr,a;83H被发送到控制寄存器。8255A (2)工作模式1工作模式1有两种工作模式:门控输入和门控输出。在这种工作模式下,端口a和b都可以独立设置。在工作模式1中,端口a和b通常用于传输与其相连的外围设备的输入/输出数据。c端口用作A端口和B端口之间的握手链路,以中断的方式传输输入/输出数据。端口a和端口b的选通输入模式(以端口a为例):机顶盒:外设发送的输入选通命令“0”有效,当从“1”变为“0”时,将外设发送的数据锁存到8255A的输入锁存器中。IBF:“1”对发送给外设的“输入缓冲器满”信号有效。当它为“1”时,表示外部数据已被发送到8255输入缓冲器

14、,但尚未被中央处理器取走,也就是说,它通知外设现在不能发送新数据,只有当IBF变低时,才允许外设发送新数据。intr:“1”对8255a发送给中央处理器的中断请求信号有效。当为高电平时,要求中央处理器读取数据,使INTR为高电平的条件是:机顶盒=1(外设不发送数据);IBF=1(输入缓冲区已满);并且允许中断请求(inte=1)。端口a和端口b的选通输出模式:OBF:8255A向外设发送“输出缓冲器满”信号,“0”有效。当为低电平时,表示中央处理器已将数据写入8255A的输出端口,并通知外设取数据。确认:外围设备发送的“应答”信号“0”有效,当它为低电平时,表示外围设备已从端口8255A接收到

15、数据,这是对OBF的应答。intr:“1”对8255a发送给中央处理器的中断请求信号有效。当它为高时,请求中央处理器发送数据,使INTR为高的条件是:OBF=1(缓冲区为空);确认=1(响应信号已结束);且中断请求被允许(INTE=1)。通过设置pc4(端口a)和pc2(端口b),可以将INT设置为“1”。48和8255A。当8255A设置为模式1和模式2时,通过读取c端口可以得到相应的状态字,从而知道8255a的工作状态。模式1中8255A的状态字格式如下:IBFA(输入缓冲器满)输入缓冲器满INTE(中断使能)中断使能信号INTR(中断请求)中断请求OBFA(输出缓冲器满)输出缓冲器满,8

16、255A的工作模式(3)工作模式2工作模式2只能由端口A设置,为双向选通输入/输出模式。工作模式2是通过双向传输设置的响应信号线,实际上是工作模式1中端口A输入和输出的响应信号线的组合。工作模式2特别适用于外部设备,如终端设备,因为这些设备有时需要通过端口A将键盘上输入的编码信号发送到中央处理器,有时需要通过端口A将数据发送到终端进行显示.工作模式2逻辑电路图,INTE1可通过设置PC6设置为 1 ;通过设置PC4,可以将INTE2设置为“1”。当8255A执行输入/输出双向操作时,首先启动中断(INTE1和INTE2设置为“1”),如果发生中断,应询问IBFA或OBFA,以确定是否响应输入或

17、输出中断。工作模式2中8255A状态字的格式如下:4。使用8255A来扩展MCS-51和8255A之间的连接很简单,只需要添加一个8位锁存器。根据8255A的端口地址表和上面的连接图,端口a、端口b、端口c和控制寄存器的地址分别为FF7CH、FF7DH、FF7EH和FF7FH。例1:需要通过PC5输出正脉冲。MOV DPTR,# FF7FH发送控制字mov a,# 0bhmovx dptr,a。将呼叫延迟设置为PC5延迟12月1日,DPTR;将PC5清零,示例2: 8255a连接到打印机,程序可以以20H为起始地址,以50个连续单位的中央处理器内部RAM输出和打印数据。分析:端口a,端口b,端口c,控制器地址:00H,01H,02H,03H。DB0DB7:数据线。机顶盒:数据选通信号“0”有效(机顶盒从“0”变为“1”后,发送到DB0DB7的数据被打印机锁定。)确认:外围设备响应信号“0”有效(确认从“1”变为“0”后,表示打印机收到数据。)根据电路要求:端口a为模式1输出;b港口与此无关;输入端口C的四个高位;输出端口c的低4位。端口a和端口b的门输出模式:OBF:8255A“输出缓冲器满”信号发送到外设,“0”有效。当为低电平时,表示中央处理器已将数据写入8255A的输出端口,并通知外设取数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论