第09章 计数器和定时器电路Intel 8253-8254-PIT

合集下载

微机第9章8253

微机第9章8253

0 0----选计数器0
0 1----选计数器1 1 0----选计数器2 1 1----无意义
写入控制口,地址A1A0=11
2、计数初值的写入
若规定只写低8位,则写入的为计数值的低8位, 高8位自动置0; 若规定只写高8位,则写入的为计数值的高8位, 低8位自动置0; 若是16位计数值,则分两次写入,先写低8位, 再写入高8位。
计数值写入计数器各自的 计数通道(端口地址)
注: ① 写入控制字后,所有控制逻辑电路复位, 输出端OUT进入初始状态。 ② CPU向8253写入的计数初值,要在CLK端输入一个 正脉冲后才能被真正装入指定通道(若在此CLK下降 沿之前读计数器,则其值是不定的)。 之后再次输入时钟脉冲(CLK)才开始计数,且每次 在脉冲的下降沿减1计数。 即:写入计数初值后,经过一个CLK,8253才开始计 数。
④ 当GATE变为低电平时计数 停止,再变为高电平时计数继 续进行。 ⑤若计数过程中重新送入初值, 则按新值重新计数。
(2)方式1——可重复触发单稳触发器
WR CLK GATE OUT 3 2 1 0 FFFE 3 2 方式1时序图 CW N=3
③计数过程中,再次给通道写入时间 ①写入CW后OUT变为高电平, GATE 常数,不影响现行操作过程,GATE再 上升沿触发后,OUT变为低并开始计数, 次触发后才按新的时间常数操作。 归零时OUT变为高电平。 ④计数过程中,GATE触发沿提前到来, ②GATE再来一次上升沿使OUT为低, 在下一个CLK的下降沿,计数器开始重 新计数,这将使输出单稳脉冲比原先 计数器以初值重新计数。 设定的计数值加宽。 可重复触发——当计数归零后,不用再次送计数值,只要给它触发脉冲,即 可产生一个同样宽度的单稳脉冲输出。

第9章_3 可编程定时计数器8253

第9章_3 可编程定时计数器8253

OUT
2
1)写入计数值开始计数。周期性计数。 2)N=偶数,正负半周=N/2,N=奇数,正半周=(N+1)/2,负半周=(N-1)/2。 3)计数过程中GATE=0,暂停计数,GATE=1重新计数。 4)计数过程中改变计数值,下一周期按新的计数值计数
9.4 可编程的定时/计数器8253/8254 方式4——软件触发选通
9.4 可编程的定时/计数器8253/8254 8253的引线及内部结构:
D0~D7
CLK0
数据 总线 缓冲
计数器 #0 (CNT0) 计数器 #1 (CNT0) 计数器 #2 (CNT0)Biblioteka GATE0OUT0 CLK1
D7 D6 D5 D4 D3 D2 D1 D0 CLK0 OUT0 GATE0 GND
9.4 可编程的定时/计数器8253/8254 方式5——硬件触发选通
WR GATE 启动计数 CLK CW=16 N=3
OUT
3 GATE OUT 3 2 3
3
2
1
0
0
GATE重复 启动计数
3
2
1
0
GATE
WR 计数中改 变计数值 OUT
CW=16
N=4
N=2 4 3 2 1 0 2 1
GATE
控制字 寄存器
•三个16位计数口: #0:CLK0、OUT0、GATE0 #1:CLK1、OUT1、GATE1 #2:CLK2、OUT2、GATE2
9.4 可编程的定时/计数器8253/8254 8253的口地址及操作:
•片内地址:A0,A1 •片选:CS •数据总线:D0~D7 •读/写信号: RD
D0 ;初始化通道0 D7 ;计数值100

第9章 计数器8253-PIT

第9章 计数器8253-PIT

注: 下面的约定适用于所有的工作方式波形图:

