首页 第6章 并行接口及定时计数技术

第6章 并行接口及定时计数技术

举报
开通vip

第6章 并行接口及定时计数技术null第六章 并行接口及定时/计数技术第六章 并行接口及定时/计数技术6.1 并行接口概述6.1 并行接口概述 输入和输出设备是计算机系统的重要组成部分,通常称为外部设备(简称外设)。程序、原始数据和各种现场采集的数据通过输入设备送到计算机,计算机把计算结果或各种用于控制的信号送至各种输出设备,以便显示、打印或者实现某种控制功能。常用的输入/输出设备种类繁多,有机械式、电动式、电子式和光电式等。所处理的信号类型可以是数字量、模拟量、开关量等,且大多数不能与微处理器的工作特性相匹配,现在的各种接口...

第6章 并行接口及定时计数技术
null第六章 并行接口及定时/计数技术第六章 并行接口及定时/计数技术6.1 并行接口概述6.1 并行接口概述 输入和输出设备是计算机系统的重要组成部分,通常称为外部设备(简称外设)。程序、原始数据和各种现场采集的数据通过输入设备送到计算机,计算机把计算结果或各种用于控制的信号送至各种输出设备,以便显示、打印或者实现某种控制功能。常用的输入/输出设备种类繁多,有机械式、电动式、电子式和光电式等。所处理的信号类型可以是数字量、模拟量、开关量等,且大多数不能与微处理器的工作特性相匹配,现在的各种接口技术的研究就是围绕着这个方向展开的。 null 图6-1 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示了一个并行接口 电路 模拟电路李宁答案12数字电路仿真实验电路与电子学第1章单片机复位电路图组合逻辑电路课后答案 的位置示意图。它处于系统总线和外设之间,一方面与系统总线相连,另一方面要与外设相接。接口电路在两者之间起到缓冲和匹配作用,来实现CPU与外设之间正常的数据传送。图6-1中的接口电路与外设之间实行8位数据同时传输,称为8位并行接口。数据位的宽度可以16位、32位或更宽,可以根据实际需要而确定,在微型计算机中最常见的是8位。 null 简单的并行接口可以用单独的TTL集成电路来完成,另外一些并行接口,例如IEEE-488、SCSI,则需要相当复杂的电路系统。 并行接口有两个特点:一是接口以并行方法传输数据,数据通道或数据的宽度就是传输的位数;第二个特点是在计算机与外设之间,设置协调传递数据位的有关联系信号,即握手联络信号。6.1.2 握手联络信号6.1.2 握手联络信号 并行接口除了有数据通道以外,还应有握手联络信号,以实现接口和外设两者之间的联络,来保证数据传输的准确可靠。握手联络信号按照使用的线数来分类,可分为零线(Zero-Wire)信号交换,单线(one-Wire)信号交换,双线(Two-Wire)信号交换,三线(Three-Wire)信号交换及多线信号交换,它们之间的区别是实际上用于信号交换的线数不同,也包括脉冲传送和互锁的方式不同。 null 零线信号交换是并行接口中最简单的,并行接口把来自CPU数据总线的信号送到输出设备输出或把来自输入设备的信息送到CPU数据总线。 零线信号交换并行输出接口可用来驱动简单的外设,如发光二极管或继电器等。并行输入接口可用来读出某一个开关组合的状态。 在大多数外设中为了进行各种操作都有定时的要求,当数据线上的信息有效时可以用单线信号交换线来表示。 单线的并行输出接口可以用零线并行输出接口产生,但用作于外设的写脉冲信号用触发器来产生。它的主要特征是展宽了来自CPU的写控制信号。这样就提供了一定的稳定时间,保证了输出端口做出响应。 null 单线的并行输入接口可以用零线并行输入接口产生,在某个特定的时间,外设将把信息送到外设的数据线上,再送外设选通信号,使锁存器锁存数据线上的信息,并且将中断触发器置位,发出中断,CPU响应中断后,进人中断服务程序,在中断服务程序中CPU读输入接口,读操作将锁存器的内容读到数据总线上,并把中断触发器复位。 零线和单线信号交换接口不能指示外设是否做好了进行数据传输的准备,而是假设外设已准备好接收数据并预先送出信息。 双线信号交换接口是在CPU、接口电路与外设三者之间建立起一个有效的联系,使CPU能及时地为外设服务。 6.2 简单并行接口6.2 简单并行接口 在CPU与外部设备进行联系时,三种总线结构都要用到。端口在两个方向上提供这种联系。各种各样的端口可以归结为两种类型:中断型端口和非中断型端口。这两种端口又可进一步分为可编程的和不可编程的。不可编程的中断型端口和非中断型端口有时称为程序化输入/输出端口,通过执行程序来控制输入/输出操作。null 而可编程端口一旦由微机通过程序设置好以后,就能不依赖于微机而独立地工作。随着微机系统的复杂性的增加,非编程端口用得越来越少,最终将被淘汰。由于不可编程的这种端口没有可编程端口所需的复杂硬件,比较容易理解输入/输出接口的基本原理,所以讨论一下仍有一定的价值。 6.2.1 并行输入6.2.1 并行输入1.保持量输入 2.变化量的输入6.2.2 并行输出6.2.2 并行输出 并行输出接口可根据用户对输出数据的要求来 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 接口电路。 1.输出数字量,而不需要数据锁存 2.输出数字量,需要数据锁存 3.脉冲方式输出6.2.3 双向式输入/输出6.2.3 双向式输入/输出 在一些外部设备与计算机之间,通过数据总线进行信息相互交换时,设计的接口电路既要有输入功能,又要有输出功能,数据通道具有双向功能,这样的方式称为双向式输入/输出。6.2.4 带有联络信号的输入/输出6.2.4 带有联络信号的输入/输出 对于输入或输出设备,不是所有的输入/输出设备随时都可以同计算机进行输入或输出的操作,为了取得外设和计算机的协调,计算机主机经常采用查询方式查询输入/输出设备的某种标志,如设备的准备好信号,设备的忙信号等,以决定是否对设备进行数据传输。6.2.5 中断式输入6.2.5 中断式输入 有的外设在准备好数据时就要求立即得到服务,可采用中断方式,即当外设准备好时,立即产生中断请求信号,CPU响应该中断以后,立即去接收输入设备输入的数据。6.2.6 简单并行接口芯片82126.2.6 简单并行接口芯片8212 此节内容简单了解即可。null补充:一、并行通信和串行通信 通信指计算机与外设、计算机与计算机间的信息交换 通信的基本方法: 并行通信和串行通信null数据的各位同时由源到达目的地 → 快 多根数据线 → 距离短、远程费用高 并行通信 将数据的各位同时在多根并行传输线上进行传输。并行通信适于短距离、高速通信null数据的各位依次由源到达目的地 → 慢 数据线少 → 远程, 费用低 串行通信 将数据的各位按时间顺序依次在一根传输线上传输。 0 1 1 0 1 0 1 0串行通信适于长距离、中低速通信null 并行接口的典型硬件结构包括: 1、一个或一个以上具有锁存或缓冲的数据端口 2、与CPU进行数据交换所必须的控制和状态信号 3、与外设进行数据交换所必须的控制和状态信号 4、端口译码电路 5、控制电路null并行接口连接外设示意图null输入过程 外设将数据=>接口 →状态线“数据输入准备好”=1; →接口把接收到数据输入缓冲寄存器; →数据输入回答=1,作为对外设响应信号; →外设撤消“数据”和“数据输入准备好”信号;  CPU从接口读取数据 →接口收到数据,设置“输入准备好”状态位; →供给CPU查询 或问CPU发中断请求; → CPU从接口读取数据, 接口自动清除状态寄存器输入准备好状态位(准备好); →数据总线处于高阻状态。开始下一个输入过程 null输出过程输出 :每当外设从接口取走一个数据以后,  CPU往接口中输出数据 →接口中状态寄存器发中断请求; (“输出准备好”=1,表示CPU可以往接口中输出数据) → CPU向接口输出数据,数据到接口缓冲寄存器; →接口自动清除“输出准备”好。  将数据送往外设: 接口向外设发送一个“驱动信号”,启动外设接收数据。 →外设收到数据向接口发一个“数据输出回答”信号; →接口收到的信号将状态寄存器中“输出准好”=1; → CPU输出下一个数据。 null不可编程并行接口和可编程并行接口 不可编程并行接口的工作方式和功能: 是由硬件接线决定,不能用软件来控制。 可编程并行接口的工作方式和功能: 可用软件编程的方法改变, 使接口具有更大的灵活性和通用性。null一般情况下不交叉使用,因为: 只有本系列的芯片才能更好地保证时序上的配合, 和各种功能的发挥,使CPU可靠与外设交换信息。 在并行接口芯片中, 不同的产品系列研制出与之相匹配的接口芯片。例 在80X86系列中使用8255A芯片 在Z80系列中使用Z80-PIO芯片 在6800系列中使用MC6820PIA芯片补充:并行接口的特点补充:并行接口的特点(1)并行接口最基本的特点是在多根数据线上以数据字节(字)为单位与I/O设备或被控对象传送信息。如打印机接口、A/D、D/A转换器接口、开关量接口、控制设备接口等。与此对应的有串行接口,它是在一根线上以数据位为单位与I/O设备或通信设备传送信息。如CRT、键盘及调制解调器等。因此,并行口的“并行”含义不是指接口与系统总线一侧的并行数据而言的,而是指接口与I/O设备或被控对象一侧的并行数据线。null(2)在并行接口中,除了少数场合(无条件传送)之外,一般都要求在接口与外设之间设置并行数据线的同时,至少要设置两根握手信号线,以便进行互锁异步握手方式(即查询方式)的通信。 (3)在并行接口中,8位或16位是一起行动的,因此,当采用并行接口与外设交换数据时,即使是只用到其中的一位,也是一次输入/输出8位或16位。null(4)并行传送的信息,不要求固定的格式,这与串行传送的信息有数据格式的要求不同。例如,起止式异步串行通信的数据帧格式是一个数据包括起始位、数据位、校验位和停止位等。6.3 8255A可编程并行接口芯片6.3 8255A可编程并行接口芯片Intel系列的8位并行接口芯片 通用性强,使用灵活 可用程序设置和改变芯片的工作方式 是一种典型的可编程并行接口芯片40个引脚,双列直插式6.3.1 8255A引脚介绍6.3.1 8255A引脚介绍P1526.3.2 8255A内部结构6.3.2 8255A内部结构 8255A的内部结构框图如图6-19所示,它由如下几个部分组成。 1.数据总线缓冲器 该缓冲器宽度为8位、双向、三态的缓冲器,直接挂接在PC机8位数据总线D0~D7上,8255A编程时的各种命令字或被读取的状态字也是通过该数据总线缓冲器传送的。null2.读写控制逻辑 CPU通过输入和输出指令,将地址信息和控制信息送至该部件,使其向A组和B组发出控制信息。 3.A组和B组控制部件 A组控制部件:控制A口及C口的高4位。 B组部件控制:控制B口及C口的低4位。 这两组控制部件接收读写控制逻辑的命令,从数据总线接收控制字,向相应的端口发出命令以控制其动作。 null4.数据端口A口、B口和C口 8255A的3个8位数据端口如下所示: A口具有输出锁存器/缓冲器和输入缓冲器,在方式2下输入和输出均锁存。 B口具有输出锁存器/缓冲器和输入缓冲器。 C口具有输出锁存器/缓冲器和输入缓冲器。 C口除作为输入和输出端口外,还可作为控制端口,C口的高4位PC7~PC4配合A口工作,C口的低4位PC3~PC0配合B口工作,它们分别用于输出控制信号和输入状态信号,具体情况将在6.3.4节工作方式中介绍。6.3.3 8255A的工作方式控制字6.3.3 8255A的工作方式控制字8255A芯片有3种工作方式。 方式0:基本输入/输出方式。 方式1:选通输入/输出方式。 方式2:选通双向输入/输出方式。 可通过对芯片的编程来指定各端口的工作方式,也就是对8255A芯片内的控制寄存器装入不同的控制字,以决定其工作方式。 1.控制字null方 式 控 制 字 各 位 含 义null例6.1 P155 2.按位置位、复位方式 当控制寄存器的D7=1时,控制字用来将C口某位置位或复位,控制字的各位含义如图6-21所示。 C口中的任意一位均具有位操作功能,若要通过C口的某一位输出一个脉冲时,只要将相应的控制字送入控制字寄存器就可以实现这种功能。nullnull 需要说明一点,无论是工作方式控制字还是C口置位/复位控制字,都要写入8255A的控制口中(而不是C口),8255A根据控制字的最高位是1或0,判断该控制字是工作方式控制字或是C口置位/复位控制字,从而确定格式中其它各位的意义。6.3.4 8255A的3种工作方式6.3.4 8255A的3种工作方式1.方式0:基本输入输出方式 8255A工作于方式O时,它具有以下功能: ①具有2个8位端口,即A口、B口;有2个4位端口,即C口的高4位和C口的低4位。每个端口都可设定为输入或输出端口,共有16种组合,但每个端口不能同时是输入又是输出。 ②输出端口具有锁存能力,输入端口只有缓冲而无锁存的功能。 ③在方式0下,主机与外设无条件传送数据,不需要联络线,不需查询状态。 null④当8255A的3个端口都工作在方式0下时,C口的2个4位端口PC7~PC4和PC3~PC0在CPU访问时不能单独进行读写。 注:在方式0下,C口的高、低4位可分别设定为输入或输出,但CPU的IN或OUT指令必须至少以一个字节为单位进行读写,为此必须采取适当的屏蔽 措施 《全国民用建筑工程设计技术措施》规划•建筑•景观全国民用建筑工程设计技术措施》规划•建筑•景观软件质量保证措施下载工地伤害及预防措施下载关于贯彻落实的具体措施 。如表6-3所示。null方式0下8255A的使用场合:8255A只能用于无条件传送方式或查询传送方式。在无条件传送方式下,CPU可以用简单的输入/输出指令对A口、B口、C口高一半或低一半随时进行读/写操作,接口和外部设备之间不需要联络信号,因此接口电路的实现比较简单,一般用于连接简单的外部设备,例如,开关状态的输入,状态指示灯的输出。null方式0下8255A也可作为查询方式的接口电路,这时把A口和B口分别作为输入/输出数据口,而把C口的某些位作为配合这两个数据口操作的控制位和状态位。 如图6所示,在8255A从输入设备取数前,先通过PC0查询输入设备的状态,当外设准备好后,才从A口读入数据,然后从PC7发出清除信号给外设,以便输入后续的数据;在向输出设备送数据之前,先通过PC1查询输出设备的状态,当外设准备好后,再从B口送出数据,然后用PC6发出选通信号通知外设接收数据。如此,利用C口的配合,可实现A口和B口的查询方式数据传输。C口中剩余的引脚信号还可以用于其他数据的传输或控制。nullA口B口PC7PC0PC1PC6输入设备清除准备好输出设备选通准备好图6 8255A用于查询传送方式null2.方式1:选通输入/输出方式 方式1为选通输入/输出方式,即借助于选通联络信号的输入/输出方式。在这种工作方式下,A口和B口作为数据输入/输出端口,而C口的某些位专门作为联络信号,配合A口和B口的数据传输。A口和B口的数据传输方向通过工作方式控制字来设定,C口用于联络用的位是固定的,不是由软件设定或改变的。 方式1的主要特点是:null(1)A组和B组均可以工作于方式1。8位数据端口A工作于方式1时,端口C中有固定三位用于端口A的输入/输出控制;B组中,8位数据端口B工作于方式1时,端口C中有固定三位用于端口B的输入/输出控制。 (2)两组可同时工作于方式1,那么余下的C口两位仍可由程序设定作为输入或输出位,也可进行置位/复位操作,当一组工作于方式1时,另一组中的8位端口和余下的4位C口也可以工作于方式0输入/输出,或者由程序设定余下的C口各位置位/复位。null(3)每组端口提供有中断请求逻辑和中断允许触发器。对中断允许触发器INTE的操作是通过对端口C的置位/复位控制字进行的。 (4)方式1输入/输出数据均有锁存功能。 (5)方式1通常用于查询方式或中断方式传送数据。 方式1下,A组、B组输入或输出时的控制信号各有不同,下面分别介绍。null(1)方式1的输入 (2)方式1的输出 以上两部分内容在P157~160。重点掌握联络信号。null3.方式2:选通双向输入/输出方式 方式2位双向选通输入/输出方式,这种方式只适用于A口。在方式2下,通过8位A口,外设既可以往CPU发送数据,又可以从CPU接收数据,也就是说,利用单一的8位数据线,可以双向传送数据。此外,与A口工作于方式1时相类似,C口在配合A口工作于方式2时自动提供相应的联络、控制和中断请求信号。null方式2的主要特点是: (1)方式2是一种分时双向传输方式,只可适用于A口。 (2)A口工作于方式2时,端口C中有固定5位用于配合A口的输入/输出控制。此时C口余下的三位仍可进行置位/复位操作,也可以有程序设定作为输入或输出位,或者配合B口方式1的控制。null(3)A口方式2工作时,提供有中断请求逻辑和中断允许触发器。对中断允许触发器INTE的操作是通过对端口C的置位/复位控制字进行的。 (4)方式2下输入和输出数据均有锁存功能。 (5)方式2通常用于查询方式或中断方式传送数据。 方式2下,固定用C口的PC7~PC3这5位配合A口的工作,无需用户干预。A口方式2相当于A口方式1下的输入和输出方式的组合,因此,方式2下配合口输入/输出操作的各个C口控制位和状态位的功能与方式1类似。null 方式2下8255A的使用场合:只有8255A的A口可以使用方式2工作。方式2可用于查询方式或中断方式的数据传输。当外设与8255A之间的输入/输出需要输入数据选通信号和输出数据接收应答信号时,就可以采用8255A方式2查询方式工作,输入操作时读取C都的PC4、PC5,输出操作时读取C口的PC6、PC7,从而查询IBF、OBF非信号的当前状态,决定是否立即输入或输出数据;若选择8255A方式2中断方式分时双向传输数据时,可以使用C口的PC3,向CPU发出INTR中断请求信号。null 方式2很适合于某一个既是输入设备又是输出设备的外设输入/输出操作,当然这种输入和输出一定是分时进行的。例如,可被CPU分时读写的磁盘就可以应用8255A的A口方式2传输数据,可以将磁盘驱动器的数据线和8255A的A口相连,再将C口的PC7~PC3与磁盘控制器的控制线和状态线相连,即可实现数据的分时双向传输。总结总结 8255A三个端口的使用情况总结如下: (1)8255A的三个端口都是8位端口,A口和B口以独立的8位口形式传送数据,A口与B口互不影响;而C口的8位则分为高低两个4位口,A口和B口方式0时,这两个4位口也独立作数据口分别传送操作,互不影响。 (2)当A口工作于方式1时,C口的部分位被固定用作配合A口操作的联络信号,实现A组方式1操作;当B口工作于方式1时,C口的另一部分位被固定用作配合B口操作的联络信号,实现B组的方式1操作。null(3)方式0适用于A口、B口、C口,方式1适用于A口、B口,方式2只适用于A口。当某一个端口工作于某一种方式时,不影响其他端口和空闲位的工作方式及输入/输出方向。具体地说,无论A口工作于方式0、方式1或则方式2,都不影响B口和C口空闲位的工作方式及输入/输出方向;无论B口工作于方式0还是方式1,都不影响此时A口和C口空闲位的工作方式及输入/输出方向。null(4)无论A口、B口工作于那种方式,C口的空闲位都可以独立实现I/O操作,输入或输出方式可由工作方式控制字的D3、D0位设置。设置工作方式控制字的D3=1时,C口高一半中的空闲位输入,否则输出;设置工作方式控制字的D0=1时,C口低一半中的空闲位输入,否则输出。 (5)C口的空闲位也可用于置位/复位功能,通过C口置位/复位控制字来设定,但要注意C口置位/复位控制字是被写入控制口,而不是写入C口。null(6)读C口时,请注意此时C口对应位是I/O位还是配合A、B口的联络位,如果是I/O位,则读入的是该位所传输的数据,如果是联络位,读入的该位则反映出8255A的状态。6.4 定时/计数器概述6.4 定时/计数器概述6.4.1 定时/计数器的基本概念 定时/计数器在计算机系统中,尤其是在工业测控系统中有着重要的作用。定时器与计数器两者的差别仅在于用途的不同:对以时钟信号作为计数脉冲的计数器就称为定时器,它主要用于产生不同 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的时钟信号或不同频率的连续信号;而以外部事件产生的脉冲作为计数脉冲的计数器才称为计数器,它主要是用于对外部事件发生的次数进行计量。 null 计算机是一种智能化机器,它严格按时序进行工作,因此,计算机离不开定时与计数。计算机系统本身需要的时间基准由定时器提供,保证计算机在确定时刻完成规定动作,如动态存储器的定时刷新及提供接口电路的工作节拍和信息传送时的同步信号等。另外,还提供系统的实时日历时钟,用以方便记录或查询某些事件。在计算机构成的测控系统中,还要求能提供一些定时和计数的功能,如定时中断、定时检测、定时扫描、定时处理以及所需要的某种延时等。6.4.2 定时/计数器的分类。 null 在计算机系统中使用的定时/计数器归纳起来有3大类,即软件定时/计数器、硬件定时/计数器和可编程定时/计数器,下面分别讨论。 1.软件定时/计数器 软件定时/计数器是实现系统定时控制或延时控制的最简单的方法。在计算机中CPU每执行一条指令所占用的周期(T状态)数是确定的。用汇编语言编写一段具有固定延时时间的循环程序,将该程序的每条指令的T状态数累加起来,乘以系统的时钟周期,就是该程序执行一遍所需的固定延时时间。程序设计者可选择不同的指令条数和不同的循环次数来实现不同的时间延迟。 null 软件定时/计数器多用于较短时间的定时,这是因为定时时间越长,CPU的开销越大,而且不能响应中断,否则定时就不准确的。软件定时/计数器不需要外加硬件电路并且定时精确。 例如:MOV CX,××××H HERE:LOOP HERE 优点:不需要专门的硬件设备。 缺点:浪费了宝贵的CPU资源。 null2.硬件定时/计数器 硬件定时/计数器是指用硬件电路来实现的定时与计数。对于较长时间的定时一般用硬件电路来完成,采用硬件定时/计数器的成本低,使用方便。应用在计算机中以产生特定的信号,如555时基电路、单稳延时电路或计数电路等,它们是通过外部的RC元件来实现定时的。 null 该方法的缺点是一旦元件设定就不能改变,电路调试较麻烦,时间长电阻电容器件会老化,造成电路工作不稳定,影响定时准确度和稳定性。 3.可编程定时/计数器 可编程硬件定时/计数器,实际上是一种软硬件结合的定时/计数器,是为了克服单独的软件和硬件定时/计数器的缺点,而将定时/计数器电路做成通用的定时/计数器并集成到一个芯片上,定时/计数器工作方式又可由软件来控制选择。null 这种定时/计数器芯片直接对系统时钟进行计数,通过写入不同的计数初值,可方便地改变定时与计数时间,且定时期间不需要CPU管理。 典型产品: Zilog Z80-CTC Intel 8253(8254)null计数器,即在设置好计数初值后,便开始对外部触发脉冲作减1计数,减为0时,输出一个信号 定时器,即在设置好定时常数后,便对外部时钟信号作减1计数,并按定时常数不断地产生时钟周期整数倍的定时间隔 6.5 可编程定时/计数器8253-56.5 可编程定时/计数器8253-56.5.1 8253-5的主要特性 8253-5是Intel为微处理机系列设计的一个外围电路,它是一个可编程定时/计数器芯片,24引脚双列直插式封装。 6.5.2 8253-5的引脚与功能结构 P1708253功能概要8253功能概要具有三个独立的16位计数通道; 每个计数通道可按二进制或二-十进制 计数; 每个计数通道的计数速率可达2MHZ; 每个计数通道有六种工作方式; 全部输入输出都与TTL电平兼容。 8253-5的功能体现在两个方面,即计数与定时。两者的工作原理实质上是一样的,都是利用计数器减1计数,减至0发出信号;两者的差别只是作为计数器时,只发出一个信号便告结束,而作为定时器时,则发出连续的输出信号。6.5.3 8253-5的内部结构6.5.3 8253-5的内部结构1.数据总线缓冲器 该缓冲器为双向三态,可直接挂接在总线上,由CPU通过它向计数器写入计数器初始值,也可以由CPU通过该缓冲器读出计数器的计数值,通过编程可确定8253-5的工作方式,编程的控制字便由该缓冲器送至控制器寄存器。 null图6-36 8253的结构框图null2.读/写逻辑电路 由片选CS非信号控制该芯片选中与否,当选中时(CS非=0),该控制逻辑根据读写命令及送来的地址信息控制整个芯片的工作。 3.控制字寄存器 接收数据总线缓冲器的信息。若写入的是控制字,则用来控制计数器的工作方式;若是数据,则装入计数器作为计数初值。该寄存器为8位,只能写不能读。 null 4.计数器 8253-5的3个计数器是相互独立的,而且内部结构完全相同,计数器是16位减法计数器。每个计数器中都有一个时钟输入CLK和门控输入GATE,一个输出OUT。计数器的计数方式可以是二进制或十进制,当装入计数初值后,从计数器的输入端接收时钟脉冲或事件计数脉冲,计数值在时钟脉冲的下降沿开始改变,门控制可送控制或复位信号,当计数值减到零时,由输出端送出标志信号。 null 在每个计数器的内部,有计数寄存器、锁存器,它们都是16位寄存器,也可以作为8位寄存器来用,在计数器工作时,它们给计数器送初值并减1计数。锁存器用来锁存计数器执行减1后的内容,该内容可以由CPU进行读操作。6.5.4 8253-5的工作方式控制字6.5.4 8253-5的工作方式控制字 作为一个可编程的定时/计数器,它的全部工作特点都由方式控制来确定,并由CPU向8253-5写操作,即将方式控制字写入控制寄存器。 芯片的3个计数器是独立的,但写入方式控制字的地址只有一个(A1A0=11),所以就要在控制字内指出本次写入的方式控制字是属于哪一个计数器的,然后再考虑对哪个通道进行操作以及指定哪种工作方式。nullnull 当对8253-5写入控制字后,就要给计数器赋初值了。在赋初值时,当控制字D0=0时,即二进制计数,初值可在0000H-0FFFFH之间选择,当控制字D0=1时,装入初值应为十进制方式,其值可在0000-9999十进制数之间选择。无论选择何种计数方式,当初值为0000时计数器的计数值为最大。 为了对计数器的计数值进行实时显示、实时检测或对计数值进行数据处理,有时需要读回计数器的当前计数值。8253-5有两种读计数值的办法。 null1.读之前先停止计数: 在读之前,可用GATE信号停止计数器工作,然后用IN指令读取计数值,具体读取格式取决于控制字的D5D4位。若D5D4=11,则同一端口地址要读两次,先读的是低位字节,后读的是高位字节;若D5D4=10,则只读一次,读出的是高位字节;若D5D4=01,则只读一次,读出的是低位字节。 null2.读之前先送计数锁存命令 这种方法是在计数过程中读,读时并不影响当时正在进行的计数,分两步进行:第一步,用0UT指令写入锁存控制字D5D4=00到控制寄存器,其他位按要求设定。这样就将计数器当前计数值锁存到8253-5内部的锁存器中。第二步,用IN指令指定读取被锁存的计数值,读取格式取决于控制字的D5D4两位的状态。 null 如果没有收到锁存操作命令,锁存器的内容随计数器的内容变化,一旦收到锁存操作命令,就将当前计数值锁定,但当CPU读取数据或重新编程后,锁存器解除锁存状态,又开始随计数器内容变化。由于8253-5具有随时对计数值进行锁存而不影响计数的功能,故读计数值时可不用停止计数器的计数。6.5.5 8253-5的6种工作方式6.5.5 8253-5的6种工作方式1.方式0-计数结束产生中断 当写入方式0控制字后,计数器的输出OUT立即变成低电平,当写入计数初值后的第一个下降沿,计数器从初值开始减1计数,减到0时,输出端OUT变成高电平,并且一直保持到重新装入初值或复位时为止。 门控信号GATE=1时,允许计数;GATE=0时,暂停计数,门控恢复为高电平后,继续计数。但门控不影响输出端OUT的电平。所以,如果在计数过程中,有一段时间GATE变为低电平,那么,输出端OUT的电平持续时间会因此而延长相应的长度。 (GATE信号上升沿继续计数)null 如果在计数过程中写入新的初值,那么,在写入新值后的下一个时钟下降沿计数器将按新的初值计数。如果新的计数值是16位的.在写入第一个字节后,计数器停止计数,写入第二个字节后,计数器按新初值开始计数,即新的初值立即有效。 在一般情况下,输出端负脉冲的宽度是与计数值的大小有关,若计数初值为N,则从开始计数到计数结束经过了N个周期,计数周期时钟为TCLK,那么输出负电平的脉冲宽度为N*TCLK。 8253-5本身没有专用的中断请求线,所以若要用于中断,则可以用方式0的输出端OUT信号作为中断请求信号。null2.方式1-可编程单稳触发器(GATE信号上升沿重新计数) 当写入方式1控制字后,时钟上升沿使输出端OUT变成高电平,写入计数初值后计数器并不开始计数,由门控信号GATE上升沿到来后,并且在下一个时钟的下降沿,使输出OUT变为低电平,同时计数器从初值开始减1计数。计数过程中输出端OUT一直维持低电平。当计数减到O时,输出端OUT变为高电平,并且在下一次触发之前,一直维持高电平。null 工作时,GATE门控信号的作用可从两个方面进行说明:第一,在计数结束后,若再来一个门控信号上升沿,则在下一个时钟的下降沿又从初值开始计数,而不需要重新写入计数初值;第二,在计数过程中,若来一个GATE门控信号上升沿,则在下一个时钟下降沿从初值起重新计数。 如果在计数过程中写入一个新的计数值时,则不会立即影响计数过程,在出现下一个GATE门控信号的上升沿到来后的第一个时钟下降沿,才终止原来的计数过程,而按新值开始计数。 null 若计数结束前没有触发的门控信号的上升沿,则原计数过程将正常结束,OUT输出高电平,直到下一个门控上升沿到来后的第一个时钟下降沿,才按新的初值计数,即新的初值下次有效(下一个触发的门控上升沿后有效)。 正常情况下,若计数初值为N,从门控上升沿到来的下一个时钟下降沿即开始计数,到计数结束OUT变高,在输出OUT端输出脉冲宽度有N个时钟周期的负脉冲。 null3.方式2-分频器(周期性负脉冲输出) 当写入控制字后,时钟的上升沿使输出端OUT变成高电平,在GATE为高电平的情况下,写入计数初值后的第一个时钟下降沿开始减1计数。减到1时,输出端OUT变为低电平。减到0时,输出端OUT又变成高电平,同时从初值开始进行新的计数过程,形成循环计数过程。null 由此可见,不用重新写入计数值,计数器就能连续工作,输出一系列周期为N的CLK时钟周期。负脉冲宽度为一个时钟周期的定时信号称为N分频器,因此这种方式可作为一个负脉冲发生器。 门控信号GATE为低电平暂停计数,由低电平恢复为高电平后的第一个时钟下降沿重新从初值开始计数。 null 如果在计数过程中改变初值有两种情况:一是在门控信号GATE一直维持高电平时,则新的初值不影响当前的计数过程,但在计数结束后的下一个计数周期将按新的初值计数;二是若在写入新的初值后,遇到门控信号的上升沿,则结束现行计数过程,从下一个时钟的下降沿开始重新按照初值进行计数。null4.方式3-方波发生器(周期性方波输出) 方式3和方式2类似,也是在初始化完成后能重新循环计数,并且门控信号GATE的作用是相同的,两者的主要区别在于输出端OUT的输出波形不同。 当计数初值为偶数时,写入控制字后的时钟上升沿输出端OUT变成高电平,写入计数初值后的第一个时钟下降沿计数器从初值开始减1计数。减到N/2时,输出端OUT变为低电平,减到0时,输出端OUT又变成高电平,并重新从初值开始计数。若GATE=1,则一直重复同样的计数过程。输出端OUT的波形是连续的方波,故称为方波发生器。 null 当计数初值为奇数时,计数器从初值开始减1计数。减至到(N-1)/2时,输出端OUT变成低电平,减到0时,输出端OUT又变成高电平,并重新开始一个计数过程。这时输出端的波形为连续近似方波。 当GATE=1时,允许计数;GATE=0时,禁止计数。如果输出端OUT为低电平,当GATE变为低电平时,则OUT将立即变为高电平并停止计数。当GATE变为高电平以后,计数器重新装入并重新开始计数。 null 如果在计数过程中写入新的计数初值时,当门控信号GATE为高电平,新写入的初值不影响当前的计数过程,只有从下一个计数周期开始按新的初值开始计数。若在写入初值后来一个门控制GATE的上升沿时,则在下一个时钟的下降沿终止现行计数并按写入新值开始计数。 在正常计数过程中,即GATE一直保持高电平时,设写入的计数初值为N,当计数初值为偶数时,输出端OUT的输出波形为连续方波,时钟周期的高电平和低电平各占N/2个时钟周期。计数初值为奇数时,OUT端的输出波形为近似的连续方波,有(N+1)/2个时钟周期的高电平,(N-1)/2个时钟周期的低电平。null5.方式4-软件触发选通脉冲(单次负脉冲输出) 在方式4中,当写入控制字后,时钟上升沿使输出端OUT变成高电平,写入计数初值后,第一个时钟下降沿使计数器开始减1计数,减到0时,输出端OUT变为低电平并维持一个时钟周期,然后自动恢复成高电平,并一直维持高电平,除非写入新的计数初值。 null 当GATE=1时,允许计数;GATE=0时,禁止计数,并使输出端OUT保持原电平。在计数器减为0时,输出端OUT出现一个为一个时钟周期宽度的负脉冲。如果写入新的计数初值,则立即终止现行的计数过程,并在下一个时钟的下降沿按新的初值开始计数。若在计数结束后写/新的初值时,计数器立即按新值开始计数,即在任何时候由软件写入计数初值,只要当时GATE=1就会立即触发一个计数过程(但计数过程不自动重复),称为软件触发。 null6.方式5-硬件触发选通脉冲 写入控制字后,时钟上升沿使输出端OUT变成高电平,写入计数初值后、计数器并不开始计数,在门控信号GATE的上升沿到来时,由下一个时钟下降沿计数器开始减1计数,计数器减到0,输出端OUT变为低电平并维持为一个时钟周期,然后又自动恢复成高电平,并一直保持高电平。 如果在计数过程中,当再出现门控信号GATE的上升沿时,则立即终止现行的计数过程,并在下一个时钟下降沿时,从初值开始重新计数。 null 当计数过程结束以后,再有门控信号的上升沿出现时,计数器从时钟的下降沿开始由初值减1计数,而不用重新写入初值。即当门控信号GATE上升沿在任何时候到来时,立即触发一个计数过程。 当在计数过程中写入新的计数初值时,新的初值直到下一个门控信号GATE上升沿到来后,由下一个时钟的下降沿开始减1计数。若无GATE上升沿触发,新初值的写入不会影响现行的计数过程。若在计数介绍后写入新的初值后,同样也要门控信号GATE上升沿触发后才有效。 6.5.6 8253-5的初始化编程6.5.6 8253-5的初始化编程 在使用8253-5之前,必须首先对其进行初始化编程,初始化编程包括对所使用的计数器写入控制字和计数初值。对每个计数器必须由CPU写入控制字和计数初值后,该计数器才能处于工作状态,但写入初值后是否就立即计数,还要看具体工作方式。 初始化编程的顺序是:对某一指定计数器,必须先写控制字,再写计数初值,计数初值写入的格式由控制字的D5和D4两位的编码决定。因为3个计数器是完全独立的,所以写入控制字的顺序无任何先写或后写的限制。 null①写入计数器的控制字,规定其工作方式。即控制端口,对应地A1A0=11。 ②写入计数初值。无论哪个通道的控制字部必须写入同一端口, . 若规定只有低8位,则写入的是计数值的低8位,高8位自动置0。 . 若规定只写高8位,则写入的是计数值的高8位,低8位自动置0。 . 若规定写16位计数值,则分两次写入,先写的必是低8位,后写的必是高8位。 计数初值则要写入指定计数器对应的端口地址,即计数器0对应地址为A1A0=00,计数器1对应地址为A1A0 =01,计数器2对应地址为A1A0 =10。
本文档为【第6章 并行接口及定时计数技术】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_811225
暂无简介~
格式:ppt
大小:278KB
软件:PowerPoint
页数:0
分类:其他高等教育
上传时间:2012-09-01
浏览量:13