南昌航空大学微型计算机原理与接口技术课件讲稿8.ppt_第1页
南昌航空大学微型计算机原理与接口技术课件讲稿8.ppt_第2页
南昌航空大学微型计算机原理与接口技术课件讲稿8.ppt_第3页
南昌航空大学微型计算机原理与接口技术课件讲稿8.ppt_第4页
南昌航空大学微型计算机原理与接口技术课件讲稿8.ppt_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

第八章可编程I/O接口电路CPU与外围设备之间的信息交换是通过I/O接口电路来实现的。按数据传送方式来分,有并行I/O接口电路和串行I/O接口电路,为了方便用户,通常I/O接口电路制成通用的可编程序的I/O接口电路。所谓可编程序I/O接口电路,是指利用编程序的方法,使一个I/O接口电路能按几种不同的方式工作。可编程I/O接口芯片种类繁多,本章将主要讨论8250、8255、8253三种接口芯片。,可编程并行I/O接口电路8255一、8255的内部结构框图如图示:,、数据端口、每个端口由一个8位数据输入锁存器(或缓冲器)和一个8位数据输出锁存器组成。A、B端口常用来作为独立的输入端口或输出端口。而C口则用来为A、B端口输出控制信号和输入状态信息。、组控制接收CPU送来的控制字与读/写控制电路的读/写命令来控制两组端口的工作方式和读/写操作。、读/写控制逻辑电路用来产生A、B组控制部件的控制命令,以完成对数据、状态信息和控制信息的传输。、数据总线缓冲器它是一个双向三态8位数据缓冲器,用来完成CPU与8255A的数据与控制字的传输。(它的输出与8255A内总线相连),二、8255的芯片引脚信号、D07:数据总线,双向RD:读,低有效A1A0WR:写,低有效00端口A、A0、A1:端口选择信号01B10C11控制口CS:芯片选择信号,低有效、RESET:复位信号,高有效。内部寄存器被清除,3个端口自动设为输入端口。、PA07:组数据信号PB07:组数据信号(与外设相连)PC07:组数据信号,三、8255控制字、方式选择控制字方式选择控制字用来确定端口的工作方式,其中端口有三种工作方式,端口有二种工作方式。而端口的工作则取决于端口、的工作方式。,、端口置1/置0控制字端口的数位常用来作用控制位使用,它的各数位可以用此控制字来单独设置。,四、8255的工作方式、方式0,基本输入/输出方式这种工作方式三个端口的任一个都可以被定义为输入或输出口。它只需由CPU写入控制字而不需要任何选通信号的I/O方式。方式0的基本功能如下:8位口两个(口与口)4位口两个(C口),有按位置1/置0功能。四个口中任一口都可作为输入或输出。输出口有锁存,输入口有缓冲(不锁存)四个口共有16种输入输出组合。,、方式,选通输入/输出方式方式1是一种用控制信号和状态信号来控制的数据输入/输出的方式。在这种方式下,端口A或B仍作为数据输入/输出,但规定了端口C某些位作为控制或状态信息。、方式1的基本功能每一端口包含有:8位数据端口,三条控制线(固定的),并提供中断逻辑。任一端口都可作为输入或输出。注:若只有一个端口工作于方式1,余下的13位可工作在方式0,若两个端口都工作于方式1,则端口C余留下的两位可以由程序指定作为输入或输出,它也具有置1/置0功能。,、方式1的输入a、状态控制信号_SIB:选通输入信号输入端口APC4端口BPC2IBF:输入缓冲器满信号输入端口APC5端口BPC1INTE:中断允许内部端口APC4端口BPC2INTR:中断请求输出端口APC3端口BPC0,注:STB是由外设供给的输入信号(状态信号),当其有效时,把外设数据送入8255输入锁存器。IBF是输至外设的联络信号(控制信号),当其有效时,表示数据已输入至8255中,它可供CPU查询,当失效时,表示输入缓冲器已空,可通知外设输入新数据。INTE是8255A内部信号,可由用户通过PC4/PC2按位置1/置0来控制.(PC4/PC21为允许中断)。INTR是8255输出给CPU的中断请求信号,当STB为高,IBF为高,INTE为高时INTR为高有效,它由RD信号清除。b、方式1的输入过程,1数据读入CPUCPU执行2清除中断请求IN指令3IBF变低通知外设(RD有效)输入缓冲器空输入新数据1外设数据送入外设发STB输入缓冲器2经延时IBF有效1至外设阻止输入新数据2供CPU查询3经延时INTR有效CPU执行IN指令输入新数据,、方式1的输出a、状态控制信号_ACK外设响应信号输入端口APC6端口BPC2_OBF输出缓冲器满信号输出端口APC7端口BPC1INTE中断允许信号内部端口APC6端口BPC2INTR中断请求信号输出端口APC3端口BPC0,注:ACK是外设输至8255的接收脉冲(状态信号),表明CPU输出的数据已被外设接收。OBF是8255输出给外设的控制信号,当有效时,表示CPU已把数据输出给指定的端口,通知外设可以把数据取走。b、方式1的输出过程1输出数据至8255端口CPU执行2清除中断请求OUT指令3WR上升沿OBF有效通知外设(WR有效)接收数据1使OBF失效(数已取走)外设发ACK接收缓冲器数据2使INTR有效CPU开始新的输出过程,、方式2,双向传输方式方式2是一种双向传输方式,在方式2下,外设可以在8位数据线上既往CPU发送数据,又可从CPU接收数据。、方式2的基本功能方式2只用于端口。(B口只能工作于方式0或方式1)一个8位的双向总线端口(A)。端口C的PC3-PC7用作端口A的控制,状态信息。,、状态控制信号_STB选通输入输入端口APC4端口BPC2IBF输入缓冲器满输出端口APC5端口BPC1_ACK响应信号输入端口APC6端口BPC2_OBF输出缓冲器满输出端口APC7端口BPC1INTE1中断允许(与输出相关)内部端口APC6端口BPC2INTE2中断允许(与输入相关)内部端口APC4端口BPC2INTR中断请求输出端口APC3端口BPC0,五、8255与8086CPU的连接,六、8255的应用举例、8255工作于方式0,作为指示灯,开关的接口。、接口电原理图端口A、B为输出,接指示灯。端口C为输入,接开关。,、输入输出程序设:端口A地址为:00C8H端口B地址为:00CAH端口C地址为:00CCH控制口地址为:00CEH试编一程序,开关K0闭合A口灯亮,开关K1闭合B口灯亮,否则灯灭。(设两开关只有一个同时闭合)程序:,2.8255A,B口接有2个数码管,C口接有8个开关.试编一程序,用A,B口显示C口开关闭合值(即Ci口开关闭合,显示Ci),设8个开关只有一个闭合.A.电路,B.程序:,3、8255工作于方式1,作为打印机的接口、接口电原理图,A口出ACKPC6外设响应OBFPC7输出缓冲器满INTRPC3INTEPC6、输出程序:将以DATA为首址的16个单元数输出至打印机设:8255的INTR连到8259的IR3其中断类型码2BH中服入口地址为1000:2000。8255的端口地址为:A口:00C0;C口:00C4;B口:00C2;控口:00C6,可编程串行I/O接口电路8250一、有关串行通信的几个问题、波特率、波特因子与标准波特率系列波特率:每秒钟传送的数据位数,单位为位/秒。波特率因子:时钟频率/波特率,通常为16、32或64。标准波特率系列:1200,2400,4800,9600,19200。CRT终端可按12009600波特率工作。点阵式打印机可按2400波特率速度接收打印信息。,、异步通信格式:用一个起始位表示字符开始,用停止位表示字符的结束构成一帧,传送一个字符。帧与帧之间可以有任意长度的时间间隔.异步通信格式如图所示,一个字符(一帧)由一位起始位,字符编码为七位,奇偶校验一位,停止位为1/1.5/2位,一个字符由10-11个位构成的。传送速度:波特率在1200-9600之间。常用于计算机到CRT终端和字符打印机之间的通信。,、半双工与全双工、半双工:每次只能有一个站发送,不能双方(站)同时发送。站A站B、全双工:两个站都能同时发送站A站B,4、RS-232C外部串行通信总线RS-232-C是一种使用已久、但一直保持生命力的串行总线标准。早在1969年,美国工业电子学会EIA和国际电报电话咨询委员会共同制定了RS-232-C标准,其传输距离可达15m。当前微型机系统中,RS-232-C接口用来连接调制解调器、串行打印机等设备。A、信号电平标准:RS-232C采用负逻辑电平。-15-5V规定为“1”+5+15V规定为“0”TTL标准和RS-232-C标准之间电平转换电路如图所示:,B、控制信号的定义采用25芯插头插座进行连接,每一引脚所对应的控制信号详见P140,其最常用的信号如下:引脚1保护地2发送数据3接收数据4请求发送(发送方)5准许发送(接收方回答)6数据装置准备好(接收方)7信号地8载波检测20数据终端准备好(发送方回答),二、8250的基本性能1、支持异步串行通信规程.发送时可自动插入起始位、停止位和奇偶校验位。接收时能自动删除冗余的起始位和停止位。2、具有可编程的时钟产生电路,可编程选择对外部输入时钟的分频次数。内部时钟电路可产生频率为16波特率的时钟信号,作为接收时钟和发送时钟。3、具有由CPU发向调制调解器MODEM的控制信号。4、具有优先级排队的中断系统。5、发送和接收都采用双缓冲器结构。发送时,CPU直接可把数据写入INS8250的输入缓冲器;接收时,CPU可直接从INS8250读出数据。三、8250的结构及引脚信号的说明8250的结构框图如图所示:,8250的结构框图,1、数据总线缓冲器:与CPU总线D7DO连接。2、读写控制逻辑:配合数据总线缓冲器工作,实现CPU与8250的数据通信。3、接收器:当允许接收和准备好接收数据时,接收数据的过程如下:(接收时钟为波特率的16倍)检测SIN线起动计数器计数计数值8检测起位接收字符SIN由1变采样SIN值NY每隔16个计数脉冲SIN值=0否接收数据采样SIN值值送入移位寄中进行奇偶校验去掉停止位发出RxRDY信号至CPU数据存入输入寄存器接收器准备好,4、发送器:发送数据的过程如下:一个起始位发送一字符发送器为字符加上一个奇偶校验位一至二个停止位从SOUT端发出5、时钟发生环节:包括波特率发生器和分频次数锁存器。分频次数的计算公式如下:分频次数N=F外/(16x波特率)6、传输线控制寄存器和传输线状态寄存器传输线控制奇存器用来寄存发送字符的编程格式、间断点设置等参数;而传输线状态寄存器用来记录接收和发送时的状态信息。7、中断控制寄存器用来实现中断优先权排队,允许在符合条件时发出中断请求,或禁止在符合条件时发中断请求,实现中断管理。,8、MODEM控制逻辑通过对调制解调器控制寄存器的编程设置,可以控制提供给调制解调器的控制信号。9、引脚信号:A、DOD7数据总线双向CSO、CSI、CS2片选信号A2-A0地址ADS地址选通信号低电平有效CSOUT片选输出指示引脚DISTR、DISTR数据输入选通信号常与CPU的RD相连DOSTR、DOSTR数据输出选通信号常与CPU的WR相连DDIS驱动器禁止信号输出当进行读操作时,用来禁止外部收发器对系统总线的驱动B、MR主复位输入信号,高有效,C、INTRPT中断请求输出信号D、SOUT串行信号输出端SIN串行信号输入端RCLK接收时钟信号,其频率为波特率16倍BAUDOUT波特率输出引脚,常与RCLK相连E、与通信设备联络信号RTS请求发送信号(输出)用作8250向外设发送数据的请求信号CTS允许发送信号(输入)表外设可接收8250发来的数据。此时,若允许中断,则会产生一次中断。DTR数据终端准备好信号(输出)表示8250已准备好,它是向外设发送数据的请求信号。DSR数据装置准备好信号(输入)用来表示外设已准备好接收数据,RI振铃指示输入。由MODEM控制,当RI0时说明MODEM接收到电话线上拨号呼叫,要求8250予以回答。此时,若允许MODEM状态中断,则会产生一次中断。RLSD接收信号检测输入,低有效。它由MODEM控制。当RLSD=0时,说明MODEM已收到载波,此时,若允许MODEM状态中断,则会产生一次中断。F、XTAL1、XTAL2外部时钟输入/输出端G、OUT1、OUT2用户指定两个输出信号四、8250内部寄存器和控制字及状态字1、8250内部寄存器及其寻址8250内部有10个寄存器。初始化命令控制寄存器共5个,状态寄存器共3个,用以存放系统的状态信号。数据寄存器2个,即发送缓冲器TBR和接收缓冲器RBR。,8250内部寄存器寻址如下所示:,2、8250的控制字及状态字A、传输线控制寄存器LCR(确定使用的数据格式),B、除数锁存器(分频次数锁存器)DLL和DLH在8250初始化时,根据要求的波特率计算分频次数,并写入除数锁存器内,用来产生发送时钟信号,并控制波特率发生电路。C、调制解调器控制寄存器MCR用以控制MODEM及其他数字设备,利用MCR相应位置1置0,控制INS8250连接外部MODEM的信号线等.,D、传输线状态寄存器LSR传输线状态字用于说明在通信过程中INS8250接收和发送数据的有关情况,E、MODEM状态寄存器MSR用以提供MODEM或其他外设加到8250上的4个控制信号的当前状态,以及这些控制线的状态变化信息。,F、中断允许寄存器IERG、中断识别寄存器IIR,3、8250初始化编程A、步骤:a、确认串行口地址b、设置分频次数c、设置通信数据格式(写LCR控制字)d、设置MODEM控制寄存器MCR(通常为03H)e、设置中断允许寄存器IERB、举例:设传输的波特率为9600,F外1.8432MHZ设COMI为2F82FFH/COM2为3F83FFH,五、8250与8086CPU的连接,六、应用举例已知在一台IBMPC的0号扩展槽内,插了一块以8250为核心异步串行通信适配卡。试编写一程序,利用8250的循环回送自检特性,将IBMPC作为发送的接收机,从键盘输入内容,经接收后再在CRT上显示出来,直到键入Ctrl+C为止。设:数据传输速率为1200Baud,F外1.8432MHZ通信格式为7位字符、1个停止位;奇校验;数据发送和接收均采用查询方式;程序为循环结构,只要按下键,就显示。程序如下:,ST:MOVDX,3FBH初始化MOVAL,80HOUTDX,ALMOVDX,3F8HMOVAX,DIVIDOUTDX,ALMOVDX,3F9HMOVAL,AHOUTDX,ALMOVDX,3FBHMOVAL,OAHOUTDX,ALMOVDX,3FCHMOVAL,13HOUTDX,ALMOVDX,3F9HMOVAL,0OUTDX,AL,FR:MOVDX,3FDHINAL,DXTESTAL,1EHJNZERTESTAL,OIHJNZRETESTAL,20HJZFRMOVAH,IINT16HJZFRMOVAH,0INT16HMOVDX,3F8HOUTDX,ALJMPFR,MOVAH,0INT16HMOVDX,3F8HOUTDX,ALJMPFRRE:MOVDX,3F8HINAL,DXANDAL,7FHCMPAL,03HJNZCRJMPDONECR:PUSHAXMOVBX,OMOVAH,OEHINTlOHPOPAXCMPAL,ODHJNZFR,MOVAL,OAHMOVAH,OEHINTIOHJMPFRER:MOVDX,3F8HINAL,DXMOVAL,?MOVBX,0MOVAH,OEHINTIOHJMPFRDE:MOVAX,4COOHINT2IH,可编程定时器/计数器8253在计算机系统中常要用到定时信号。如在个人计算机中,系统日历时钟的计时,喇叭的声响,动态存储器的刷新定时,都是用定时信号来产生的。又如在计算机实时控制系统中,计算机主机需要每隔一定的时间对输入参数进行采样,进行处理后要定时输出,这都要用到定时信号。一、8253的主要功能8253具有3个独立的16位计数器通道,用单-5V电源,24个引脚的双列直插式器件,其主要功能如下:有三个独立的16位减法计数器通道。每个计数器都可按二进制或二一十进制计数。计数脉冲频率可达2MHZ。每个通道有6种工作方式,可由程序设置和改变。所有输入/输出与TTL兼容。,二、8253的内部结构8253的内部结构如图示:,1、数据总线缓冲器双向三态8位数据缓冲器,用来完成CPU与8253的数据与控制字的传输。2、读/写逻辑电路配合数据总线缓冲器工作,实现CPU与8253的数据通信。3、控制字寄存器用来寄存CPU送来的控制字,以确定计数通道的工作方式。4、计数器0.1.23个计数器是相互独立的,它为16位减法计数器,每个计数器有一个时钟输入端CLK,一个门控输入端GATE和一个输出端OUT。当计数值减到零时,由输出端送出标志信号。,三、8253的芯片引脚信号、D07:数据总线,双向RD:读WR:写、A0,A1端口选择信号A0A100计001计110计211控制字寄存器_CS:芯片选择信号、CLK:输入脉冲,计数器对此脉冲进行计数GATE:门控信号,它用来启动和停止计数器的工作OUT:输出信号,当计数到0时,OUT线上有输出,四、8253的编程、写控制字控制字格式如下所示:D7654321D0SC1SC0RL1RL0M2M1M0BCDD7,D6:SC1,SC2选择计数器00选计001计110计211非法,D5,D4:RL1,RL0操作类型00计数器闩锁操作01只读/写高位字节10只读/写低位字节11先读/写低位字节,后读写高位字节D3-1:M2,M1,M1操作方式000方式0001方式1X10方式2X11方式3100方式4101方式5D0:BCD计数方式02进制计数1BCD计数,、赋初值当控制字D0=0时,初值范围为0000HFFFFH当控制字D0=1时,初值范围为0000D9999D当初值为0000时,计数器的计数值最大,因计数器为减法计数。、编程举例设8253芯片端口地址为4046H,CLK计数脉冲频率为2MHZ。试编一程序,使OUT1输出40KHZ方波信号,五、8253的工作方式、方式0:计数结束产生中断(输出电平信号/GATE为高电平)方式控制字写入后,OUT为低,计数初值第一字节写入时,中止计数,第二字写入时,开始新的计数(GATE=1

温馨提示

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

评论

0/150

提交评论