第七章基本输入输出接口_第1页
第七章基本输入输出接口_第2页
第七章基本输入输出接口_第3页
第七章基本输入输出接口_第4页
第七章基本输入输出接口_第5页
已阅读5页,还剩88页未读 继续免费阅读

下载本文档

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

文档简介

第七章基本输入输出接口第一页,共93页。第一节微型计算机接口概述对于一个计算机系统,通常包括多个外部设备,因而有多个相配套的接口电路,CPU采用与存储器管理相类似的方法管理接口;存储器I/O接口微处理器CPU输出设备输入设备地址总线AB数据总线DB控制总线CB接口电路的基本功能是在CPU与外部设备之间建立信息交换通道;第二页,共93页。一、输入输出接口功能描述(1)数据缓冲功能;(CPU与外设工作速度匹配)(2)接受和执行CPU命令的功能;(3)信号转换功能;(用一组逻辑电平编码信息)(4)设备选择功能;(5)中断管理功能;(提高系统效率与事件响应速度)(6)数据格式变换功能;(串并转换)(7)可编程功能。(增加硬件电路灵活性)第三页,共93页。二、I/O指令及其执行过程1、I/O指令INAL,PORTINAX,PORTINAL,DXINAX,DXOUT PORT,ALOUTPORT,AXOUTDX,ALOUT DX,AX其中PORT为直接端口地址;8086CPU能寻址216个I/O端口。第四页,共93页。2、I/O指令的执行过程IN指令执行时序;OUT指令执行时序。第五页,共93页。浮空数据输入地址输出总线周期T1T2T4T3,TwM/IOCLKALEAD15~AD0RDIN指令执行时序示意图由DX或指令给出的端口地址数据由接口电路准备好并送上系统数据总线CPU采样数据总线第六页,共93页。数据输出地址输出总线周期T1T2T4T3,TwM/IOCLKALEAD15~AD0WROUT指令执行时序示意图由DX或指令给出的端口地址AL或AX中数据输出到系统数据总线此时接口电路应捕获数据总线上数据第七页,共93页。2、I/O接口编址方式(1)独立编址输入输出I/O空间与存储器空间分开编址;设置专用的输入输出指令;设置专用的控制信号M/(2)存储器映像输入输出I/O操作与存储器操作指令相同;I/O接口占用存储空间;端口:外设接口中可被主机直接访问的寄存器。端口编址:便于访存,为端口编译地址。第八页,共93页。三、输入输出端口地址译码I/O端口地址译码与存储器地址译码非常相似;考虑M/=0为I/O操作;长格式I/O指令可只译码A7~A0,短格式I/O指令必须译码A15~A0地址线;如同存储器一样,8086CPU的I/O系统包含两个8位I/O体,如下图所示。8088CPU只有一个I/O体,执行16位I/O指令时,需要两次总线操作,分别读/写高/低字节;第九页,共93页。FFFFFFFDFFFB00030001BHE=0对应D15~D8FFFEFFFCFFFA00020000A0=0对应D7~D08086中的I/O体第十页,共93页。8086CPU中8位与16位I/O端口的译码。例:设两个输出端口地址为0FEH~0FFH,设计其输出电路。执行:OUT0FEH,AL时,AL内容送74LS374#1执行:OUT0FFH,AL时,AL内容送74LS374#2执行:OUT0FEH,AX时,AL内容送74LS74#1,AH内容送74LS74#2。需要注意的是,执行OUT0FFH,AL指令时,AL内容是由CPU数据总线的D15~D8送出。第十一页,共93页。74LS374#1DI7~DI0Q7~Q0OECLK74LS374#2DI7~DI0Q7~Q0OECLKD7~D0D15~D8&A7A6A5A4A3A2A1≥1M/IOWR≥1≥1A0BHE0FEH0FFH8位或16位输出电路原理图第十二页,共93页。第二节8086/8088CPU与外设间数据交换方式无条件传送查询传送中断控制方式存储器直接存取控制方式第十三页,共93页。第二节8086/8088CPU与外设间数据交换方式一、程序控制方式 程序控制方式是指CPU与外设间的数据交换在程序控制下进行

