4 8088
This presentation is the property of its rightful owner.
Sponsored Links
1 / 106

第 4 章 8088 的总线操作和时序 PowerPoint PPT Presentation


  • 103 Views
  • Uploaded on
  • Presentation posted in: General

第 4 章 8088 的总线操作和时序. 4.1 8088 处理器 8088 CPU 是 PC/XT 微型计算机的核心部件 8088 CPU 可应用于各种规模的智能控制系统 8088 CPU 具有最大模和最小模式,以及内置的多任务处理能力 8088 CPU 具有 40 个引脚,某些引脚具有双功能. 4.1 最小的 8088 系统. 最小配置下仅需 4 片外围芯片即可构成典型应用系统. 8088 处理器 引脚 ( 1 ). 8088 和 8086CPU 都具有 40 条引脚,采用双列直插式封装

Download Presentation

第 4 章 8088 的总线操作和时序

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


4 8088

第4章8088的总线操作和时序

4.1 8088处理器

  • 8088 CPU是PC/XT微型计算机的核心部件

  • 8088 CPU可应用于各种规模的智能控制系统

  • 8088 CPU具有最大模和最小模式,以及内置的多任务处理能力

  • 8088 CPU具有40个引脚,某些引脚具有双功能


4 1 8088

4.1 最小的8088系统

  • 最小配置下仅需4片外围芯片即可构成典型应用系统


8088 1

8088处理器引脚 (1)

  • 8088和8086CPU都具有40条引脚,采用双列直插式封装

  • 为了减少芯片的引线,8088的许多引脚具有双重定义和功能,采用分时复用方式工作,即在不同时刻,这些引线上的信号是不相同的

  • 8088的最大和最小两种工作模式可以通过引脚选择


8088 2

8088处理器引脚 (2)

最小模式下的引线( =1)

  • A16~A19/S3~S6,地址、状态复用的引脚,三态输出。在8088执行指令过程中,某一时刻从这4个引脚上送出地址的最高4位A16~A19,而在另外时刻,这4个引脚送出状态信号S3~S6。

    这些状态信息中,S6恒等于0,S5指示中断允许标志位IF的状态,S4、S3的组合指示CPU当前正在使用的段寄存器,其编码见表


8088 3

8088处理器引脚 (3)

最小模式下的引线S4、S3的组合编码


8088 4

8088处理器引脚 (4)

最小模式下的引线

  • A15~A8,地址输出,三态。CPU寻址内存或接口时,从这些引脚送出地址A15~A8

  • AD7~AD0,地址、数据分时复用的双向信号线,三态。当ALE=1时,这些引脚上传输的是地址信号。当ALE=0时,这些引脚上传输的是数据信号


8088 5

8088处理器引脚 (5)

最小模式下的引线

  • 输入输出/存储器控制信号,三态,用来区分当前操作是访问存储器还是访问I/O端口。若此引脚输出为低电平,访问存储器;若输出为高电平,则是访问I/O端口

  • 写信号输出,三态。此引脚输出为低电平时,表示CPU正在对存储器或I/O端口进行写操作


8088 6

8088处理器引脚 (6)

最小模式下的引线

  • 数据传送方向控制信号,三态,用于确定数据传送的方向。高电平时,CPU向存储器或I/O端口发送数据;低电平时,CPU从存储器或I/O端口接收数据。此信号用于控制总线收发器74LS245的传送方向

  • 数据允许信号,三态。该信号有效时,表示数据总线上有有效数据。它在每次访问内存或I/O端口以及在中断响应期间有效。它常用作数据总线驱动器的片选信号


8088 7

8088处理器引脚 (7)

最小模式下的引线

  • ALE地址锁存允许信号,三态输出,高电平有效。当它为高电平时,表明CPU地址线上有有效地址。因此,它常作为锁存控制信号将A19~A0锁存到地址锁存器

  • 数据允许信号,三态。该信号有效时,表示数据总线上有有效数据。它在每次访问内存或I/O端口以及在中断响应期间有效。它常用作数据总线驱动器的片选信号


8088 8

8088处理器引脚 (8)

最小模式下的引线

  • READY 准备好信号输入引脚,高电平有效。它是由被访问的内存或I/O设备发出的响应信号,当其有效时,表示存储器或I/O设备已准备好,CPU可以进行数据传送。

    若存储器或I/O设备没准备好,则使READY信号为低电平。CPU在T3周期采样READY信号,若其为低,CPU自动插入等待周期TW(1个或多个),直到READY变为高电平后,CPU才脱离等待状态,完成数据传送过程。


