第10讲 定时器计数器8253

合集下载

定时器

定时器

;8253控制口地址 ;通道0工作在方式0 ;8253通道0地址 ;给通道0送计数值
;通道1工作在方式3 ;8253通道1地址
;给通道1送计数初值低8位 ;给通道1送计数值高位
;通道2工作在方式0
MOV MOV OUT MOV OUT MOV MOV OUT MOV MOV OUT MOV OUT MOV OUT STI FF:
发声子程序:
SSP PROC NEAR ;8253初始化: MOV AL,10110110B ;计数器2,模式3,初值16位,二进制 OUT 43H, AL MOV AX, 1983 ; 计数初值=1.19MHZ600HZ=1983 OUT 42H,AL ;送计数初值低位字节 MOV AL,AH OUT 42H,AL次 ;送计数初值高位字节
方式0——计数结束产生中断
图 8-22
方式0——计数结束产生中断
方式1——可编程的单脉冲(单稳)触发器

图 8-22
单脉冲触发器
方式2——分频器( 速率发生器)
图 8-23
分频器
方式3——方波发生器
图 8-23 方波发生器
方式4——软件触发的选通信号发生器
图 8-23 软件触发的选通信号发生器
计数初始值=时钟频率*T
8_2_1 8253芯片内部结构
1.数据总线缓冲器 往计数器设置计数初值; 从计数器读取计数值; 往控制寄存器设置控制字。 2.读/写逻辑电路 A1 A0:端口选择 0 0:通道0(0号计数器) 0 1:通道1(1号计数器) 1 0:通道2(2号计数器) 1 1:控制字寄存器
3.通道0、通道1、通道2
计数器0:CLK0——计数器0的时钟输入。 GATE0——计数器0的门脉冲控制输入。 OUT0——计数器0的输出。 计数器1 计数器2

8253定时-计数器

8253定时-计数器

1.3 8253的控制字和工作方式
1.3 8253的控制字和工作方式
方式3
1) 当计数初值N为偶数时,输出端的高低电平持续时间相等,各为N/2个 CLK脉冲周期,当计数初值N为奇数时,输出端的高电平持续时间比 低电平持续时间多一个脉冲周期,即高电平持续(N+1)/2个脉冲周 期,低电平持续(N-1)/2个脉冲周期。例如N=5,则输出高电平持 续3个脉冲周期,低电平持续2
1.3 8253的控制字和工作方式
2.8253
可编程定时/计数器8253有两个基本功能,即定时和计 数。除此之外,还可以作为频率发生器、分频器、实时时钟、 单脉冲发生器等。这些功能是通过对8253编程,写入方式 控制字来完成的,8253为每个计数通道提供6种工作方式。
(1)方式0——
0控制
字CW后,计数器输出端OUT立即变成低电平。当写入计数
3) 在计数过程中,可由门控信号GATE控制暂停。当GATE为0时,计 数器暂停计数;当GATE变为1
4) 方式0的OUT信号在计数到0时由低变高,可作为中断请求信号。
1.3 8253的控制字和工作方式
(2)方式1—— 在设定工作方式1和写入计数初值后,OUT输出高电平,
此时并不开始计数。当门控信号GATE变为高电平时,启动计 数,OUT输出变低电平。在整个计数过程中,OUT都维持为 低电平,直到计数到0时,输出变为高电平。因此,输出为一 单脉冲,其低电平的维持时间由装入的计数初值来决定。图所 示为8253工作方式1的时序图。
6)方式5—— 在这种方式下,当写入控制字后,输出端出现高电平 作为初始电平。在写入计数初值后,计数器并不立即开始 计数,而是要由门控脉冲的上升沿来启动计数,这称为硬 件触发。当计数到0时,输出变低电平,又经过一个CLK 脉冲,输出恢复为高电平,这样在输出端得到一个负脉冲 选通信号。计数器停止计数后要等到下次门控脉冲的触发, 才能再进行计数。8253工作方式5的时序如图所示。

定时计数器8253

定时计数器8253

古晓辉制作
2 写入计数值
示例
选择二进制时
计数值范围:0000H~FFFFH 0000H是最大值,代表65536
选择十进制(BCD码)
计数值范围:0000~9999 0000代表最大值10000
计数值写入计数器各自的I/O地址
古晓辉制作
3 读取计数值
示例
对8位数据线,读取16位计数值需分两次 计数在不断进行,应该将当前计数值先行 锁存,然后读取:
0
OUT
④ ② ① ⑥ ⑤ 计 数 设 设 计 计 值 定 定 数 数 送 计 工 结 过 入 数 作 束 程 计 初 方 数 值 式 器
古晓辉制作
古晓辉制作
方式1可重复触发的单稳方式
① ② 4 ④ ⑤ ⑥

