第七章微型计算机的接口技术

Download Report

Transcript 第七章微型计算机的接口技术

第7章 微型计算机接口技术
7.1
7.2
7.3
7.4
7.5
7.6
微型计算机接口技术概述
输入与输出
并行数据接口
串行数据接口
DMA接口
可编程定时计数器
本章学习目的
本章主要介绍了微型计算机接口技术的主要技术,
通过接口技术的学习重点掌握接口的概念和功能,掌
握常用的各种接口芯片的接口芯片的工作原理。
本章要点:
接口技术的相关概念以及输入输出的基本方式
并行输入输出接口芯片8255A
可编程串行接口8251A
中断的概念以及可编程DMA控制器8237
可编程定时计数器8253
7.1 微型计算机接口技术概述
7.1.1接口的定义
所谓接口(Interface)是指微处理器CPU与外部
设备、存储器或者两种外部设备之间通过系统总
线进行连接的逻辑电路,它是CPU与外界进行信息
交换的中转站。
7.1.2 接口的功能
CPU与外设之间的接口主要实现如下功能。
(1)数据的寄存和缓冲功能
(2)对外设的控制和监测功能
(3)设备选择功能
(4)信号转换功能
(5)中断管理或DMA管理功能
(6)可编程功能
7.1.3 CPU与外设之间传送的信息
一个简单的、 基本的
外没接口框图如图7-1
所示。外设接口通过
三总线(即DB、AB、
CB) 同 CPU 连 接 , 通
过三种信息:数据信
息、控制信息和状态
信息同外设联系,
CPU通过外设接口同
外设交换的信息即为
这三种。
I/O接口
数据
DB
CPU
外设
数据口
状态信息
AB
状态口
CB
控制信息
控制口
图7-1外设接口简单框图
7.1.3 CPU与外设之间传送的信息
(1)数据信息(Data)
微机中的数据信息大致包括三
种基本类型。
①数字量
②模拟量
③开关量
(2)状态信息(Status)
(3)控制信息(Control)
7.1.4 端口地址的编址方式
CPU对外设的访问实质上是对外设接口电路中相
应端口进行访问。I/O端口地址的编址方式有两种:
独立编址
存储器映射编址
独立编址
独立编址
特点:
存储器和I/O端口在两个独立的地址空间中,I/O端口不占用
存储器空间,I/O端口的读、写操作由硬件信号 和 来实现,
访问外设端口用专用的IN指令和OUT指令。
优点:
I/O端口的地址码较短(一般比同系统中存储单元的地址码
短)。地址译码器较简单;端口操作指令执行时间短,指令
长度短;端口操作指令形式上与存储器操作指令不同,使
程序编写和阅读较清晰。
缺点:
需要有专用的I/O指令,而这些指令的功能一般没有存储器
访问指令丰富,所以程序设计的灵活性较差。
存储器映射编址(统一编址)
存储器映射编址(统一编址)
特点:
存储器和I/O端口共用统一的地址空间;一个地址空间分配给
I/O端口以后,存储器就不能再占有这一部分的地址空间。
优点:
任何对存储器数据进行操作的指令都可用于I/O端口的数据操
作,不需要专用的I/O指令,从而使系统编程比较灵活,I/O端
口的地址空间是内存空间的一部分,这样I/O端口的地址空间
可大可小,从而使外设的数目几乎可以不受限制,这对大型
控制系统和数据通信系统是很有意义的。
缺点:
I/O端口占用了内存空间的一部分,当然内存空间必然减少,
影响了系统的内存容量;同时访问I/O端口同访问内存一样,
由于访问内存时的地址长,指令的机器码也长,执行时间显
返回本章首页
然增加。并使端口地址译码电路变得复杂。
7.2 输入与输出
7.2.1 概述
在计算机的操作中最基本和最频繁的操作是数据
传送,在微机系统中,数据主要在CPU 、内存和
I/O接口之间传送,在传送过程中,关键问题是数
据传送的控制方式。
按照I/O控制组织的演变顺序以及外设与主机并行
工作的程度,计算机系统中数据传送的控制方式
可分为程序控制传送方式、DMA方式。
7.2.1 概述
程序控制的数据传送
分为无条件传送、查询传送和中断传送
直接存储器访问DMA
是在存储器与I/O设备之间直接传输数据,传送过
程中并不需要CPU干预,而是由一个DMA控制器(DMAC)加以
控制的。
7.2.2 CPU与外设数据传送的方式
(1) 无条件传送方式
例7.1
例7.1 用74LS244(74LS244为2组
4线三态驱动器)作输入接口,
74LS374(74LS374为8D锁存器)
作输出接口,
设计一个接口电路,将8个乒乓开
关的状态用发光二极管表示出来。
74LS244、74LS374的地址均为
60H。试画出电路图,编写程序段。
IN AL,60H
OUT 60H ,AL
其接口电路示意如图7.5所示。
7.2.2 CPU与外设数据传送的方式
(2)查询传送方式
由于CPU和I/O设备的工作往往是异步的,达就很难保证当
CPU输入时,外设已经准备好数据;输出时,外设的数据
锁存器是空的。因此,在CPU传送数据前,应去查—下外
设的状态,若设备准备好,就进行数据传送,否则,CPU
就等待。
(2)查询传送方式
① 查询式输入
&
数据
锁存器
三态
缓冲器
(8)
去数据总线DB
数据端口
地址译码
输入
装置
状态
信息
+5V
R
D Q
状态端口
地址译码
缓冲器
(1)
READY
选通信号
&
图7-6查询式输入接口电路
(2)查询传送方式
① 查询式输入的时序流程图
图7.7 查询输入的时序流程图
(2)查询传送方式
②查询式输出
地址总线
输出数据
端口译码
地址译码
数据
&
锁存器
输出
装置
数据总线DB
状态端口
地址译码
+5V
&
R
D Q
“BUSY”
ACK
缓冲器
(1)
系统DB状态信息“BUSY”
图7-8查询式输出接口电路
(2)查询传送方式
(3)中断传送方式
查询方式占用CPU时间多,还难以满足实时控制的
需要。因为在查询方式下CPU处于主动地位,外设
处于消极被查询的被动地位。而在实时系统中,
外设要求CPU的服务是随机的,要求外设有主动申
请CPU服务的权利。此时,—般采用中断传送方式。
(2)查询传送方式
(4)DMA工作方式
中断方式尽管可以较为实时地响应外部中断源的请
求,但由于它需要额外开销时间(用于中断响应、断
点保护与恢复等)以及中断处理的服务时间,使得中
断响应频率受到了限制。当高速外设与计算机系统
进行信息交换时,若采用中断方式,将会出现CPU频
繁响应中断而不能有效地完成主要工作或者根本来
不及响应中断而造成数据丢失现象。采用直接存储
器存取DMA(Direct Memory Access)技术可以确保外
设与计算机系统进行高速信息交换。
返回本章首页
7.3 并行数据接口
7.3.1并行接口概述
根据微机与外设之间的数据传送方式不同,可分为并行接
口和串行接口两种。并行接口的持点是用多根传输线,把
数据的各位同时进行传输,通常每次传输8位或16位数据。
实现并行通信的接口称为并行通信接口,简称并行接口。
并行接口的特点有:
(1)需要多根数据线,传输速度快。
(2)一般适合近距离传输的场合。
(3)并行传送的信息一般不要求固定的格式。而串行传送的
信息一般要求有严格的数据格式。
1.8255A芯片内部结构及其功能
如图7-9所示,8255A有
40条引脚。8255A内部结
构如图7-10所示,内部
主要有数据输入输出端
口即端口A、端口B和端
口C,A组控制器和B组控
制器,数据缓冲器及读
写控制逻辑。
8255A芯片内部结构及其功能
并行接口的特点有:
(1)需要多根数据线,传输速度快。
(2)一般适合近距离传输的场合。
(3)并行传送的信息一般不要求固定的格式。
而串行传送的信息一般要求有严格的数据格式。
并行接口电路可分为不可编程有和可编程接口。不可编程
接口一般有数据锁存器和三态数据缓冲器组成,电路简单,
使用方便;但由于其工作方式及功能由硬件电路设定,故
不能改变。可编程接口由于其接口的工作方式及功能可用
软件编程的方法改变,无疑使用更灵活、功能更强,在微
机系统中应用广泛。
7.3.2可编程并行输入/输出接口8255A
8255A是与Intel 8086系列微处理机相配套并行接口芯片,
它可为CPU与外设之间提供并行输入/输出通道。该芯片是
可编程的,可以通过软件来设置芯片的工作方式,通常
8255A连接外设时,不再附加外部电路,使用时很方便。
1.8255A芯片内部结构及其功能
如图7-9所示,8255A有40条引脚。8255A内部结构如图710所示,内部主要有数据输入输出端口即端口A、端口B和
端口C,A组控制器和B组控制器,数据缓冲器及读写控制
逻辑。
①并行输入/输出端口A、B、C
②A组控制部件和B组控制部件
③数据总线缓冲器
④读/写控制部件
2.8255A控制字
8255A中各端口有三种基本工作方式:
方式0基本输入/输出方式
方式1选通输入/输出方式
方式2双向传送方式
端口A有上述三种工作方式,端口B有两种方式(方式0和
方式1),端口C常被分成高4位和低4位两部分,分别用来
传送数据或控制信息。用户可用软件来分别定义一个端
口的工作方式。
2.8255A控制字
控制字有两个,一个是工作方式控制字,用于8255A的
初始化;另一个是C口位控制字,用于C口的位操作。这
两个控制字使用同一口地址,由最高位D7区分,若D7为
1,此控制字为8255A的工作方式控制字;若D7为0,此
控制字为8255A的C口的位控制字。
①控制字
定义工作方式控制字格式如图7-11所示。通过定义工作方
式控制字可将三个端口分别定义为三种不同状态的组合。
①控制字
例7.2 若要使8255A的A口工作在方式1输入,C口上半部
分输入,B口工作在方式0输出, C口下半部分输出.
mov
al, 10111000B
out
63H,al
②置位/复位控制字
置位/复位控制字,只对端口C有效。其使用格式如
图7-12所示。
例7.3 若将C口的D3位置位,则应送往控制寄存器的命
令字为:00000111B(07H)。
mov
al, 07H
out
63H,
al
3.8255A工作方式
①工作方式0
是8255A各端口的基本输入/输出方式。它只完成简单的
并行输入/输出操作,CPU可从指定端口输入信息,也可
向指定端口输出信息,如果三个端口均处于工作方式0,
可由工作方式控制字定义16种工作方式的组合。这种情
况下,端口C被分成两个4位端口,它们可分别被定义为
输入或输出端口。CPU与三个端口之间交换数据可直接
由CPU执行IN和OUT指令来完成,不提供任何“握手”信
息,适合各种同步并行传送系统中。
例7.4
例7.4 一组8位开关、一
组8位 LED指示灯、一个
按钮开关、一个蜂鸣片、
请用8255A做接口芯片,
将外设连接到PC/XT机中
构成一个简单的微机系统,
画出接口连接图,并编制
驱动程序使得按钮按下蜂
鸣片响。
例7.5
例7.5 利用8255工作在
方式0实现打印机接口,
将字符A送打印机,试画
出8255与打印机的连接
图,编写初始化程序和
打印程序。(注:8255的
地址:380H-383H)
②工作方式1
该方式被称作选通输入/输出方式。该工作方式时,数
据输入/输出操作要在选通信号控制下完成。该工作方
式进行输入操作时,需要使用如下控制信号:
选通信号 STB
输入缓冲器满信号IBF
中断请求信号INTR
②工作方式1
当任一组中的有效时,则把IBF置“1”,表示当前输入缓
冲器已满,并由后沿置“1”各组的INTE,于是输出INTR有
效、向CPU发出中断请求信号。待CPU响应该中断请求,可
在中断服务程序中安排IN指令读取数据后把IBF置“0”,
外设才可继续输入后续数据。显然,8255A的端口 A和端
口B均可工作于工作方式1完成输入操作功能,该定义的端
口状态如图7-15所示。
②工作方式1
采用工作方式1也可完成输出操作,该方式的控制信号
如下:
输出缓冲器满信号 OBF
外部应答信号
ACK
中断请求信号INTR
②工作方式1
如果将8255A中的端口A和端口B均定义为工作方式1完成输
出操作功能,端口C的PC6、7,和PC3~PC0被用作控制信号,
只有PC4、PC5两位来完成数据输人或输出操作。因此可构
成两种组合状态:端门A、B输出,PC4,PC5输入;端口A、
B输出,PC4,PC5输出。该定义的端口状态如图7.16所示。
例7.6
例7.6 如图7.17为一利用8255实现的打印机接口。
1)写出A口、B口、C口、控制口的地址
2)写出8255的初始化程序片段(设8255的A口工作于方式
0输入,B口工作于方式1输出)
3)写出查询方式下输出一个字符到打印机的程序片段。
(假设要打印的字符已存在AL中)
③工作方式2
工作方式2被称作带选通的双向传送方式。8255A中仅端
口A可工作在该方式,用来在两台处理机之间实现双向
并行通信。其有关的控制信号由端口C提供,并可向CPU
发出中断请求信号。
当端口A工作于该模式时,
允许端口B工作在方式0
或方式1完成输入/输出
功能,端口A工作于方式
2的端口状态如图7.18所
示。由图知,端口A工作
于方式2需要5个控制信
号由端口C的PC7~PC3来
提供。
③工作方式2
如果端口B工作在方式0,PC2~PC0可用作数据输入/输出;
如果端口B工作在方式1,PC2~PC0用作端口 B的控制信
号。
端口A工作在方式2所需控制信号如下:
输出缓冲器满信号 OBFA
应答信号
ACK A
数据选通信号 ST BA
输入缓冲器满信号IBFA
中断请求信号INTR
返回本章首页
7.4 串行数据接口
7.4.1概述
(1)串行通信的概念及其方式
串行通信是指数据一位一位地依次传输,每一位数据占据
一个固定的时间长度。这种情况只要少数几条线就可以在
系统间交换信息,特别适用于计算机与计算机、计算机与
外设之间的远距离通信,但串行通信的速度比较慢。
串行通信线路的工作方式:
①单工通信
它只允许一个方向传输数据,甲只作为数据
发送器,乙只作为数据接收器,不能进行反向传输。
②半双工通信
它允许两个方向传输数据,但不能同时传
输,两个方向交替进行,甲发送乙接收或乙发送甲接收。
在这种情况下,为了控制传输方向,需要对两端设备进行
控制,以确定数据流向,可以增加接口附加控制线来实现,
也可用软件来实现。
③全双工通信。它允许两个方向同时进行数据传输,甲接
收乙发送的同时甲发送乙接收,两个传输方向的资源必须
完全独立,甲乙都有独立的接收器和发送器,两个方向都
有独立的数据通路,至少在逻辑上独立。
(2)串行通信数据的收发方式
①异步串行通信方式 异步串行通信以字符为单位传送,
采用的数据格式是:第一位称为起始位,宽度为1位低电平;
接着传送5~8位的数据(一个字符,从低位开始传),校验
位可有可无,最后是停止位,宽度可以是1位、1.5位或2位,
在两个数据组之间可有空闲位。异步通信的数据格式如图
7.19所示。
串行通信数据的收发方式
②同步串行通信方式
串行同步通信以数据帧为信息单位
传送,每帧可以包含成千上百个字符。
根据控制规程可分为:
面向字符
面向比特的两种。
7.4.2可编程串行接口8251A
8251A 是 一 个 通 用 串 行 输 入 / 输 出 接 口 , 可 用 来 将
8086/8088CPU以同步或异步方式与外部设备进行串行通
信。它能把并行输入的8位数据转换成逐位输出的串行
信号;也能将串行输入数据转换成并行数据,—次传送
给处理机,广泛应用于长距离通信系统及计算机网络。
(1)8251A芯片结构及其功能
如图7.21所示825lA由发送器、接收器、数据总线缓冲器、
读/写控制电路及调制/解调控制电路等5部分组成。
8251A芯片结构及其功能
①发送器
8251A的发送器包括发送缓冲器、发送移
位寄存器(并/串转换)及发送控制电路三部分,CPU要求
发送的数据经数据发送缓冲器并行输入,并锁存到发送
缓冲器中。如果是采用同步方式,则在发送数据之前,
发送器将自动送出一个(单同步)或两个(双同步)同步字
符(SYNC)。然后,逐位串行输出数据。如果采用异步方
式,则由发送控制电路在其首尾加上起始位及停止位,
然后从起始位开始,经移位寄存器从数据输出线TXD逐
位串行输出,其发送速率由收到的发送时钟频率决定。
8251A芯片结构及其功能
②接收器
8251A的接收器包括接收缓冲器、接收移
位寄存器及接收控制电路三部分。外部通信数据从RxD
端,逐位进入接收移位寄存器中。同步方式时,要检测
同步字符,确认已经达到同步,接收器才可开始串行接
收数据,待一组数据接收完毕,便把移位寄存器中的数
据并行置入接收缓冲器中;异步方式时,识别并删除起
始位和停止位。当RxRDY线输出高电平表示接收器已准
备好数据,等待向CPU传输,8251A接收数据的速率由端
输入的时钟频率决定。
(2)8251A芯片控制字及其工作方式
825lA在使用前必须初始化,以确定它的工作方式、传送
速率、字符格式及停止位长度等,其常用控制字如下:
①方式选择控制字
②操作命令控制字
字格式如图7.23所示,TxEN位是允许发送位,TxEN=1,
发送器才能通过TxD向外部串行发送数据。
③状态控制字
CPU可在8251A工作过程中利用IN指令读取当前8251A的状
态控制字,其控制字格式如图7.24所示。
例7.7
编写一段程序,通过8251采用查询方式接收数据的程序。
要求8251A定义为异步传输方式,波特率系数为64,采用
偶校验,1位停止位,7位数据位。设8251的数据端口地址
为04A0H,控制/状态寄存器端口地址为04A2H。
程序如下:
MOV DX,04A2H
MOV AL,7BH ;写工作方式字
OUT DX,AL
MOV AL,14H
OUT DX,AL
;写操作命令字
LP: IN
AL,DX
;读状态控制字
AND AL,02H ;检查RxRDY是否为1
JZ
LP
MOV DX,04A0H
IN
AL,DX
例7.8
若采用查询方式发送数据,且假定要发送的字节数据放在
TABLE开始的数据区中,且要发送的字节数据放在BX中,
则发送数据的程序段如下所示。(地址同例7.7)
START:MOV DX,3FDH
LEA SI,TABLE
WAIT: IN
AL,DX
TEST AL,20H
;检查THR是否空
JZ
WAIT
;若为空,则继续等待
PUSH DX
MOV DX,3F8H
LODSB
OUT DX,AL
;否则发送一个字节
POP DX
DEC BX
JNZ WAIT
例7.9
下面是一个接收数据程序,假设接收后的数据送入DATA开
始的数据存储区中。(地址同例7.7)
RECV: MOV SI,OFFSET DATA
MOV DX,3FDH
WAIT: IN
AL,DX
;读入线路状态寄存器
TEST AL,1EH
;检查是否有任何错误产生
JNZ ERROR
;有,转出错处理
TEST AL,01H
;否则检查数据是否准备好
JZ
WAIT
;未准备好,继续等待检测
MOV DX,3F8H
IN
AL,DX
;否则接收一个字节
AND AL,7FH
;保留低7位
MOV [SI],AL
;送数据缓冲区
INC SI
返回本章首页
MOV DX,3FDH
JMP WAIT
7.5 DMA接口
7.5.1概述
DMA方式下的数据传送时,数据不在CPU控制之下,它实现
存储器和高速外设间直接交换数据。并且,采用DMA方式传
送数据,数据源和目的地址的修改,传送结束信号以及控
制信号的发送等都由DMAC(DMA控制器)完成,节省了CPU很
多时间。
采用DMA方式传送数据,DMAC作为存储器和I/O设备之间实
现高速传送控制的专用处理器,DMAC要使用地址总线发送
地址信息,利用数据总线传送数据,利用控制总线发出读
或写命令。在DMA方式传送数据时。外设处于主动地位。传
输的过程是从外设准备好数据并向DMAC发出传送请求信号
开始的。DMA传输的基本过程如下:
DMA接口
(1)外设准备好数据后,向DMAC发出DMA传送请求信号(DREQ)。
(2)DMAC经过内部的判优和屏蔽处理后,向总线仲裁机构发出总线
请求信号(HRQ),请求使用总线。经总线仲裁机构裁决后,CPU让
出总线控制权(地址、数据、读写控制信号呈高阻状态),并向
DMAC发出总线响应信号(HLDA)并通知DMAC。
(3)DMAC接到HLDA信号后,接管总线控制权,成为总线的主控者。
(4)DMAC向外设发出DMA应答信号(DACK)并将访问存储单元地址送
地址总线,向存储器和进行DMA传达的外设发出读写命令,开始
DMA传送。
(5)DMA传送结束,DMAC向外设发出EOP信号,撤消对CPU的总线请
求,交回系统总线的管理利控制权。
在DMA输入传送期间,HRQ信号一直有效,HLDA信号一直保持到DMA
传送结束。
7.5.2 可编程DMA控制器8237
DMA控制器8237是Inte18086系列微处理器的配套芯片,用
来接管CPU对总线的控制权。在存储器与高速外设之间建立
直接进行数据块传送的高速通路。
8237必须与一个8位锁存器配套使用,才能够形成完整的四
通道DMA控制。I)MAC各通道可分别完成三种不同的操作:
①DMA读操作:读存储器送外设。
②DMA写操作:读外设写存储器。
③DMA校验操作:通道不进行数据传送操作,只是完成校验
功能。
7.5.2 可编程DMA控制器8237
图7 .25 8237芯片引脚图
8237可编程DMA控制器有40
根引脚,采用双列直插式
封装,其引脚信号功能见
图7.25所示,8237内部结
构如图7.26所示,内部有
数据总线缓冲器、速写逻
辑部件、控制逻辑部件工
作方式寄存器、状态寄存
器、优先选择逻辑及四个
DMA通道组成。
图7 .25 8237芯片引脚图
8237内部结构
(1)DMA通道0~3
8237芯片的主体是四个结构完
全相同的DMA通道。每个通道内
包含两个16位寄存器,它们是
地址寄存器和终点计数寄存器,
前者用来存放进行DMA操作的存
储器区域的首地址的偏移地址
值 ; 后 者 低 14 位 (D13~D0) 用 来
存放要求传送的字节数n-l,n
为 本 次 DMA 操 作 所 需 要 执 行 的
DMA周期数,一个数据块的最大
容量为214=l 6K字节。终点计
数器的高2位(D15Dl4)用束定义
所选通道的操作方式,如表7-4
所示。
(2)数据总线缓冲器
是一个双向三态8位缓冲器,是系统数据总线的接口,当
8237处于从控状态时,CPU通过这个缓冲器对8237进行读
/写操作。8237处于主控状态时,在DMA周期内,8237将
所选通的地址奇存器的高8位地址码(Al5~A8)经过该缓冲
器锁存到8282锁存器,然后该缓冲器将处于悬浮状态。
(3)读/写逻辑部件
8237处于从属状态时,用来接收CPU输入的读/写控制信
号和端口地址等信息;8237处于主控状态时,通过它发
出读/写控制信号和地址信息。
①读信号
I / OR
②输入/输出写控制信号
③输入/输出地址线A3~A0
④选片信号
CS
⑤时钟输入CLK
⑥复位信号RESET
I / OW
(4)控制逻辑部件
控制逻辑部件主要用来向CPU发出总线请求,得到CPU响
应后进入主控状态,由它发出各种控制信号。
①保持请求信号HRQ(Ho1d Request)
②保持响应信号HLDA(Hold Acknowledge)
③准备就绪信号READY
④读/写存储器控制信号和三态输出,低电平有效。
⑤地址输出线A7~A4
⑥终点计数信号TC输出信号,高电平有效。
⑦模128标记MARK(Model 128 MARK)
⑧地址选通信号ADSTB
⑨地址允许信号NEN
(5)工作方式寄存器和状态寄存器
工作方式寄存器是一个8位只可写寄存器,由CPU对8237
初始化时写入,用来定义8237中各通道的工作方式。状
态寄存器是一个8位只可读寄存器,用来描述当前各通道
所处的状态。
①工作方式寄存器
工作方式寄存器各位的定义如图
7.27所示。
②状态寄存器
状态寄存器各位定义如图7.28所示。
TC3~TC0是各通道的终点计数位,用来标识相应通道当前是
否达到终点计数状态。当某个通道进人数据块的最后一个
DMA周期,即终点计数器的计数值为0时,相应的TCi状态位
被置“1”,并且一直保持到该通道被复位或CPU读完状态寄
存器为止。显然TC3~TC0中任何一位置“1”时,终点计数端
TC将输出有效,待这最后一个DMA周期结束。是否要将相应
通道复位,则取决于工作方式寄存器中终点计数停止位(TCS)
返回本章首页
是否置“1”。
7.6 可编程定时计数器
7.6.1概述
微机系统需要为处理机和外围设备提供时间基准,或对外
部事件计数,如分时系统中程序的切换、向外设定时输出
控制信号、外部事件计数到达规定值发出控制信号等。要
获得稳定、准确的定时,必须有准确的时间基准。定时的
本质是计数,将若干片小的时间单元累加起来,就获得一
段时间。
实现定时和计数有两种方法:硬件定时和软件定时。
软件定时是利用CPU每执行一条指令都需要几个固定的指令
周期的原理,运用软件编程的方式进行定时。这种方法不
需要增加硬件设备,但是,占用CPU的时间,降低CPU的效
率。
可编程定时计数器
硬件定时是利用专门的定时电路实现精确定时。这种定时
方式又可分为简单硬件定时和利用可编程接口芯片实现定
时。简单硬件定时是利用多谐振荡器件或单稳器件实现,
这种方式简单,但缺乏灵活性,改变定时就要改变硬件电
路。利用可编程定时器/计数器可由用户编程设定定时或计
数的工作方式和时间长度,使用灵活,定时时间长,并且
不占用CPU时间。
可编程定时器在微机系统中应用十分广泛,8253是
Intel8086系列CPU配置的定时计数芯片。
7.6.2可编程定时计数器8253
(1)内部结构和引脚功能
可编程定时器8253的外部
引线如图7.29所示,其
内部的的内部结构框图
如图7.30所示。
8253与总线相连接的主要
引脚有如下几个:
双向数据线D0~D7
片选信号 CS
读控制信号 RD
写控制信号 WR
D0
D1
D2
D3
数据线 D4
D5
D6
D7
RD
WR
A0
控制线
A1
CS
Vcc
地
电源线
8
7
6
5
4
3
2
1
22
23
19
2
21
24
12
图7.29 8253的引脚配置
9
11
10
CLK0
计数器
GATE0
0号
OUT0
GATE0
OUT0
15
14
13
CLK1
计数器
GATE1
1号
OUT1
GATE1
OUT1
18
16
17
CLK2
计数器
GATE2
2号
OUT2
GATE2
OUT2
(2)工作方式
可编程定时器8253内部有三个相同的16位计数器。它们分
别有6种工作方式。
①方式0:方式0工作波形图示意如图7.31所示。
图7.31方式0工作波形图
②方式l 单稳态可编程
方式1工作波形图如图7.32所示
图7.32方式1工作波形图
③方式2频率发生器
方式2工作波形图示意如图7.33所示
图7.33方式2工作波形图
④方式3方波发生器
方式3工作波形如图7.34 所示。
图7.34方式3工作波形图
⑤方式4软件触发选通
方式4工作波形如图7.35所示。
图7.35方式4工作波形图
⑥方式5硬件触发选通
方式5工作波形如图7.36所示
图7.36方式5工作波形图
8253的六种工作方式
从8253的六种工作方式中,门控信号GATE十分重要,而且
不同的工作方式其作用不一样。现将各种方式下GATE的
作用总结表7-5示。
8253的控制字格式
8253的控制字格式如图7.37所示。
8253的控制字格式
8253占用4个接口地址,由 CS、A0、A1来确定。同时,再配
合
控制信号,可以实现对8253的各种读写操作。上
WR
述信号的组合功能由表7-6来说明。
例7.13
例7.13 利用8253的计数器 0周期性地每隔20ms产生一次中
断信号,计数时钟CLK0为2MHz,编写实现上述功能的初
始化程序。8253的口地址为300H~303H。
N=2MHZ*20ms=4000
MOV DX,
303H
MOV AL,
00110100B
OUT DX,
AL
MOV AX,
4000
MOV DX,
300H
OUT DX,
AL
MOV AL,
AH
OUT DX,
AL
返回本章首页
结 束放映
返回本章首页