8088 9

8088处理器引脚 (9)

最小模式下的引线

  • INTR 可屏蔽中断请求输入信号,高电平有效。CPU在每条指令的最后一个周期采样该信号,以决定是否进入中断响应周期。这个引脚上的中断请求信号可用软件屏蔽

  • 测试信号输入引脚,低电平有效。当CPU执行WAIT指令时,每隔5个时钟周期对此引脚进行一次测试。若为高电平,CPU则继续处于空转状态进行等待,直到引脚变为低电平,CPU才结束等待状态,继续执行下一条指令


8088 10

8088处理器引脚 (10)

最小模式下的引线

  • NMI 非屏蔽中断请求输入信号,上升沿触发。这个引脚上的中断请求信号不能用软件屏蔽,CPU在当前指令执行结束后就进入中断过程

  • 中断响应信号输出,低电平有效,是CPU对中断请求信号INTR的响应。在响应过程中,CPU在该引脚连续送出两个负脉冲,可用作外部中断源中断向量码的读选通信号


8088 11

8088处理器引脚 (11)

最小模式下的引线

  • RESET 系统复位输入信号,高电平有效。为使CPU完成内部复位过程,该信号至少要在4个时钟周期内保持有效。复位后CPU内部寄存器的状态如表,当RESET返回低电平时,CPU将重新启动


8088 12

8088处理器引脚 (12)

最小模式下的引线

  • HOLD 总线保持请求信号输入,高电平有效。当某一总线上主控设备要占用系统总线时,通过此引脚向CPU提出请求

  • HLDA 总线保持响应信号输出,高电平有效。这是CPU对HOLD请求的响应信号,当CPU收到有效的HOLD信号后,就会对其做出响应:一方面使CPU的所有三态输出的地址信号、数据信号和相应的控制信号变为高阻状态(浮动状态);同时还输出一个有效的HLDA,表示处理器现在已放弃对总线的控制。当CPU检测到HOLD信号变低后,就立即使HLDA变低,同时恢复对总线的控制


8088 13

8088处理器引脚 (13)

最小模式下的引线

  • 系统状态信号输出。它与 和 信号决定了最小模式下当前总线周期的状态。三者的组合所表示的处理器操作见表


8088 14

8088处理器引脚 (14)

最小模式下的引线

  • CLK时钟信号输入引脚。8088的标准时钟频率为4.77MHz,时钟的占空比为33%

  • Vcc5V电源输入引脚

  • GND 地线


8088 15

8088处理器引脚 (15)

最大模式下的引线

( =0)

  • 此时,除23引脚到30引脚8个引脚外,其他引线与最小模式相同


8088 16

8088处理器引脚 (16)

最大模式下的引线

  • 、 、 总线周期状态信号输出,低电平有效,三态。这3个信号连接到总线控制器8288的输入端,8288对它们译码后可以产生系统总线所需要的各种控制信号。三个信号的代码组合以及对应的操作见表


8088 17

8088处理器引脚 (17)

最大模式下的引线

  • 、 总线请求/总线响应信号引脚。每一个引脚都具有双向功能,既是总线请求输入也是总线响应输出。但是

    比 具有更高的优先权。这些引脚内部都有上拉电阻,所以在未使用时可以悬空

  • 总线封锁信号输出,低电平有效。该信号有效时,CPU锁定总线,不允许其他的总线控制设备申请使用系统总线


8088 18

8088处理器引脚 (18)

最大模式下的引线

  • QS1、QS0指令队列状态输出。根据该状态信号,从外部可以跟踪CPU内部的指令队列。QS1、QS0的编码如表

  • HIGH 在最大模式下始终为高电平输出

  • 在最大模式下, 引脚不再使用


4 2 8088

T

4.2 8088的工作时序

  • 微处理器按照一定时序来工作,时序包括:时钟周期和总线周期、指令周期

  • 一条指令的执行需要苦干个总线周期才能完成;一个总线周期由若干个时钟周期构成

  • 时钟周期:每个时钟脉冲的持续时间就称为一个时钟周期,即每两个时钟脉冲上升(下降)沿之间的时间间隔称为T状态(Clock Cycle)

  • 总线周期:通过总线进行一次读或写的过程称为一个总线周期, 即CPU从存储器或输入/输出端口,存取一个字节(或字)所要花费的时间(Bus Cycle)

  • 指令周期:执行一条指令所需要的时间(Instruction Cycle)


8088 19

