第八章 8253定时计数器(例程)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
➢ 正常情况下,即GATE=1,对计数器置入时常数N后, 要经过N+1个时钟周期才能使OUT输出高电平;
➢ 在计数过程中,如GATE变为低电平,这时只是暂停计数 ,等待GATE信号变为高电平后,计数器继续“减1”计数
例题,向8253的A1A=0 11B的地址写入0011 0000B,则表示 计数器0设置成方式0,并且采用16位时常数,假设时常数为 1500,则计数器0的初始化程序段如下:
通过计数通道的端口地址可以访问通道中的CR、OL,当对通 道进行写操作时,实际上表示将计数初值(即时常数)写入CR; 当对通道进行读操作时,表示将从OL中读取计数值。
8253的控制字
定时/计数器8253一共有6种工作方式,由控制字 寄存器的内容来设定。方式控制字如下所示:
D7 D6 D5 D4 D3 D2 D1 D0 SC1 SC0 RL1 RL0 M2 M1 M0 BCD
电源(+5V) 地
连接去向 CPU
译码电路 CPU CPU CPU 外部
外部 外部
/ /
8253的原理结构及工作原理
每个计数通道主要包含四个部件: 计数寄存器CR(Conut Register, 16位)、 计数工作单元CE(Counting Element, 16位)、 输出锁存器OL(Output Latch, 16位)、 控制字寄存器(Control Word Register, 8位)。
计数过程中写入新的时常数,它只能在下一次分频脉冲后起作用
方式2的特点:
➢在置方式2的控制字后,OUT端变为高电平;
➢在置入时常数后,下一个CLK脉冲期间,将时常数从CR读 入CE,并开始“减1”计数;
➢当CE计数到01时,在OUT端输出一个负脉冲,并重新读入 时常数进行计数;
➢正常情况下,当计数通道的时常数为N时,OUT产生的信 号为计数时钟的N分频;
示 10000。
8253的工作方式
1.方式0 —— 计数达到终值时中断
功能:方式0可以实现设定一个确定的时间t0,当到达时间 t0时,需要进行某种操作。
在方式0下,当写入方式控制字后,相应的OUT端输出变为 低电平,直到计数器达到0时变为高电平,表示达到了定时的 时间。
GATE=1情况下方式0计数过程
记为t=1/f,要求产生的周期性信号频率为F(周期为T)或定 时时间为T,则所需计数初值n为
n=T/t=f/F=T*f
[例1] 已知8253口地址为158H~15BH,其A1和A0与相 应地址线相连,要求计数器0工作在方式0,计数初值为 1000,二进制计数;计数器1工作在方式1,计数初值为86, BCD码计数;计数器2的OUT端产生最大宽度的方波,写出 8253的初始化程序。
➢ 用IN指令读取OL内容。
例如,要读取计数器1中的计数值,其程序如下:
MOV DX, COUNTD
MOV AL, 0100 0000B
OUT DX, AL
MOV DX, COUNTB
IN AL, DX
;从OL读取低位字节
XCHG AH, AL
IN AL, DX
;从OL读取高位字节
XCHG AH, AL
单个计数器内部结构
8253的原理结构及工作原理
每个计数器相关的引脚有三个,两个输入引脚CLK和GATE,一个输 出引脚OUT。
CLK:时钟输入引脚,这是定时和计数的基准脉冲,计数或定时的 基本单位就是CLK脉冲,通常以脉冲个数作为计数值或脉冲周期作 为定时标准。
GATE门控信号,高电平有效。该信号为高电平,则进行正常的减法 计数,低电平而停止计数。
;计数器2置入时常数
MOV AL, 13
OUT DX, AL
这样在OUT2端就产生了CLK2的13分频信号
3.方式3 —— 方波信号形成
功能:方式3类似于方式2,只是在OUT上产生对称的或近
似对称的方波。
GATE=1时,将计数器设置成方式3后,OUT端输出高电 平;向CR置入时常数N(设N为偶数)后,下一个CLK脉冲 将时常数从CR读入CE,并开始“减2”计数;
[例2]某应用系统中,系统提供一个频率为10KHZ 的时钟信 号,要求每隔10ms向CPU提出中断申请,试完成8253的 初始化编程。
CPU 总线 10H ~ 13H
8253
CLK0 10KHZ
DB
GATE0
+5V
OUT0 中断请求
A1
信号
A0
CS
OUT0
10ms
10ms
(1)选择工作方式 由于系统每隔10ms完成一次申请,则可选用方式2来实现。 (2)确定计数初值 已知fCLK0=10KHZ,则TCLK0=0.1ms。 所以计数初值N=TOUT0 /TCLK0=10ms/0.1ms=100, 即64H。 (3)初始化编程 通道0的方式控制字为00010100B,即14H。
GATE信号的作用效果
当GATE为低电平时,计数器暂停计数,GATE端的上升沿使 计数器重新读入时常数。
方式3的特点:
➢在置方式3的控制字后,OUT端变为高电平;
➢在置入偶数的时常数后,OUT端产生一个周期的对称方 波信号;
➢在置入奇数的时常数后,产生一个周期的近似对称方波信 号,高电平占(N+1)/2个计数时钟周期,低电平占(N-1)/2个 计数时钟周期;
MOV DX, COUNTD
;写入8253的方式控制字
MOV AL, 0011 0000B
OUT DX, AL
MOV DX, COUNTA
;计数器0置入时常数
MOV AX, 1500
OUT DX, AL
XCHG AL, AH
;或 MOV AL,AH
OUT DX, AL
2.方式2 —— 分频脉冲形成
选择计数通道 读写规则
工作方式 数据类型
8253的控制字
控制字中的位D7D6来确定计数通道:
SC1SC0
含义
00
计数通道0
01
计数通道1
10
计数通道2
11
保留
D5D4用于设定计数通道的读写规则:
RL1RL0
含义
00
计数通道的锁存命令,即将当前CE的内容锁存到OL
01
只读写CR或OL的低8位
10
只读写CR或OL的高8位
当计数到0时,OUT端变为低电平;
重新将时常数从CR读入CE,并进行“减2”计数,当计数 到0时,OUT端再次变为高电平,产生一个时钟周期的方波 信号;
重复这一过程,可以产生周期的对称方波信号。
当设定的时常数N为奇数时,在将时常数从CR读入CE时 会自动减1,使CE中的初步变成N-1(偶数),OUT端输出 高电平,并开始“减2”计数;
利用GATE信号加长OUT端的低电平宽度
利用写入新的时常数加长OUT端的低电平宽度
方式0的特点:
➢ 在向8253置方式字或置时常数时,OUT输出变成低电平 ;
➢ 置入时常数后,下一个CLK脉冲,使CR内容(初值)置 入计数单元,之后每一个CLK脉冲都完成一次减一计数;
➢ 当计数至0时,OUT由低变高,并继续计数,从0到0FFFFH ;
几个基本概念
CLK脉冲:是指CLK信号从上升沿到下降沿的时间
计数器:与计数通道的含义一致
时常数:是指通过指令写入到计数器的值,可以理解成计 数器的初值
最大时常数: 由于8253是减法计数,因此这两种计数的最 大初始值为0000.对于二进制减法计数,0000H实 际表示10000H(65536),而BCD码计数的0000表
与此同时,重新将时常数从CR读入CE,并继续计数.这样就 产生周期的分频信号。
GATE=1时方式2的计数过程
当时常数为N时,则OUT产生的信号为计数时钟的N分频, 高电平为(N-1)个计数时钟周期,低电平为1个计数时 钟周期。
GATE信号的作用效果
当GATE为低电平时,计数器暂停计数,GATE端的上升 沿使计数器重新读入时常数。
11
先读写CR或OL的低8位,再读写高8位
8253的控制字
方式控制字的D3D位2D用1 于设定计数通道的工作方式:
M2M1M0
含义
000
方式0
001
方式1
×1 0
方式2
×1 1
方式3
100
方式4
101
方式5
方式控制字的最低位D0(即BCD位)用于指定读写数据的格 式,当BCD=0时,表示读写数据为二进制数,当BCD=1时 ,表示读写数据为两位十进制数。
lll
8253的引脚功能及特点
8253引脚定义
引脚名
D0 ~D7
CS RD WR A0 ,A1 CLK0 ~CLK2 GATE0 ~GATE2 OUT0 ~ OUT7
Vcc GND
功能 数据总线(双向)
片选信号 读信号 写信号
端口地址 3个计数通道的时钟
(计数脉冲) 3个计数通道的控制信号 3个计数通道的输出信号
功能:方式2类似于N分频器,利用这种方式可以产生 周期信号。
GATE=1时,将计数器设置成方式2后,OUT端输出高电 平;向CR置入时常数N后,下一个CLK脉冲将时常数从CR读 入CE,并开始“减1”计数;
当计数到0001H时,OUT端变为低电平,经过一个CLK脉冲 ,OUT端再次变为高电平,产生一个时钟周期的负脉冲;
计数器0的控制字:00110000B=30H 初值:1000(超过 256,用16位计数)
计数器1的控制字:01010011B=53H 初值:86(小于 256,用低字节计数)
计数器2的控制字:10110110B=B6H 初值: 0000(最大方波)
MOV AL,30H ;计数器0控制字 MOV DX,15BH ;控制寄存器端口 OUT DX,AL ;写计数器0控制字 MOV AX,1000 ;计数器0初值 MOV DX,158H ;计数器0端口 OUT DX,AL ;写计数器0计数初值低字节 MOV AL,AH OUT DX,AL ;写计数器0计数初值高字节 MOV AL,53H ;计数器1控制字 MOV DX,15BH ;控制寄存器端口 OUT DX,AL ;写计数器1以写成十六进制的形式 MOV DX,159H ;计数器1端口 OUT DX,AL ;写计数器1计数初值 MOV AL,0B6H ;计数器2控制字 MOV DX,15BH ;控制寄存器端口 OUT DX,AL ;写计数器2控制字 MOV AL,0 ;计数器2初值 MOV DX,15AH ;计数器2端口 OUT DX,AL ;写计数器2计数初值低字节 OUT DX,AL ;写计数器2计数初值高字节
例如,向8253的A1A0 =11B的地址写入1001 0100B,则 表示计数器2设置成方式2,并且采用低8位时常数,假设时 常数为13,则计数器2的初始化程序段如下:
MOV DX, COUNTD
;写入8253的方式控制
字
MOV AL, 1001 0100B
OUT DX, AL
MOV DX, COUNTC
➢正常情况下,当计数通道的时常数为N时,OUT产生的信 号为计数时钟的N分频方波信号;
8253的计数值的读取
在任何时刻都可以读取某个计数器的当前计数值,分两步 实现:
➢ 输出计数器锁存命令,将方式控制字中 RL1RL=0 00B,这样可 以将相应计数通道中的当前计数值锁存到OL锁存器,而CE会 继续计数;
csrdwrclkclkgategate引脚名连接去向数据总线双向cpu片选信号译码电路读信号cpu写信号cpu端口地址cpu3个计数通道的时钟计数脉冲外部3个计数通道的控制信号外部3个计数通道的输出信号外部vcc电源5voutout8253引脚定义8253单个计数器内部结构每个计数通道主要包含四个部件
这时,AX的内容就是计数器1的当前计数值
8253初始化编程
1.一般原则 对8253初始化编程分两步,首先写控制字,然后写入对应
通道的计数初值。至于先写哪个通道,则由用户任意选择。 每一个通道的控制字都必须写入控制寄存器(AlA0=11),
初值必须写入相应计数器对应的端口。
2.计数初值的计算 假设已知8253相应通道的CLK端接入的时钟频率为f,周期
当计数到0时,再经过1个CLK后使OUT端变成低电平; 重新将时常数从CR读入CE,并进行“减2”计数,当计数 到0时,OUT端再次变为高电平,产生一个时钟周期的方波 信号,重复这一过程,可以产生周期的近似对称的方波信号 。
GATE=1时方式3的计数过程(时常数为偶数)
GATE=1时方式3的计数过程(时常数为奇数)
第9章 定时/计数器8253应用设计
8253的原理结构及工作原理
可编程定时/计数器8253的原理结构图
D7 ~ D 0
RD WR
Intel 8253
计数器 0
GATE0 CLK0
OUT0
地址线
地址
译码
CS
计数器 1
GATE1 CLK1 OUT1
A1
A0
GATE2
计数器 2
CLK2
OUT2
8253有三个 独立的计数 通道(也称 计数器): 计数器0、 计数器1、 计数器2。
OUT计数器输出信号,当定时结束或计数结束,在该引脚产生一个 控制信号。
8253的原理结构及工作原理
定时/计数器8253占用4个端口地址:
A1A 0
00
寻址 计数通道0
01
计数通道1
10
计数通道2
11
控制字寄存器
为说明方便,将这四个地址分别用COUNTA、COUNTB、 COUNTC和COUNTD表示。
➢ 在计数过程中,如GATE变为低电平,这时只是暂停计数 ,等待GATE信号变为高电平后,计数器继续“减1”计数
例题,向8253的A1A=0 11B的地址写入0011 0000B,则表示 计数器0设置成方式0,并且采用16位时常数,假设时常数为 1500,则计数器0的初始化程序段如下:
通过计数通道的端口地址可以访问通道中的CR、OL,当对通 道进行写操作时,实际上表示将计数初值(即时常数)写入CR; 当对通道进行读操作时,表示将从OL中读取计数值。
8253的控制字
定时/计数器8253一共有6种工作方式,由控制字 寄存器的内容来设定。方式控制字如下所示:
D7 D6 D5 D4 D3 D2 D1 D0 SC1 SC0 RL1 RL0 M2 M1 M0 BCD
电源(+5V) 地
连接去向 CPU
译码电路 CPU CPU CPU 外部
外部 外部
/ /
8253的原理结构及工作原理
每个计数通道主要包含四个部件: 计数寄存器CR(Conut Register, 16位)、 计数工作单元CE(Counting Element, 16位)、 输出锁存器OL(Output Latch, 16位)、 控制字寄存器(Control Word Register, 8位)。
计数过程中写入新的时常数,它只能在下一次分频脉冲后起作用
方式2的特点:
➢在置方式2的控制字后,OUT端变为高电平;
➢在置入时常数后,下一个CLK脉冲期间,将时常数从CR读 入CE,并开始“减1”计数;
➢当CE计数到01时,在OUT端输出一个负脉冲,并重新读入 时常数进行计数;
➢正常情况下,当计数通道的时常数为N时,OUT产生的信 号为计数时钟的N分频;
示 10000。
8253的工作方式
1.方式0 —— 计数达到终值时中断
功能:方式0可以实现设定一个确定的时间t0,当到达时间 t0时,需要进行某种操作。
在方式0下,当写入方式控制字后,相应的OUT端输出变为 低电平,直到计数器达到0时变为高电平,表示达到了定时的 时间。
GATE=1情况下方式0计数过程
记为t=1/f,要求产生的周期性信号频率为F(周期为T)或定 时时间为T,则所需计数初值n为
n=T/t=f/F=T*f
[例1] 已知8253口地址为158H~15BH,其A1和A0与相 应地址线相连,要求计数器0工作在方式0,计数初值为 1000,二进制计数;计数器1工作在方式1,计数初值为86, BCD码计数;计数器2的OUT端产生最大宽度的方波,写出 8253的初始化程序。
➢ 用IN指令读取OL内容。
例如,要读取计数器1中的计数值,其程序如下:
MOV DX, COUNTD
MOV AL, 0100 0000B
OUT DX, AL
MOV DX, COUNTB
IN AL, DX
;从OL读取低位字节
XCHG AH, AL
IN AL, DX
;从OL读取高位字节
XCHG AH, AL
单个计数器内部结构
8253的原理结构及工作原理
每个计数器相关的引脚有三个,两个输入引脚CLK和GATE,一个输 出引脚OUT。
CLK:时钟输入引脚,这是定时和计数的基准脉冲,计数或定时的 基本单位就是CLK脉冲,通常以脉冲个数作为计数值或脉冲周期作 为定时标准。
GATE门控信号,高电平有效。该信号为高电平,则进行正常的减法 计数,低电平而停止计数。
;计数器2置入时常数
MOV AL, 13
OUT DX, AL
这样在OUT2端就产生了CLK2的13分频信号
3.方式3 —— 方波信号形成
功能:方式3类似于方式2,只是在OUT上产生对称的或近
似对称的方波。
GATE=1时,将计数器设置成方式3后,OUT端输出高电 平;向CR置入时常数N(设N为偶数)后,下一个CLK脉冲 将时常数从CR读入CE,并开始“减2”计数;
[例2]某应用系统中,系统提供一个频率为10KHZ 的时钟信 号,要求每隔10ms向CPU提出中断申请,试完成8253的 初始化编程。
CPU 总线 10H ~ 13H
8253
CLK0 10KHZ
DB
GATE0
+5V
OUT0 中断请求
A1
信号
A0
CS
OUT0
10ms
10ms
(1)选择工作方式 由于系统每隔10ms完成一次申请,则可选用方式2来实现。 (2)确定计数初值 已知fCLK0=10KHZ,则TCLK0=0.1ms。 所以计数初值N=TOUT0 /TCLK0=10ms/0.1ms=100, 即64H。 (3)初始化编程 通道0的方式控制字为00010100B,即14H。
GATE信号的作用效果
当GATE为低电平时,计数器暂停计数,GATE端的上升沿使 计数器重新读入时常数。
方式3的特点:
➢在置方式3的控制字后,OUT端变为高电平;
➢在置入偶数的时常数后,OUT端产生一个周期的对称方 波信号;
➢在置入奇数的时常数后,产生一个周期的近似对称方波信 号,高电平占(N+1)/2个计数时钟周期,低电平占(N-1)/2个 计数时钟周期;
MOV DX, COUNTD
;写入8253的方式控制字
MOV AL, 0011 0000B
OUT DX, AL
MOV DX, COUNTA
;计数器0置入时常数
MOV AX, 1500
OUT DX, AL
XCHG AL, AH
;或 MOV AL,AH
OUT DX, AL
2.方式2 —— 分频脉冲形成
选择计数通道 读写规则
工作方式 数据类型
8253的控制字
控制字中的位D7D6来确定计数通道:
SC1SC0
含义
00
计数通道0
01
计数通道1
10
计数通道2
11
保留
D5D4用于设定计数通道的读写规则:
RL1RL0
含义
00
计数通道的锁存命令,即将当前CE的内容锁存到OL
01
只读写CR或OL的低8位
10
只读写CR或OL的高8位
当计数到0时,OUT端变为低电平;
重新将时常数从CR读入CE,并进行“减2”计数,当计数 到0时,OUT端再次变为高电平,产生一个时钟周期的方波 信号;
重复这一过程,可以产生周期的对称方波信号。
当设定的时常数N为奇数时,在将时常数从CR读入CE时 会自动减1,使CE中的初步变成N-1(偶数),OUT端输出 高电平,并开始“减2”计数;
利用GATE信号加长OUT端的低电平宽度
利用写入新的时常数加长OUT端的低电平宽度
方式0的特点:
➢ 在向8253置方式字或置时常数时,OUT输出变成低电平 ;
➢ 置入时常数后,下一个CLK脉冲,使CR内容(初值)置 入计数单元,之后每一个CLK脉冲都完成一次减一计数;
➢ 当计数至0时,OUT由低变高,并继续计数,从0到0FFFFH ;
几个基本概念
CLK脉冲:是指CLK信号从上升沿到下降沿的时间
计数器:与计数通道的含义一致
时常数:是指通过指令写入到计数器的值,可以理解成计 数器的初值
最大时常数: 由于8253是减法计数,因此这两种计数的最 大初始值为0000.对于二进制减法计数,0000H实 际表示10000H(65536),而BCD码计数的0000表
与此同时,重新将时常数从CR读入CE,并继续计数.这样就 产生周期的分频信号。
GATE=1时方式2的计数过程
当时常数为N时,则OUT产生的信号为计数时钟的N分频, 高电平为(N-1)个计数时钟周期,低电平为1个计数时 钟周期。
GATE信号的作用效果
当GATE为低电平时,计数器暂停计数,GATE端的上升 沿使计数器重新读入时常数。
11
先读写CR或OL的低8位,再读写高8位
8253的控制字
方式控制字的D3D位2D用1 于设定计数通道的工作方式:
M2M1M0
含义
000
方式0
001
方式1
×1 0
方式2
×1 1
方式3
100
方式4
101
方式5
方式控制字的最低位D0(即BCD位)用于指定读写数据的格 式,当BCD=0时,表示读写数据为二进制数,当BCD=1时 ,表示读写数据为两位十进制数。
lll
8253的引脚功能及特点
8253引脚定义
引脚名
D0 ~D7
CS RD WR A0 ,A1 CLK0 ~CLK2 GATE0 ~GATE2 OUT0 ~ OUT7
Vcc GND
功能 数据总线(双向)
片选信号 读信号 写信号
端口地址 3个计数通道的时钟
(计数脉冲) 3个计数通道的控制信号 3个计数通道的输出信号
功能:方式2类似于N分频器,利用这种方式可以产生 周期信号。
GATE=1时,将计数器设置成方式2后,OUT端输出高电 平;向CR置入时常数N后,下一个CLK脉冲将时常数从CR读 入CE,并开始“减1”计数;
当计数到0001H时,OUT端变为低电平,经过一个CLK脉冲 ,OUT端再次变为高电平,产生一个时钟周期的负脉冲;
计数器0的控制字:00110000B=30H 初值:1000(超过 256,用16位计数)
计数器1的控制字:01010011B=53H 初值:86(小于 256,用低字节计数)
计数器2的控制字:10110110B=B6H 初值: 0000(最大方波)
MOV AL,30H ;计数器0控制字 MOV DX,15BH ;控制寄存器端口 OUT DX,AL ;写计数器0控制字 MOV AX,1000 ;计数器0初值 MOV DX,158H ;计数器0端口 OUT DX,AL ;写计数器0计数初值低字节 MOV AL,AH OUT DX,AL ;写计数器0计数初值高字节 MOV AL,53H ;计数器1控制字 MOV DX,15BH ;控制寄存器端口 OUT DX,AL ;写计数器1以写成十六进制的形式 MOV DX,159H ;计数器1端口 OUT DX,AL ;写计数器1计数初值 MOV AL,0B6H ;计数器2控制字 MOV DX,15BH ;控制寄存器端口 OUT DX,AL ;写计数器2控制字 MOV AL,0 ;计数器2初值 MOV DX,15AH ;计数器2端口 OUT DX,AL ;写计数器2计数初值低字节 OUT DX,AL ;写计数器2计数初值高字节
例如,向8253的A1A0 =11B的地址写入1001 0100B,则 表示计数器2设置成方式2,并且采用低8位时常数,假设时 常数为13,则计数器2的初始化程序段如下:
MOV DX, COUNTD
;写入8253的方式控制
字
MOV AL, 1001 0100B
OUT DX, AL
MOV DX, COUNTC
➢正常情况下,当计数通道的时常数为N时,OUT产生的信 号为计数时钟的N分频方波信号;
8253的计数值的读取
在任何时刻都可以读取某个计数器的当前计数值,分两步 实现:
➢ 输出计数器锁存命令,将方式控制字中 RL1RL=0 00B,这样可 以将相应计数通道中的当前计数值锁存到OL锁存器,而CE会 继续计数;
csrdwrclkclkgategate引脚名连接去向数据总线双向cpu片选信号译码电路读信号cpu写信号cpu端口地址cpu3个计数通道的时钟计数脉冲外部3个计数通道的控制信号外部3个计数通道的输出信号外部vcc电源5voutout8253引脚定义8253单个计数器内部结构每个计数通道主要包含四个部件
这时,AX的内容就是计数器1的当前计数值
8253初始化编程
1.一般原则 对8253初始化编程分两步,首先写控制字,然后写入对应
通道的计数初值。至于先写哪个通道,则由用户任意选择。 每一个通道的控制字都必须写入控制寄存器(AlA0=11),
初值必须写入相应计数器对应的端口。
2.计数初值的计算 假设已知8253相应通道的CLK端接入的时钟频率为f,周期
当计数到0时,再经过1个CLK后使OUT端变成低电平; 重新将时常数从CR读入CE,并进行“减2”计数,当计数 到0时,OUT端再次变为高电平,产生一个时钟周期的方波 信号,重复这一过程,可以产生周期的近似对称的方波信号 。
GATE=1时方式3的计数过程(时常数为偶数)
GATE=1时方式3的计数过程(时常数为奇数)
第9章 定时/计数器8253应用设计
8253的原理结构及工作原理
可编程定时/计数器8253的原理结构图
D7 ~ D 0
RD WR
Intel 8253
计数器 0
GATE0 CLK0
OUT0
地址线
地址
译码
CS
计数器 1
GATE1 CLK1 OUT1
A1
A0
GATE2
计数器 2
CLK2
OUT2
8253有三个 独立的计数 通道(也称 计数器): 计数器0、 计数器1、 计数器2。
OUT计数器输出信号,当定时结束或计数结束,在该引脚产生一个 控制信号。
8253的原理结构及工作原理
定时/计数器8253占用4个端口地址:
A1A 0
00
寻址 计数通道0
01
计数通道1
10
计数通道2
11
控制字寄存器
为说明方便,将这四个地址分别用COUNTA、COUNTB、 COUNTC和COUNTD表示。