微机原理第八章_第1页
微机原理第八章_第2页
微机原理第八章_第3页
微机原理第八章_第4页
微机原理第八章_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

第8章输入/输出接口本章学习目标:输入输出接口的功能与组成并行通信与串行通信的基本概念可编程并行通信接口芯片8255A可编程串行通信接口芯片8251A8.1I/O接口概述功能:1、CPU与外设信号线不兼容2、CPU与外设工作速度不兼容3、提高CPU的效率4、使外设的硬件结构独立于CPU组成:1、数据缓冲寄存器2、命令寄存器3、状态寄存器4、端口地址译码电路8.1.1输入输出接口交换的信息

CPU与I/O设备之间交换的信息可分为数据信息、状态信息和控制信息三类。

1.数据信息数据信息又分为数字量、模拟量和开关量三种形式。

1)数字量数字量是计算机可以直接发送、接收和处理的数据。 例如:由键盘、显示器、打印机及磁盘等I/O外设与CPU交换的信息,它们是以二进制形式表示的数或以ASCII码表示的数符。

2)模拟量 这些模拟量必须先经过模拟量向数字量的转换(A/D转换)后才能输入计算机。反过来,计算机输出的控制信号都是数字量,也必须先经过数字量向模拟量的转换(D/A转换),把数字量转换成模拟量才能去控制现场。

3)开关量 这些开关量通常要经过相应的电平转换才能与计算机连接。开关量只要用一位二进制数即可表示。

2.状态信息状态信息作为CPU与外设之间交换数据时的联络信息,反映了当前外设所处的工作状态,是外设通过接口送往CPU的。CPU通过对外设状态信号的读取,可得知输入设备的数据是否准备好、输出设备是否空闲等情况。因此,状态信息能够保障CPU与外设正确地进行数据交换。

3.控制信息控制信息是CPU通过接口传送给外设的,CPU通过发送控制信息设置外设(包括接口)的工作模式、控制外设的工作。如外设的启动信号和停止信号就是常见的控制信息。实际上,控制信息往往随着外设的具体工作原理不同而含义不同。

8.1.2输入输出的控制方式

1程序传送方式1)无条件传送方式认为输入设备已随时准备好向CPU提供数据,而输出设备也随时准备好接收CPU送来的数据,这样,在CPU需要同外设交换信息时,不必查询外设的状态而直接进行信息传输。2.查询传送方式查询传送也称为条件传送,是指在执行输入指令(IN)或输出指令(OUT)前,要先查询相应设备的状态,当输入设备处于准备好状态,输出设备处于空闲状态时,CPU才执行输入/输出指令与外设交换信息。为此,接口电路中既要有数据端口,还要有状态端口。

图7.6查询传送方式的流程图

查询传送方式的主要优点:是能保证主机与外设之间协调同步地工作,且硬件线路比较简单,程序也容易实现。查询传送方式突出的缺点:浪费CPU时间,实时性差。2中断传送方式

中断传送方式是指当外设需要与CPU进行信息交换时,由外设向CPU发出请求信号,使CPU暂停正在执行的程序,转去执行数据的输入/输出操作,数据传送结束后,CPU再继续执行被暂停的程序。

3直接存储器存取(DMA)传送方式

DMA传送方式是在存储器和外设之间、存储器和存储器之间直接进行数据传送(如磁盘与内存间交换数据、高速数据采集、内存和内存间的高速数据块传送等),传送过程无需CPU介入,直接在DMA控制器操纵下进行。并行通信与串行通信串行通信:把一个字符的各数位用一条线一位一位进行传输。并行通信:把一个字符的各数位用几条线同时进行传输。速度快、需要的传输导线多速度慢、需要的传输导线少8.2并行通信与并行接口8.3可编程并行通信接口芯片8255A1.8255芯片内部结构及其功能1.3个并行输入/输出端口(A口、B口、C口)2. A组和B组控制部件3.数据总线缓冲存储器4.读/写控制部件组成:A1A0=00——端口AA1A0=01——端口BA1A0=10——端口CA1A0=11——控制字寄存器端口地址:片内占用四个端口地址方式0方式1方式2工作方式:只有PA口可用PA、PB、PC口都可用8.3.2 8255A芯片的控制字及其工作方式1.控制字(1)定义工作方式控制字:它可以使8255A的三个端口工作于不同的工作方式。(2)置位/复位控制字:它可以使C口中的任何一位进行置“1”或置“0”操作。2.工作方式(1)工作方式0