8088的时序组成(1)

  • 基本的总线周期:

    1.存储器读或写

    2.输入输出端口的读或写

    3.中断响应

  • 典型的总线周期

  • 时序关系


8088 21

指令周期

……

总线周期

总线周期

……

……

时钟周期

时钟周期

时钟周期

时钟周期

8088的时序组成(2)

  • 8088中,执行INC BYTE PTR[BX]指令(指令已在指令队列中)需要2个总线周期。


4 8088

基本的指令周期时序


4 8088

掌握时序的重要性

  • 当CPU与存储器以及I/O端口连接时,要考虑如何正确地实现时序上的配合

  • 了解时序有利于我们利用汇编编写核心代码的时候,选用适当的指令,以尽量缩短指令的存储空间和指令的执行时间

  • 了解时序有利于我们深入地了解指令的执行过程

  • 当微机应用于实时控制时,必须估计或计算CPU完成操作所需要的时间,以便与控制过程配合


4 8088

存储器读周期(1)


8088 22

8088最小模式存储器读周期(2)


4 8088

存储器写周期(1)


8088 23

8088最小模式存储器写周期(2)


4 8088

中断响应周期


4 8088

CPU进入和退出保持状态时序


4 8088

8088最大模式总线读操作时序


4 8088

8088最大模式总线写操作时序


4 8088

8088时序小结

正常的8088总线周期 (无论是读还是写)

  • 至少由4个时钟周期(Tl~T4)组成

  • 在T1期间,A15~A8、A19/S6~A16/S3和AD7~AD0分别送出地址A15~A8、A19~A16和A7~A0,同时送出地址锁存允许信号ALE

  • 外部电路利用ALE把这些地址信号锁存到地址锁存器中,即可在锁存器的输出端得到完整的20位地址信号A19~A0

  • 在写总线周期中,CPU从T2开始把数据送到总线上并维持至T4

  • 在读总线周期中,CPU在T3到T4期间读入总线上的数据


4 8088

4.3 系统总线

  • 微型计算机采用总线结构

  • 在CPU、内存、外设确定的情况下,总线速度是制约计算机整体性能的关键

    采用总线技术的优点

    1.利于模块结构设计,简化系统设计

    2.便于板卡兼容

    3.便于系统扩充与升级

    4.便于诊断维修、降低成本


4 8088

系统总线(1)

总线的分类

  • 相对于CPU的位置,可分为片内总线和片外总线

  • 相对于CPU的层次结构,可分为CPU总线、系统总线、外设总线

    常见系统总线

  • ISA总线,工业标准总线,用于286/AT

  • MCA总线,微通道总线,用于PS/2

  • EISA总线,扩展工业标准总线,为32位CPU设计

  • PCI总线,外围部件互连总线,具有“即插即用”功能。PCI总线是目前为止应用最广的系统总线


4 8088

系统总线(2)

  • 从微机系统结构划分,有单总线结构和多总线结构两种

  • 单总线结构:微机系统中只有单一的系统总线,所有部件都挂在这一条总线上。容易控制、便于扩充,效率低

  • 多总线结构:微机结构中具有多条系统总线,以双总线结构为主

  • 双总线结构分为

    面向CPU的双总线结构

    面向存储器的双总线结构


4 8088

单总线结构


4 8088

面向CPU的双总线结构


4 8088

面向存储器的双总线结构


4 8088

现代微机中的多总线结构


4 4 8088

4.4 8088系统总线

  • 最小模式一般配置


8088 110

8088系统总线(1)

  • 系统总线接口芯片


8088 24

8088系统总线(2)

  • 最小模式下的系统总线


8088 31

8088系统总线(3)


8088 41

8088系统总线(4)

最大模式下的系统总线


8088 51

8088系统总线(5)


4 5 ibm pc xt cpu

4.5 IBM PC/XT的CPU系统


4 8088

8284功能


4 8088

8284工作时序


4 8088

8284应用举例

8088


4 8088

8288功能


4 8088

8288信号组合


4 8088

8288工作时序


4 8088

8288应用举例


8288 pc xt

S0

S1

S2

AEN

CEN

CLK

IOB

ALE

DT/R

DEN

AIOWC

AMWC

IORC

MWTC

MRDC

INTA

S0

S1

S2

AENBRD

AEN

CLK

ALE(地址锁存信号)

DT/R(数据传输方向)

DEN(数据总线允许)

IOW(写I/O)

MEMW(写存储器)

IOR(读I/O)

MWTC(写存储器)

MEMR(读存储器)

