第八章(2)定时器8253
第八章 8253定时计数器(例程)
➢ 在计数过程中,如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端输出一个负脉冲,并重新读入 时常数进行计数;
微型计算机原理及接口技术第8章8253
计数器/定时器的内部结构
8253内部包含三个完全一样的计数器/定时器通道, 每个通道的工作是完全独立的
每个通道包含:
① 一个8位控制字寄存器:由编程设定该通道的工作方式、读 写格式和数制
② 一个16位计数初值寄存器:由程序设定初始计数值,可分 成高8位和低8位两个部分,可作8位寄存器使用
③ 一个计数器执行部件(实际的计数器):实际上是一个16 位减法计数器,它的起始值是初始寄存器的值,由程序设 定。可分成高8位和低8位两个部分
优点:电路结构简单,价格便宜,通过 改变电阻或电容值,可以在一定的定时 范围内改变定时时间
缺点:电路在硬件已连接好的情况下, 定时时间和范围就不能由程序来控制和 改变,而且定时精度也不高
555定时器外部引脚和内部结构
可编程硬件定时
定时原理:利用可编程定时器/计数器芯 片附加硬件电路实现定时
输出信号的波形由工作方式决定,同时还要受 到GATE引脚上的门控信号控制,它决定是否 允许计数
计数器/定时器的定时功能
当加到CLK引脚上的脉冲为精确的时钟脉 冲,可实现定时的功能。
定时时间决定于计数脉冲的频率和计数 器的初值。
定时时间=时钟脉冲周期×预置的计数初值
计数器/定时器的计数功能
方式1:可编程单稳态输出方式
写入控制字后OUT初始状态:高电平 门控信号GATE的作用:①高电平或低电平均不起作用;
②只有在GATE发生由低到高的正跳变,输出OUT由高
到低跳变,并开始计数;③在计数过程中,若GATE产 生负跳变,不影响计数;④在计数器回0之前,GATE 又产生由低到高的正跳变,8253又将初始值装入,重 新开始计数,使生成脉冲加宽。 计数过程中OUT状态:保持低电平 计数结束OUT状态:发生由低到高的正跳变。 计数器回0后,是否重新计数:否 应用:用于定时
第八章_可编程计数器定时器8253及其应用(车辆)
1、软件定时:利用微处理器执行一个延时程序段实现。
通用性、灵活性好,不需硬件;但在定时过程中,占用CPU的
时间资源。
2、不可编程硬件定时:采用分频器、单稳电路或简
易定时电路等硬件控制定时时间。通用性、灵活性差,其电
路参数决定后,无法改变定时时间。但不占用CPU的时间。
ห้องสมุดไป่ตู้
3、可编程硬件定时:软件硬件相结合、用可编程定时
25
2017/3/12
第8章 可编程计数器定时器8253及其应用
2)连接
接口地址: FF04H~FF07H
图
26 8253 与8088系统总线的连接
2017/3/12
第8章 可编程计数器定时器8253及其应用
5 8253初始化及其应用
8253无复位引脚,上电后各寄存器的值不定,其工作方
式也是随机的。使用前必须对其进行初始化。
(假定计数值只有低8位),其程序段为
MOV DX,307H AL,01000000B
;命令口 ;1号计数器的锁存命令 ;写入命令寄存器 ;1号计数器数据口
L :MOV
OUT DX,AL MOV DX,305H
IN AL,DX
CMP AL,0FFH JNE L HLT
12
;读1号计数器的当前计数值
28
另一种初始化编程顺序 2017/3/12
第8章 可编程计数器定时器8253及其应用
程序段1如下:(假设端口地址40H、41H、42H、43H)
MOV AL,36H ;计数器0,双字节,方式3,二进制计数
OUT
MOV OUT OUT
43H,AL
AL,0 40H,AL 40H,AL
可编程定时器计数器8253及其应用
第八章可编程定时器/计数器8253及其应用【回顾】可编程芯片的概念,端口的概念。
【本讲重点】定时与计数的基本概念及其意义,定时/计数器芯片Intel8253的性能概述,内、外部结构及其与CPU的连接。
8.1 定时与计数1.定时与计数在微机系统或智能化仪器仪表的工作过程中,经常需要使系统处于定时工作状态,或者对外部过程进行计数。
定时或计数的工作实质均体现为对脉冲信号的计数,如果计数的对象是标准的内部时钟信号,由于其周期恒定,故计数值就恒定地对应于一定的时间,这一过程即为定时,如果计数的对象是与外部过程相对应的脉冲信号(周期可以不相等),则此时即为计数。
2.定时与计数的实现方法(1) 硬件法专门设计一套电路用以实现定时与计数,特点是需要花费一定硬设备,而且当电路制成之后,定时值及计数范围不能改变。
(2) 软件法利用一段延时子程序来实现定时操作,特点,无需太多的硬设备,控制比较方便,但在定时期间,CPU不能从事其它工作,降低了机器的利用率。
(3) 软、硬件结合法即设计一种专门的具有可编程特性的芯片,来控制定时和计数的操作,而这些芯片,具有中断控制能力,定时、计数到时能产生中断请求信号,因而定时期间不影响CPU的正常工作。
8.2 定时/计数器芯片Intel8253Intel8253是8086微机系统常用的定时/计数器芯片,它具有定时与计数两大功能。
一、8253的一般性能概述1.每个8253芯片有3个独立的16位计数器通道;2.每个计数器通道都可以按照二进制或二—十进制(BCD码)计数;3.每个计数器的计数速率可以高达2MHz;4.每个通道有6种工作方式,可以由程序设定和改变;5.所有的输入、输出电平都与TTL兼容。
二、8253内部结构8253的内部结构如图8-1所示,它主要包括以下几个主要部分:图8-1 8253的内部结构1.数据总线缓冲器实现8253与CPU数据总线连接的8位双向三态缓冲器,用以传送CPU向8253的控制信息、数据信息以及CPU从8253读取的状态信息,包括某时刻的实时计数值。
第八章可编程计数器定时器8253 微机原理与接口技术 教学课件(共45张PPT)
1、8位的控制(kò ngzhì) 存放器
2、16位的CR
备注: 一、编程结 构: 1、8位的控 制存放器
2、16位的计 数初值存放器 CR 3、16位的计 数执行部件 CE
4、16位的 输出锁存器
OL
3、16位的CE:减 法(jiǎnfǎ)计数器
4、16位的OL: 锁存CE的内容
注:CR、CE、OL都为16位存放器,也可作8位存放器用
OUT 46H, AL
;1011×110B
;设控制字
/ TCLK
MOV AX, 2000
= FCLK / FOUT OUT 44H, AL
=2MHZ/1KHZ MOV AL, AH
=2000
OUT 44H, AL ;设初值
=7D0H
第二十八页,共45页。
5、方式4-软件触发(chùfā)的选通信号
使其工作于方式(fāngshì)3,计数初值为1234H,计数
按二
进制格式。编写程序将计数值读到BX存放器。
MOV AL,36H ; 0011×110B
MOV AL,00H ;0000 ××××H
OUT 46H,AL ;设控制(kòngzhì)字 MOV AL,34H
OUT 46H,AL ;锁存命令(mìng lìng) IN AL,40H
数过程(guòchéng),从下一个时钟开始按新初值计数, 初值减为1前OUT一直维持高电平。
③ 软件同步:通过写入初值使计数器同步。
第二十五页,共45页。
4、方式(fāngshì)3-方波发生器
特点(tèdiǎn):1〕计数 过程 该方式工作过程 (guòchéng)同方式2 ,只是输出脉宽不同 。
( y ì 2、适用场合(chǎng hé):各种
微机原理-8253
8253工作方式特点: 8253工作方式特点: 工作方式特点
方式0 在写入控制字后,输出端即变低,计数结束后, 方式0,在写入控制字后,输出端即变低,计数结束后,输 出端由低变高,常用该输出信号作为中断源。 出端由低变高,常用该输出信号作为中断源。 方式1 用来产生单脉冲。 方式1,用来产生单脉冲。 方式2 用来产生序列负脉冲,每个负脉冲的宽度与CLK脉冲 方式2,用来产生序列负脉冲,每个负脉冲的宽度与CLK脉冲 CLK 的周期相同。 的周期相同。 方式3 用来产生连续的方波。方式2和方式3 方式3,用来产生连续的方波。方式2和方式3都实现对时钟 脉冲进行n分频。 脉冲进行n分频。 方式4和方式5 波形相同,都在计数器回0 方式4和方式5的波形相同,都在计数器回0后,从OUT端输出 OUT端输出 一个负脉冲,其宽度等于一个时钟周期。 一个负脉冲,其宽度等于一个时钟周期。 方式0 方式0、1和4,计数初值装进计数器后,仅一次有效。方式2,3 计数初值装进计数器后,仅一次有效。方式2 在减1计数到0值后,8253会自动将计数值重装进计数器 会自动将计数值重装进计数器。 和5,在减1计数到0值后,8253会自动将计数值重装进计数器。
可编程定时器/计数器8253
8253可编程定时器 计数器的主要性能: 可编程定时器/计数器的主要性能 可编程定时器 计数器的主要性能: 个独立的16位计数器 有3个独立的 位计数器 个独立的 工作方式可编程控制 计数脉冲频率0~2MHz 计数脉冲频率 可以按二进制或BCD码计数 可以按二进制或BCD码计数 使用单一+5V电源 电源 使用单一
方式2:频率发生器(n分频器)
CLK
WR
GATE OUT
n=4
4
3 2
1 0 4 3
第八章-计数器定时器8253
1、硬件串联
CLK0 GATE0 OUT0
+5V CLK1
GATE1 OUT1
2、软件计数,开辟内存单元
例4 利用8253提供可编程的采样信号 (P322) C/T0,时钟频率F, 初值L,模式2 C/T1,时钟频率? ,初值M,模式1 C/T2,时钟频率F ,初值N,模式3
第8章:8.2 8253在IBM PC系列机上的应用 8253
§8.2 可编程计数器/定时器8253
§8.2 可编程计数器/定时器8253 一、8253的结构和工作原理
8254是8253的改进型
§8.2 可编程计数器/定时器8253
D7~D0
数据总线 缓冲器
内
RD
部
WR
读写控制
A0
逻辑
数
A1
据
CS
总
控制字
寄存器
线
计数器0 计数器1 计数器2
CLK 0 GATE 0 OUT 0
01 计数器101 只读写低字节001 方式1
10 11
计数器2 10 非法 11
只读写高字节010 先后读读写写低高字字节节011100101
方式2 方式3 方式4 方式5
0 二进制 1 十进制
控制字写入控制字I/O地址(A1A0=11)
示例
第8章:2. 写入计数值
选择二进制时
计数值范围:0000H~FFFFH 0000H是最大值,代表65536
器(方式3),要求输出为10个时钟周期的方 波,写出所需的命令字。
设8253的地址:0060H~0066H
MOV AL, 01010111B OUT 66H, AL MOV AL, 10H OUT 62H, AL
第八章 可编程计数器定时器8253及其应用
LSB=4 CR=4
CLK GATE
OUT CRCE 4 CRCE 2 4 CRCE 2 4 CRCE 2 4 CRCE 2 4
8253方式3 计数初值为奇数时的波形 CW=16H WR LSB=5
CR=5
CLK GATE OUT
CRCE
5 4
CRCE 2 5 2
CRCE 5 4
CRCE 4 3
8253方式0
两种特殊情况:
中途改变计数初值
CW=10H WR CR=3 CLK GATE OUT CR=3 LSB=3
LSB=3
CRCE 3 2
CRCE 1 3 2
1
0
8253方式1
2、方式1——可编程单稳态输出方式
时序图
CW=12H WR
LSB=3 CR=3
CLK GATE
OUT
CRCE
CRCE 3 2
1
0
8253方式1
工作过程
① 写入控制字,OUT立即变为高,并保持不变。 ② 写计数初值N,只有当GATE形成一个上升沿时,才在
下一个时钟脉冲的下降沿,将n装入实际计数器,同 时OUT由高变为低,开始减1计数(再来一个脉冲)。
③ 计数期间,OUT一直为低;当计数结束(计数值为0)
8253综述
Intel 8253是一种可编程的计数器/定时器芯片。 8253内部具有3个独立的16位计数器通道,通过对
它进行编程,每个计数器通道均有6种工作方式,并 且都可以按2进制或10进制2种格式进行计数,最高 计数频率能达到2MHz。 8253还可用作可编程方波频 率产生器、分频器、程控单脉冲发生器等。
教材第八章内容
第八章 可编程计数器/定时器8253及应用
微机原理课_8253
8.1 概述
1、应用场合
在微机系统中,要求对外部信号进行计数 或要求对时间进行精确定时----计数/定时器. 计数由外部脉冲信号提供,当达到设定的计数 值时,输出一个电平信号,告知外部设备已经计 满。定时时间基准由8086内部时钟源提供,经 定时钟分频后得到所需的时间信号,当定时时 间到后也输出一个电平信号,告知外部设备定 时时间到。
8253初始化编程要求
1、8253三个端口有各自独立的地址,控制字分别对
各端口的工作方式进行设置。 2、对某一个端口设置初值时,先设置控制字 3、设置初值时,要符合D5、D4的规定,分别输入计 数值。(16位计数值要用两条指令写入计数值) 4、锁存(D5D4=00)的目的是:在CPU读取计数值前 先用锁存命令锁存减1计数器的当前值,否则得不到 正确的结果,CPU取走数据后,锁存功能自动失锁 5、编程顺序:先写入控制字到控制寄存器,然后写 入计数初值到所确定的计数器端口!!!
2、定时与计数的三种方式
1) 软件定时: 利用 CPU 每执行一条指令都需要几个固定的 指令周期的原理,因此执行一个程序段就需要一 定的时间,运用软件编程的方式,通过改变指令 执行的循环次数就可以控制定时时间,由于它占 用了CPU,因而降低了CPU的利用率。 例: MOV CX,1000H DEALY: MOV BX,1000H LOOP DEALY
15 14 13
CLK1 GATE 1 OUT1
计数器
第八章__定时器计数器8253
3.
引脚及其功能
• 数据线D7~D0:双向、三态。用于将8253/8254芯片与 系统数据总线相连,在芯片与CPU之间传送数据、命令 、状态信息。 • A1A0:片内端口选择线,输入。这两根线一般接到系 统地址总线的A1、A0 上。当-CS=0时8253/8254芯片被 选中,这两位地址线用来选择片内四个端口地址(三个 计数器的端口和一个控制字寄存端口),以便进行读写。 (当A1A0=00、01、10时,分别选计0、计1、计2) • 当A1A0=11时选中片内的控制寄存器,将命令字写入其 中。该控制寄存器只写,不可读。 • CLK:计数器时钟(计数脉冲)输入端。三个独立的 计数器,各自有一个独立的输入时钟脉冲信号CLK0、 CLK1、CLK2,每输入一个时钟脉冲信号CLK,计数器 中同步递减计数器CE的当前计数值便减1,进行计数或 定时控制。
2.
方式1(可编程单脉冲发生器)
• 在该方式中,写入方式命令字和装入计数初 值到计数寄存器后,计数器输出端OUT为高 电平。在GATE输入端出现一个上升沿后,计 数器使输出端OUT降为低电平,开始计数; 当计数值减到0,输出端恢复为高电平,完成 一个单脉冲输出过程。 显然输出端负脉冲的宽度与计数值的大小有 关,设预置计数值为N,计数时钟周期为TCLK, 那么输出负脉冲宽度就是N×TCLK。所以这是 一个可编程控制的单稳态发生器,如下图所 示。
(1) 控制字写入计数器时,所有的控制逻辑电路立即复位, 输出端OUT进入初始状态。该初始状态与工作方式有关, 设置成方式0时,OUT的初始状态为低电平,设置成其他工 作方式,OUT的初始状态为高电平。 (2) 初始值写入初值计数器CR以后,要经过一个时钟脉冲的 上升沿和下降沿,将初值送入计数执行单元,计数执行单 元从下一个时钟开始进行计数。 (3) 通常,在时钟脉冲CLK的上升沿对门控信号GATE进行采 样,各计数器的门控信号的触发方式与工作方式有关。在 方式0、方式4中,门控信号为电平触发;方式1、方式5中, 门控信号为上升沿触发;方式2、方式3中,即可用电平触 发,也可用上升沿触发。 (4) 在时钟脉冲的下降沿计数器进行计数。0是计数器所能 容纳的最大初值,因为用二进制计数时,16位计数器,0 相当于216,用BCD码计数时,0相当于104。
微机原理第8章 8253及其应用
第八章
软件定时: 软件定时 : 就是根据所需要的时间常数来设计一个延 迟子程序, 这样作的优点是节省硬件, 但耗费CPU CPU的 迟子程序 , 这样作的优点是节省硬件 , 但耗费 CPU 的 资源较多, 降低了CPU 效率, 且编写软件略显麻烦, CPU效率 资源较多 , 降低了 CPU 效率 , 且编写软件略显麻烦 , 通常延迟时间较小且重复次数有限的情况下, 通常延迟时间较小且重复次数有限的情况下 , 使用该 方法. 方法. 硬件定时:采用电子器件构成定时或延时电路. 硬件定时:采用电子器件构成定时或延时电路.电路 触发后延时时间的长短由电路中的定时元件的RC RC值 触发后延时时间的长短由电路中的定时元件的 RC 值 RC时间常数 所决定,这种定时方法的缺点是, 时间常数) (RC时间常数)所决定,这种定时方法的缺点是,要 改变定时间隔必须改变电路元件,不灵活. 纯硬件) 改变定时间隔必须改变电路元件,不灵活.(纯硬件) 可编程硬件定时 采用可编程的计数/定时芯片完成. 可编程硬件定时:采用可编程的计数/定时芯片完成. 硬件定时: 可编程的计数 定时值及其可调整范围, 定时值及其可调整范围 , 都可以通过软件编程确定和 改变,功能灵活使用方便. 软硬件结合) 改变,功能灵活使用方便.(软硬件结合) 可编程计数器/定时器 就是这种芯片. 可编程计数器 定时器Intel 8253就是这种芯片. 定时器 就是这种芯片
CLK确定的情况下,一个定时器的最长定时时间= CLK确定的情况下,一个定时器的最长定时时间=?? 确定的情况下 对应的计数初值是?? 对应的计数初值是??
的工作原理 二, 8253的初始化步骤和门控信号的功能 8253的工作原理 8253的初始化步骤和门控信号的功能 1. 初始化步骤: 初始化步骤: (1) 写入控制字; 写入控制字; (2) 按控制字要求写入计数初值. 按控制字要求写入计数初值. 计数初值N 计数初值N=fCLK/fOUT =TOUT/TCLK
实验八定时器计数器8253实验
8253是Intel公司生产的一款可 编程定时器计数器。
它具有3个独立的16位计数器, 每个计数器都可以独立编程和控
制。
8253的计数器可以用于产生时 间间隔、脉冲信号、PWM(脉
宽调制)等。
8253的工作原理
825ቤተ መጻሕፍቲ ባይዱ的每个计数器都有一个预置 值,当计数达到预置值时,计数 器会自动回置并触发一个中断或
实验八:定时器计数器8253实验
contents
目录
• 实验简介 • 8253定时器计数器概述 • 实验步骤与操作 • 实验结果与分析 • 实验总结与思考
01 实验简介
实验目的
掌握8253定时器计 数器的工作原理。
了解定时器在计算机 系统中的应用。
学习如何编程控制 8253定时器计数器。
实验设备
01
微机实验箱
02
8253定时器计数器芯片
03
示波器
04
信号发生器
02 8253定时器计数器概述
定时器计数器的基本概念
定时器计数器是一种用于产生 时间间隔或计数的电子设备。
它通常由石英晶体振荡器驱动, 以提供稳定的计时基准。
定时器计数器广泛应用于计算 机、通信、自动化等领域。
8253的特性和功能
配置8253定时器计数器
设置工作模式
根据实验要求,选择适当的定时/计数 模式,如计数模式、定时模式或门控 模式等。
设置定时/计数初值
启动定时/计数
通过微处理器发送控制信号,启动 8253定时器计数器的定时/计数操作。
根据实验要求,设置适当的定时/计数 初值,以满足实验条件。
启动和观察实验结果
启动实验
加强实践环节
为了更好地理解和掌握相关知识,建议增加更多的实践环节,例 如组织小组讨论、分享经验等。
第8章:定时计数器8253
一、内部结构
8253定时/计数器的工作原理 定时/计数器的核心部件为可预置初值计数器。 预置初值后开始计数,CLK信号每输入一个脉冲, 计数值减1,一直减到0,并且OUT脚同时产定时器 的容量即位数
GATE门控 信号 计数脉冲 CLK 输入
可预置初值计数器
允许 允许 ——
三、设置工作方式和计数值 对8253设置工作方式和设置计数值是连续 进行的。 步骤是:
1、对控制端口写:设置工作方式及计数值格式 2、对计数端口写:计数值低8位(可选) 3、对计数端口写:计数值高8位(可选)
控制字格式:
D7 SC1
D6 SC0
D5 RL1
D4 RL0
D3 M2
OUT 输出
计数初值
说明: 1、每个计数器各有三根I/O线 CLK:时钟信号输入 OUT:计数器输出 GATE:门控信号,用于启动或允许计数器工作
2、通过对控制寄存器写操作,来设置工作方式。 3、有A1A0两条地址线,在PC机中的端口地址是40H~43H。 A1 A0 端口 定义 0 0 40H 0#计数器 0 1 41H 1#计数器 1 0 42H 2#计数器 1 1 43H 控制寄存器
D2 M1
D1 M0
D0 BCD
SC1 SC0 :选择计数器(0#,1#,2#) M2M1M0:设置工作方式(0~5) RL1 RL0 00 01 10 11 设置计数值格式 当前计数值锁存到输出缓冲器 写 / 读计数值的低8位 写 / 读计数值的高8位 写 / 读计数值的16位(先低8位,后高8位)
每次设置
方式 5
启动点
只设一次
启动方式的比较: 工作方式 方式 0 方式 1 启动方式 软件触发 硬件触发
微机原理ch8
及其应用可编程计数器//定时器8253及其应用第八章可编程计数器主要内容§8-1 引言§8-2 8253的工作原理§8-2 8253的应用举例引言1 引言§8-1引言在微型计算机系统中,常需要用到定时功能。
例如:(1)按一定的时间间隔对动态RAM进行刷新;(2)扬声器的发声;(3)在计算机实时控制和处理系统中,按一定的采样周期对处理对象进行采样,或定时检测某些参数;(4)对外部事件进行计数。
这些情况下都需要用到定时信号,实现定时功能主要有三种方法:1、软件定时最简单的定时方法,完全由软件编程来控制改变定时时间,方便且节省费用;但CPU的利用率低,不通用。
2、不可编程的硬件定时使用不可编程器件设计数字电路实现计数或定时,但必须视要求改变电路参数,可以在一定的范围内改变定时时间。
在硬件已连接好的情况下,定时时间和范围就不能由程序来控制和改变,定时精度不高。
如:555及74LS190。
3、可编程的硬件定时可编程定时器/计数器电路利用硬件电路和中断方法控制定时,定时时间和范围完全由软件来确定和改变,并由微处理器的时钟信号提供时间基准,计时精确稳定。
与CPU并行工作,不占用CPU时间,应用比较广泛,如8253,8254。
§8-2 8253的工作原理一、8253的性能指标Intel 8253就是一种计数器/定时器芯片,被称为可编程间隔定时器(Programmable Interval Timer,PIT)。
性能指标如下:(1)NMOS,24脚双列直插式封装,+5V电源;(2)包含3个独立的16位计数器,最高计数频率高达2MHz;(3)所有的计数方式,操作方式都通过编程控制。
引脚图如下:二、8253内部结构和功能对照内部结构图,介绍8253内部的各组成部分的功能。
1、数据总线缓冲器是8253与系统数据总线的接口,由8位双向三态缓冲器构成,实现数据的输入和输出,通过编程确定8253的工作方式和时间常数。
可编程定时计数器8253及其应用
CW=1A WR
LSB=3
CLK
GATE
OUT
3 2 3 2 1 0 FF
* 计数器只计数一次; * OUT是N+1个CLK后变低; * 在 计数过程中出现的GATE脉 冲, 将使 计数器重新开始计数,
对输出状态没有影响;
* 若在计数过程中改变计数值, 只要没有GATE信号触发,不影 响计数过程。有新的GATE信号 触发则按新的计数值开始计数。
在计数过程中,8253读计数器现行值的方法: (将计数值存入内部锁存器)
MOV OUT IN MOV IN MOV
AL,03H ;计数器0的锁存命令 0FBH,AL;写入控制寄存器 AL,0F8H ;读低8位 CL,AL ;存入CL中 AL,0F8H ;读高8位 CH,AL ;存入CH中
例2:用8253产生各种定时波形。
CW=16 WR
LSB=5
CLK GATE=1
OUT
5 42 5 2 5 4 2 52
*GATE信号控制计数过程;
*计数过程中写入新的计 数值将在半周期结束时装 入计数器。
例:要求计数器0工作于方式3,输出方波的频率为2KHz,计数 脉冲的频率为2.5MHz,采用BCD计数,试写出初始化程序段。
1. 8253的端口地址为:80H,81H,82H,83H。
* 写入控制字OUT=1, 写入常数不计数;
* GATE启动计数, OUT=0;
CW=12 LSB=3 WR
CL二K . 8253-PIT的工作方式
GATE
* 计数到,OUT=1。
OUT
32
1 0 FF 3
CW=12 LSB=3
WR
CL二K . 8253-PIT的工作方式
第八章 可编程计数器定时器8253及其应用
习题 CH8 8253
答(续上题): 计数器1工作在方式2,即分频器的方式.输出波形的频 率f=fclk/N=2MHZ/3000=666.7HZ,其周期为1.5ms,输出负 脉冲的宽度等于CLK的周期为0.5s. 方式3,即方波发生器的方式.输出频率 f=2MHZ/1000=2000Hz的对称方波. 三个OUT的输出波形如下:
3kHz +5V
产品计数脉冲
+5V
装箱脉冲
1
习题 CH8 8253
1.写出相关定时/计数器的工作方式,并简述理由. 答:T0的工作方式为1,因为方式1需要外触发才能计数,并且 在计数过程中OUT端输出低电平(2分) T1的工作方式为0, 因为方式0下计数器计数结束后,输出一个上升沿.(2分) 2.计算相关定时/计数器的计数初值. 答:计数器0的初值等于2秒钟计数的个数,即6000.(1分) 计数器1的初值等于19.(1分)
5
习题 CH8 8253
设8253的计数器0,工作在方式1,计数初值为2050H; 计数器1,工作在方式2,计数初值为3000;计数器2,工 作在方式3,计数初值为1000.如果三个计数器的GATE都 接高电平,三个计数器的CLK都接2MHz时钟信号,试画出 OUT0,OUT1,OUT2的输出波形. 答:计数器0工作在方式1,即可编程单稳态方式.这种方 式下, GATE必须有个上升沿,计数器才能启动.而GATE 接了高电平,当方式控制字写入后OUT0变高,计数器无 法启动,所以OUT0一直为高电平.
2
习题 CH8 8253
3.编写8253的初始化程序片断(8253占用地址90H~93H). 答:
MOV AL,00110011B ;通道0,方式1,BCD OUT 93H,AL MOV AL,00H OUT 90H,AL MOV AL,60H OUT 90H,AL OUT 93H,AL MOV AL,19 OUT 91H,AL (1分)
第8章 可编程定时计数器8253
8.2.3 8253的工作方式
8253的每个通道均可以通过编程选择6种工作方式
1.方式0:计数结束产生中断
(1)工作过程:工作波形如图。 控制字CW写入控制寄存器后, 在写信号的上升沿,输出信号 OUT变为低电平且在计数过程 中一直维持低电平。 开始计数要有两个条件:一 是门控信号GATE必须为高 电平,二是写入计数器初值。 如图,满足以上两个条件后(计数初值N=4),在每个CLK时钟下降沿, 计数器进行减1计数,直到计数值减到0时,输出OUT变为高电平,并且 一直保持到该通道重新装入计数初值或重新设置工作方式为止。
8.2.3 8253的工作方式
2.方式1:可重复触发的单稳态触发器
(2)方式1的主要特点:
①可重复触发的单次脉冲,即:当计数 到零后,不用再次送计数初值,只要再 次由GATE触发,8253可以再输出一个 同样宽度的单稳脉冲,如图8.6所示。 ②若设置的计数初值为N,则输出的单 稳脉冲的脉宽为N个CLK时钟周期间隔。 ③如果在计数器未减到零时,GATE又 一次触发,则计数器将从初值开始重新 计数,从而使输出负脉冲加宽。 ④在计数过程中,改变计数初值,计数 过程不受影响。只有再次出发启动后, 计数器才开始按新计数值输出单稳脉冲。
表8.1 A0、A1功能说明
A0A1 00 01 10 功能说明 可选择计数器0 可选择计数器1 可选择计数器2
11
可选择控制寄存器
8.2.2 8253的内部结构
RD / WR:读/写控制信号,低电平有效。 CS :片选信号,低电平有效。 A0、A1、 RD 、 WR 、 CS 各信号配合实现8253的读/写操作, 如表8.2所示。
8.2.3 8253的工作方式
1.方式0:计数结束产生中断
第八章 8253
是否自动 重装初值
低 高 高 高 高 高
否 是 是 是 否 是
15
方式3 方式 方波发生器
上升沿,从初值n 上升沿,从初值n开始计数 高电平, 高电平,允许计数 低电平,禁止计数, 低电平,禁止计数,使输出变高
方式4 方式 软件触发选通
高电平, 高电平,允许计数 低电平, 低电平,禁止计数 上升沿,从初值n 上升沿,从初值n开始计数
9
初始化程序: 初始化程序: MOV AL ,37H OUT 46H ,AL ;设置控制字 写入计数初值, MOV AL ,54H ;写入计数初值,先低后高 OUT 40H ,AL MOV AL ,23H OUT 40H ,AL 读通道0计数结果,并送入CX CX寄存器 ;读通道0计数结果,并送入CX寄存器 MOV AL ,07H ;00 00 011 1=07H OUT 46H ,AL ;设置控制字 IN AL ,40H MOV CL ,AL IN AL ,40H 将通道0计数结果→ MOV CH ,AL ;将通道0计数结果→CX
11
8253 CLK
WR 写入控制字 8253 OUT 写入计 数初值 计数结束 4 3 2 1 0
n×TCLK ×
12
方式1 方式 可编程单稳态输出 可重触发 GATE触发 触发
GATE
OUT n×TCLK ×
方式2 方式2 比率发生器
相当n分频 相当n分频
计数初值=定时时间 计数初值 定时时间/ TCLK=fCLK/ fOUT 定时时间
10
五,8253的工作方式(6种) 8253的工作方式( 的工作方式
写入控制字,同时影响OUT端电平,为起始OUT OUT端电平 OUT端电平 ① 1. 写入控制字,同时影响OUT端电平,为起始OUT端电平 ② 写入计数初值n,使WR变为低电平,在WR的上升沿时,将 写入计数初值n WR变为低电平, WR的上升沿时, 变为低电平 的上升沿时 n→计数初值 计数初值R n→计数初值R GATE有效 再在下一个CLK时钟脉冲的下降沿 有效, 下一个CLK时钟脉冲的下降沿, ③ 当GATE有效,再在下一个CLK时钟脉冲的下降沿,将n → 计数执行部件,开始减1计数( 计数执行部件,开始减1计数(计数器随着时钟脉冲的输 入而递减计数) 入而递减计数) 1.方式 方式0 1.方式0 计数结束中断方式 OUT输出端波形 OUT输出端波形 从写入计数初值到开始减1之间,有一个时钟脉冲的延迟. 从写入计数初值到开始减1之间,有一个时钟脉冲的延迟. 详见后
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、概述 二、Intel 8253 定时器/计数器的基本性能参数 三、8253 定时器/计数器的内部结构 四、8253的端口寻址及基本操作 五、8253 的控制字格式 六、8253 的工作方式
1
一、概述 1、定时与计数器的概念
定时器:在时钟信号作用下,进行定时的
减“1”计数,定时时间到(减“1”计数回零),从 输出端输出周期均匀、 频率恒定的脉冲信号。 由上述可知,定时器强调的是精确的时间。 定时举例: ①一天24小时的计时,称为日时钟。 ②在监测系统中,对被测点的定时取样。 ③在读键盘时,为去抖,一般延迟一段时间,再读。 ④在微机控制系统中,控制某工序定时启动。
13
锁存计数器当前计数值控制字
D7 SC1 D6 SC0 D5 RW1 D4 RW0 D3 M2 D2 M1 D1 M0 D0 BCD
未用
00 计数器锁存命令 00 选择计数器0 01选择计数器1 计数器选择 10 选择计数器2
14
4. 8253初始化的工作有两个内容: (1)一是向命令寄存器写入方式命令,以选择器 (3个计数器之一),确定工作方式(6种方式之 一),指定计数器计数初值的长度和装入顺序以及 计数值的码制(BCD或二进制码)。 (2)二是向已选定的计数器按方式命令的要求写入 计数初值。
20
CLK WR ① GATE OUT 4 3 2 1
n=4
0
②
GATE OUT WR GATE OUT
4 n=3 3 n=2 2
4
3
2
1
0
③
1
0
2
1
0
21
8253的1方式时序波形
3.方式2:频率发生器 方式2是一种具有自动装入时间常数(计数初 值N) 的 N分频器。 特点:一次设置计数初值,计数器可自动重复进行 减“1”计数操作,减“1”计数到“1”,可从输出端输出 一负脉冲信号。 时序波形如下
CLK 8253 GATE OUT
11
五、8253 的控制字格式
D7 SC1 D6 SC0 D5 RW1 D4 RW0 D3 M2 D2 M1 D1 M0 D0 BCD
000 方式0
数制选择
工作方式
00 计数器锁存命令 101 方式5
…
读/写指示 00 选择计数器0 计数器选 择 01选择计数器1 10 选择计数器2
锁存后读出当前值
LSB
MSB
计数输出寄存器
CLK GATE &
减一计数器 初始值寄存器
(减1至0 时)
MSBΒιβλιοθήκη OUT装入/读出初值
LSB
9
8253的端口寻址及基本操作
CS
0 0 0 0 0 0 0
RD
1 1 1 1 0 0 0
WR
0 0 0 0 1 1 1
A1
0 0 1 1 0 0 1
A0
0 1 0 1 0 1 0
;命令口 ;2号计数器的初始化命 令字 ;写入命令寄存器 ;2号计数器数据口 ;计数初值 ;选送低字节到2号计数器 ;取高字节送AL ;后送高字节到2号计数器
16
�例 2 :
8253 端口地址为 304 ~ 307H ,要求读出并检
查1号计数器的当前计数值是否是全 “1”(假定计数值 只有低8位),全1时暂停。
22
①
CLK WE
GATE
n=3
n=5
OUT ② OUT
3 3
2 2
1 1
3 5
2 4
1 3
3 2
2 1
GATE
③ OUT 3 2 2 2 1 3 2 1
23
4. 方式3 ----周期性方波输出 方式3工作方式与方式2基本相同,也具有自动装入时间 常数(计数初值)的功能,不同之处在于: (1)工作在方式3 ,引脚OUT输出的不是一个时钟周期 的负脉冲,而是占空比为1:1或近似1:1的方波;当计 数初值为偶数时,输出在前一半的计数过程中为高电 平,在后一半的计数过程中为低电平。 (2)由于方式3输出的波形是方波,并且具有自动重装 计数初 值的功能,因此,8253一旦计数开始,就会在 输出端OUT输出连续不断的方波。
31
解:8253定时/计数器的端口地址分别为30H~33H N0=TC/TR=5ms/1us=5000 N1=FR/FC=1MHZ/1KHZ=1000 MOV AL,00100001B(40H) OUT 33H,AL MOV AL,50H OUT 30H,AL MOV AL,01100111B(67H) OUT 33H,AL MOV AL,10H OUT 31H,AL
15
�例1:选择2号计数器,工作在3方式,计数初值为
533H(2个字节),采用二进制计数(设8253端口地 址为304~307H)。
�
MOV DX,307H MOV AL,10110110B OUT DX,AL MOV DX,306H MOV AX,533H OUT DX,AL MOV AL,AH OUT DX,AL
28
CLK WR
n=5 5
① GATE
OUT
4
3
2
1
0
② GATE
OUT
5
4
5
4
3
2
1 0
8253的5方式时序波形
29
8.2.5 8253应用举例 例8-10
30
练习: 1.假设8253定时/计数器的端口地址分别为30H~33H。 已知8253的时钟输入频率为1MHZ,现希望利用8253 的计数器0启动计数5ms后OUT输出高电平,计数器1 产生1KHz的连续方波信号。试编写完成该功能的程序 段。
传送方式
写入计数器0的初始值 写入计数器1的初始值 写入计数器2的初始值 写入控制寄存器控制字 读自计数器0的OL 读自计数器1的OL 读自计数器2的OL
10
四、计数器的3个引脚
� CLK时钟输入信号——在计数过程中,此引脚上
每输入一个时钟信号,计数器的计数值减1; � GATE门控输入信号——控制计数器工作,为1时 允许计数器工作,为0时禁止计数器工作; � OUT计数器输出信号——当一次计数过程结束 (计数值减为0),OUT引脚上将产生一个输出 信号。
17
六、8253 的工作方式 8253芯片的每个计数器通道都有6种工作方式可供选 用。 1、方式0 “一次有效” 1)、计数器写完计数值时,开始计数,相应的 输出信号OUT就开始变成低电平。当计数器减到 零时,OUT立即输出高电平。 2)、门控信号GATE位高电平时,计数器工作; 为低电平时,计数器停止工作,计数只保持不变。 3)、在计数器工作期间,如果重新写入新的计数 值,计数器将按新写入的计数值重新工作。
MOV DX,307H L :MOV AL,01000000B OUT DX,AL MOV DX,305H IN AL,DX CMP AL,0FFH JNE L HLT ;命令口 ;1号计数器的锁存命令 ;写入命令寄存器 ;1号计数器数据口 ;读1号计数器的当前计数值 ;比较 ;非全“1”,再读 ; 是全“1”,暂停
18
CLK ① WR OUT WR ② GATE OUT ③ WR OUT
n=5
5
n=5
4
3
2
1
0
5
n=9
4
4
n=4
4
3
2
1
0
9
8
4
3
2
1
0
8253的0方式时序波形
19
2. 1方式----低电平输出(GATE信号上升沿重新计数) 1方式为可编程的单稳态工作方式。 情况一: (1)写入计数初值后,计数器并不立即开始工作; (2)门控信号GATE有效,才开始工作,使输出OUT变成低电平; (3)直到计数器值减到零后,输出才变高电平。 情况二: 在计数器工作期间,当GATE又出现一个上升沿时,计数器 重新装入原计数初值并重新开始计数。 情况三: 如果工作期间对计数器写入新的计数初值,则要等到当前的 计数值计满回零且门控信号再次出现上升沿后,才按新写入的 计数初值开始工作。
3、8253定时与计数结束时产生的脉冲信号可 用于对某一事件进行控制,也可作用为一外部 终端请求信号。
4
二、8253 定时器/计数器的基本性能参数
1、一片8253内部有3个16位的计数器(相互独立) 2、每个计数器的内部结构相同,可通过编程手段 设置为6种不同的工作方式来进行定时/计数 3、每个计数器再开始工作前必须预制时间常数 (时间初始) 4、每个计数器在工作过程中的当前计数值可被 CPU读出. (注:时间常数也可在计数过程中更改)
32
2.按图连接电路,将计数器0、计数器1分 别设置为方式3,计数初值设为1000,请问 OUT1输出什么信号?频率是多少?。
33
3.若要采用一片8253产生近似为1Hz的方波,已 知时钟频率为2MHz,8253地址为350一 353H.试编写8253初始化程序,并说明通道引 脚的连接方法。 解:时钟频率为2MHz,要分频至1Hz,分频系数 为2×106。一个8253的计数器分频系数最大为 65536,所以必须用两个计数据串联起来工作。0计 数器分频系数定为200,1 计数器分频系数定为10 4,0 计数器输出的10000Hz波形作为1 计数器的时 钟信号,经1 计数器10 4分频后得到1Hz的波形。
10 只读/写高八位 01 只读/写低八位 11 先读/写低八位 再读/写高八位
12
关于的控制字说明:
1、8253只有一个工作方式控制字,但是对每个计数 器而言,它们的工作方式控制字内容一定各不相同 (前两位不同),所用各计数器的控制字需要分别设 置,先后不计。 2、8253的工作方式控制字的特殊形式可用于对计 数器的当前计数值进行锁存。 3、在工作方式控制字被设置之后,随后必须紧接着 给计数器预设置计数初值,计数器方可开始工作。