计数器定时器8253

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8253的基本工作方式是对CLK端输入的脉冲进行
计数, CLK端输入的脉冲可以是任何脉冲源提供
的脉冲(只要它的周期不小于380ns即可) 。
Page 18
GATE门控输入信号——通过外部控制计数 器工作,可分成电平控制和上升沿控制两种 类型,类型由工作方式决定。 OUT计数器输出信号——当一次计数过程结
这是三个独立的定时/计数通道,每个
通道的结构完全相同,每个通道都有一个16
位的可预臵数值的减法计数器,还有一个对
应的锁存寄存器构成。在编程控制下可以把
预臵的数值锁存到锁存寄存器内。
Page 14
在工作过程中,计数器的值不断递减,而锁 存寄存器的内容不变。 计数器内容减为0时,还可控制锁存寄存器 自动将其数值填入计数器内。还可用工作方式字 控制计数器将其当前数值锁存到锁存寄存器内, 以便读出当前计数值。 每个计数器都有六种工作方式。
Page 27
模式2的工作特点: ①门控电路GATE信号必须为1,计数器才能对CLK端 上的脉冲进行计数; ②当计数器计数到1时,输出端由高变低,再经过一个 CLK周期,即计数器计数到0时,输出端OUT又跳变为 高; ③通道计数器计数到0后,自动重新装入计数初值,实 现循环计数;
Page 28
Page 12
读/写逻辑电路
这是8253内部操作的控制部分。按CPU发 来的读、写信号和地址信号,选择读出或写入
寄存器,并且确定数据传输的方向,即是读出
还是写入。
控制字寄存器
在8253的初始化编程时,由CPU写入控制 字以决定通道的工作方式。此寄存器只能写入 而不能读出。
Page 13
计数器#0、#1、#2
Page 9
3 可编程计数器/定时器8253
①. 8253的内部结构 ②. 8253的引脚分配 ③. 8253的工作模式 ④. 8253的控制寄存器的格式
⑤. 8253的应用举例
Page 10
①. 8253的内部结构
计数器0
计数器1
计数器2
Page 11
数据总线缓冲器
数据总线缓冲器是一个三态、双向8位缓冲器, 用于将8253与系统数据总线D0~D7相连。 CPU通过数据总线缓冲器向8253写入数据和命 令,或从数据总线缓冲器读取数据和状态信息。 数据总线缓冲器有三个基本功能: 通过编程向8253写入工作方式命令字; 向计数寄存器装入计数值; 读出计数值。
8253的内部端口地址引脚A1、A0
地址引脚 A1 A0 0 0 0 1 1 0 1 1
端 口 端 口 计数器0 计数器1 计数器2 控制字寄存器
Page 17
计数器的三个引脚
CLK时钟输入信号——计数器对该引脚输入的脉
冲进行计数,在计数过程中,此引脚上每输入一
个时钟信号(下降沿),计数器的计数值减1。
N
N
3 2
1
0 FF FE 3
2 1
0 FF
作用是外部通过一个有效沿触发信号,启 动一个选通信号给外设,选通信号在触发 后设定时间点上发出。
Page 33
模式5的工作特点:
①门控电路GATE信号为上升沿触发,计数 器才能计数; ②计数时通道输出端OUT一直为1; ③通道计数器计数到0后,OUT由1到0,同
Page 15
2. 8253的引脚分配
D7 D6 D5 D4 D3 1 2 24 V CC WR RD CS A1

8253
D1 D0 CLK 0 O U T0 G A TE 0 GND 14 12 13