INTA(中断响应)

(8288工作在系统总线方式)

8288在PC/XT机中的连接


4 6 8253

4.6 计数器和定时器8253

1.定时

  • 定义:提供的时间基准。

  • 分类:内部定时、外部定时。

    2.计数

  • 定时与计数本质上是一致的。

  • 计数的信号随机,定时的信号具有周期性。

    3.应用


4 8088

定时方法

  • 实现定时和计数通常有3种方法:软件方法、硬件方法、采用可编程芯片

    1.软件定时

  • 通过软件指令周期方法定时,如执行循环程序。

  • 增加CPU负担,通用性差,一般用于短延时。

    2.不可编程硬件定时

  • 采用中小规模IC构成。

  • 不增加CPU负担,成本低,定时值不可改变。

    3.可编程硬件定时

  • 采用可编程计数器完成,软件可改变计数值。

  • 可编程定时/计数器:实质上定时和计数本质上都是脉冲计数器,定时计的是内部基准始终源产生的脉冲,计数是计外部脉冲。


4 8088

定时/计数器基本原理

1.内部逻辑

  • CPU接口:译码、操作

  • 外设接口:时钟信号、 控制、输出

  • 内部逻辑:REG

    2.工作过程

  • 设初值

  • 控制

  • 输出


4 8088

8253基本功能

  • 8253基本功能:

    (1)有3个独立的16位计数器

    (2)每个计数器可按照二进制或十进制计数

    (3)每个计数器计数频率最高为2MH

    (4)每个计数器可选择6种不同的工作方式

    (5)所有的输入输出与TTL兼容


4 8088

8253的外部引线及内部结构


8253 8254

8253/8254的通道结构

8254特有


Cpu 8253

CPU对8253操作功能及命令

  • I/O端口地址:8254提供四个端口(使用A1A0);

  • 命令:初始化—设置工作方式、设置计数器初值;

    操 作—重写计数器初值、取状态命令。

  • 状态:当前计数值、工作方式及当前状态。

  • I/O端口操作冲突时解决方法:

    工作方式与读取状态命令采用特征位方法;

    读取的当前计数值或状态采取时序方法。


4 8088

CS

RD

WR

8253命令关系表

A1 A0


8253 0 1

8253的工作方式——方式0(计数结束中断)(1)

  • 8253是一个可编程的定时器/计数器,有6种工作方式

  • 方式0——计数结束中断

    (1)结果特点:计数器减1为0时,OUT升高,向CPU发中断请求

    (2)过程特点

    ①控制字写入:OUT=0。当控制字写入控制字寄存器后,输出端OUT变成低电平。并且在计数值减到0之前一直保持低电平

    ②计数值写入:OUT不变,仍然为低电平(OUT=0)

    ③启动方式:写入计数值。写入计数值后,必须在下一个CLK时钟脉冲到来时,计数初值才由CR传送到CE

    ④计数期间:OUT为低电平(OUT=0)

    ⑤计数为0时:OUT升高(OUT=l),向CPU发中断请求(如果使用中断的话)。直到CPU写入新的控制字或计数值时,才能使OUT=0

    ⑥计数期间写入新的计数值:如果计数值是一个字节,则在写入后的下一个时钟脉冲,新的计数值由CR送入CE,开始新的计数。如果计数值是两个字节,则写入第一个字节时中止计数,写入第二个字节后的下一个时钟脉冲时,新的计数值由CR送入CE,启动计数器按新的计数值开始计数

    ⑦GATE作用:GATE=0时,禁止计数,计数器停止;GATE=1时,允许计数,此时计数器从刚才断的地方开始连续计数。

    ⑧计数值有效期限:计数值一次有效


8253 0 2

8253的工作方式——方式0(计数结束中断)(2)

  • 基本时序


8253 0 3

8253的工作方式——方式0(计数结束中断)(3)

  • GATE作用时序


8253 0 4

8253的工作方式——方式0(计数结束中断)(4)

  • 计数期间写入新的计数值时序


8253 0 5

8253的工作方式——方式0(计数结束中断)(5)

小结:

  • 一次计数;

  • GATE高允许、下降暂停、低禁止、上升继续计数;

  • WR#写[重写]后下一脉冲下降沿重新计数;

  • OUT在控制字或计数初值写完时变低、计数值为0时变高(N+1个低)。


8253 1 1