计数器编程采用二进制方式,只对低字节操作 计数器的片选信号 CS 一直处于低电平; CW表示控制字(Control Word);CW=10 表示10H写 入计数器; LSB表示计数器的低字节; 图下的数字表示计数值:上面的数是高字节,下面 的数是低字节;
方式2波形图
四、方式3 (方波速率发生器)
计数过程 方式3的计数过程按计数初值的不同分为两种 情况:
(1)计数初值为偶数 写入控制字后的第一个时 钟上升沿,输出端OUT变成高电平。若GATE= 1,写入计数初值后的第一个时钟下降沿开始减2 计数。减到N/2个CLK时,输出端OUT变为低电 平;再减到0时,输出端OUT又变成高电平,并 重新从初值开始新的计数过程。可见,输出端 OUT的波形是连续的方波,故称方波发生器
8253的内部结构
一、数据总线缓冲器
该缓冲器为8位双向三态的缓冲器,可直接 挂在数据总线上。通过它,一方面可以向控 制寄存器写入控制字,向计数器写入计数初 值;另一方面也可由CPU通过该缓冲器读取 计数器的当前计数值 二、读/写控制逻辑
读/写逻辑的功能是接收来自CPU的控制信 号,包括读信号RD 、写信号 WR 、片选信号 CS 和芯片内部寄存器的寻址信号A1、A0,并完成 对8253各计数器的读/写操作
方式4波形图
六、方式5 (硬件触发选通方式)
计数过程
写入控制字后,输出OUT即为高电平。写入计 数初值后,计数器并不立即开始计数,而是由门控 脉冲的上升沿触发。计数结束 (计数器减到0),输 出一个持续时间为一个CLK时钟周期的负脉冲,然 后输出恢复为高电平。直到GATE信号再次触发。 输出负脉冲可以用作选通脉冲,它是通过硬件 电路产生的门控信号上升沿触发得到的,所以叫硬 件触发选通方式

第9章 8253

第9章  8253

与系统的连接示意
8253
DB
IOW
IOR
A1
A0 高
位 地
译码器

D0~D7
WR CLK RD GATE A1
OUT A0
CS
外部时钟 门控信号
外设
应用中的注意点
n 每一次启动计数,需有两次写操作:
• 写控制字 • 写计数器初值
n 如果初值为8位字长,则一次写入;若初值为16位字长,则 需两次写入
初始化程序流程
写入全部计数器控制字
写CNT0计数初值 写CNT1计数初值
原则:
u 先写入控制字 u 后写入计数初值
写CNT2计数初值
8253应用例一
n 采用8253作定时/计数器,其接口地址为 0120H~0123H。
n 输入8253的时钟频率为2MH。要求:
• CNT0每10ms输出一个CLK周期宽的负脉冲 工启作动的方计式数器
A0
OUT0
OUT1 CS
OUT2
+5V 2MHz
8253应用例——初始化程序
CNT0: MOV DX, 0123H MOV AL,34H OUT DX,AL MOV DX, 0120H MOV AX,20000 OUT DX,AL
MOV AL,AH OUT DX,AL
CNT1: ……
CNT2: ……
: A5 A11 A10
&
&
≥1 A4 A3 A2
G1
Y
0
G2A
G2B
C B A
例二解
n 8253计数初值: n 8253初始化程序:
• 2MHz/100Hz=200 00
n 8253工作方式:

第九章_计数器8253—PIT

第九章_计数器8253—PIT

表 9-5在计数过程中改变计数值
方式 0 1 2 3 4 5 功 能 改变计数值 立即有效 外部触发后有效 计数到1后有效 (1) 外部触发后有效 (2) 计数到0后有效 立即有效 外部触发后有效
计完最后一个数中断 硬件再触发单拍脉冲 速率发生器 方波速率发生器 软件触发选通 硬件触发选通
9.4 8253-PIT的编程 的编程
8253的初始化编程步骤: 的初始化编程步骤: 的初始化编程步骤
当初始化8253某个计数通道时, (1)首先把相应的方式控制字写入到控制字寄存器中, (2)再根据控制字中数据读/写格式(D5D4)位的规定,写 入计数初值到对应的计数通道。 8253工作过程中,任一通道的计数值,CPU可用输入指令 读取。CPU读到的是执行输入指令瞬间计数器的当前值, 但8253的计数器是16位的,所以要分2次读至CPU,因 此,若不锁存的话,在前后两次执行输入指令的过程中, 计数值可能已经发生变化了
9.3 8253-PIT的工作方式 的工作方式
8253的每一个计数器都可以按照控制字的规定有 6种不同的工作方式。下面结合时序波形图介绍各种 工作方式的计数过程 一、方式0(计数结束中断方式) 计数过程 当写入方式0控制字后,OUT立即变为低电平, 并且在计数过程中一直维持低电平。若GATE=1,写 入初值后,CLK第1个下降沿到,计数值装入计数器, 随后每一个CLK脉冲下降沿到,计数器减1。计数器 减到零时,OUT输出变为高电平,并且一直保持到 该通道重新装入计数值或重新设置工作方式为止
工作方式(D3D2D1) 8253的每个通道可以有6种不同的工作方式,由 D3D2D1 三位决定,具体情况在9.3节中详细介绍 数制选择(D0) 8253的每个通道都有两种计数制:二进制和二十进制(BCD码),由D0位决定。在二进制时,写 入初值的范围为0000H~FFFFH,其中0000H是 最大值,表示65536。在二—十进制时,写入初 值范围为0000~9999,其中0000表示最大值 l0000。因为计数器是先减1,再判断是否为0, 所以写入0实际代表最大计数值