⑥ ② ⑤ ① 计 ③ 数 计 设 计 设 值 硬 数 定 数 定 送 件 结 计 过 工 入 启 束 数 程 作 计 动 初 数方 值 器式
计数初值
8253内部包含3个功能完全相同的通道,每个通道内部 设有一个16位计数器,可以进行二进制或十进制(BCD码) 计数。 8253是一种减1计数器,因此在开始计数(定时)之前,一 定要根据计数(定时)的要求,先算出计数初值(定时常数), 并装入计数初值寄存器。
定时常数=要求定时的时间/时钟脉冲的周期
古晓辉制作
9.2.2 8253的工作模式
方式0——计数结束产生中断 方式1——可重复触发的单稳态触发器 方式2——分频器 方式3——方波发生器 方式4——软件触发的选通信号发生器 方式5——硬件触发的选通信号发生器
古晓辉制作
方式0 计数结束中断
① ② ④ 4 ⑤ ⑥
WR CLK GATE
方式0
4 3 2 1

第10章-可编程定时计数器8253概要

第10章-可编程定时计数器8253概要
通道2:fCLK2 = 1MHz, T = 50ms N =fCLK2 × T =1MHz × 50ms = 50000= C350H
21
确定各通道控制字
读写高低字节 通道0: 方式3
BCD码计数
SC1 SC0 RW1 RW0 M2 M1 M0 BCD
0 0 1 1 011 1 37H
读写高低字节 通道1: 方式3
29
10.3 8253 的工作方式
共同遵守的3个基本原则: ● 控制字写入计数器时,所有的控制逻辑电路立即复 位,输出端OUT进入初始状态 ● GATE信号是上升沿起作用,GATE信号的作用是 在下一个CLK周期的下降沿生效 ● 计数初值装入计数器和减1计数都是在输入脉冲的 下降沿有效的
30
10.3 8253 的工作方式
11 先读/写低8位,后读/写高8位计数值 15
10.2 8253 的编程
8253的计数初值
当输出信号为连续的周期波时:假设计数器输入信 号CLK的频率为fCLK,要求OUT端输出信号的频率为 fOUT,则计数初值N的计算公式为
N = fCLK ÷ fOUT 当计数器/定时器工作在一次性有效的定时方式时:如 希望的定时时间为T,则计数初值 N的计算公式为:
5
8254芯片
3
NUIST
10.1 8253 的引脚功能和编程结构
8253的主要功能 ● 3个独立的16位计数器 ● 每个计数器都可以按二进制或BCD码计数 ● 每个通道的计数频率可达2MHz ● 每个计数器都具有6种不同的工作方式 ● 每个计数器的计数初值都可以通过编程设置 ● 所有的输入输出都与TTL兼容
4
10.1 8253 的引脚功能和编程结构
8253的引脚功能

定时计数器8253课件

定时计数器8253课件
3个计数通道 通道控制寄存器 数据总线缓冲器 读/写控制电路
20010.12
定时计数器8253
3
计数通道
• 通道0、通道1和通道2
• CLK:计数器的脉冲输入端,GATE: 计数器的门控信 号,OUT: 计数器的输出信号,一般与计数溢出有关。
• 工作原理:
• 8253计数器工作在减1状态,每输入一个计数脉冲,计数 器值减1,当计数器
• 分为4部分,通道选择、计数器读/写方式、工作方式和计
数码的选择。
计数器选择(SC1、SC0)
计数器读/写方式(RLl、RL0)
20010.12
定时计数器8253
9
• 计数器的锁存操作
• 8253一旦初始化后,就不需要CPU参与而自动计数。为了 读出计数值时不干扰实际计数过程,同时读出的值又是稳 定的,就要求对通道计数器中的计数值进行锁存。
读/写控制电路
❖ 片选信号 CS ❖ A1A0的组合 :选择三个通道、一个控制寄
存器,共4个端口 ❖ 读信号 R D 和写信号W R 由CPU提供,低电平
有效。
20010.12
定时计数器8253
7
8253的管脚分配
• 通道管脚
• CLKn:通道n的脉冲输入管脚.外部事件
或定时脉冲由这三个管脚输入;
OUT 8253控制口,AL
MOV AL,40H
;置8253通道0时间常数,
OUT 通道0端口,AL ; 第一次写初始计数值的低8位,
MOV AL,38H
; 第二次写高8位。3840H=14400秒=4小时
OUT 通道0端口,AL
……
中断程序中有关程序段如下:
……
MOV AL,00000001B ;8255置位/复位控制字,使PC0=1