8253的工作方式——方式1(可编程单稳)(1)

  • (1)结果特点:输出单拍负脉冲,脉冲宽度可编程设定

  • (2)过程特点

    ①控制字写入:OUT=1

    ②计数值写入:OUT=l(不变)

    ③启动方式:GATE上跳沿。启动后的下一个CLK脉冲使OUT变低电平(OUT=0),即延迟一个时钟周期

    ④计数期间:OUT为低电平(OUT=0)

    ⑤计数为0时:OUT变为高电平(OUT=l)

    ⑥计数期间写入新的计数值:不影响原计数,只有当下一个GATE上跳沿到来时,才使用新的计数值

    ⑦GATE作用:GATE=0或GATE=1时,不影响计数,但若出现上跳沿则重新启动计数器,按最新计数初值开始计数。若在计数尚未结束时,就出现了上跳沿,则重新计数,因此,使输出负脉冲的宽度延长。这种方式常用于工业控制系统中的干扰自动复位电路

    ⑧计数值有效期限:计数值多次有效。计数初值写入CR后,在没有新的计数值写入CR之前,原计数初值在CR中保持不变。以后每触发一次,CR中保存的这个计数初值就装入CE一次


8253 1 2

8253的工作方式——方式1(可编程单稳)(2)

  • 基本时序


8253 1 3

8253的工作方式——方式1(可编程单稳)(3)

  • GATE作用时序


8253 1 4

8253的工作方式——方式1(可编程单稳)(4)

  • 计数期间写入新的计数值时序


8253 1 5

8253的工作方式——方式1(可编程单稳)(5)

小结:

  • 一次计数;

  • GATE上升重新、高与下降和低不影响计数;

  • WR#写[重写]在下次GATE从0到1的跳变时有效;

  • OUT在写入控制字后变高,开始计数时变低、计数值为0时变高(N个低)。


8253 2 1

8253的工作方式——方式2(脉冲频率发生器 )(1)

  • (1)结果特点:产生连续的负脉冲信号,负脉冲宽度等于一个时钟周期。脉冲周期可由软件设定,脉冲周期=计数值×时钟周期

  • (2)过程特点

    ①控制字写入:OUT=1

    ②计数值写入:OUT=1

    ③启动方式:两种。一是硬件启动:GATE上跳沿启动;二是软件启动:写入计数值启动(此时GATE=1)

    ④计数期间:OUT为高电平(OUT=1),但在CE由1到0的计数中,OUT输出一个负脉冲,宽度为一个时钟周期

    ⑤计数为0时:OUT为高电平(OUT=l),开始下一个周期的计数

    ⑥计数期间写入新的计数值:影响随后的脉冲周期

    ⑦GATE作用:GATE=0时,OUT=1,停止计数;GATE上跳沿时,启动计数器,重新开始;GATE=1时不影响计数器工作

    ⑧计数值有效期限:计数值重复有效。在这种方式下,当计数器的值减到O时,CR的计数初值自动重新装入CE,实现循环计数


8253 2 2

8253的工作方式——方式2(脉冲频率发生器 )(2)

  • 基本时序


8253 2 3

8253的工作方式——方式2(脉冲频率发生器 )(3)

  • GATE作用时序


8253 2 4

8253的工作方式——方式2(脉冲频率发生器 )(4)

  • 计数期间写入新的计数值时序


8253 2 5

8253的工作方式——方式2(脉冲频率发生器 )(5)

小结:

  • 多次计数;

  • GATE上升重新、高允许、下降停止、低禁止计数;

  • WR#写[重写]在下次计数时有效;

  • OUT在计数值为1时输出宽度为1个CLK的负脉冲(周期为N,频率为1/N)。


8253 3 1

8253的工作方式——方式3(方波发生器 )(1)

  • (1)结果特点:产生连续方波。方波的重复周期=计数值×CLK脉冲周期

  • (2)过程特点

    ①控制字写入:OUT为高电平(OUT=1)

    ②计数值写入:OUT为高电平(OUT=1)

    ③启动方式:两种。一种是硬件启动。利用GATE的上跳沿启动;另一种是软件启动:写入计数值启动(此时GATE=l)

    ④计数期间:若计数值N为偶数,则在前N/2计数期间,OUT输出高电平(OUT=l),后N/2计数期间,OUT输出低电平(OUT=0);若计数值N为奇数,则在前(N+l)/2计数期间,OUT输出高电平(OUT=l),后(N-1)/2计数期间,OUT输出低电平(OUT=0)

    ⑤计数为0时:OUT输出高电平(OUT=l),从而完成一个周期。然后,CR值自动装入CE,开始下一个周期

    ⑥计数期间写入新的计数值:不影响当前输出周期,等到计数值减到0后,或GATE有上跳沿后,将把CR的新内容重新装入CE中,开始以新的周期输出方波

    ⑦GATE作用:GATE=0时,计数停止,OUT=1;GATE=1时,不影响计数器工作,计数进行;GATE有上跳沿时,下一个CLK时钟使CR装入CE,开始新的计数

    ⑧计数值有效期限:计数值重复有效


