




已阅读5页,还剩175页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2020/6/6,上海交通大学,1,面向21世纪课程教材普通高等教育“十一五”国家级规划教材,微型计算机技术WeixinJisunjiJishu(第4版)孙德文章鸣嬛编著,2020/6/6,上海交通大学,2,第11章可编程并行接口芯片和串行接口芯片,2020/6/6,上海交通大学,3,可编程并行接口芯片和串行接口芯片,11.1并行接口与串行接口11.2可编程并行接口芯片8255A11.3可编程串行接口芯片8251,2020/6/6,上海交通大学,4,11.1并行接口与串行接口,11.1.1可编程接口芯片概述11.1.2并行接口、串行接口和模拟接口,2020/6/6,上海交通大学,5,11.1.1可编程接口芯片概述,CPU是通过接口电路与外围设备(简称外设)实现信息交换的。在接口电路中,必有输入输出数据锁存器和三态缓冲器组成的数据端口,以便实现CPU与外设之间的数据传送。在程序查询的IO接口电路中,还应有状态命令寄存器,以便CPU与接口电路或外设之间用应答方式来交换信息;,2020/6/6,上海交通大学,6,可编程接口芯片概述,在中断控制的IO接口电路中,还要求有中断控制逻辑电路(通常由中断请求触发器、中断屏蔽触发器、中断请求信号形成逻辑、中断优先链电路、中断优先编码器、中断优先级比较器和中断类型码发生器等部件组成),以便CPU实现不同的中断管理方式;在DMA方式的接口电路中,还需要有命令状态寄存器、存储器地址寄存器和传送字节计数器等。此外,随着微型计算机的广泛应用,还要求具有定时和计数功能的接口电路、具有串行输入输出功能的串行接口电路及具有信号转换功能的接口电路等。,2020/6/6,上海交通大学,7,可编程接口芯片概述,随着大规模集成电路技术的发展,针对接口电路的不同功能,芯片制造商生产出许多通用的可编程IO接口电路芯片。所谓可编程IO接口电路芯片是指用户可通过编制相应的程序段,使一块通用的IO接口电路能按不同的工作方式完成不同功能的接口任务。也可在工作过程中,通过编程手段对通用的IO接口电路芯片进行动态操作,如改变工作方式、发送操作命令、读取接口电路内部有关端口的现状等。,几个重要概念.片选的概念,必须要有一个地址信号选中接口芯片后,才能使该接口芯片进入电路工作状态,实现数据的输入/输出。接口芯片的选通端(ChipEnable),又称片选端(ChipSelect),如图11-1所示。端是控制接口芯片进入电路工作状态的引脚端。,2020/6/6,上海交通大学,8,2020/6/6,上海交通大学,9,片选概念(图11-1),2020/6/6,上海交通大学,10,2.读/写概念,2020/6/6,上海交通大学,11,3.可编程接口的概念,可编程接口芯片大部分是多通道、多功能的。多通道是指一个接口芯片一面与CPU连接,另一面可接几个外设;多功能是指一个接口芯片能实现多种接口功能,实现不同的电路工作状态。,2020/6/6,上海交通大学,12,可编程接口的概念,2020/6/6,上海交通大学,13,可编程接口的概念,在接口芯片内,各硬件单元不是固定接死的,可由用户在使用中选择即:通过计算机的指令来选择不同的通道和不同的电路功能,称为“编程控制”。,2020/6/6,上海交通大学,14,可编程接口的概念,接口电路的组态(即电路工作状态)可由计算机指令来控制的接口芯片称为“可编程序接口芯片”。用来存放控制电路组态的控制字节的寄存器,称为“控制寄存器”。,2020/6/6,上海交通大学,15,“可编程序接口芯片”的初始化,对可编程序接口芯片中的控制口(控制寄存器)写入控制字(控制内容),以设定接口芯片的接口功能和工作特性。通过指令MOVAL,CWOUTPORT-CNT,ALCW-ControlWord/CommandWordPORD-CNT为控制口地址,2020/6/6,上海交通大学,16,4.“联络”的概念,2020/6/6,上海交通大学,17,“联络”的概念,接口芯片常常需要和外设间有一定的“联络”信号,以保证信息的正常传送。通常采用两个“联络”(Handhake)信号:(选通信号,strobe)和RDY(就绪信号,Ready)。,2020/6/6,上海交通大学,18,“联络”信号,“联络”信号,CPU通过外设接口芯片同外设交换信息时,接口芯片和外设间常常需要有一定的“联络”信号,以保证信息的正常传送。通常采用两个“联络”(Handshake)信号:一般用(选通信号,strobe)和RDY(就绪信号,Ready)表示,如图11-4所示。,2020/6/6,上海交通大学,19,输入接口,RDY”H”表示准备就绪,是接口向外设发出的信号,说明接口芯片中输入寄存器已空,可接受外设信息以实现外设与接口的输入操作。”L”表示接口选通,是外设向接口发出的。外设把数据送上接口芯片端口后,用信号有效打入接口芯片输入寄存器,在的后沿,把RDY信号拉为“L”,表明输入寄存器已有数据。RDY”L”正是接口与外设的通信标志,外设接收RDY”L”后,暂不送数据,CPU发出读数指令(=L),读入该数据,并使RDY置“H”。然后,又开始新一轮的输入操作。其时序图见图11-5。在输入接口中,RDY信号也有用IBF(输入缓冲器满)表示的。,2020/6/6,上海交通大学,20,输出接口,若是输出接口,则:RDY=”H”,表示接口中的输出寄存器已有数据,通知外设来取数;”L”,表示端口数据已为外设接收,且已处理,CPU可送新数据到接口寄存器,的后沿使RDY变为“L”。在输出接口中,RDY信号也有用(输出缓冲器满)表示,信号也有用(响应)表示的。,2020/6/6,上海交通大学,21,2020/6/6,上海交通大学,22,“联络”信号,通常输入接口中,联络信号是STB(或)和IBF输出接口中,联络信号是(或ACK)和输入的选通信号IBF输入缓冲器满信号输出缓冲器满信号响应信号,图11-6通用接口芯片的引脚图,2020/6/6,上海交通大学,23,2020/6/6,上海交通大学,24,11.1.2并行接口、串行接口和模拟接口,可编程接口芯片一边通过CPU的三总线(或系统总线)同CPU连接,一边通过三种信息即数据信息、控制信息和状态信息同外设连接,CPU通过接口芯片同外设之间交换的信息就是这三种信息。,2020/6/6,上海交通大学,25,并行接口、串行接口和模拟接口,其中,数据信息可以有数字量、模拟量和开关量三种类型。根据接口芯片同外设之间交换的数据信息是数字量、模拟量还是开关量,IO接口可分为数字接口、模拟接口和开关接口。同时在数字接口中,按接口芯片同外设之间传送的是并行数据还是串行数据,数字接口又可分为并行接口和串行接口。而一个开关量只用一位二进制码表示,同数字接口相仿。因此本书所讨论的可编程接口芯片包括并行接口、串行接口和模拟接口。但不论何种接口芯片,接口芯片同CPU之间传送的总是并行数字量。,2020/6/6,上海交通大学,26,并行接口、串行接口和模拟接口,对串行接口而言,接口内必须有并行串行的转换部件(输出接口)和串行并行的转换部件(输入接口);对模拟接口而言,接口内必须有模数转换器(输入接口)和数模转换器(输出接口)。,2020/6/6,上海交通大学,27,11.2可编程并行接口芯片8255A,11.2.18255A的结构和引脚功能11.2.28255A的的工作方式11.2.38255A的初始化11.2.48255A的应用举例11.2.516位微型计算机系统中的并行接口,2020/6/6,上海交通大学,28,可编程并行接口芯片8255A,Intel8255A是一种通用的可编程序并行I/O接口芯片(ProgrammableParallelInterface)。又称“可编程外设接口芯片”PPI(ProgrammablePeripheralInterface)。,2020/6/6,上海交通大学,29,11.2.18255A的结构和引脚功能,11.2.18255A的结构和引脚功能,2020/6/6,上海交通大学,30,2020/6/6,上海交通大学,31,8255A的结构和引脚功能,1.8255A的内部结构CPU一侧:数据总缓冲器、读写控制逻辑和控制字寄存器2个:1)方式控制寄存器(分A组4位,B组3位,1位特征位)2)C口置位/复位寄存器(4位控制位,1位特征位,3位无关位),2020/6/6,上海交通大学,32,8255A的内部结构,同CPU的连接的引脚信号有:D0D7同CPU的D0D7连接A1、A0同CPU的A1、A0连接同CPU的连接同CPU的连接同CPU的髙位地址连接RESET同系统复位信号连接,2020/6/6,上海交通大学,33,同外设一侧,有三个8位端口PA、PB和PC,都可由程序设定为各种不同的工作方式。通常PA口与PB口用作输入/输出的数据端口,PC口用作控制或状态信息的端口,PC口可以分成两个4位的端口。,表11-18255A的引脚功能,2020/6/6,上海交通大学,34,2020/6/6,上海交通大学,35,同外设一侧,PA口的8条引脚PA0PA7PB口的8条引脚PB0PB7PC口的8条引脚PC0PC7PA0PA7、PB0PB7、PC0PC7同所连接的外设数据线连接PC0PC7中的各条引脚又可作为PA和PB的联络信号线,2020/6/6,上海交通大学,36,11.2.28255A的工作方式,1.方式0基本输入输出8255A在方式0工作时:CPU可以采用无条件读写方式与8255A交换数据。如把C口的两个部分用作控制和状态口,与外设的控制和状态端相连,CPU也可通过对C口的读写,实现A口与B口的查询方式工作。输出的数据被锁存,而输入数据是不锁存的。,2020/6/6,上海交通大学,37,无条件传送方式,1)外设随时准备好同CPU之间的数据传输;2)外设的定时(外设处理信息的时间关系)是固定的、而且是已知的。,2020/6/6,上海交通大学,38,查询传送方式,外设的定时是不固定的、或者是不知的。则必需由外设提供反映外设工作状态(是否能传送数据)的状态信息,由此在I/O接口中必需有存放状态信息的寄存器-状态端口。为了实现CPU与外设之间的同步传送,I/O接口同外设之间通常有一对联络信号线,一条是接口给外设的控制信号线,另一条是外设给接口的状态信号线。,2020/6/6,上海交通大学,39,方式0基本输入输出,当工作于无条件传送时,与外设之间不需要联络信号线;当工作于查询传送时,与外设之间需要联络信号线,可由接口电路设计者任选PCL和PCH中各1条线作为与外设之间的联络信号线。选定了联络信号线后,在初始化时必须据此对PCL和PCH进行设置。,2020/6/6,上海交通大学,40,8255A的工作方式,2.方式1选通输入输出(应答式输入输出)方式1可工作于查询方式和中断方式C口可分成两部分,分别作为A口和B口的联络信号。在8255A中规定PC中的三位作为联络信号和中断请求线。,方式1,2020/6/6,上海交通大学,41,2020/6/6,上海交通大学,42,方式1选通输入输出,1)方式1工作于输入接口(PA口)(1):输入的选通信号,(PC4)(2)IBF:输入缓冲器满信号,(PC5)(3)INTR:中断请求信号,(PC3),2020/6/6,上海交通大学,43,方式1选通输入输出,方式1工作于输入接口(PB口)(1):输入的选通信号,(PC2)(2)IBF:输入缓冲器满信号,(PC1)(3)INTR:中断请求信号,(PC0),2020/6/6,上海交通大学,44,中断允许信号,(4)INTE:中断允许信号。A端口用PC4位的置复位控制,B端口用PC2位的置复位控制。只有当PC4或PC2置“1”时,才允许对应的端口送出中断请求。INTE对应于接口中的一个中断允许触发器,PC4或PC2=1,就是使该触发器置1。,2020/6/6,上海交通大学,45,联络信号线,1):输入选通信号,低电平有效。由外设提供,为低电平时,就把输入的数据信号(PA7PA0或PB7PB0)送入A端口(或B端口)的数据锁存器。2)IBF:输入缓冲器满信号,高电平有效。由8255A输出,有效时,用以通知外部设备输入的数据已写入缓冲器。,2020/6/6,上海交通大学,46,中断请求线,3)INTR:中断请求信号,高电平有效。当外部设备要向CPU传送数据或请求服务时,8255A就用INTR端的高电平向CPU提出中断请求。当、IBF和INTE都为高电平时,表明数据锁存器内已写入了数据,若此时INTE=1,则使INTR成为高电平,输出到CPU。CPU响应中断,在控制下从8255A中读取数据时,的下降沿使INTR复位,它的上升沿又使IBF复位,使外设知道可以进行下一字节输入,见图6-8(b)。,2020/6/6,上海交通大学,47,2)方式1工作于输出接口(PA口),(1):输出缓冲器满信号,(PC7)(2):响应信号,(PC6)(3)INTR:中断请求信号,(PC3)(4)INTE:中断允许信号,(PC6),2020/6/6,上海交通大学,48,方式1工作于输出接口(PB口),(1):输出缓冲器满信号,(PC1)(2):响应信号,(PC2)(3)INTR:中断请求信号,(PC0)(4)INTE:中断允许信号,(PC2),2020/6/6,上海交通大学,49,联络信号线,1)输出缓冲器满信号;低电平有效。由8255A输出,当其有效时,表示CPU已经将数据输出到指定的端口,通知外设可以将数据取走。2)响应信号,低电平有效。由外设送来,有效时表示8255A数据已经为外设所接收。,2020/6/6,上海交通大学,50,中断请求线,3)INTR:中断请求信号,高电平有效。当外设接收了由CPU送给8255A的数据后,8255A就用INTR端向CPU发出中断请求,请求CPU再输出后面的数据。INTR是在INTE=1的条件下,当,和INTE都为高电平时,才能被置成高电平。由的上升沿清除(见图6-9(b)。,2020/6/6,上海交通大学,51,中断允许信号,(4)INTE:中断允许信号。A端口用PC6位的置复位控制,B端口用PC2位的置复位控制。只有当PC4或PC2置“1”时,才允许对应的端口送出中断请求。INTE对应于接口中的一个中断允许触发器,PC6或PC2=1,就是使该触发器置1。,2020/6/6,上海交通大学,52,方式1的输出,2020/6/6,上海交通大学,53,3.方式2双向选通输入输出,可工作于中断方式,也可工作于查询方式方式2只限于A口使用。采用如下5个引脚信号(1):输入的选通信号,(PC4)(2)IBF:输入缓冲器满信号,(PC5)(3)INTR:中断请求信号,(PC3)(4):输出缓冲器满信号,(PC7)(5):响应信号,(PC6),方式2的联络信号,INTR:中断请求信号,高电平有效输入输出都用这个信号向CPU申请中断。:输出缓冲器满,低电平有效。作为对外设的一种选通信号,表示CPU已经将数据送到端口A。:来自外设的响应信号,低电平有效。有效时启动A口的三态输出缓冲器送出数据;否则,输出缓冲器处于高阻态。INTE1:与有关的中断允许触发器,由PC6置复位。:选通输入,低电平有效。来自外设的选通信号,有效时,将输入数据选通送入锁存器。IBF:输入缓冲器满,高电平有效。有效时,表明数据已经送入锁存器。INTE2:与IBF有关的中断允许触发器,由PC4置/复位控制。,2020/6/6,上海交通大学,54,2020/6/6,上海交通大学,55,方式2双向选通输入输出,2020/6/6,上海交通大学,56,方式2,当A组在方式2下工作时,B组可以在方式1或方式0(此时只能采用无条件传输)工作,各种方式下各端口功能,2020/6/6,上海交通大学,57,对INTE的操作位,2020/6/6,上海交通大学,58,状态字中各位的含义,2020/6/6,上海交通大学,59,方式1输入,方式1输出,方式2,B组,由方式0或方式1定义,2020/6/6,上海交通大学,60,11.2.38255A的初始化,首先要由CPU对8255A写入控制命令字,有2种控制命令字:一个是方式选择控制字,另一个是C口按位置位/复位控制字。,2020/6/6,上海交通大学,61,1.方式选择控制字(D7=1),2020/6/6,上海交通大学,62,2.C口按位置位/复位控制字(D7=0),2020/6/6,上海交通大学,63,状态字,PC7PC6PC5PC4PC3PC2PC1PC0方式1输入方式1输出方式2B组,由方式0或方式1定义,2020/6/6,上海交通大学,64,11.2.48255A的应用举例,开关接口LED接口打印机接口(1)打印机接口(2)键盘接口七段LED显示器接口打印机接口(3)LED/开关接口,例11-2开关接口,2020/6/6,上海交通大学,65,2020/6/6,上海交通大学,66,开关接口,该程序的功能是每隔5分钟从PA口读入8个开关的状态存入2000H:3000H开始的数据区,工作10小时结束。MOVAX,3000HMOVDS,AXMOVBX,2000HMOVCX,120MOVAL,10010000B(90H);8255初始化OUT63H,AL,2020/6/6,上海交通大学,67,开关接口,LOP:INAL,60HMOVBX,ALINCBXCALLDELAY5M;延时5分钟的子程序DECCXJNZLOPMOVAH,4CHINT21H,2020/6/6,上海交通大学,68,例6-3LED接口,2020/6/6,上海交通大学,69,LED接口,MOVAL,10000000B(80H);8255初始化OUT63H,ALMOVCX,7200MOVAL,7FHLOP:OUT60H,ALRORAL,01HCALLDELAY5S;延时5秒子程序LOOPLOPMOVAH,4CHINT21H,2020/6/6,上海交通大学,70,LED接口,该控制程序的功能是:开始时LED7点亮(发光),每隔5秒钟,发光灯移向上一个LED,依次点亮LED6,LED5,LED0。然后再点亮LED7周而复始,共工作10小时结束。,2020/6/6,上海交通大学,71,例11-4打印机接口(13),1)并行接口标准(Centronice)该标准规定了一个36芯的连接口,见表11.4。最主要的是8位并行数据线和BUSY,。4者关系见图11.15.:数据选通接口;DATA:数据信号;:响应信号;BUSY:忙信号。,图11-15打印机工作时序,2020/6/6,上海交通大学,72,表11.4并行接口标准Centronics的信号规定,2020/6/6,上海交通大学,73,并行接口标准Centronics的信号规定,2020/6/6,上海交通大学,74,表11.4中信号说明如下:,:数据选通信号。由主机送往打印机的选通信号,有效时,打印机接收主机送来的8位并行数据。DATA18:数据信号。主机送往打印机的8位并行数据。:响应信号。打印机接收数据后,向主机发出的回答信号。主机在收到该信号后,才能继续发送下一个数据。BUSY:忙信号。由打印机送给主机的状态信息。无效时(低电平),表示打印机正处于空闲(准备好)状态,主机可以向打印机传送数据。有效时(高电平),表示打印机现在不能接收数据。可能由如下原因产生:,2020/6/6,上海交通大学,75,BUSY有效可能产生的原因,打印数据缓冲器已满;正在打印;打印机处于脱机状态;打印机有故障。,2020/6/6,上海交通大学,76,表11.4中信号说明,PE:纸尽信号。打印机处于无打印纸状态下向主机发出的信号,通知主机停止送数。:选中信号。打印机向主机发送的信号,有效时,说明打印机正处于同主机联机的状态。:初始化信号。主机向打印机送出的控制信号,有效时(低电平),打印机开始初始化工作。在打印机处于接收数据和打印状态时该信号为高电平。:出错信号。当打印机的打印缓冲区溢出,或其它控制出错时,向主机发出该信号,要求主机停止送数。:自动走纸信号,主机向打印机送出的控制信号,有效时(低电平)表示打印完一行,打印机自动走纸。:选择输入信号,只有当该信号为低电平时,打印机才能接收数据,出厂时一般置为低电平。,2020/6/6,上海交通大学,77,2020/6/6,上海交通大学,78,打印机接口(1)-采用程序查询方式(方式0),2020/6/6,上海交通大学,79,打印机接口(1),图11.16为采用8255作为打印机接口的例子,图中,PA口作为向打印机输出的数据口,工作于方式0,采用程序查询的控制方式。由PC0产生控制信号,PC7读取外设状态BUSY,8255的端口地址为90H93H。则要求从内存2000H:3000H开始取出100个数据送打印机打印的控制程序为:,2020/6/6,上海交通大学,80,打印机接口(1),MOVAX,2000HMOVDS,AXMOVBX,3000HMOVCX,100MOVAL,10001000B(88H);8255初始化OUT93H,ALLOP:INAL,92HTESTAL,80HJNZLOP,2020/6/6,上海交通大学,81,打印机接口(1),MOVAL,BX;A口输出OUT90H,ALMOVAL,01H;产生OUT93H,ALMOVAL,00HOUT93H,ALMOVAL,01HOUT93H,ALINCBXLOOPLOPMOVAH,4CHINT21H,2020/6/6,上海交通大学,82,打印机接口(2)-采用程序中断方式(方式1)的接口,采用中断控制方式的打印机接口,图中PB口作为向打印机输出的数据口,工作于方式1采用程序中断的控制方式。8255A工作于方式1输出时,规定8255APB口同外设之间的联络信号为由PC1输出,由PC2输入,中断请求INTR由PC0输出送IR2,本接口电路中未用而是选用PC7产生打印机所要求的。设8255的口地址同图11-14,则该接口的初始化程序段为:MOVAL,10000100B(84H);PB口方式1输出PCH输出OUT93H,ALMOVAL,00000101B(05H);INTEB=PC2,置INTEB=1(开中)OUT93H,AL,2020/6/6,上海交通大学,83,2020/6/6,上海交通大学,84,打印机接口(3)-用单稳态电路产生选通信号,2020/6/6,上海交通大学,85,例11-5键盘接口,两类键盘:编码键盘和非编码键盘。编码键盘能自动提供对应于被按键的编码信息,如ASCII码,并能同时产生一个选通脉冲通知微处理器。非编码键盘由一组开关组成,提供行和列的键盘矩阵。其全部工作,包括按键的识别、按键代码的产生、防止串键和消去抖动等问题,都靠程序来实现。,2020/6/6,上海交通大学,86,键盘接口,键盘输入信息的过程:(1)检测是否有键按下;(2)查出按下的是哪一个键;(3)将该键所代表的信息翻译成计算机能识别的内部代码。如ASCII码或其他预先约定的编码。,2020/6/6,上海交通大学,87,键盘接口,2020/6/6,上海交通大学,88,键盘接口,使用行扫描方式寻找按下键的编号(键号)的程序如下:PORTAEQU0FFF8HPORTBEQU0FFFAHPORTCEQU0FFFCHPORTCNEQU0FFFEHMOVDX,PORTCN;置8255A端口A,B工作在方式0;MOVAL,10000011B;端口A为输出口,端口B为输入口OUTDX,ALWAITK:MOVDX,PORTA;等待键闭合MOVAL,0;行码送全“0”OUTDX,AL,2020/6/6,上海交通大学,89,键盘接口,MOVDX,PORTB;读列码INAL,DXCMPAL,0FFHJZWAITK;无键按下,继续等待MOVBL,0;扫描键盘矩阵,送键号初值MOVBH,11111110B;置初始扫描模式行码送FEHMOVCX,8FNDROW:MOVAL,BH;送行码MOVDX,PORTAOUTDX,ALROLBH,1;修改行码MOVDX,PORTB;读列码INAL,DX,2020/6/6,上海交通大学,90,键盘接口,CMPAL,0FFHJNZFNDCOL;有键按下,查列号ADDBL,8;无键按下,指向下一行键号初值LOOPFNDROW;8行扫描未完,送下一行扫描码JMPDONE;8行扫描完,无键按下FNDCOL:RORAL,1;查哪一列有键按下JNCRIGHT;查到按下键的键号INCBL;键号加1,查下一列JMPFNDCOLRIGHT:;按下键的编号在BL中DONE:;无键闭合,2020/6/6,上海交通大学,91,例11-6七段LED显示器接口,发光二极管是一种当外加电压(阳极电压接高电位)超过额定电压时发生击穿,并因此产生可见光的器件。这种数码显示管通常由多个发光二极管来组成7段或8段笔划显示器。当段组合发亮时,便可显示某一数码或字符。8个7段LED显示器上显示8位16进制数,每个显示器显示其中一位数。,2020/6/6,上海交通大学,92,七段LED显示器接口,2020/6/6,上海交通大学,93,七段LED显示器接口,2020/6/6,上海交通大学,94,七段LED显示器接口,SSEGCODEDB0C0H;定义16进制数字符的七段代码表DB0F9HDB0A4HDB0B0HDB99HDB92HDB82HDB0F8HDB80HDB98HDB88HDB83HDB0C6H,2020/6/6,上海交通大学,95,七段LED显示器接口,DB0AlHDB86HDB8EHFOURBYTEEQUTHISBYTEDBLWORDDD12345678HMOVAL,10000000B;设置工作方式MOVDX,0FFFEHOUTDX,ALCLDAGAIN:MOVCX,4MOVSI,OFFSETFOURBYTE,2020/6/6,上海交通大学,96,七段LED显示器接口,MOVAH,11111110BLOOPDISP:LODSBMOVDI,AXANDAL,0FHMOVBX,OFFSETSSEGCODEXLATSSEGCODE;送段选码MOVDX,0FFFAHOUTDX,ALMOVAL,AH;送位选码MOVDX,OFFF8HOUTDX,ALPUSHCXMOVCX,NDELAY;延时2ms,NDELAY延时常数,2020/6/6,上海交通大学,97,七段LED显示器接口,IDLE:NOPNOPLOOPIDLEMOVAL,0FFH;禁止显示OUTDX,ALMOVAX,DIMOVCL,4SHRAL,CLMOVBX,OFFSETSSEGCODEXLATSSEGCODEMOVDX,0FFFAHOUTDX,ALROLAH,1,2020/6/6,上海交通大学,98,七段LED显示器接口,MOVAL,AHMOVDX,0FFF8HOUTDX,ALMOVCX,NDELAY;延时2msIDLE2:NOPNOPLOOPIDIE2ROLAH,1MOVAL,0FFHOUTDX,ALPOPCXLOOPLOOPDISPJMPAGAIN,例11-7打印机接口(4),1)打印机的工作过程及接口电路打印机接口1是一个最简化的打印机接口原理图,实际工作的打印机接口是一个较复杂的电路,必须使用Centronics接口标准中的大部分接口信号线,打印机的实际工作过程如下:当接通打印机电源后,在打印机控制电路中的CPU控制下,先完成初始化,然后打印机开始处于接码状态,接受由主机送来的信息、并进行判断。若是功能码,则进入相应的处理;若是字符码,则送入字符缓冲器。再从点阵字库中找出相应的字符点阵信息存入打印码缓冲区。当接收的数据为打印命令(如回车、换行符等)或一行缓冲打印码已满,则进入打印过程。打印机接口电路也称打印机适配器,可以用锁存器、三态缓冲器等器件实现,也可用通用的可编程并行接口芯片实现。图11.22就是用8255A作为接口电路的逻辑图。,2020/6/6,上海交通大学,99,2020/6/6,上海交通大学,100,打印机接口(4),打印机接口(4),图中,8255A的PA口工作于方式1,并为数据输出端口,用于传送主机送来的数据信息DATA1DATA8。此时,PC6、PC7和PC3分别规定为配合方式1工作的-ACK、和INTR信号。PC4定义为输入,作为打印机送来的SLCT状态信息。8255A的B组工作于方式0,PB口作为输出控制口,利用PB3PB0产生、和控制信号,而PC2PC0用作输入状态口,分别定义为打印机的PE、-ERR和BUSY状态信号。图中非门来增强驱动能力和缓冲作用。,2020/6/6,上海交通大学,101,打印机接口(4),2)8255A的应用编程图11-22所示的打印机接口电路可采用程序控制IO方式或中断控制IO方式实现数据的输出传送。若采用中断控制IO方式,中断请求INTRA应连接到中断优先控制器8259A的IR输入端,作为一个中断源,由8259A产生中断类型码,以便CPU响应本中断请求时,自动进入打印中断服务程序。下面就是采用中断控制IO方式时,8255A的初始化程序段和打印中断服务程序。,2020/6/6,上海交通大学,102,2020/6/6,上海交通大学,103,打印机接口(4),(1)8255A的初始化程序段(设8255A的I/O端口地址为2C0H2C3H):MOVDX,02C3HMOVAL,1010l00lBOUTDX,ALMOVAL,0000l101BOUTDX,ALMOVDX,02ClHMOVAL,00001100BOUTDX,AL,2020/6/6,上海交通大学,104,(2)打印机中断服务程序,PRINTPROCNEARPUSHAXPUSHDXMOVDX02C0HMOVAL,BXOUTDX,ALMOVDX,02C1H,2020/6/6,上海交通大学,105,打印机中断服务程序,INAL,DXORAL,01HOUTDX,ALANDAL,0FEHOUTDX,ALINCBXPOPDXPOPAXIRETPRINTENDP,2020/6/6,上海交通大学,106,例11-8LED/开关接口8086CPU通过8255A同开关与7段LED显示器的接口:,2020/6/6,上海交通大学,107,LED/开关接口,ORG2000HMOVAL,82H(1)MOVDX,0FFFEH(2)OUTDX,AL(3)RDPORTB:MOVDL,0FAH(4)INAL,DX(5)ANDAL,0FH(6)MOVBX,OFFSETSSEGCODE(7)XLAT(8)MOVDL,0F8H(9)OUTDX,AL(10),2020/6/6,上海交通大学,108,LED/开关接口,MOVAX,56CH(11)DELAY:DECAX(12)JNZDELAY(13)JMPRDPORTB(14)HLT(15)ORG2500HSSEGCODEDB0C0H,0F9H,0A4H,0B0H99H,92H,82H,0F8HDB80H,98H,88H,83H,0C6H,0A1H,86H,8EH,2020/6/6,上海交通大学,109,LED/开关接口,指令设置8255A工作方式,方式选择字为82H=10000010,工作于方式0,PA口输出、PB口输入,控制口地址为0FFFEH;指令读入PB口信息即4位开关提供的状态信息,这里PB口的地址为0FFFAH,修改地址寄存器DX时,只修改DL为FAH,因高8位FF与控制口0FFFEH相同;,2020/6/6,上海交通大学,110,LED/开关接口,指令屏蔽掉寄存器AL的高4位,因为从PB口读入的信息中只有低4位有效,高4位为随机值必须去除。指令将地址指针BX指向段选码(字形码)表的首地址;指令查表,取出对应的段选码,XLAT的功能是BX+ALAL,执行XLAT指令后,AL中的内容为指令执行后PB口读入的4位二进制状态值对应的段选码值;,2020/6/6,上海交通大学,111,LED/开关接口,指令将查表所得之段选码送PA口由7段LED显示器显示。指令为延时程序段,使一次读入的信息,保持显示一段时间;指令转到指令读入4位开关的新状态,进入新一轮的显示操作;从ORG2500H开始为段选码表。,2020/6/6,上海交通大学,112,LED/开关接口-2,如果PA口与7段LED显示器之间的驱动器改为反相器,则程序中的段选码表必须修改为SSEGCODEDB3FH,06H,5BH,4FHDB66H,6DH,7DH,07HDB7FH,67H,77H,7CHDB39H,5EH,79H,71H而控制程序可以不变。,2020/6/6,上海交通大学,113,LED/开关接口-3,如果要求7段LED显示器循环显示0F十六个数字,每个数字显示5秒钟,显示20遍。则控制程序为:ORG2000HMOVAL,80H;设置8255A方式选择字MOVDX,0FFFEHOUTDX,ALMOVBX,20;循环20次DISPLOP:LEADI,SSEGCODE;指向段选码表MOVCX,16;显示字符个数LOP:MOVAL,DI;取显示字符送PA口MOVDL,0F8H,2020/6/6,上海交通大学,114,LED/开关接口-3,OUTDX,ALINCDI;修改显示指针CALLDELAY5S;延时5秒子程序LOOPLOP;每遍循环16次DECBX;修改大循环指针,大循环20次JNZDISPLOPHLTORG2500HSSEGCODE:DB0C0H,0F9H,0A4H,0B0HDB99H,92H,82H,0F8HDB80H,98H,88H,83HDB0C6H,0A1H,86H,8EH,11.2.516位系统中的并行接口,在16位微机系统中,要求实现16位数据的传送和处理,可以使用2片8255A芯片来构成一个16位数据的输入与输出,同16位系统中的内存接口相似。图11-24是实现16位数据传送的一个例子。该电路用于8086最小方式的微机系统,8255A芯片最多可有16片,分为两组挂到系统总线上,每组都有自己的地址译码器74LS138,上面一组8255A的端口地址在奇地址边界上,下面一组8255A的端口地址在偶地址边界上,每片8255A芯片最多可提供3个8位端口,即PA、PB和PC,这些端口可由软件设置用作输入或输出。这样,每一组最多可有192条I/O线。,2020/6/6,上海交通大学,115,图11-2416位系统中的并行I/O接口,2020/6/6,上海交通大学,116,16位系统中的并行接口,图中,上面一组的138地址译码器的控制端2A接,2B接M/;下面一组的138地址译码器的控制端2A接A0,2B接M/。地址总线A5A3接138地址译码器的输入端C、B、A,经译码后产生的输出信号,分别接8255A芯片的片选信号;地址总线A2、A1作为8255A的A1、A0信号,以实现片内端口(PA、PB、PC口以及控制口)的寻址。这样8086可以对每个端口进行字节信息传送,也可对上下各一个端口组成的两个端口进行偶地址字的传送(只需一个总线周期)。,2020/6/6,上海交通大学,117,2020/6/6,上海交通大学,118,11.3可编程串行接口芯片8251,11.3.1串行通信概述11.3.2串行接口原理11.3.3可编程通信接口8251AUSART11.3.4RS-232C串行通信总线,2020/6/6,上海交通大学,119,11.3.1串行通信概述,并行通信和串行通信同步通信与异步通信串行通信的传送方向信号的调制与解调异步通信规程,2020/6/6,上海交通大学,120,1.并行通信和串行通信,串行通信能降低通信线路的价格和简化通信设备,可以利用现有的通信线路。1.并行传送2.串行传送3.并行传送与串行传送的比较(1)从距离上看:近距离和远距离;(2)从速度上看:(3)从设备、费用上看:,2020/6/6,上海交通大学,121,并行通信和串行通信,2020/6/6,上海交通大学,122,2.同步通信与异步通信,两种基本的通信方式:异步通信ASYNC(AsynchronousDataCommunication)同步通信SYNC(SynchronousDataCommunication),2020/6/6,上海交通大学,123,1)异步通信,(1)字符格式1位起始位,低电平;5-8个数据位,(如标准ASCII码。则为7位);1个奇偶校验位(作为检错用);1,1.5或2个终止位(停止位),高电平。,2020/6/6,上海交通大学,124,异步通信两项约定,起始位后面紧跟的是要传送字符的最低位,每个字符的结束是一个高电平的终止位,起始位至终止位构成一帧。相连两个字符之间的间隔可以是任意长度的,两个相邻字符之间叫空闲位,为高电平。,2020/6/6,上海交通大学,125,异步通信两项约定,(2)波特率(BaudRate)波特率是指单位时间内传送二进制数据的位数,以位/秒为单位。每个数据位的传送时间Td即为波特率的倒数。,2020/6/6,上海交通大学,126,异步通信,2020/6/6,上海交通大学,127,2)同步通信,在数据块开始处要用同步字符来指明,同步传送速度高于异步传送速度,要求有时钟来实现发送端及接收端之间的同步,硬件电路比较复杂。,2020/6/6,上海交通大学,128,同步通信,同步通信,2020/6/6,上海交通大学,129,2020/6/6,上海交通大学,130,3.串行通信的传送方向,单工、半双工、全双工三种:1)单工(Simplex)仅能进行一个方向的传送。2)半双工(Half-Duplex)能交替地进行双向数据传送,但两设备之间只用一根传输线,两个方向的数据传送不能同时进行。3)全双工(Full-Duplex)A、B之间有两条传输线,能在两个方向上同时进行数据传送。,2020/6/6,上海交通大学,131,串行通信的传送方向,2020/6/6,上海交通大学,132,4.信号的调制与解调,计算机通信传送的是数字信号,数字信号直接进行通信,经过传输线后必然会产生畸变。在发送端必需采用调制器把数字信号转换为模拟信号,在接收端又必需用解调器检出发送来的模拟信号,恢复为原来的数字信号。,2020/6/6,上海交通大学,133,信号的调制与解调,2020/6/6,上海交通大学,134,信号的调制与解调,2020/6/6,上海交通大学,135,信号的调制与解调,2020/6/6,上海交通大学,136,PSK调制法原理图,2020/6/6,上海交通大学,137,5.异步通信规程,微型计算机中主要使用三种通信控制规程:异步控制规程(ASYNC),同步控制规程(BISYNC)和高级数据链路控制规程(HDLC)。对每一种通信控制规程,都有相应的大规模集成电路的接口芯片去实现。,异步通信规程,上述三种通信规程中使用最多的是异步通信控制规程。异步的含义是发送器和接收器不共享共用的同步信号,也不在数据中传送同步信号。为了确认被传送的脉冲序列从某处到某处表示1个字符,它的定时控制方法是在1个字符的首尾放置起始符号和停止符号,供接收端用起始符号和停止符号判断1个字符,所以这种通信控制规程有时也称为起止同步控制方式或无规程控制方式。图11-26所示为异步串行通信所使用的位格式。当发送器不工作(处于空闲状态)时,它维持线路处在连续的1状态(高电平的“传号”状态)。发送器可以在任一时刻通过传送起始位,即在线路上放置1个位时间的“空号”状态(低电平),启动一个字符的传送、接着传送数据位(低位在前,高位在后),其后是可供选择的奇或偶检验位(如果选择偶检验,数据位和奇偶位中1的数目应是偶数)。最后,发送器维持线路处在“传号”(MARK)状态,其维持时间可以为1、15或2位,把它们称为停止位。,2020/6/6,上海交通大学,138,异步通信规程,从起始位到停止位结束的时间周期称为1帧(FRAME)。在停止位以后,如果有另一个字符要传送发送器可以立即传送1个新的起始位。否则,发送器一直维持线路处在传号状态。自最后1个停止位起,发送器可以在任一时刻(不需要是位时间的整数倍)传送1个新的起始位。在大多数微型计算机中,在标准ASCII码的奇偶位之前还可以传送和接收可供选择的第八个数据位。对于第八个数据位,有如下四种情况:不传送,恒为1,恒为0或有用的数据。如果是后一种情况,则可以产生外加的128种非ASCII字符代码,用以扩充字符组,或用于专门的控制功能,在串行电路中进行传送。,2020/6/6,上海交通大学,139,异步通信规程,在异步通信中是由时钟信号控制数据的发送和接收的,为了保证数据的正确传送,还必须保证发送和接收的双方有相同的数据传送速率。如前述在一般串行通信中,数据位的传送速率称为波特率。标准的位速率有75bps,110bps,150bps,300bps,600bps,1200bps,2400bps,4800bps,9600bps和19200bps。串行通信接口直接发送由直流电平表示的数据,难以传送很远的距离,通常,为了使传送距离增加需要加大电平的幅值,电平幅值的增加,又会影响数据的传送速率,在电平幅值一定的情况下,数据传送的距离和数据传送的速率成反比。为了实现远距离传送数据,可以通过调制解调器(MODEM)把直流电平转换成交流信号,通过通信线路进行传送。,2020/6/6,上海交通大学,140,2020/6/6,上海交通大学,141,11.3.2串行接口原理,组成与功能波特率因子差错检测,2020/6/6,上海交通大学,142,1.组成与功能,1)组成由三部分组成:“接收器”用来把串行码转换为并行码;“发送器”用来把并行码转换为串行码;“控制器”用来接收CPU的控制信号,执行CPU所要求的操作,并输出状态信息和控制信息。2)功能UART的功能是接收异步串行输入码并将其转换为CPU所需要的并行码,并将CPU内部的并行码转换为串行码输出。UART(UniversalAsynchronousReceiver/Transmitter,异步收发器),2020/6/6,上海交通大学,143,UART中发送和接收部分,2020/6/6,上海交通大学,144,2.波特率因子,UART是用外部时钟来和接收的数据进行同步的。外部时钟的周期Tc和每个数据位的周期Td有以下关系:Tc=Td/KK=16或64(K为波特率因子)外部时钟和接收数据的同步如图所示:,2020/6/6,上海交通大学,145,波特率因子,2020/6/6,上海交通大学,146,奇偶校验位的产生,为了检测长距离传送中可能发生的错误,通常增加一个奇偶校验位。发送时,自动在奇偶校验位上添上“1”或“0”;接收时,UART检查字符的每一位以及奇偶校验位的“1”的个数,以确定是否发生传送错误。,2020/6/6,上海交通大学,147,奇偶校验位的产生,2020/6/6,上海交通大学,148
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年春江苏开放大学科学思维方法论形成性作业123答案
- 三阴性乳腺癌的超声和3.0T磁共振成像特征分析
- 2025年中考语文(长沙用)课件:复习任务群2 词语的理解与运用
- 2024年韶关市始兴县“青年人才”招聘真题
- 神经内科神经退行性疾病基础知识点归纳
- 邵阳市市直事业单位招聘笔试真题2024
- 2025年高考语文全国卷试题评析-教育部教育考试院
- 2025年外科护理试题
- 微滴喷射粘结成形碳酸钙可溶性陶瓷型芯的性能及精度调控研究
- 腕关节创伤性关节炎的中医药治疗策略-洞察阐释
- s标准管理制度
- 2025江西南昌市江铜产融社会招聘1人笔试参考题库附带答案详解
- 新人培训:非车险基础知识
- 山东济宁历年中考作文题(2004-2024)
- 课标视角下数学跨学科项目式学习案例设计与思考
- 2025届福建省厦门市高三下学期第二次质检(二模)历史试题
- 国开《离散数学》大作业及答案
- 离婚协议专用(2025年版)
- 北森高管测评试题及答案
- 2025年服装制版师(高级)职业技能鉴定考试题库
- 2025届西藏林芝地区五下数学期末考试试题含答案
评论
0/150
提交评论