无条件传送方式

条件传送方式第十四页,共93页。1.无条件传送方式无条件输入 不管外设状态,CPU执行IN指令直接从端口输入即为无条件输入。无条件输出 不管外设状态,CPU执行OUT指令直接将数据输出到端口即为无条件输出。无条件输入输出要求外设在任何时候都能与CPU交换信息;输入端口只需缓冲,而输出端口一般都需要加入锁存器。外设已经准备好,外部控制过程的动作时间固定第十五页,共93页。无条件传送方式的输入输出原理Q7~Q0D7~D0OECLKCPU数据总线G数据输出至外设来自外设数据D7-D0三态缓冲器端口译码器≥1WR地址输入≥1RD端口译码信号M/IO第十六页,共93页。2.条件传送方式(查询方式)条件传送即程序查询方式,是指CPU在传送数据前,首先通过查询确认外设准备好了才传送数据,否则,CPU等待。从而较好地解决了CPU与外设传送数据时不同步的问题。查询的一般步骤:①从I/O端口读入设备状态信息并确定外设是否准备好交换数据;②若外设没有准备好,则重复执行第①直到设备准备好为止;③CPU执行I/O指令,从I/O端口读/写入数据,同时复位I/O端口的状态字。第十七页,共93页。(1)查询式输入当外设有数据要传送到CPU时,应将数据送上外设数据总线并发出选通信号(STB)选通信号STB查询方式输入原理RDCPU数据总线数据端口译码信号数据输入设备≥1状态信息READY锁存器×8DQDQCLR+5V×8状态端口译码信号≥1RD第十八页,共93页。查询输入方式的基本程序设外设状态信息接到系统数据总线的D7位。INAL,STATUS_PORT;读状态端口

TESTAL,80H;检查READY是否是1 JEPOLL;未准备好,循环再查

INAL,DATA_PORT;从数据端口输入数据POLL:第十九页,共93页。(2)查询式输出+5V查询式输出接口电路原理WRCPU数据总线数据端口译码数据输出设备≥1状态信息BUSYACK状态端口译码≥1RD锁存器×8DQDQCLR选通信号外设接收完数据后应给出应答信号ACK,表示数据已接收到,BUF为数据准备好信号,用于通知外设CPU已输出新的数据。查询式I/O的实质是软硬件配合完成外设与CPU之间的状态“握手”与数据交换。BUF第二十页,共93页。查询输出方式的基本程序设外设状态信息接到系统数据总线的D7位。INAL,STATUS_PORT;读状态端口

TESTAL,80H;检查BUSY是否是1 JNEPOLL;未准备好,循环再查MOVAL,DATA_OUT

OUTDATA_PORT,AL;从数据端口输入数据POLL:第二十一页,共93页。三DMA(直接存储器存取)方式外部设备利用专用的接口电路直接和存储器进行高速传送;不经过CPU数据的传输速度基本上决定于外设和存储器的速度适用于高速I/O设备和成批数据交换,总线占用第二十二页,共93页。二、中断控制I/O方式中断控制I/O方式能及时处理系统中多个外设的数据传输过程。中断控制方式的输入接口电路原理RDCPU数据总线端口译码信号数据输入设备≥1锁存器×8DQDQCLR+5V×8选通信号STB中断请求触发器INTAINT第二十三页,共93页。第三节82C55并行I/O接口(1)使用可编程芯片的原因 简化应用电路设计,增加硬件电路灵活性。(2)可编程芯片内部的一般结构 通常芯片内部有多个端口,包括命令口、状态口和数据口

多个内部端口由内总线连接。第二十四页,共93页。(3)外部特性引脚大致分为两部分

与CPU连接引脚

