工作方式控制字

Download Report

Transcript 工作方式控制字

第五章 并行接口
5.1
5.2
5.3
5.4
简单并行接口8212
可编程并行接口8255A
计数器/定时器8253
IBM PC系统的8255和8253
课题7
教学内容
一、简单并行接口8212
二、内部结构和引脚功能
三、4个端口和端口地址
四、2个控制字和1个状态字
五、工作方式0及应用
六、工作方式1及应用
七、工作方式2及应用
并行通信:把一个字符的各数位用几条线同时
进行传输。
5.1、 简单并行接口8212
一、主要技术性能
(1)芯片采用肖特基工艺,为24个引线端
双列直插式封装。
(2)有8位并行简单输入/输出端口。
(3)有三态输出、控制选择逻辑电路。
(4)有中断请求能力。
(5)采用单相+5V电源。
二、8212芯片结构
1.8212的内部逻辑
(1)、数据锁存器(8个D触发器)
(2)、输出缓冲器( 8个三态门)
(3)、控制逻辑电路。
2.8212引脚说明
三、8212芯片的应用
1.8212作为输入或输出端口
2.带有中断请求的数据输入/输出接口
3.双向总线驱动
5.2 可编程并行接口芯片8255A
各种I/O接口芯片在使用过程中,都存在一个与CPU之
间的连接问题,端通常接地址译码器的输出,以图5-1为例
说明。它就有两个端口;如果没有地址线,那么该芯片就只
有1个端口。有了端口地址,CPU才能对该I/O接口芯片实施
读/写操作。
6 ¡Ã64
¡-
Y0
ÒëÂëÆ÷Y 25
¡-
A 7¡«A2
Y 63
A1
A0
CS
I/O
½Ó¿ÚоƬ
A1
A0
图5-1 片选与端口地址
任何一个I/O接口芯片位于CPU与I/O设备之间,它们的引脚
必然会被分为3部分:
(1) 与CPU的连线为地址线、数据线和控制线;
(2) 与I/O设备的连线为数据线和控制线;
(3) 电源、地和时钟信号等。
A
B
D
CS
D
B
D
B
RD
RD
RDY
WR
WR
INT
R
INT
B
D
B
M/ IO
CPU
STB
I/O½Ó¿ÚоƬ
图9-2 I/O接口芯片引脚
RDY
STB
I/OÉ豸
5.2.1 内部结构和引脚功能
1.8255A的基本性能
8255A有如下一些基本性能:8255A是一个有3个数据
口、1个控制/状态口的8位并行输入输出接口芯片;8255A
能为80系列CPU与I/O设备之间提供兼容TTL电平的接口,
能接通键盘、打印机、步进电机、显示器、A/D和D/A转换
器等等;8255A原则上适用于一切需并行输入输出的I/O设
备;8255A设置了方式0、方式1、方式2等3种不同的工作方
式,可用于无条件传送、查询传送、中断传送,采用哪种
传送方式可用控制字设置;8255A有两个控制字供编制初始
化程序使用,使用OUT指令从控制寄存器端口写入,有一
个状态字可供查询,使用IN指令从C端口读出;对8255A的
4个端口读/写操作实质上就是对8255A所接I/O设备的操作。
2.8255A的内部结构
8255A的内部结构和引脚如图9-3所示,内部由三部分组成:
(1) 4个8位端口,分别为PA、PB、PC和CWR。PA、PB、
PC是3个8位数据端口,其中,PA口由一个8位数据输入锁存器
和一个8位数据输出锁存/缓冲器组成;PB口由一个8位数据输入
缓冲器和一个8位数据输入/输出锁存/缓冲器组成;PC口由一个8
位数据输入缓冲器和一个8位数据输出锁存/缓冲器组成。
(2) 工作方式控制电路,控制PA口、PB口、PC口的工作方式。
A组有方式0、1、2三种工作方式;B组有方式0、1两种工作方式。
(3) 数据总线缓冲器和读/写逻辑。数据总线缓冲器是一个三
态双向8位缓冲器,用作8255A与CPU数据总线的接口。
¹¤×÷·½Ê½
¿ØÖÆ
D0¡«D7
RD
WR
A1
A0
A×é
A¿Ú
8 λ
PA0¡«PA7
A×é
C¿Ú¸ß 4 λ
4 λ
PC4¡«PC7
¿ØÖÆÂß ¼-
B×é
C¿ÚµÍ4 λ
4 λ
PC0¡«PC3
¿ØÖÆ
¼Ä´æÆ÷
B×é
B¿Ú
8 λ
PB0¡«PB7
Êý¾Ý×ÜÏß
» º³å
¶Á/д
CS
RESET
PA3
PA2
PA1
PA0
RD
CS
GND
A1
A0
PC7
PC6
PC5
PC4
PC0
PC1
PC2
PC3
PB0
PB1
PB2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
(a)
图5-3 8255A的结构框图和引脚图
(a) 内部结构;(b) 引脚
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
(b)
PA4
PA5
PA6
PA7
WR
RESET
D0
D1
D2
D3
D4
D5
D6
D7
VCC
PB7
PB6
PB5
PB4
PB3
3.8255A引脚的功能
CS CS:片选信号。输入低电平有效,常接地址译码器输出
或1根地址线。
A1、A0:地址信号,输入。内连8255A的片内寄存器,外接
CPU地址线,和一起决定了8255A的4个端口地址。
D7~D0:双向三态数据线。常接CPU低8位数据总线,用于
传送8位二进制数据、控制命令字和状态字。
RD:读。低电平有效,输入控制命令字,CPU执行IN指令
时起作用,将8255A的3个端口PA、PB、PC的数据或端口PC的状
态信息读至CPU。
WR:写。低电平有效,输入控制命令字,CPU执行OUT指
令时起作用,将AL中的数据送到PA、PB、或PC;将AL中存放
的控制命令字从CWR口写入。
RESET:复位。高电平有效,输入信号线。它能置PA、PB、
PC为输入方式;清除控制寄存器、输出寄存器和状态寄存器;
屏蔽中断申请;使连接外设的24条信号线呈高阻悬浮状态。在
使用工作方式控制字后可结束复位状态,进入用户设置的工作
方式。
PA7~PA0:A口输入输出线,双向口。
PB7~PB0:B口输入输出线,双向口。
PC7~PC0:C口输入输出线。工作于方式0时,C口为双向
数据口;工作于方式1或2时,C口为控制/状态口。
5.1.2 4个端口和端口地址
表5-1 8255A的端口地址
端口
CS
端口性质
A1 A0
TP86A
PC/XT
扩展
PA
0
0
0
数据口
FFF8H
60H
300H
PB
0
0
1
数据口
FFFAH
61H
301H
PC
0
1
0
数据口,控制/状态口
FFFCH
62H
302H
CWR 口
0
1
1
控制口
FFFEH
63H
303H
【例5-1】 电路如图5-4所示,计算端口地址。
CPU
ÒëÂëÆ÷
Y0
¡-
A 15¡«A3
1 3¡Ã8 1 92
Y8191
8 25 5A
&
CS
A0
A2
A1
A1
A0
图5-4 例5-1图
解 因 CS  Y8191  A ,只有当A15~A3=8191=1111 1111
0
1111 1B且A0=0时
1A2A10。
才为0,故端口地址为1111 1111 1111
5.2.3 2个控制字和1个状态字
1.工作方式控制字
该字规定了PA、PB、PC的工作方式,格式为:
D7
D7=1
特征位
D6
D5
D4
D3
D2
D1
D0
PA 口方式:00=方式 0 PA 口:
PC7~4:
PB 口方式: PB 口:
PC3~0:
01=方式 1 0=输出
0=输出
0=方式 0
0=输出
0=输出
1×=方式 2 1=输入
1=输入
1=方式 1
1=输入
1=输入
——————————A 组—————————
———————B 组———————
【例5-2】 8255A端口地址44H~47H,A口工作于方式0,
外接键盘;B口工作于方式1,外接显示器,C口上半部作输出
控制线用,下半部bit3作输入线用。试编制初始化程序。
解 工作方式控制字为1001 0101=95H。初始化程序为:
MOV AL , 95H ;将控制字送入AL内
OUT 47H ,AL
;用OUT指令从CWR口写入
2.PC口按位置位/复位控制字
该字用于将PC口某一位置“0”或置“1”,格式为:
D7
D6
D5
D7=0
特征位
无用
D4
D3
D2
位选择:
000=PC0
1=置位
001=PC1
0=复位