计数器定时器8253

计数器定时器8253

计数未减到0,GATE又来一上升沿
28
模式2的时序图 :
1
2
29
特点:
自动重置计数初值; GATE上升重新(硬件同步)、高
允许、下降停止、低停止计数; WR#写[重写]计数初值后在下一个 时钟脉冲时有效(软件同步);
30
OUT在写入控制字后变高,在计数值
为1时输出宽度为1个CLK的负脉冲(周 期为N个时钟周期,频率为1/N的时钟 频率,正脉冲为N-1个时钟脉冲宽度, 负脉冲为1个时钟脉冲宽度,实际上是 对CLK的N分频)。

10

(
2
① ③
)
82 53 的 工 作 原 理

11
说明:
① 计数器0,计数器1,计数器2 特点:结构相同,引脚相同,功能独立 ② 数据总线缓冲器 (接低8位数据总线) 功能: 往计数器设置初值 从计数器读取计数值 往控制寄存器设置控制字
12
③ 读写逻辑电路 A1、A0——对计数器和控制寄存器寻址 RD#——读信号 WR#——写信号 CS#——片选信号 ④ 控制寄存器(A1、A0为11时选中) 在初始化过程中,必须先写入控制字,才 能写其他命令,如设计数初值、锁存等。


CNT0: 2MHz/2KHz =1000 (16位) CNT1:
100ms/0.5ms=200 (8位)
57
8255的初始化



MOV MOV OUT XOR MOV OUT
DX,387H AL,82H DX,AL AL,AL DX,384H DX,AL

7
9.2.3 可编程计数器/定时器8253
1. 2. 3. 4.

定时计时器8253

定时计时器8253

2013-7-9
微型计算机原理与应用
4
计数器/定时器8253
可编程定时/计数器的主要用途有: ① 以均匀分布的时间间隔中断分时操作系统, 以便
切换程序。 ② 向I/O设备输出精确的定时信号, 该信号的周期 由程序控制。 ③ 用作可编程波特率或速率发生器。 ④ 检测外部事件发生的频率或周期。 ⑤ 统计外部事件处理过程中某一事件发生的次数。 ⑥ 在定时或计数达到编程规定的值之后, 产生输出 信号, 向CPU申请中断。
2013-7-9 微型计算机原理与应用 12
计数器/定时器8253
当对8253的计数器进行读操作时,可以读出 计数值,具体实现方法有如下两种: ①使计数器停止计数时,先写入控制字,规定好 RL1和RL0(控制字的D5D4位)的状态——也 就是规定读一个字节还是读两个字节。 ②在计数过程中读计数值。这时读出当前的 计数值并不影响计数器的工作。为做到这一 点 , 首 先 写 入 8253 一 个 特 定 的 控 制 字:XX00××××。这是控制字的一种形式。
2013-7-9 微型计算机原理与应用 18
计数器/定时器8253
8253初始化编程要求
1、8253三个端口有各自独立的地址,控制字分别对 各端口的工作方式进行控制
2、对某一个端口设置初值时,先设置控制字 3、设置初值时,要符合D5、D4的规定,分别输入计 数值,(16位计数值要用两条指令写入计数值) 4、锁存(D5D4=00)的目的是:在CPU读取计数值前 先用锁存命令锁存减1计数器的当前值,否则得不到 正确的结果,CPU取走数据后,锁存功能自动失锁 5、编程顺序:先写入控制字到控制寄存器,然后写 入计数初值到所确定的计数器端口
2013-7-9 微型计算机原理与应用 11

8253可编程计数器定时器

8253可编程计数器定时器

8253的工作原理简介8253可编程计数器/定时器的工作频率为0~2MHz,它有3个独立编程的计数器,每个计数器有三个引脚,分别为时钟CLK、门控GATE、计数器和计时结束输出OUT;每个计数器分别有6种工作方式。

下面针对使用到的两种工作方式——方式1和方式2的工作原理[1]进行简述。

方式1:可编程单稳,即由外部硬件产生的门控信号GATE触发8253而输出单稳脉冲。

计数器装入计数初值后,在门控信号GATE由低电平变高电平并保持时,计数器开始计数,此时输出端变成低电平并开始单稳过程。

当计数结束时,输出端OUT转变成高电平,单稳过程结束,在OUT端输出一个单稳脉冲。

硬件再次触发,OUT 端可再次输出一个同样的单稳脉冲。