与外设连接引脚;片选、内部端口选择线(寻址内部端口)、读/写控制等;数据线、控制输出与外设状态输入等引脚;第二十五页,共93页。(4)命令字与初始化编程将命令字写入命令口,芯片内部逻辑解释命令字后即可规定芯片功能;正常操作芯片前一般要求初始化芯片。第二十六页,共93页。一、82C55内部结构82C55内部共有四个独立编址端口一个命令口三个相互独立的输入/输出数据端口(端口A、B和C)数据口具有可编程选择的多种功能第二十七页,共93页。端口AC口高四位C口低四位A组控制端口BB组控制数据总线缓冲读/写控制逻辑8位内部数据总线I/OPA7~PA0I/OPC7~PC4I/OPC3~PC0I/OPB7~PB0D7~D0数据总线RDWRA0CSA1RESET外设接口内部控制逻辑CPU接口一、82C55内部结构第二十八页,共93页。一、82C55内部结构外设接口端口A、B和C可与外部设备相连接用于数据输出时具有锁存/缓冲器功能数据输入时A口、B口具有锁存功能,C口具有缓冲功能。端口C可作为外设控制和状态信息的端口。它可以分成为两个4位的端口,每个端口包含一个4位的输入/输出引脚。第二十九页,共93页。2.内部逻辑

内部逻辑包括A组和B组控制电路。这是两组根据CPU的命令字控制82C55工作方式的电路。每组控制电路从读/写控制逻辑接受各种命令,从内部数据总线接收控制字并发出适当的命令到各自相应的端口3.与CPU接口(1)数据总线缓冲器;(2)读/写控制逻辑。第三十页,共93页。二、82C55外部特性1.与外设连接的引脚 分为PA7~PA0、PB7~PB0和PC7~PC0三组,分别对应于A、B、C三个端口,全为双向、三态引脚。2.与CPU连接的引脚RESET——复位输入信号,高电平有效。复位时清零所有内部寄存器,置A、B、C三个端口为输入方式,对应的PA7~PA0、PB7~PB0、PC7~PC0引脚均为高阻状态。

——芯片选择信号输入、低电平有效。只有当它为低电平时,82C55才才能被CPU操作。第三十一页,共93页。A0和A1——芯片内部寄存器地址选择信号,当有效时,82C55被选中,再由A0、A1的编码决定是选端口A、B、C还是控制寄存器。

——读信号,输入,低电平有效。为低电平时,82C55内部A、B和C可输出到数据引脚D7~D0。

——写信号,输入,低电平有效。为低电平时,数据引脚D7~D0上的数据或命令被82C55读入。82C55的操作逻辑。如下表。第三十二页,共93页。82C55操作逻辑真值表第三十三页,共93页。三、82C55的控制字1.82C55方式选择控制字格式标识位D7=1A组方式选择位00——方式001——方式11×——方式2A口:0——输出1——输入PC3~PC0:0——输出1——输入B口:0——输出1——输入B组方式选择位0——方式01——方式1PC7~PC4:0——输出1——输入A组控制B组控制控制标识第三十四页,共93页。2.82C55按位置位/复位的控制字端口C置位/复位控制字格式选中位操作:1——置10——清0标识位D7=0未使用位选择000——bit0001——bit1010——bit2011——bit3100——bit4101——bit5110——bit6111——bit7端口C置位/复位控制字第三十五页,共93页。3.82C55的初始化编程举例例1:要求82C55端口A以方式0输出,端口B以方式1输入,C口以方式0输入,设计其初始化程序。

设控制口地址为PORT_CON

MOVDX,PORT_CON MOVAL,

1

OUTDX,AL10000110B初始化后,如要从A口输出数据