wjyl-9

wjyl-9

计数器的3个引脚说明:
(1)CLK时钟输入信号
在计数过程中,此引脚上每输入一个时钟信号(下降沿), 计数器的计数值减1

(2) GATE门控输入信号

控制计数器工作,可分成电平控制和上升沿控制两种类型
(3) OUT计数器输出信号
当一次计数过程结束(计数值减为0),OUT引脚上将产生 一个输出信号

微机原理及应用——第9章 计数器和定时器电路 Intel 8253/8254-PIT
15
微机原理及应用——第9章 计数器和定时器电路 Intel 8253/8254-PIT
16
2、8253的编程
写入命令 设置控制字命令 控制端口 设置初始值 计数器端口
读出命令 设置锁存命令 控制端口(用于配合读出命令) 读取计数器当前的值。
4
9.1 概述
1、主要功能:
1、一片8253上有3个独立的16位计数器通道,可作为 定时器或计数器使用; 2、每个计数器都可设定为按照二进制或二进制编码的 十进制(BCD)计数 ; 3、每个通道有6种工作方式,可由程序设置和改变 。
微机原理及应用——第9章 计数器和定时器电路 Intel 8253/8254-PIT
微机原理及应用——第9章 计数器和定时器电路 Intel 8253/8254-PIT
20
初始化程序: MOV
OUT MOV OUT MOV OUT MOV OUT MOV OUT MOV OUT MOV OUT
AL, 43H, AL, 40H, AL, 43H, AL, 41H, AL, 43H, AX, 42H, AL, 42H,
微机原理及应用——第9章 计数器和定时器电路 Intel 8253/8254-PIT

微机原理与接口技术_09定时计数器8253应用设计

微机原理与接口技术_09定时计数器8253应用设计
本教案内容
第9章 定时/计数器8253应用设计 1. 8253的引脚功能及特点 2. 8253的原理结构及工作原理 3. 8253的控制字及工作方式 4. 8253与系统总线的接口方法 5. 8253的应用设计
9.1 8253的引脚功能及特点
图9.1 8253引脚图
Intel公司生产的可编程定时/计数器 8253 采用 24脚的DIP封装,用作分频器、定时信号产生器等。
lll 定时/计数器8253一共有三个独立的计数通道 (也称计数器):计数器0、计数器1、计数器2。
每个计数通道的内部结构如下图所示,在 每个计数通道中主要包含四个部件:计数寄存 器 CR(Count Register,16 位 ) 、 计 数 工 作 单 元 CE(Counting Element,16 位 ) 、 输 出 锁 存 器 OL(Output Latch, 16 位 ) 、 控 制 字 寄 存 器 (Control Word Register,8位)。 每个计数通道有 三个输入输出信 号:时钟(计数 脉冲)CLKx(输 入)、控制信号 GATEx(输入)、 输出信号OUTx (输出)。
方式1具有下列一些特点: 在臵控制字或时常数后, OUT 端仍输出高电平 ; 在 GATE 端输入有效的触发信号(上升沿),并 经过一个CLK脉冲,OUT变为低电平,作为单脉冲 的开始,同时将CR读入CE,并开始“减1”计数; 当 CE计数到 0时, OUT端变为高电平,表示本次 单脉冲形成结束; 当计数通道的时常数为 N 时,硬件触发所产生 的单脉冲(低电平)的宽度为 N 个计数时钟周期 ;
方式控制字的M1M2M3位(M2M1M0)用于设定计数 通道的工作方式: M2M1M0 0 0 0 0 0 1 ×1 0 ×1 1 1 0 0 1 0 1 含 义 方式0 方式1 方式2 方式3 方式4 方式5