单稳脉冲的宽度由装入计数器的计数初值决定。

在WR 信号的上升沿(CPU写控制字之后),输出端OUT保持高电平(若OUT原为低电平则变为高电平)。

CPU写入计数值后,计数器并不马上开始计数,而要等到门控信号GATE启动之后的下一个CLK的下降沿才开始。

在整个计数过程中,输出端OUT保持低电平,直至计数值至0,OUT变为高电平为止。

方式2:速率发生器,其功能如同一个N分频计数器。

其输出是将输入时钟按照N计数值分频后得到的一个连续脉冲。

在该方式下,当计数器装入初始值开始工作后,输出端OUT将不断地输出负脉冲,其宽度为一个时钟周期的时间,而两个负脉冲间的时间脉冲个数等于计数器装入的计数初值。

若计数初值为N,则每N个输入脉冲输出一个脉冲。

当CPU写完控制字后,输出端OUT转变成高电平,计数器将立即自动开始对输入CLK时钟计数。

在计数过程中,OUT端始终保持高电平,直至计数器的计数值减到1时,OUT 端才变为低电平,其保持的宽度为一个输入CLK时钟周期的时间,然后输出端OUT恢复高电平,计数器重新开始计数。

8253控制字格式为:其中:SC1 SC0为计数器选择位;RL1 RL0为计数器读写操作选择位,以确定计数器进行装入或读出是单字节还是双字节;M2 M1 M0为计数器工作方式选择位;BCD表示计数器计数方式选择位。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10.1.1 8253的内部结构和引脚信号 8253的内部结构和引脚信号
4
8253工作原理 10.1 8253工作原理
5
8253工作原理 10.1 8253工作原理
6
8253工作原理 10.1 8253工作原理
8253工作原理 10.1 8253工作原理
10.1.2 初始化编程步骤 写如顺序: 写如顺序:
11
方式1 方式
方式2 方式
软、硬件启动,自动重复计数。 硬件启动,自动重复计数。 装入初值后输出端变高电平, 装入初值后输出端变高电平, 计数到最后一个脉冲时输出低电平 软、硬件启动,自动重复计数 硬件启动, 装入初值后输出端变高电平, 装入初值后输出端变高电平, 输出对称方波 软件启动,不自动重复计数。 软件启动,不自动重复计数。 装入初值后输出端变高电平, 装入初值后输出端变高电平, 计数结束输出一个CLK宽度的低电平 计数结束输出一个 宽度的低电平 硬件启动, 硬件启动,不自动重复计数 波形与方式4相同 波形与方式 相同
21
8253的应用举例 10.2 8253的应用举例
10.2.3 8253计数功能的应用 计数功能的应用
out1
19
8253的应用举例 10.2 8253的应用举例
1)初始化编程 ) 8253的 个端口地址分别为F0H,F2H,F4H F6H,则初 F0H,F2H,F4H和 设8253的4个端口地址分别为F0H,F2H,F4H和F6H,则初 始化程序: 始化程序: MOV AL, 01110001 ;控制字 OUT OF6H, AL MOV AL, 99H 计数值低字节送计数器1 OUT 0F2H, AL ;计数值低字节送计数器1 MOV AL, 04H 计数值高字节送计数器1 OUT 0F2H, AL ;计数值高字节送计数器1
14
;通道 初始化程序 通道0初始化程序 通道 MOV DX, 316H MOV AL, 00110111B OUT MOV MOV OUT MOV OUT DX, AL DX, 310H AL, 00H DX, AL AL, 05H DX, AL ;控制口地址 控制口地址 ;先读写低字节 后高字节 方式 先读写低字节, 先读写低字节 后高字节, 方式3, BCDቤተ መጻሕፍቲ ባይዱ数 计数 ;送控制字 送控制字 ;通道 口地址 通道0口地址 通道 ;低字节 低字节 ;先写入低字节 先写入低字节 ;高字节 高字节 ;后写入高字节 后写入高字节
;通道 初始化程序 通道1初始化程序 通道 MOV DX, 316H MOV AL, 01110011B OUT MOV MOV OUT MOV OUT DX, AL DX, 312H AL, 80H DX, AL AL, 04H DX, AL ;先读写低字节 后高字节 方式 先读写低字节, 后高字节, 方式1, 先读写低字节 BCD计数 计数 ;送控制字 送控制字 ;通道 口地址 通道1口地址 通道 ;低字节 低字节 ;先写入低字节 先写入低字节 ;高字节 高字节 ;后写入高字节 后写入高字节
8253工作原理 10.1 8253工作原理
10.1.3 门控信号控制功能
10
8253工作原理 10.1 8253工作原理
10.1.4 8253的工作方式 8253的工作方式 方式0 方式 软件启动,不自动重复计数。 软件启动,不自动重复计数。 装入初值后输出端变低电平, 装入初值后输出端变低电平, 计数结束输出高电平 硬件启动, 硬件启动,不自动重复计数 装入初值后输出端变高电平, 装入初值后输出端变高电平, 计数开始输出低电平, 计数开始输出低电平,结束后又变高
20
8253的应用举例 10.2 8253的应用举例
2)计数值的读取 ) MOV AL, MOV DX, OUT DX, MOV DX, IN AL, MOV AH, IN AL, XCHG AH, 01000000 OF6H AL 0F2H DX AL DX AL ;锁存计数器1命令 锁存计数器1 ;控制口 ;发锁存命令 计数器1 ;计数器1 读计数器1的低8 ;读计数器1的低8位数 保存低8 ;保存低8位数 ;读计数器1的高8位数 读计数器1的高8 将计数值置于AX AX中 ;将计数值置于AX中
第10讲 定时器/计数器8253及其应用 / 8253
1
主要内容:
8253工作原理 工作原理 8253应用举例 应用举例
2
8253工作原理 10.1 8253工作原理
8253的内部结构和引脚信号 的内部结构和引脚信号 初始化编程步骤 门控信号的功能 8253的工作方式 的工作方式
3
8253工作原理 10.1 8253工作原理
方式3 方式
方式4 方式
方式5 方式
8253的应用举例 10.2 8253的应用举例
10.2.1 8253与系统的连接示意 与系统的连接示意
8253 DB IOW IOR A2 高 位 地 址 A1 译码器 D0~D7 WR RD A1 A0 CS
13
CLK GATE OUT
外设
8253的应用举例 10.2 8253的应用举例
;通道 初始化程序 通道2初始化程序 通道 MOV MOV OUT MOV MOV OUT DX, 316H AL, 10011011B DX, AL DX, 314H AL, 26H DX, AL ;只读写低字节 方式 BCD计数 只读写低字节, 方式5, 只读写低字节 计数 ;送控制字 送控制字 ;通道 口地址 通道2口地址 通道 ;低字节 低字节 ;只写入低字节 只写入低字节
10.2.2 8253定时功能的应用 定时功能的应用
在某个8086为CPU的系统中使用了一块 为 的系统中使用了一块8253, 通道的 在某个 的系统中使用了一块 基地址为310H, 所用的时钟脉冲频率为 所用的时钟脉冲频率为1MHz, 要求 个计 要求3个计 基地址为 数通道分别完成以下功能: 数通道分别完成以下功能: 3,输出频率为2KHz的方波 (1)通道0工作于方式3,输出频率为2KHz的方波; )通道0工作于方式3,输出频率为2KHz的方波; 480微妙的单脉冲 (2)通道1产生宽度为480微妙的单脉冲; )通道1产生宽度为480微妙的单脉冲; (3)通道2用硬件方式触发,输出单脉冲,时间常数为26. )通道2用硬件方式触发,输出单脉冲,时间常数为26.
写控制字
写计数值低8位 写计数值低 位
非必须
可以计数器为 单位, 单位,也可先 写所有计数器 控制字, 控制字,再写 入初值
*写计数值高 位 写计数值高8位
8
例如:在某微机系统中 例如 在某微机系统中,8253的3个计数器的端口地址分别为 在某微机系统中 的 个计数器的端口地址分别为 3F0H、3F2H、3F4H,控制字寄存器端口地址为 控制字寄存器端口地址为3F6H,要求 、 、 控制字寄存器端口地址为 要求 8253的通道 工作于方式 并已知对它写入的计数初值 的通道0工作于方式 的通道 工作于方式3,并已知对它写入的计数初值 n=1234H,则初始化程序 则初始化程序: 则初始化程序 MOV AL, 00110111B MOV OUT MOV MOV OUT MOV OUT DX, 3F6H DX, AL AL, 34H DX, 3F0H DX, AL AL, 12H DX, AL ;通道 先读 写低字节 后高字节 通道0, 先读/写低字节 后高字节, 写低字节, 通道 方式3, 方式 BCD计数 计数 ;指向控制口 指向控制口 ;送控制字 送控制字 ;计数值低字节 计数值低字节 ;指向计数器 端口 指向计数器0端口 指向计数器 ;先写入低字节 先写入低字节 ;计数值高字节 计数值高字节 ;后写入高字节 后写入高字节
相关文档
最新文档