MOVDX,PORT_A MOVAL,DATA OUTDX,AL第三十六页,共93页。例2:端口C的PC0位要求清0,则控制字为00000000B,即00H;而端口C的PC7位要求置1,则控制字为00001111B(0FH)。设82C55的控制寄存器的端口地址为PORT_CON,则下面的程序段可实现PC7输出高电平,PC0输出低电平。MOVDX,PORT_CON;控制口地址送DXMOVAL,0FH;PC7置1控制字OUTDX,AL;PC7置1操作MOVAL,00H;PC0清0控制字OUTDX,AL;PC0清0操作第三十七页,共93页。四、82C55工作方式0方式0下,各端口实际上工作于无条件传输方式。方式0的工作特点①两个8位端口:端口A和端口B。两个四位端口:端口C的高4位和低4位;②任何一个端口都可以作为输入/输出(由程序设定);③输出锁存;④输入只是缓冲;⑤在方式0时各个端口的输入/输出可以有16种组合方式。第三十八页,共93页。五、方式0输入时的等效模型PC7~PC0PA7~PA0A组控制B组控制数据总线缓冲读/写控制逻辑8位内部数据总线PB7~PB0D7~D0数据总线RDWRA0CSA1RESET外设接口内部控制逻辑CPU接口NOTE:假定三个端口都被设定为方式0输入第三十九页,共93页。六、方式0输出时的等效模型PC7~PC0PA7~PA0A组控制DQB组控制数据总线缓冲读/写控制逻辑8位内部数据总线PB7~PB0D7~D0数据总线RDWRA0CSA1RESET外设接口内部控制逻辑CPU接口NOTE:假定三个端口都被设定为方式0输出DQDQ第四十页,共93页。方式0应用举例例:某8086最小系统中用82C55扩展8位LED显示器,设82C55占用I/O端口地址0FFF8H~0FFFFH,编程显示数字“76543210”。解题分析:82C55内部有四个端口,为何在8086系统中要占用0FFF8H~0FFFFH共8个端口地址?8位LED显示器采用动态显示方式;LED数码管的功率驱动问题;第四十一页,共93页。82C55与8086的连接电路&A15A14A13A12A11A10A9A8A7A6A5A4A3≥1M/IO82C55D7~D0CSRDWRRESET接系统复位A1A0A2A1RDWRPA口PB口PC口D7~D0PA7~PA0PB7~PB0PC7~PC0A0第四十二页,共93页。数码管显示器驱动电路(选共阴极数码管)COMCOMaaggPA6PA0PB7PB0VCCVCC第四十三页,共93页。a七段LED及其接法共阴极接法段选择码:共阳极接法段选择码:gfedcbagfedcba0111111→‘0’<3FH>1000000→‘0’<40H>0000110→‘1’<06H>1111001→‘1’<79H>1011011→‘2’<5BH>0100100→‘2’<24H>┇┇┇┇1101111→‘9’<6FH>0010000→‘9’<10H>bcdefgagag+5VR七段LED共阴极接法共阳极接法COM第四十四页,共93页。显示控制程序Data segmenttable db40H,79H,24H, ;定义段显示码表pos db0feh,0fdh,0fch,

;显示位置码Data endscode segmentassumecs:code,ds,datadis procfarstart:pushds xorax,ax pushax movax,data movds,axretdis endpcode ends endstart…….第四十五页,共93页。 moval,10000000B

;初始化字

movdx,0fffeh

outdx,al ;输出初始化字la0: movcx,8 ;显示8位

leasi,table ;表首址

movbl,posla1: moval,[si] movdx,0fff8h outdx,al ;A口输出段选码

movdx,0fffah moval,bl outdx,al ;B口输出位选码

incsi

rolbl,1

calldelay ;显示延时loopla1第四十六页,共93页。Data segmenttable db40H,79H,24H, ;定义段显示码表pos db0feh ;显示位置码Data endscode segmentassumecs:code,ds,datadis procfarstart:pushds xorax,ax pushax movax,data movds,ax moval,10000000B

;初始化字

movdx,0fffeh

outdx,al ;输出初始化字la0: movcx,8 ;显示8位

leasi,table ;表首址第四十七页,共93页。

movbl,posla1: moval,[si] movdx,0fff8h outdx,al ;A口输出段选码

movdx,0fffah moval,bl outdx,al ;B口输出位选码

incsi

rolbl,1 calldelay ;显示延时

loopla1 retdis endpcode ends endstart第四十八页,共93页。工作方式1工作方式1的特点