8253 3 2

8253的工作方式——方式3(方波发生器 )(2)

  • 基本时序


8253 3 3

8253的工作方式——方式3(方波发生器 )(3)

  • GATE作用时序


8253 3 4

8253的工作方式——方式3(方波发生器 )(4)

  • 计数期间写入新的计数值时序


8253 3 5

8253的工作方式——方式3(方波发生器 )(5)

小结:

  • 多次计数;

  • GATE上升重新、高允许、下降停止、低禁止计数;

  • WR#写[重写]在下次计数时有效;

  • OUT在写入控制字后变高,计数开始后,采用每脉冲计数减2:

    当计数初值为偶数时,计数到0时反向。脉冲宽度T×n/2

    当计数初值为奇数时,OUT变高的第一CLK减1后装入 CE,其余每个脉冲计数减2。OUT正脉冲时,计数到0的下一个CLK时OUT反向OUT正脉冲宽度为T×(n+1)/2 ;OUT负脉冲时在计数到0时反向。负脉冲宽度为T×(n-1)/2


8253 4 1

8253的工作方式——方式4(软件触发选通)(1)

  • (1)结果特点:计数器减为0时,输出一个时钟周期的负脉冲

  • (2)过程特点

    ①控制字写入:OUT输出高电平(OUT=1)

    ②计数值写入:OUT输出高电平(OUT=1)

    ③启动方式:写入计数值。写入计数值后,再过一个C1K时钟周期,减1计数器CE获得计数初值,开始减1计数

    ④计数期间:OUT输出高电平(OUT=l)

    ⑤计数为0时:计数器减到0后,输出一个负脉冲,宽度为1个时钟周期。然后又自动变为高电平,并一直维持高电平。通常将此负脉冲作为选通信号

    ⑥计数期间写入新的计数值:立即有效。写入新计数值后,在下一个时钟周期时,新计数值被装入CE,开始以新的计数值计数。如果写入的计数值是2个字节,那么写入第一个字节时,计数不受影响,写入第二个字节时的下一个CLK时钟脉冲使CR的新值装入CE,并以新的计数值开始重新计数

    ⑦GATE作用:GATE=0时禁止计数;GATE=1时允许计数,此时计数器从暂停的地方开始连续计数。GATE信号不影响OUT的状态

    ⑧计数值有效期限:计数值一次有效。只有在输入新的计数值后,才能开始新的计数过程


8253 4 2

8253的工作方式——方式4(软件触发选通)(2)

  • 基本时序


8253 4 3

8253的工作方式——方式4(软件触发选通)(3)

  • 计数期间写入新的计数值时序


8253 4 4

8253的工作方式——方式4(软件触发选通)(4)

小结:

  • 一次计数;

  • GATE上升重新、高允许、下降停止、低禁止计数;

  • WR#写[重写]会立即重新计数(软件触发);

  • OUT在写入控制字及计数当中为高电平,计数值为0时输出1个CLK的负脉冲(总长N+1)。


8253 5 1

8253的工作方式——方式5(硬件触发选通)(1)

  • (1)结果特点:计数器减为0时,输出一个时钟周期宽的负脉冲

  • (2)过程恃点

    ①控制字写入:OUT输出高电平(OUT=1)

    ②计数值写入:OUT输出高电平(OUT=l)

    ③启动方式:GATE上跳沿。当GATE端有上跳沿信号后,下一个CLK脉冲使CR的计数初值装入CE,从而开始计数过程

    ④计数期间:OUT输出高电平(OUT=1)

    ⑤计数为0:计数器减1到0时,OUT输出端输出一个CLK周期的负脉冲波,然后OUT恢复输出高电平

    ⑥计数期间写入新的计数值:不影响本次计数,但影响GATE上跳沿启动后的计数过程。一旦GATE重新启动,将按新的计数初值开始计数

    ⑦GATE作用:无论GATE=0还是GATE=1均不影响计数过程,而当GATE有上跳沿时将重新启动计数过程,按最新计数值开始计数

    ⑧计数值有效期限:计数值多次有效。当计数器的计数值减到0后,将自动重新装入计数值(由CR装入CE),但并不开始计数,而是在GATE信号的上跳沿才开始计数