第 9 章 计数器和定时器电路——微机原理课件PPT

第 9 章  计数器和定时器电路——微机原理课件PPT

计数器的3个引脚
CLK(时钟)——输入,在计数过程中,此引脚上每 输入1个时钟信号(下降沿),计数器的计数值将减1
GATE(门控)——输入,控制计数器工作:
开启/关闭计数——高电平时允许计数通道工作 触发/重触发——上升沿产生触发或重触发
OUT(计数器输出)——输出,根据设置工作方式的 不同, OUT引脚可输出单个或连续的波形信号。一般 是在计数过程结束时(计数值归0),OUT引脚信号 发生变化。
9.1.3 8253-PIT的引线
D7 D6 D5 D4 D3 D2 D1 D0 CLK0 OUT0 GATE0 GND
1
24
2
23
3
22
4
21
5
20
6
19
7 8253 18
8
17
9
16
10
15
11
14
12
13
VCC
WR RD CS A0 A1
CLK2 OUT2 GATE2 CLK1 GATE1 OUT1
00 计数器锁存命 令
01 只读写低字节 10 只读写高字节 11 先读写低字节
后读写高字节
000 方式0 001 方式1 010 方式2 011 方式3 100 方式4 101 方式5
0 二进制 1 十进制(BCD)
控制字写入控制字I/O地址(A1A0=11)
9.3 8253/8254的工作方式
对计数器 1 设置计数初值
对计数器 2 设置计数初值
控制字写入控制寄存器
从计数器 0 读计数值
从计数器 1 读计数值
从计数器 2 读计数值
无操作,三态
无操作,三态
未选中
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