方式l是一种选通I/O方式(需使用“握手”控制信号);只有A和B口能够工作于方式1

,此时C口的部分引脚作为A、B口的“握手”信号,其余引脚可工作于方式0输入或输出;A、B端口设定为方式1时,其工作过程类似查询式数据传输,C口有关位表征A、B口的状态。第四十九页,共93页。方式1输入的有关控制信号端口A方式1输入结构图INTRAPA7~PA0PC4PC5PC3INTEA&STBAIBFAI/OPC7~PC6(PC4)RD锁存缓冲D7~D0第五十页,共93页。方式1输入的有关控制信号①STB#(Strobe)——选通输入。应由外设产生的数据选通信号,低电平有效。送入端口C的PC4或PC2。当为有效低电平时,将端口A或B引脚上的数据选通并锁存入相应的输入锁存器中。②IBF(InputBufferFull)——输入缓冲器满。由82C55的PC5或PC1位发出的应答信号,高电平有效。表明82C55在其输入缓冲区中存放了一个新的数据,以备CPU读取。

第五十一页,共93页。方式1输入的有关控制信号③INTR(InterruptRequest)——中断请求信号。当82C55的输入端口有新数据时,INTR信号将变为高电平。在系统中,通常作为CPU的查询信号或82C55向CPU发出的中断请求信号。高电平有效。④INTE(InterruptEnable)——中断允许。只有当INTE=1时,端口A或B才可能向CPU发出中断请求INTR。INTE由软件通过对C口的置位或复位指令来实现对中断的控制,PC4和PC2的置位/复位操作分别用于控制端口A和端口B的INTE信号,这完全是82C55的内部操作。操作时对PC4和PC2引脚的逻辑状态完全没有影响。

第五十二页,共93页。方式1输入时的状态字

端口A和端口B工作于方式1输入时,端口C的内容表征A、B口的状态,其各位的意义如下:程序可通过读入C口内容查询方式1时A、B口的状态。D7D6D5D4D3D2D1D0I/OI/OIBFAINTEAINTRAINTEBIBFBINTRB第五十三页,共93页。方式1输入的工作时序②①tSIBTPHTRITSTBtSTIBFINTRRDTSITTRIB③④来自外设的数据TPS方式1输入过程由外设发起,到CPU读出数据结束第五十四页,共93页。方式1输出的有关控制信号端口A方式1输出结构示意图PA7~PA0PC6PC7PC3INTEA&ACKAOBFAI/OPC4~PC5(PC6)WRINTRA锁存缓冲第五十五页,共93页。方式1输出的有关控制信号①OBF#(OutputBufferFull)——输出缓冲器满。表明CPU已将待输出的数据写入指定端口的数据寄存器中,通知外设可从指定端口读取数据。低电平有效。该信号由82C55送给外设,外设的应答ACK#信号有效时使它恢复为高电平。②ACK#(Acknowledge)——响应输入。外设给出的响应信号,外设收到数据后应送出,作为对82C55的响应。低电平有效。第五十六页,共93页。方式1输出的有关控制信号③INTR——用于向CPU发出中断请求信号,通知CPU外设已将数据取走,可输出新数据。④INTE——82C55中断允许信号,用于控制是否能向CPU发INTR信号。方式1输出时的状态字端口C的内容表征端口A和端口B工作于方式1输出时的状态,其各位的意义如下:

D7D6D5D4D3D2D1D0OBFAINTEAI/OI/OINTRAINTEBOBFBINTRB第五十七页,共93页。方式1输出的工作时序送外设的数据WRTAOBTAK①INTRACKTAITTWIT②③④TWBOBF端口数据有效方式1输出由CPU执行输出指令开始,至外设读走数据结束第五十八页,共93页。工作方式2工作方式2的特点

方式2是一种双向选通I/O方式(需使用“握手”控制信号),82C55A口能自动转换为输入或输出,无需象方式1时需初始化设置;只有A口能够工作于方式2