基本输入/输出方式。不提供固定的联络信号适合输入输出设备随时准备就绪的场合(2)工作方式1

选通型(应答式)输入/输出方式。提供固定的联络信号由PC口端线提供1.工作方式1下输入:STB——选通信号,由外部输入IBF——输入缓冲器满信号,向外部输出INTR——中断请求信号,向CPU输出1.工作方式1下输出:0BF——输出缓冲器满信号,向外部输出ACK——外部应答信号,外部输入INTR——中断请求信号,向CPU输出(3)工作方式2

带选通的双向传送方式,用来在两台处理机之间实现双向并行通信。只允许A口工作于方式2。8.3.38255A应用举例

利用8255A作为输出设备打印机的接口。其连接方法如图所示。A口:工作于方式0输出B口:不用。C口:PC3~PC0:为输入方式PC7~PC4:为输出方式端口A:0380H端口B:0381H端口C:0382H控制寄存器端口:0383H打印机驱动程序流程图 ;8255初始化程序

BEGIN:MOVAL,10000001B

MOVDX,0383H OUTDX,AL

;送工作方式选择控制字至控制寄存器 ;A、B、C口均为工作方式0。 ;A口、B口为输出方式。PC4~PC7为输出,PC0~PC3为输入。

MOVAL,00001101B ;送C口置1/置0控制字,置PC6=1。

OUTDX,AL ;使STB初始状态为高电平。 ;下面为控制程序,设欲打印的字符已存于CL中, ;经8255A的A口输出至打印机。

CONP:MOVDX,0382H LPST:INAL,DX ;

读入C口值。

ANDAL,04H ;

保留PC2(Busy)状态。

JNZLPST ;若Busy=1,则等待,等于0则向下执行。

MOVAL,CL ;

将(CL)字符送A口。

MOVDX,0380H OUTDX,AL MOVAL,0CH

MOVDX,0383HOUTDX,ALMOVCX,XXH;为使宽度≥1μs,送延时程序。EDLAY:DECCXJNZDELAYMOVAL,0DH;再使为高电平。 ;地址指向控制口。

OUTDX,AL

;向下执行后续程序。 …8.4串行通信及串行接口串行通信:数据一位一位地依次传输,每一位数据占据 一个固定的时间长度。8.4.1串行通信线路的工作方式:单工方式:只允许一个方向传输数据。半双工方式:允许两个方向传输数据,但不能同时传输。全双工方式:允许两个方向同时进行数据传输。串行通信中数据的传送模式(a)单工通信模式;(b)半双工通信模式;(c)全双工通信模式

8.4.2串行通信数据的收发方式:

在数据通信中为使收、发信息准确,收发两端的动作必须相互协调配合。这种协调收发之间动作的措施称为“同步”。在串行通信中数据传送的同步方式有异步传送和同步传送两种。

1异步传送所谓异步传送,是指发送设备和接收设备在约定的波特率(每秒钟传送的位数)下,以事先确定的数据格式来传输数据。在进行异步传送时必须确定波特率及数据格式。

波特率:每秒传送数据的位数。

① 起始位。每个字符的开始必须是持续一个比特时间的逻辑“0”电 平,标志着每一个字符的开始。数据格式:② 数据位。有5-8位,紧跟着起始位之后,是字符中的有效数据位。传 送数据时,先送低位,后送高位数据。④停止位。1位或1.5位,或2位。并规定为逻辑“1”状态。

奇偶校验位。2同步传送所谓同步传送,就是以字符块为信息单位,而每帧信息包括成百上前个字符。这种通信方式对时钟同步要求非常严格,因此收/发两端必须使用同一时钟来控制。(a)单同步数据格式;(b)双同步数据格式;(c)SDLC数据格式;(d)HDLC数据格式;(e)外同步格式8.4可编程串行通信接口芯片8251A