例4:使计数器T1工作于方式4,进行8位二进 制计数,并且只装入高8位计数值。 (设8253 的端口地址为304H~307H) 其初始化程序段为: MOV DX,307H ;命令口 MOV AL,00110100B ;方式字 OUT DX,AL MOV DX,304H ;T2数据口 MOV AL,BYTEL ;低8位计数值 OUT DX,AL
01--只读/写低8位字节
10--只读/写高8位字节 11--只读/写低8位字节, 再读/写高8位字节.
01--选计数器1
10--选计数器2 11--无意义
1
0
1
模式5
9.2.4 8253计数器的初始化 1.8253的初始化编程 对8253初始化的两种方法: (1)逐个计数器分别初始化
对三个计数/定时没有先后顺序规定,但对每个
例2:使计数器T2 工作在方式1 ,进行8位二 进制计数,并设计数初值的低8位为BYTEL。 (设8253的端口地址为304H~307H) 其初始化程序段为 MOV DX,307H ;命令口 MOV AL,10010010B ;方式字 OUT DX,AL MOV DX,306H ;T2数据口 MOV AL,BYTEL ;低8位计数值 OUT DX,AL
来说,都必须先写方式控制字,后设置计数初值,
且写计数初值时,必先写计数值的低8 位,再写计
数值的高8 位。 (2)先统一设置控制字,后统一设置计数初值 先设置所有计数/定时器的控制字(对各个计数 /定时器没有先后顺序),再设置各个计数/定时器
的计数初值(对各个计数/定时器没有先后顺序)。
2.8253读命令 8253的读命令只能用于读取计数器的当前 值,而控制字是不能读出的。读计数值有两种 方法:直接读出和锁存读出。 3 .计数器/定时器的工作特点 1)门脉冲控制时钟输入; 2)用门脉冲来重新启动计数; 3)用门脉冲停止计数; 4)单一计数; 5)循环计数。 计数初始值=时钟频率*T
第9章 计数器和定时器电路Intel 8253-8254-PIT 一、课前思考 1、定时或延时常用的方法有哪? 2、8253有哪些基本功能? 3、8253的内部结构及引脚功能如何? 4、如何进行控制字设置及初始化编程? 5、8253有哪些工作方式?各种方式有何特点? 二、学习目标 1、了解定时基本概念; 2、熟悉可编程计数器/定时器8253的外部特性; 3、熟悉可编程计数器/定时器8253工作模式; 4、熟悉可编程计数器/定时器8253初始化。
9.2 可编程定时器/计数器8253 9.2.1 8253的基本功能 8253的基本功能如下: (1)片内含有3个独立的16位减法计数器 (或计数通道),分别称为计数器0通道、1 通道、2通道,每个计数器又分成两个8位计 数器。 (2)每个计算器有两种计数方式:二进制计 数或BCD码计数。 (3)计数频率为0-2.6MHz。 (4)每个计数器具有六种工作方式。 (5)可作计数器或定时器。
6种工作方式的比较 方式0 (门控单稳)和方式1 (门控单稳),这 两种方式的输出波形类似。 方式2 (分频器)和方式3 (方波发生器),这两 种方式共同的特点是具有自动重加载功能(装入初 值)。二者的区别在于:方式2在计数过程中输出 高电平,而在每当减1至0时输出宽度为1个TCLK的 负脉冲。方式3是在计数过程中,OUT的信号是占空 比为1:1的方波或近似方波。 方式4 (软件触发单脉冲)和方式5 (硬件触发单 脉冲)。这两种方式的OUT输出波形相同,两者的 区别是计数启动的触发信号不同,前者由写初值启 动计数,后者由GATE信号的上升沿启动计数)。
例1:使计数器T1工作在方式0 ,进行16位二 进制计数,计数初值的高低字节分别为 BYTEH和BYTEL。 (设8253的端口地址为304H~307H) 其初始化程序段为: MOV DX,307H ;命令口 MOV AL,01110000B ;方式字 OUT DX,AL MOV DX,305H ;T1数据口 MOV AL,BYTEL ;计数值低字节 OUT DX,AL MOV AL,BYTEH ;计数值高字节 OUT DX,AL
分频器
方式2说明:输出连续脉冲波 正常计数过程: 写入控制字后的时钟上沿输出OUT变高,写入 计数初值后,计数器开始减1计数,减到1时OUT 变成低电平,减到0时OUT又变成高电平,同时初 值自动重新装入,并重复前一过程; 门控信号的影响: 在计数器工作期间,当GATE变为低电平时终止计 数,而当GATE又恢复为高电平后,计数器重新装 入原计数初值并重新开始计数。 新的计数初值的影响: 如果工作期间对计数器写入新的计数初值: GATE一直为高电平:新的初值下次有效,则 写入新的初值后,遇到GATE上升沿,新的初值立 即有效
实现定时或延时的方法: (1)软件定时 例:MOV CX,1000 XXX:LOOP XXX (2)不可编程的硬件定时 例:用NE555集成块作定时控制的电路 (3)可编程的硬件定时 例:用8253芯片作定时控制的电路
软件定时、延时的优点:
节省硬件开销,使成本低。
软件定时、延时的缺点:
CPU的效率低,定时、延时时间不准。 硬件定时、延时的优点: CPU的效率高,定时、延时时间准确。 硬件定时、延时的缺点: 硬件开销大,使成本变高。
PC机中,计数器0通道用作时钟的基准时
间,计数器1通道用于动态存储器刷新的定时
ห้องสมุดไป่ตู้
中断,计数器2通道用于控制系统中扬声器发
声。
可编程:可通过程序指定或选择接口的工
作方式及工作参数。
通过对控制寄存器的设置,可以指定8253
的工作方式;通过对计数器寄存器的设置,可
以控制定时或延时的长短。
9.2.2 8253的内部结构及引脚功能
8253的内部结构由六部分组成,分别为
数据总线缓冲器、读/写控制逻辑、控制 字符存储器及三个独立的计数器。
1.数据总线缓冲器 往计数器设置计数初值; 从计数器读取计数值; 往控制寄存器设置控制字。 2.读/写逻辑电路 A1 A0:端口选择 0 0:通道0(0号计数器) 0 1:通道1(1号计数器) 1 0:通道2(2号计数器) 1 1:控制字寄存器
方式0——计数结束产生中断
方式0有如下3个特点: • 正常计数过程:写入控制字后的时钟上升沿OUT变低, 当向计数器写完计数初值后,开始减1计数,在计数 过程中输出端OUT一直保持低电平,当计数器减到0 时,OUT立即变成高电平。 • 门控信号的影响:门控信号GATE为高电平时,计数 器工作;当GATE为低电平时,计数器停止工作,其 计数值保持不变。如果门控信号GATE再次变高时, 计数器从中止处继续计数。 • 新的计数初值的影响:在计数器工作期间,如果重 新写入新的计数值,计数器将按新写入的计数初值 重新开始计数。
3.通道0、通道1、通道2 计数器0: CLK0——计数器0的时钟输入。 GATE0——计数器0的门脉冲控制输入。 OUT0——计数器0的输出。 计数器1: 计数器2: 定时系数(计数初值)n =定时时间t时钟频率fc =定时时间t/时钟脉冲周期Tc
编程结构
8253的引脚图
8253读写操作及端口的选择
例3:使计数器T0 工作在方式2 ,进行16位二 进制计数。 (设8253的端口地址为304H-307H) 其初始化程序段为 MOV DX,307H ;命令口 MOV AL,00110100B ;方式字 OUT DX,AL MOV DX,304H ;T0数据口 MOV AL,BYTEL ;低8位计数值 OUT DX,AL MOV AL,BYTEH ;高8位计数值 OUT DX,AL
9.2.3 8253的控制字格式
SC1 SC0 RW1 RW0 M2 M1 M0 BCD 1--计数值为BCD码格式 0--计数值为二进制格式
M2 M1 M0 模式选择 00--对计数器进行锁存 00--选计数器0
0
0 / / 1
0
0 1 1 0
0
1 0 1 0
模式0
模式1 模式2 模式3 模式4
硬件触发的选通信号发生器
• 方式5说明:输出单次单拍负脉冲(硬件触 发) 方式5与方式4的区别: 由GATE上升沿触发计数器数器。 • 方式5工作特点是开始工作。
– 1)在方式5工作方式下,当写入计数初值后,计 数器并不立即开始计数,而要由门控信号的上升 沿启动计数。 – 2)在计数过程中(或者计数结束后),如果门 控再次出现上升沿,计数器将从原装入的计数初 值重新计数。
软件触发的选通信号发生器
方式4说明:输出单次单拍负脉冲(软件触发) 正常计数过程: 写入控制字后的时钟上沿输出OUT变高,写入 计数初值后,计数器开始减1计数,减到0时OUT 变低1个时钟周期,然后又恢复成高电平。 门控信号的影响: 在计数器工作期间,GATE=1允许计数,GATE=0 禁止计数,输出OUT维持当时的电平,只有计数 减到0时OUT才变低1个时钟周期,然后又恢复成 高电平。 新的计数初值的影响: 任何时候对计数器写入新的计数初值,只要 GATE=1,就会立即终止现行的计数过程,而按新 写入的计数初值开始工作。
方波发生器
方式3 与方式2的不同之处: OUT输出的是方波。 • 说明:
– (1)工作在方式3 ,引脚OUT输出的不是一个时 钟周期的负脉冲,而是占空比为1:1或近似1:1 的方波;当计数初值为偶数时,输出在前一半的 计数过程中为高电平,在后一半的计数过程中为 低电平。(输出脉冲占空比为50%) – (2)由于方式3输出的波形是方波,并且具有自 动重装计数初值的功能,因此,8253一旦计数开 始,就会在输出端OUT输出连续不断的方波。
计数器和定时器的异同点
相同点: 计数器是设置好计数初值(定时常数)后,便 开始减1计数,减为“0”时,输出一个信号。 定时器是设置好定时初值(计数常数)后,便 开始减1计数,并按定时常数不断地输出为时钟周 期整数倍的定时间隔。 对内部来说,工作过程没有本质的差别,都是 基于计数器减“1”。 不同点: 计数时,在减到“0”后,输出一个信号便结束; 定时时,则不断产生信号,是一个反复过程。
相关文档
最新文档