,此时C口的部分引脚作为A口的“握手”信号,其余引脚可工作于方式0输入或输出;B口可工作于方式0或方式1;方式2可近似看作是A口工作于方式1时输入与输出的组合;方式2的工作状态可由C口读出,具体含义参考教材P266表格。第五十九页,共93页。应用举例[例]设计双机并行通信接口。要求在A、B两台微机之间并行传送1K字节数据,A机发送,B机接收。A机一侧的82C55采用方式1工作,B机一侧的82C55采用方式0工作。两机的CPU与82C55之间都采用查询方式工作。解:(1)硬件连接(如图示)

A机的82C55工作于方式1,选A口输出,PC7和PC4引脚固定作为联络控制线OBF#和ACK#。B机的82C55工作于方式0,选A口输入,引脚PC4和PC0作联络控制线。虽然两侧的82C55都设置了联络控制线,但有本质的区别,前者的联络控制线是固定的,没有选择余地,后者的联络控制线并不固定,实际上有多种选择方式,如可选PC4和PC2或PC5和PC3等等。

第六十页,共93页。82C55PA0-7PC4PC0PC5-7PC1-3PB0-7OBF82C55PA0-7PC7PC6PC3PC0-5PB0-7未使用CPU数据总线CPU数据总线ACKA机B机双机并行通信接口电路示意图

第六十一页,共93页。软件设计

假定A、B两机中82C55的端口地址都为300H~303H,程序如下:(1)A机发送程序第六十二页,共93页。(1)A机发送程序MOVDX,303H;82C55命令口MOVAL,10100000BOUTDX,AL;写工作方式字MOVAX,030HMOVES,AX;建立数据块的段基址MOVBX,00;数据块的偏移地址MOVCX,3FFH;发送数据块长度MOVDX,300H;82C55的A口MOVAL,ES:[BX];取第一个数据OUTDX,AL;输出第一个数据INCBX;数据块地址指针调整L:MOVDX,302H;82C55的C口INAL,DX;输入C口状态字TESTAL,80H;查询状态JNZL;=1,表明输出数据未被取走,继续查询MOVDX,300H;数据已被取走,准备输出下一个数据MOVAL,ES:[BX]第六十三页,共93页。OUTDX,AL;再输出一个数据INCBX;数据块地址指针调整DECCX;数据块长度减1JNZL;传送未完,继续MOVAX,4C00H;INT21H;传送完毕,退回DOS第六十四页,共93页。(2)B机接收程序MOVDX,303H;82C55命令口MOVAL,10011000BOUTDX,AL;写工作方式字MOCAL,00000001B;C口置位复位控制字OUTDX,AL;置=1(PC0=1)MOVAX,040HMOVES,AX;建立数据块的段基址MOVBX,00;数据块的偏移地址MOVCX,400H;接收数据块长度L:MOVDX,302H;82C55的C口地址INAL,DX;输入C口状态字TESTAL,10H;查询A机状态JNZL;=1,表明没有输出新数据,继续查询MOVDX,300H;有新数据,本机准备输入数据INDX,AL;输入一个数据MOVES:[BX],AL;存数据MOVDX,303HMOVAL,00000000B;C口置位复位控制字,使PC0=0OUTDX,AL;清除=0(PC0=0)第六十五页,共93页。NOPMOVAL,00000001BOUTDX,AL;置PC0=1,信号产生低电平脉冲INCBX;数据块地址指针调整DECCX;数据块长度减1JNZL;接收未完,继续MOVAX,4C00H;INT21H;接收完毕,退回DOS第六十六页,共93页。82C55接口芯片小结可编程I/O接口芯片,意味着芯片功能可程控,或者说芯片的功能组态可由软件改变;理解两个控制字各位的含义(方式控制字、C口置位/复位控制字),会按端口A、B、C的功能要求编写控制字;82C55三种工作方式:方式0类似无条件数据传输接口;方式1类似查询式数据传输接口,82C55第六十七页,共93页。82C55接口芯片小结