8253 5 2

8253的工作方式——方式5(硬件触发选通)(2)

  • 基本时序


8253 5 3

8253的工作方式——方式5(硬件触发选通)(3)

  • GATE作用时序


8253 5 4

8253的工作方式——方式5(硬件触发选通)(4)

  • 计数期间写入新的计数值时序


8253 5 5

8253的工作方式——方式5(硬件触发选通)(5)

小结:

  • 一次计数;

  • GATE上升重新、高与下降和低不影响计数;

  • WR#写[重写]在下次GATE从0到1的跳变时有效;

  • OUT在计数值为0时输出1个CLK的负脉冲(总长N+1)。


4 8088

8253工作方式时序说明

  • (1)CLK脉冲指CLK输入端从脉冲的上升沿算起到下降沿的过程

  • (2)在CLK上升沿采样门控信号GATE

  • (3)在CLK下降沿,计数器作减1操作

  • (4)在CLK下降沿,输出端OUT产生电平的变化

  • (5)GATE上跳沿是指GATE信号从低电平到高电平的跳变

  • (6)计数初值写入CR后,要再经过一个CLK时钟,CR的内容才写入CE,从而CE开始计数


4 8088

8253各种工作方式总结


4 8088

8253的控制字

  • 例:

  • MOV AL,01110100B ;T/C1,先低后高字节

  • OUT 43H,AL ;方式2,二进制方式

  • 计数初值

  • (1)不同通道的计数初值写到不同地址中;A1A0=00~10

  • (2)每次写入一个字节;

  • (3)根据控制字定义,决定高、低字节写入方法。

  • (4)初始值的范围是:

  • 二进制为65536(0000H)~1(0001H)

  • 十进制为10000(0000H)~1(0001H)


4 8088

8253的初始化

方法二

  • (1)写入操作

    ①对每一个通道而言,控制字必须在计数值之前写入

    ②16位计数初值的写入必须遵守控制字中读/写格式规定的顺序

  • (2)读出操作

    ①简单读出方式

    ②锁存读出方式

方法一


8253 8088

8253与8088系统连接


8253 1

8253应用(1)

  • 例设某8254通道1工作于方式0,按BCD方式计数,计数初值为400。通道0~控制寄存器的端口地址依次为80H~83H,试写出8254的初始化程序

  • 解:

    1.控制字:控制字为01110001B,写入控制寄存器,端口地址为83H。

    2.计数值:计数初值为400,由于采用BCD计数,故应按BCD码方式组成,即0400H,送入通道1的数据端口,地址是81H。16位数送两次,先送低8位00H,后送高8位04H。

    3.初始化程序:

    MOV AL,71H ;控制制字

    OUT 83H,AL

    MOV AL,00H ;低8位计数值

    OUT 81H,AL

    MOV AL,04H ;高8位计数值

    OOT 81H,AL


8253 2

8253应用(2)

  • 例某8088系统采用8254精确控制一个发光二极管闪亮,系统要求启动8254后使发光二极管点亮2秒,熄灭2秒,亮灭50次后停止闪动,系统工作结束。现有一个时钟脉冲源,频率为2MHz,试说明各有关通道的工作方式

  • 解:

    1.计数器0:方式2,CLK0接2MHz信号源,输出OUT0产生250Hz(周期为4ms)的脉冲序列

    2.计数器1:方式3,CLK1接OUT0的250Hz脉冲信号,输出OUT1产生周期为4秒的方波,经过一个反相驱动器去控制一个发光二极管

    3.计数器2:方式0,输入CLK2接OUT1的周期为4秒的方波,输出OUT2向CPU产生中断


8253 3

D0~D7

CLK0

5MHz

GATE0

OUT0

CLK1

GATE1

1Hz

OUT1

A1

CLK2

A0

GATE2

RD

OUT2

CS

WR

8253应用(3)

  • 例: 分频器设计。用8253(地址40H~43H)将5MHz的脉冲变为1Hz的脉冲。初值=fCLK/fOUT=5×106>65535,需要2个T/C级联,采用3方式产生连续脉冲,T/C的GATE统一控制。

MOV AL,00110111B;T/C0 OUT 43H,AL

OUT 40H,00H

OUT 40H,50H

MOV AL,01110111B;T/C1 OUT 43H,AL

OUT 41H,00H

OUT 41H,10H


8253 4