111=PC7
D1
D0
【例5-3】 通过8255A的PC3位向外输出一个正脉冲信号,设
端口地址为300H~303H。
解
每送一个控制字,将PC3置位或复位一次,就获得高低
电平交替的正脉冲。
LOP:
MOV
DX ,0303H
;
MOV
AL ,0××× 011 1B
;将 PC3 置位
OUT
DX ,AL
;送控制字
CALL
DEL
;调延时子程序或用 NOP 延时
DEC
AL
;将 PC3 复位
OUT
DX ,AL
;送控制字 0××× 011 0 B
CALL
DEL
;延时
JMP
LOP
3.8255A的状态字
在8255A工作时,CPU可以通过读PC的内容来了解各端口
的工作状态,这时PC的内容称为状态字。工作方式0没有状态
字,工作方式1和工作方式2的状态字是不同的。
5.2.4 工作方式0及应用
1.工作方式0的特性
工作方式0又叫基本输入/输出方式,其特点如下:
(1) 适合于无条件传送和查询传送,无中断功能,不适合
于中断传送。
(2) 输入只有缓冲功能无锁存功能,输出可以锁存。
(3) 1片8255A可以分成4个独立的数据端口使用,这4个端
口是两个8位端口PA、PB,两个4位端口PC7~4、PC3~0。使用
时不分组,组合使用可以有24=16种不同的组合。
(4) 4个端口的每一个都能用I/O指令读/写数据,注意PC口
的高4位是一组,低4位是另一组,不能把4位中的某位作输入
而另一两位作输出。如果某位作输入(出)数据用,则4位都作输
入(出)数据用。
(5) 端口各引线之间无固定时序关系,由用户按数据传送要
求决定I/O操作过程。
(6) 工作方式0无状态字。
2.并行打印机接口用例
1) 打印机接口标准Centronics
I/O接口芯片8255A外接打印机,是通过打印机接口标准实
现的。并行接口的点阵式打印机普遍遵守Centronics并行标准,
是国际公认的工业标准8位并行接口,共36芯连线,引脚编号
如表9-2所示。
表5-2 并行接口标准Centronics的信号线电源和编号
引脚号
信
号
方向(对打印机)
信 号 功 能
STB
入
主机对打印机输入数据的选通脉冲
DATA1~8
入
并行数据 0~7 位的信号
10
ACK
出
向主机发出的传送数据的请求脉冲
11
BUSY
出
表示打印机是否可以接收数据的信号
12
PE
出
纸尽 Paper Out or Low
13
SELECT
出
选中信号
14
AUTO FEEDXY
入
自动输纸信号
15
NO
不用
16
0V
逻辑地
17
CHASSIS GND
机架地
18
NO
不用
19~30
GND
对应 1~12 引脚的接地线
31
INIT
入
打印机控制器初始化
32
ERROR
出
出错信号
33
GND
地
34
NO
不用
35
5V
SLCTIN
电源
1
2~9
36
入
低电平有效时数据才能进打印机
BUSY
ACK
7 5
DATA
STB
5
5
5
µ¥Î»£º
s
图5-5 Centronics的工作时序
2) 方案选择
A 9¡«A2
A1
A0
RD
WR
¡-
8¡Ã256
8255A
0
ÒëÂëÆ÷
¡-
CPU
192
CS
255
Centronics
PA7¡«PA0
×Ö·û´òÓ¡»ú
DATA BITE
A1
A0
RD
M1
WR
DB
DB
PC7
DATASTROBE
PC2
BUSY
图5-6 工作方式0连接举例
5.2.5 工作方式1及应用
1.工作方式1的特点
工作方式1又叫选通输入/输出方式,其特点如下:
(1) 适合于查询传送和中断传送,不适合无条件传送。
(2) 输入和输出均有缓冲锁存功能。
(3) PA、PB为数据口,PC有两条线为数据口,另
外6条线作控制/状态口。
(4) PC作控制/状态口的6条线是CPU、8255A、I/O设备之间
的联络信号线,各联络线之间时序关系固定,数据传输严格遵
循时序要求。
(5) 有输入和输出两种不同格式的状态字,两种状态字可以
作为程序或中断申请使用,需要使用IN指令从PC口地址读出到
AL中。
(6) PA、PB在作输入和输出使用时的引脚分配和时序都不
相同,下面分别叙述。
2.PA、PB均为输入时的引脚与时序
PA ×÷ÊäÈë
PB ×÷ÊäÈë
PA7¡«PA 0
INTEA
PC4
PC5
PB7¡«PB0
D7¡«D0
STBA
IBFA
INTEB
RD
&
RD
8
INTRA
PC3
PC2
PC1
&
D7¡«D0
PC6 PC7
I/O
INTRB
PC0
图5-7 工作方式1时PA、PB作输入
8
STBB
IBFB
1) PA端口作输入
PA7~PA0:输入8位数据用,与之配套使用的有PC口5条线。
STB:从I/O设备来的输入选通信号。当它为低电平时表示
I/O设备告诉8255A有8位数据要送到PA口的输入缓冲锁存器,
高电平时表示无数据送来。
IBF(Input Buffer Full):从8255A送到I/O设备的“输入缓冲
器满”信号。当它为低电平时表示8255A通知I/O设备可以把8位
数据从A口送进来,这时PA的输入缓冲器空;当它为高电平时
通知I/O设备不要送数据,这时PA的输入缓冲器满,数据还占着
输入缓冲器,没有被CPU取走。
INTR:从8255A向CPU提出中断申请的信号。当它为低
电平时无中断申请;为高电平时有中断申请。在端口内有一
个 与 门 电 路 , 中 断 申 请 信 号 INTRA(PC3) =
INTEA?IBFA(PC5),与门输入端决定了中断申请在什么情况
下发出,只有当输入缓冲器满,即IBFA=1,且中断允许信
号INTEA=1时,才申请中断。
INTEA(Interrupt Enable Port A):端口中断使能信号,无
外引脚。信号特征与PC4状态一致,不受PC4外接的STB状态
影响,只能通过写入PC口按位置位/复位控制字设置。
2) PB端口作输入
PB7~PB0:输入8位数据用,与之配套使用的有PC口3条线。
3) 工作方式1输入时的工作时序
tst
STB
IBF
INTR
RD
tsb
ti
INPUT DATA
FROM I/O
tps
tp
图5-8 工作方式1输入时序
表5-3 8255A工作方式1输入时的时序
参数
解
释
最 小
脉宽
从STB 有效到 IBF 有效的时间
500 ns
数据保持时间
180 ns
tst
tsb
tp
ti
STB
tps
数据出现时间
最 大
300 ns
数据有效直至提出中断时间
300 ns
0s
3.PA、PB均为输出时的引脚与时序
PA ×÷Êä³ö
PB ×÷Êä³ö
PA7¡«PA 0
INTEA
PC6
PC7
PB7¡«PB0
D7¡«D0
ACKA
INTEB
WR
OBFA
&
WR
8
INTRA
PC3
PC2
PC1
&
D7¡«D0
PC4 PC5
I/O
INTRB
PC0
图5-9 工作方式1时PA、PB作输出
8
ACKB
OBFB
有几种信号说明如下:
OBF:8255A的输出缓冲器满。当它为低电平时表示CPU
来的数据已在输出缓冲器中,8255A通知I/O设备来取数。
ACK:I/O设备的响应信号。当它为低电平时表示I/O设备
已知道8255A把数据准备好了。它是对OBF信号的响应。
INTR:8255A向CPU发出的中断申请,高电平有效。端口
内有一与门电路,INTRA(PC3)=(PC
INT7),只有在输出缓冲器空,
RA OBFA
CPU没有送数据来,OBF=1,且中断允许INTEA=1时,才会
有申请送至CPU。而INTEA和PC6的状态相同,但不受ACK信
号的影响,仅由PC按位置位/复位控制字决定。
TW
WR
TA
OBF
INTR
ACK
TWIT
TAK
OUTPUT
TO I/O
TWB
图5-10 工作方式1输出时序
TAIT
表5-4 8255A工作方式1输出时的时序
参数
解
释
最小
最大(ns)
TW
WR =1 到OBF =0
650
TWIT
WR =1 到 INTR=0
850
TA
ACK =1 到 OBF=0
350
TAK
ACK
TAIT
ACK
TWB
脉冲宽度
=1 到 INTR=1
WR =1 到输出
300
350
350
4.工作方式1的状态字
工作方式1的状态字有输入操作和输出操作两种不同的格式,
如图9-11所示。
D7
D6
ÊäÈë²Ù×÷×Ö
I/O
I/O
D5
D4
D3
D2
D0
IBFA INTEA INTRA INTEB IBFB INTRB
A×é
Êä³ö ²Ù×÷×Ö
OBF A INTEA
D1
I/O
B×é
I/O INTRA INTEB OBF B INTRB
图5-11 工作方式1的状态字
状态字通过IN AL,PORTC读取。指令中PORTC是PC
的端口地址。从PC读出的状态字和PC端口的外部引脚无关。
例如输入操作,引脚PC2和PC4是选通联络信号STB;状态位
PC2和PC4却表示中断允许信号INTEB和INTEA。又如输出操
作,作为引脚使用的PC2和PC6表示响应联络信号ACK;状
态位PC2和PC6却表示中断允许信号INTEB和INTEA。输入操
作和输出操作状态字相同的地方是:高5位表示A组的状态,
低3位表示B组的状态。当8255A处于查询方式工作时,只查
INTR 是 复 位 还 是 置 位 , 或 查 IBF 或 位 OBF 。 状 态 字 中 有
INTR位,表明8255A可提供查询是否申请了中断,但不能提
供中断向量。如果微机系统使用向量中断,则需用中断控制
器,如8259A等。若想INTEA=1,那么在PA口作输入用时
就应置PC4=1,相应程序为:
MOV
DX,PORT_CWR
MOV
AL ,0000 1001B
OUT
DX ,AL
;置PC4=1
在PA作输入用时要想禁止中断,只需用程序将PC4置成“0”。
如果要想使INTEA=1,但PA作输出使用,这时就应置PC7=1,
相应程序为:
MOV
DX ,PORT_CWR
MOV
AL ,0000 1111B
OUT
DX ,AL
;置PC7=1
5.并行打印机接口用例
8 ¡Ã25 6
ÒëÂëÆ÷
CS
¡-
A 9¡«A2
8 25 5A
0
¡-
CPU
2 55
A1
A0
PA7¡«PA0
A1
A0
IOR
È¥8 25 9AIR2
RD
INTR
PC3
IOW
WR
DB
DB
Cen tro nics
½Å2
¡«9
OBF
PC7
DATA BITE
½Å1
DATA STROBE
ACK
PC6
×Ö·û´ò Ó¡»ú
½Å10
ACKNLG
图5-12 工作方式1连接举例
5.2.6 工作方式2及应用
1.工作方式2的特点
工作方式2仅限于PA端口,又称为双向选通输入/输出方
式,它有以下特点:适合于查询传送和中断传送,不适合于
无条件传送。
2.引脚与时序
PA7¡«PA0
D7¡«D0
INTE INTE
WR
&
PC6
ACKA
PC7
OBFA
PC5
IBFA
PC4
STBA
¡Ý1
&
RD
8
INTRA
PC3
PC2¡«PC0
3
图5-13 工作方式2的引脚
I/O
Êý¾Ý´ÓC PUµ½82 55 A
WR
OBF
INTR
ACK
STB
IBF
RD
I/OÊý¾ÝÏß
Êý¾ÝÁ÷Ïò£ ºI/O¡ú8 25 5A 8 25 5A¡úI/O
82 55 A¡ú CPU
图5-14 工作方式2的时序图
3.状态字
工作方式2的状态字由8位二进制数组成,高5位用于A组,
处于工作方式2;低3位用于B组,处于工作方式1。工作方式2
的状态字格式如图5-15所示,图中有输入操作用字和为输出操
作用字,只因B组工作方式1的输入/输出操作不同,使得方式2
的状态字也有两种格式。
D7
D6
D5
D4
D3
D2
D1
D0
ÊäÈë²Ù×÷×Ö
OBFA INTE1 IBFA INTE2 INTRA INTEB IBFB INTRB
A×é
B×é
Êä³ö ²Ù×÷×Ö
OBF A INTE1 IBFA INTE2 INTRA INTEB OBFB INTRB
图5-15 方式2的状态字
4.并行接口举例
两个微机并行传送100字节的数据,主机8255A工作在方式
2(中断方式);从机8255A工作在方式0(查询方式)。电路设计如
图5-16所示。
INTA
IR0
PA7¡«PA0
PA7¡«PA0
¡-
INTA
IR2
INT
8 25 9 AIR7
Ö÷» ú
ϵͳBUS
¡-
PC7 OBF
ACK
PC6
PC5 IBF
PC4 STB
PB7¡«PB0
PC2¡«PC0
8 25 5A
PC7
PC2¡«PC5
8 25 5A
图5-16 工作方式2连接举例
INTA
IR0
PA7¡«PA0
¡-
INTA
IR2
INTR
INT
PC3
¡-
INTR
PC3
PB7¡«PB0
PC1
PC6
PC0
PC7 OBF
ACK
PC6
PA7¡«PA0
PB7¡«PB0
PC1
PC6
´Ó» ú
小结
一、简单并行接口8212
二、内部结构和引脚功能
三、4个端口和端口地址
四、2个控制字和1个状态字
五、工作方式0及应用
六、工作方式1及应用
七、工作方式2及应用
作业
5.2
5.4
5.6
5.7
第五章 并行接口
5.1
5.2
5.3
5.4
简单并行接口8212
可编程并行接口8255A
计数器/定时器8253
IBM PC系统的8255和8253
课题8
教学内容
一、8253的内部结构和引脚功能
二、 4个端口和1个控制字
三、 6种工作方式
5.3 可编程定时/计数器8253/8254
5.3.1 8253的内部结构和引脚功能
8253-5和8254-2是24脚双列直插芯片,使用单一+5 V供电,
输入输出与TTL电平兼容。它的内部结构和引脚分配如图9-31
所示。
D0¡«D7
Êý¾Ý×ÜÏß» º ³å
CS
A1
A0
WR
¶Á/д
Âß ¼-
ÄÚ²¿
×ÜÏß
¼ÆÊý Æ÷
#0
CLK0
GATE0
OUT0
¼ÆÊý Æ÷
#1
CLK1
GATE1
OUT1
¼ÆÊý Æ÷
#2
CLK2
GATE2
OUT2
RD
¿ØÖÆ×Ö
¼Ä´æÆ÷
图5-31 8253-5/8254-2
D7 1
2 4 VCC
D6 2
23 WR
D5 3
2 2 RD
D4 4
2 1 CS
D3 8 25 3- 5 A 1
D2 8 25 4- 2 A 0
D1
CLK2
D0
OUT2
CLK0 9
1 6 GATE2
OUT0 1 0
1 5 CLK1
GATE0 1 1
1 4 GATE1
GND 1 2
1 3 OUT1
1.内部结构
1) 数据总线缓冲器
数据总线缓冲器是一个8位的三态双向缓冲器,作用
是将8253与CPU数据总线相连。
2) 读写控制逻辑
读写控制逻辑接收CPU送来的地址和读写控制信号,
经过逻辑组合,完成对各端口的选择和各部分的控制。
3) 控制字寄存器
用于存放控制字。控制字决定计数器的工作方式,该
寄存器只能写不能读。
4) 3个独立的计数通道
3个计数通道分别命名为计数器#0、计数器#1、计数
器#2。3个通道彼此完全独立,每个通道的内部结构又完
全相同,由1个16位减1计数器、1个16位计数初值寄存器、
1个16位输出锁存器组成,如图9-32所示。每个通道对外引
线除16位数据线和内部总线相连外,还有一条时钟输入线
CLK、一条门控制线GATE、一条输出线OUT。
¶Á³öµ±Ç°Öµ
1 6λÊä³ö Ëø´æÆ÷
CLK
GATE
&
1 6λ¼õ1 ¼ÆÊý Æ÷
OUT
1 6λ¼ÆÊý³õ Öµ¼Ä´æ Æ÷
×°Èë/¶Á³ö ¼ÆÊý³õ Öµ
图5-32 计数通道
2.引脚
CS :片选信号,输入。低电平有效,接地址译码器输
出。
A1 、A0 :端口地址选择信号,输入。接CPU两根地址
线,例如接A1A0。按其取值选择8253/8254的3个计数器端
口和1个控制寄存器端口。
D0~D7:双向三态数据线,与CPU 的D0~D7相连,
用于传送CPU向8253/8254写入的控制字和读写的字节数据。
RD:读信号,输入。低电平有效,由CPU发出的对
8253/8254读命令。
WR:写信号,输入。低电平有效,由CPU发出的对
8253/8254写命令。
CLK:时钟信号,输入。每一个通道都有一个独立的时
钟输入,分别为CLK0、CLK1、CLK2。其功能是作计数脉冲
使用,每输入一个CLK脉冲,计数值减1。
GATE:门控信号,输入。每一个通道都有一个独立的
门控输入端,分别为GATE0 、GATE1 、GATE2 。其功能是禁
止、允许或启动计数过程。8253/8254有6种不同的工作方式,
每种方式下的GATE控制作用不同。
OUT:计数器输出信号。每一个通道都有一个独立
的信号输出端,分别为OUT0、OUT1、OUT2。当计数
值为0时,OUT输出一个负脉冲,表示定时/计数已到。
它可用于外部定时启动I/O设备某些操作或开关启停,
也可表示计数过程完结,还能作中断申请信号使用。
5.3.2 4个端口和1个控制字
8253/8254内部有4个端口:计数器#0、计数器#1、
计数器#2、控制字寄存器(CWR)。前3个为数据口,用
于给16位计数器输入初值和读出16位减1计数器当前值,
如果是字操作,则读写时先低字节后高字节。后1个为
控制口,用于写方式控制字。4个端口有4个地址,从小
到大按计数器#0~#2、CWR口顺序排列。表9-6给出
了4个端口的操作。
表5-6 8253/8254读写操作和端口地址
A1
A0
操
0
0
0
对计数器 0 写入计数初值
1
0
0
1
对计数器 1 写入计数初值
0
1
0
1
0
对计数器 2 写入计数初值
0
1
0
1
1
向控制寄存器写方式控制字
0
0
1
0
0
读计数器 0 当前值
0
0
1
0
1
读计数器 1 当前值
0
0
1
1
0
读计数器 2 当前值
0
0
1
1
1
无操作,三态
0
1
1
×
×
无操作,三态
1
×
×
×
×
禁止,三态
CS
RD
0
1
0
WR
作
8253/8254只有1个方式控制字,用于规定该芯片处于
哪种工作方式、如何赋予计数初值、是否要读取当前计数
值等等。方式控制字格式如下:
D7
D6
D5
D4
D3
D2
D1
D0
SC1
SC0
RW1
RW0
M2
M1
M0
BCD
00 选计数器 0
00 计数器锁存
000 方式 0
0 二进制数
01 选计数器 1
01 只读写低 8 位字节
001 方式 1
1 BCD 数
10 选计数器 2
10 只读写高 8 位字节
×10 方式 2
11 非法
11 先读写低 8 位
×11 方式 3
后读写高 8 位
100 方式 4
101 方式 5
【例5-6】 使用CPU的低8位地址线选择I/O端口,地址译码
器与8253连接如图9-33所示。要求对计数器1初始化编程,工作
于工作方式2,计数值二进制数4A70H。
Y0
¡-
A 7¡«A2
6 ¡Ã64
ÒëÂë
Y16
¡-
CS
Y 63
CPU
A1
A0
A1
A0
图5-33 8253与CPU相连
8 25 3
解 8253端口地址为010000A1A0,或计数器0地址为40H,
计数器1为41H,计数器2为42H,CWR口为43H。计数器1的
方式控制字为0111×100,初始化程序段如下:
MOV
AL ,7CH
OUT
43H ,AL
MOV
AL ,70H
OUT
41H ,AL
MOV
AL ,4AH
OUT
41H ,AL
;从 CWR 口写入方式控制字 7CH
;先将低位字节送计数器 1
;后将高位字节送计数器 1
【例5-7】 要求读出并检查2号计数器当前值是否全为
“1”,假设计数器计数值只有低8位,高8位全为0,端口地
址为304H~307H。程序段为:
LOP:
MOV AL ,1000 0000B
;锁存 2 号计数器
MOV DX ,0307H
OUT
DX ,AL
;从 CWR 口写入方式控制字
IN
AL ,0306H
;读 2 号计数器当前值
AND
AL ,0FFH
;检查
JNE
XXX
;非全为“1”,转 XXX 语句
JMP
YYY
;全为“1”,转 YYY 语句
5.3.3 6种工作方式
1.方式0——计数结束时中断方式
方式0有3个特点:
(1) 写入计数初值后,计数器就开始减1计数,OUT变为
低电平。当计到零时,OUT输出高电平。如果重新写入计
数值,计数器又立即开始减1计数,OUT再次变低。
(2) 门控信号GATE=1时允许计数器工作;GATE=0时
禁止计数器计数,计数值不变。
(3) 计数过程中,若未计到零时又重新写入新的计数值,
则按新值重新计数。
图5-34画出了包含以上3个特点的方式0时序。
CLK
WR
OUT
GATE
OUT
图5-34 方式0时序
2.方式1——程序可控单稳方式
方式1有3个特点:
(1) 写入计数初值后,计数器不会立即开始计数,必
须要等到GATE=1后的下一个CLK下降沿到来才开始计数。
计数开始,OUT输出低电平;计满到0,OUT输出高电平。
从OUT端输出的单稳负脉冲,其脉冲宽度等于计数器初值
乘以CLK输入时钟脉冲周期。
(2) GATE成为计数器的触发信号,每触发一次,计数
器输出一个负脉冲。如果计数过程中未计满到0,GATE出
现负脉冲,则计数器将重新装入初值进行减1计数。
(3) 在计数过程中,若未计到0时重新写入新的计数值,
则计数器不理睬新写入计数值,仍然按原计数过程进行下
去,直到计满为0。如果没有触发脉冲出现在GATE处,则
计数器仍不理睬新写入的计数值,只有当GATE出现触发信
号,才按新写入计数值减1计数。
CLK
WR
GATE
OUT
GATE
OUT
图5-35画出了含有3个特点的时序。
3.方式2——分频方式
方式2有3个特点。图5-36画出了包含如下3个特点的
时序:写入计数初值后,下一个CLK时钟脉冲到来可以
计数;计满到1,OUT输出低电平;计满到0,OUT输出
高电平。可见方式2具有装入初值n能实现n分频的功能。
GATE=1允许计数,GATE=0禁止计数。计数期间GATE
由1变为0,停止计数。计满到0,自动装入原计数初值重
新开始计数,计数过程中不接收新装入的计数初值。
CLK
WR
n £½4
4
3
2
1
0 (4 )
3
n £½32 1
OUT
GATE
OUT
图5-36 方式2的时序
0 (3 )
2
1
4.方式3——发生方波方式
方式3有3个特点。图5-37是包含3个特点的时序:写入
计数初值后,下一个CLK时钟脉冲到来就可以计数。计到
一半时,OUT输出低电平;计满到0,OUT输出高电平。
可见方式3能产生一定频率的方波,方波的频率由计数初
值决定。GATE=1允许计数,GATE=0禁止计数。计数期
间GATE由1变为0,停止计数。计满到0后,自动装入原初
值重新开始计数。计数过程中不接收新装入的计数初值。
下一个输出周期开始时,会接收新的初值进行计数。
T1
T2
T3
T4
T5
T6
T7
T8
T9
T10
T11
T12
T13
T14
CLK
OUT
4
3
2
1
0 (4 ) 3
2
1
0 (4 ) 3
4
2
1
0 (4 ) 3
OUT
GATE
OUT
3
图5-37 方式3的时序
2
1
0 (4 ) 3
5.方式4——软件触发的选通信号方式
方式4有3个特点:
(1) 写入计数初值后,过一个时钟周期开始计数。计
数到0时OUT变为低电平,再过一个时钟周期,OUT又恢
复成高电平。这个负脉冲可作为选通信号使用。如果输入
新的计数值,计数器又重新计数。
(2) 当GATE=1时允许计数,GATE=0禁止计数,输
出电平保持不变。只有计数到0,才会产生选通负脉冲输
出。
(3) 计数时写入新的初值,下一个时钟周期到来,将
把此数送入执行单元,开始新的计数过程。如果写入计
数值是两个字节,则当前计数过程不受第一个字节影响。
第二个字节写入后的下一个时钟周期,计数器按新计数
值开始新的计数过程,这一过程称为软件再触发。图538画出了包含以上3条特点的时序。
T1
T2
T3
T4
T5
T6
T7
T8
4
3
2
1
0
4
3
T9
T10
2
1
T11
CLK
WR
n £½4
OUT
WR
GATE
n £½4
OUT
图5-38 方式4的时序
0
T12
T13
T14
6.方式5——硬件触发选通方式
方式5的3个特点如下:
(1) 写入了计数初值后,计数器并不计数,而必须有
门控信号GATE=1在下一个CLK开始计数。计满到0时,
OUT输出一个宽度为一个时钟周期的负脉冲,它用于选通
脉冲。
(2) GATE的上升沿用于触发计数。在计数过程中,若
GATE端又出现上升触发,则计数器在下一个时钟周期重
新赋初值计数,直到减为0为止。这就是门控触发,也就
是指硬件触发。
(3) 在计数过程中写入新的初值,如果没有触发脉冲,
那么计数过程不受影响。以后触发将按新的初值开始计数。
如果在计数过程中写入新的计数值,并且计数结束前又受
到GATE触发,则在下一个时钟周期到来后,按新的计数初
值开始计数。含有上述3个特征的时序图如图5-39所示。
T1
T2
T3
T4
T5
T6
T7
4
3
2
1
0
4
3
2
T8
T9
1
0
T10
CLK
GATE
OUT
GATE
OUT
图5-39 方式5的时序
T11
T12
T13
T14
7.8253在PC/XT中的使用
PC/XT机中的8253连接图见图5-40。8253在该机作为定
时器使用,4个端口地址分别为40H~43H。时钟信号由8284
时钟发生器提供,频率为2.385 MHz,经过D触发器二分频后,
得到1.19 MHz的时钟信号,送至8253的三个计数器的CLK输
入端。GATE0和GATE1都接在+5 V上,因此计数器0和计数
器1总处于允许计数的状态。
D0¡«D7
IOR
RD
IOW
WR
T/ C
A1
A0
OUT0
OUT1
OUT2
GATE0
GATE1
GATE2
CLK0
CLK1
CLK2
D0¡«D7
CS
A1
A0
IRQ0
CP
C
T/C2
Q
D
DRQ3
DACK0 BRD
£«5 V
PB0
Q
C
CP
PCLK
D
Q
8253
图5-40 PC/XT中的8253
RESETDRV
小结
一、8253的内部结构和引脚功能
二、 4个端口和1个控制字
三、 6种工作方式
作业
5.9
5.12