通过选通方式与外设交换数据(由82C55硬件完成),随后由82C55通知CPU进行必要的处理(INTR信号,CPU可采用中断或查询程序进行处理);方式2可近似认为是A口方式1输入与输出的组合。掌握82C55与8086最小系统的连接方法,注意由于82C55数据总线为8位,与16位数据总线的CPU简单连接时占用多1倍的端口资源;第六十八页,共93页。82C55接口芯片小结选用工作方式的依据是外设的数据接口特性;多思考82C55的使用方法。第六十九页,共93页。可编程计数器/定时器8253/8254

70第七十页,共93页。一、8253/8254功能概述

可编程硬件定时器/计数器芯片;内部集成了三个独立的计数器;每个计数器都有自己的时钟输入CLK、计数输出OUT和控制信号GATE

;每个计数器有6种工作方式,可程控选择。第七十一页,共93页。二、结构框图RDWR数据总线缓冲器读/写逻辑控制字寄存器计数器通道0计数器通道1计数器通道2CLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2A0A1CSD0~D7第七十二页,共93页。三、8253/8254引脚及其功能

与CPU连接的引脚功能D7~D0—三态数据输入输出总线,用于将8253与系统数据总线相连,是芯片与CPU接口的数据线,CPU通过它们向8253读写数据、命令和状态信息;RD#—读控制输入信号,低电平有效。它由CPU发出,用于控制8253寄存器的读操作;WR#—写控制输入信号,低电平有效。它由CPU发出,用于控制8253寄存器的写操作;

第七十三页,共93页。8253/8254引脚及其功能

CS#—片选,输入信号,低电平有效。当为低电平时CPU选中8253,可以向8253进行读写操作;A1~A0—端口选择输入线,用于选择8253内部寄存器,以便对它们进行读写操作。第七十四页,共93页。8253/8254引脚及其功能

计数器引脚功能CLK—时钟输入信号(CLK0、CLK1、CLK2)。CLK引脚每输入一个时钟脉冲,便使计数值减1,它是计量的基本时钟信号。GATE—门选通输入信号(GATE0、GATE1、GATE2)。GATE信号的作用是用来禁止、允许或开始计数过程的。

OUT—计数器输出信号(OUT0、OUT1、OUT2)。OUT是8253向外输出定时或计数结果的信号。

第七十五页,共93页。8253/8254控制逻辑CS#A1A0寄存器选择及操作00010向计数器0写入“计数初值”00110向计数器l写入“计数初值”01010向计数器2写入“计数初值“01110向控制寄存器写“方式控制字”00001从计数器0读出“当前计数初值”00101从计数器1读出“当前计数初值”01001从计数器2读出“当前计数初值”01101无操作三态1××××禁止0××11无操作三态RD#WR#第七十六页,共93页。四、内部计数器的结构

16位当前计数值锁存器16位减1计数值16位计数初值锁存器&CLKGATEOUT内部数据总线锁存后读出可随时访问第七十七页,共93页。五、8253/8254的控制字格式

D7D6D5D4D3D2D1D0SC1SC0RL1RL0M2M1M0BCD计数器选择位工作方式选择位读写字节数码制选择第七十八页,共93页。

六、8253/8254的初始化操作

每个计数器需要单独初始化;各计数器的控制字都写入同一控制字寄存器;8位计数初值只写一次到计数器端口;16位计数初值应连续两次写入同一计数器端口(先低后高)例:选择2号计数器,工作在方式2,计数初值为1000(3E8H,2个字节),采用二进制计数,8253定时计数器通道0的端口地址为TIMER,则其程序段为(系统CPU为8088)。TIMEREQU040HMOVAL,10110100B;2号计数器的方式控制字OUTTIMER+3,AL;写入控制寄存器MOVAX,3E8H;计数初值OUTTIMER+2,AL;先送低字节到2号计数器MOVAL,AH;取高字节

OUTTIMER+2,AL;后送高字节到2号计数

第七十九页,共93页。

七、读当前计数值操作(锁存后读操作)

先写锁存控制字;执行读操作例:读出1号计数器的当前计数值(假定计数值为两字节),

温馨提示

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

评论

0/150

提交评论