8.4.18251A的结构其功能:

1.内部模块功能:

(1)发送器及发送控制。该模块的功能是从CPU接收并行数据,自动加上适当的成帧信号并转换成串行数据后从TXD引脚发送出去。

(2)接收器及接收控制。该模块的功能是从RXD引脚接收串行数据,按指定的方式装配成并行数据。

(3)数据总线缓冲器。8251A与CPU相互交换的数据和控制字就存放在这里,共有三个缓冲器。

①状态字缓冲器。它用来存放8251A内部的工作状态,供CPU查询、测试之用;②接收数据缓冲器。用来存放接收器已经装配完毕的字符,准备CPU来读取;③发送数据/命令缓冲器。用来寄存CPU送入8251A的数据或命令。

(4)读/写控制逻辑。该模块的功能是接收CPU的控制信号,控制数据的传送方向。

(5)调制解调器控制。该模块提供和调制解调器的联络信号。2.8251A与CPU及外设的连接

1)与CPU之间的接口引脚

(1)数据信号D0D7:与CPU的数据总线对应连接

(2)读/写控制信号:

RD——读选通信号输入线,低电平有效。

WR——写选通信号输入线,低电平有效。

C/D——信息类型信号输入线。低电平时传送的是数 据,高电平时传送的是控制字或状态信息,通常将该引 脚与CPU地址总线A0引脚相连,以实现对8251A内部寄存 器的寻址。C/D、WR、RD三者的控制编码与相应的操作功 能如表8.5所示。CPU对8251A的读/写控制

(3)收发联络信号:

TXRDY(TransmitterReady)——发送准备好信号,输出,高电平有效。当发送寄存器空闲且允许发送(CTS为低电平、命令字中TXEN位为1)时,TXRDY输出为高电平,以通知CPU当前8251A已做好发送准备,CPU可以向8251A传送一个字符。当CPU将要发送的数据写入8251A后,TXRDY恢复为低电平。TXRDY可作为8251A向CPU发送的中断请求信号。

TXEMPTY(TransmitterEmpty)——发送器空信号,输出,高电平有效。TXE=1时,表示发送器中没有要发送的字符,当CPU把要发送的数据写入8251A中后,TXE自动变为低电平。

RXRDY(ReceiverReady)——接收器准备好信号,输出,高电平有效。RXRDY=1时,表明8251A已经从串行输入线接收了一个字符,正等待CPU将此数据取走。因此,在中断方式时,RXRDY可作为向CPU申请中断的请求信号;在查询方式时,RXRDY的状态供CPU查询之用。

SYNDET(SynchronousDetect)——同步检测信号。用于内同步状态输出或外同步信号输入。此线仅对同步方式有意义。(4)片选信号CS,低电平有效,它由CPU的地址信号译码而形成。CS低电平有效,8251A被CPU选中。

2)8251A与外部设备(调制解调器)之间的接口信号。DTR(DataTerminalReady)——数据终端准备好。输出、低电平有效。这是当CPU对8251A输出命令字使控制寄存器D1位置“1”,从而使DTR变为低电平,以通知外设,CPU当前已准备就绪。RTS(RequestToSend)——请求发送。输出、低电平有效。此信号等效于DTR,CPU通过将控制寄存器的D5置“1”,可使RTS低电平有效,用于通知外设(调制解调器),CPU已准备好发送。

TxD(TransmitterData)——发送器发送数据传输线。

DSR(DataSetReady)——数据装置准备好。输入、低电平有效。这是由外设(或调制解调器)送入8251A的信号,用以表示调制解调器或外设的数据已准备好。当DSR端出现低电平时会在8251A的状态寄存器的D7位反映出来。CPU可通过对状态寄存器进行读取操作,可查询D7位即DSR状态。CTS(CleartoSend)——清除发送。输入、低电平有效。这是由外设(或调制解调器)送往8251A的低电平有效信号。

温馨提示

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

评论

0/150

提交评论