fIN=(N-M+1)/t=((65536-AX+1 )/10)*1000Hz

注意:10ms时M应大于0。

T/C在0方式时经过一个CLK后才将初值写到CE中。

;应在T/C0初值写完后,送其到CE

OUT PIO1,1 ;STC 0→1

OUT PIO1,0 ;STC 1→0

TRG

EOC

D0~D7

CLK0

TRG

GATE0

STC

信号

OUT0

CLK1

CLK0

≥1

GATE1

&

信号

fCLK

OUT1

A1

GATE1

CLK2

A0

GATE2

RD

OUT2

CS

WR

8253应用(4)

  • 例:频率计数器设计。用8254计数外来信号频率fIN(fCLK=1MHz)。用T/C1为基准时钟间隔,采用方式1;T/C0采用方式0对外来信号计数;OUT1控制GATE0来停止计数。

OUT PIO1,0 ;TRG=0,STC=0

MOV AL,01110010B ;T/C1

OUT 43H,AL

OUT 41H,10H

OUT 41H,27H ;间隔为10ms

MOV AL,00110000B ;T/C0

OUT 43H,AL

OUT 40H,00H

OUT 40H,00H ;初值为65536

;STC产生一个脉冲

OUT PIO1,2 ;TRG=1,开始计数

S1: IN AL,PIO2;读EOC

JP Z,S1 ;等到EOC=1

IN AL,40H

MOV AH,AL

IN AL,40H

XCHG AH,AL ;AX为当前计数值

思考:为得到精确的fIN,需增大时间间隔,在时间间隔内M=0怎么办?


8253 5

CLK0

D0~D7

GATE0

OUT0

WR

流水线信号

CLK1

CS

GATE1

A1

OUT1

A0

fCLK

CLK2

GATE2

RD

OUT2

8253应用(5)

  • 例:包装流水线控制。某产品的包装流水线中,一个包装箱能装24罐饮料。装箱时希望流水线上每通过24罐饮料,流水线要停4秒以等待装箱完毕,然后继续通过下面的罐。试利用一片8254来完成流水线控制中的定时和计数功能。假设8254的端口地址为8CH~8FH,采用的时钟频率是2KHz。

  • 思路:用8254的计数通道1作为计数器,用于24个罐的计数;计数通道2作为定时器,定时为4S。当计数通道1的OUT脚出现0到1的跳变的时候,将启动计数通道2开始定时,而计数通道2定时阶段将控制计数通道1停止计数,只有其定时结束并停止计数阶段才可再次启动技术通道1开始计数。

  • 计数通道1:方式2,计数初值24

  • 计数通道2:方式1,计数初值8000

;初始化程序

;计数通道1初始化

MOVAL,01010100B

OUT8FH,AL

MOVAL,24

OUT8DH,AL

;初始化计数通道2

MOVAL,10110010B

OUT8F,AL

MOVAX,8000

OUT8EH,AL

MOVAL,AH

OUT8EH,AL


8253 11

8253在微机中应用(1)

8253


8253 21

8253在微机中应用(2)

1. 计数器0—系统定时器

  • 工作方式:3方式,计数初值:65536。

    (1)系统定时器

  • 连接到8259A的IRQ0(中断类型号为8)上。

  • fOUT0=1.1931816MHz/65536=18.2Hz,即:每秒产生18.2次中断用于日时钟计时。

  • 应用:系统BIOS提供INT 1CH用户定时中断接口;INT 8H调用INT 1CH。

    (2) 软盘驱动器马达控制

    2.计数器1—动态存储器定时刷新控制

  • 工作方式:2方式,计数初值:18。

  • 连接到8237的DREQ0上,定时产生负脉冲。

  • 脉冲宽度=1/ 1.1931816MHz=838ns, 脉冲周期18/1.1931816MHz=15.08μs,即:每隔15.08μs产生一个脉冲用于刷新。

    3.计数器2—扬声器音频发生器

  • 工作方式:3方式,计数初值:由调用程序控制。

  • 与8255的PB口D1信号“与”后连接到扬声器上,控制扬声器发生频率及时长。

  • 软件控制发声:T/C的OUT2=1,CPU控制8255的PB口的D1位的电平实现;

  • 硬件控制发声:8255的PB口的D1位为高电平,控制8253的T/C2的OUT2实现。

  • 通过改变OUT2的方波信号频率,就可以改变扬声器发声的音调。


4 8088

第4章 结束

请同学们按教材后的习题

及时复习

吉林大学远程教育学院


  • Login