D2
A0 CLK 2 OUT2 G A TE 2 CLK 1 G A TE 1 OUT1
Page 16
两次写入初值,先写低8位、再写入高8位(此顺序
不能反)
Page 41
初始化流程 先写入工作模式控制字,接着写入计数初始值
多个计数器初始化 单个计数器初始化
写模式控制字(计数器0)
写模式控制字 写计数低字节 写计数高字节
写模式控制字(计数器1) 写模式控制字(计数器2) 写计数低字节(计数器0) 写计数高字节(计数器0) 写计数低字节(计数器1) 写计数高字节(计数器1) 写计数低字节(计数器2) 写计数高字节(计数器2)
Page 42
初始化流程的注意问题
计数器的顺序是任意的,不必一定按照计数 器0、l、2的顺序初始化; 可先写所有计数器的工作模式控制字,再装
入各计数器的计数值(但先控制字再计数值
的顺序不能错); 计数值先写低再写高的顺序不能错; 其他顺序无关紧要
Page 43
例1 对8253计数器1编程,让其工作在方式2,计 数值是二进制的2000H。(思考题)
1
0
FF
作用是CPU通过指令触发一个选通信号给外设,
选通信号在触发后设定时间点上触发。
Page 31
模式4的工作特点: ①门控电路GATE信号必须为1,计数器才能
计数;
②当计数器计数到0后,需要重新装入计数值。
Page 32
模式5:硬件触发的选通信号发生器
WR CLK GATE OUT CW N=3
进行采样,来决定工作状态(计数、触发、停止、
重新臵初值);
④.在CLK的下降沿时,计数器执行部件从初值开
始作减1计数;其中0是最大初值,1是最小初值。
Page 21
注意:
启动方式(软件启动、硬件启动); GATE信号的作用,可以启动计数的有效GATE信号
(高电平、上升沿),GATE信号的变化导致计数发生的
控制字为:
0 1 1 1 0 1 0 0 B = 74 H
二进制数 先写低8位,后写高8位 方式 2
计数器 1
Page 44
设端口地址为120H~123H,则初始化程序段为:
MOV AL,74H MOV DX,123H OUT DX,AL MOV DX,121H MOV Baidu NhomakorabeaL,00H OUT DX,AL MOV AL,20H OUT DX,AL
时计数器停止工作;
Page 34
8253工作方式小结
①.方式2、4、5的输出波形是相同的,都是宽度为 一个CLK周期的负脉冲。 但方式2是连续工作,
方式4由软件(设臵计数值)触发启动
方式5由门控脉冲触发启动 ②.写入计数值后才能开始计数
方式0、2、3、4在写入计数值后,计数过程就 开始了
模式0的工作特点: ①门控电路GATE信号必须为1,计数器才能 计数; ②计数时通道输出端OUT一直为0;
③通道计数器计数到0后,OUT由0到1,同
时计数器停止工作;
Page 24
模式1:可编程的单稳态触发器
作用是输出一个用户事先设定宽度的脉冲, 脉冲宽度PW=NTCLK
Page 25
模式1的工作特点:
Page 45
;控制字 ;控制字寄存器地址
;计数器 1 地址 ;低8位字节送AL ;输出到计数器 ;高8位字节送AL ;输出到计数器
例2
设8253的端口地址为8030~8036H(偶地址),要
求设定计数器0的工作在模式0下,采用二进制计数方
第6章 常用输入输出接口芯片应用
6.4 计数器/定时器8253
教学重点
可编程计数器/定时器的原理
8253的工作方式和编程
8253的应用
Page 2
教学内容
1 概述 2 可编程计数器/定时器的工作原理 3 可编程计数器/定时器8253
Page 3
1 概述
定时器/计数器的应用举例:
Page 4
束(计数值减为0),OUT引脚上将产生一
个输出信号。
Page 19
3. 8253的工作模式
基本规则
①.控制字写入计数器时,所有的控制逻辑电路
立即复位,输出端OUT为初始状态(高电平或
低电平);
②.初值写入后,要经过1个时钟CLK的上升沿 和1个下降沿后,计数执行部件才开始计数;
Page 20
③.在CLK的上升沿时,计数器对门控信号GATE
端上的脉冲进行计数; ②当计数器计数到一半时,输出端由高变低,计数 器计数到0时,输出端OUT又跳变为高; ③通道计数器计数到0后,自动重新装入计数初值,
实现循环计数;
Page 30
模式4:软件触发的选通信号发生器
WR CLK GATE OUT CW N=3 N=3
N
N
3
2
1
0 FF FE 3
2
工作模式选择
D1
D0
数制
计数器选择
读/写方式
00 01 10 11
计数器0 00 计数器1 01 计数器2 10 不用 11
000 计数器锁存命令 模式0 0 二进制 001 只读写低字节 模式1 1 BCD ×10 只读写高字节 模式2 ×11 模式3 先读写低字节 模式4 100 后读写高字节 模式5 101 (读写16位)
①门控电路GATE是触发信号,上升沿有效,即
开始计数是由GATE的上升沿触发的;
②触发后,通道计数器开始计数,输出端OUT由
高变低; ③计数器计数到0,OUT再由低变高。
Page 26
工作模式2:分频器
WR CLK GATE OUT CW N=3
N
N
3
2
1
3
2
1
3
2
1
3
作用是把输入信号分频后以脉冲的形式输出, 而分频系数就是用户事先对通道计数器写入 的初始计数值。
定时信号的获得:
(1)软件方法
使用延迟子程序
MOV CX,1000 L1: LOOP L1
(2)硬件方法 使用计数器/定时器
Page 5
2 可编程计数器/定时器的工作原理
定时器和计数器
定时器由数字电路中的计数电路构成,通过记 录高精度晶振脉冲信号的个数,输出准确的时 间间隔。 计数值=定时时间/时钟脉冲周期 计数电路如果记录外设提供的具有一定随机性 的脉冲信号时,它主要反映脉冲的个数(进而 获知外设的某种状态),又称为计数器。
写入命令
Page 39
初始化命令
(1) 对计数器设臵初值前必须先写入控制字, 用来选择计数器、设定工作模式和计数格式;
(2) 设臵初值命令用来给出计数的初始值,初
值可以是8位,也可以是16位;
Page 40
设臵计数初始值的说明 计数初始值写入对应计数器的计数初值寄存器 ; 计数初值为8位,则控制字中的RW 1 、RW 0 应取 01,初值只写入CR的低8位,高8位会自动臵0; 若是16位初值,而低8位是0,则RW1、RW0应取 10,初值高8位写入CR的高8位,CR的低8位会自 动臵0; 若是一般16位初值,则RW1、RW0应取11,应分
Page 6
当作为计数器时:
设臵计数初值后,计数执行单元随着时钟
CLK开始减1计数,减到零时,从OUT输出端
输出一个结束信号;
当作为定时器时:
设臵好定时常数后,计数执行单元随着时 钟CLK开始减1计数,减到零时,从OUT输出 端输出信号,并按定时常数重复进行,这样不 断输出定时间隔的信号。
Page 7
计数器/定时器结构示意图
高8位 低8位 计数初值寄存器CR CLK 计数执行部件CE 高8位 低8位 OUT
GATE 高8位 低8位 输出锁存器OL
Page 8
计数器/定时器的用处 ① 在多任务的分时系统中用来作为中断信号 实现程序的切换; ② 可以向I/O设备输出精确的定时信号; ③ 作为可编程的波特率发生器; ④ 实现时间延迟。
Page 37
计数值范围
选择二进制时
计数值范围:0000H~0FFFFH
0000H是最大值,代表65536
选择十进制(BCD码)
计数值范围:0000~9999 0000代表最大值10000
计数值写入计数器各自的I/O地址
Page 38
8253的编程命令
设置控制字命令 1.初始化命令 设置初始值命令 锁存命令 2.读取计数值命令 读出命令
变化;
OUT输出波形; 计数期间向计数器写入新的计数值,计数的变化; 是否自动重新装入
Page 22
模式0:计数结束产生中断
WR CLK GATE OUT CW N=4
N
N
4
3
2
1 0 FF
计 数 结 束
装 装 计 初 控 数 值 制 开 字 始
作用是用户可在设定时间上产生中断信号
Page 23
工作模式3:方波发生器
WR CLK GATE OUT
CW N=4
N
N
4
3
2
1
4
3
2
1
4
3
2
说明:特点与方式2类似,主要区别:输出方波,其 占空比q为 ①当N为偶数时,q=0.5; ②当N为奇数时,q=(N+1)/2N。
Page 29
模式3的工作特点:
①门控电路GATE信号必须为1,计数器才能对CLK
方式1、5需要外部触发启动,才开始计数
Page 35
③.6种方式中只有方式2、3是连续计数,其他4种方 式都是一次计数,要继续工作需要重新启动,方 式0、4由写入计数值(软件)启动,方式1、5要 由外部信号(硬件)启动。
Page 36
4. 8253的控制寄存器的格式
D7
D6
D5
D4
D3
D2
相关文档
最新文档