计数器定时器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的下降沿,计数器开始重 新计数,这将使输出单稳脉冲比原先 计数器以初值重新计数。 设定的计数值加宽。 可重复触发——当计数归零后,不用再次送计数值,只要给它触发脉冲,即 可产生一个同样宽度的单稳脉冲输出。
微机原理 可编程计数器定时器8253及应用

教材第八章内容
第八章 可编程计数器/定时器8253及应用 8-1 8253工作原理
一、8253的内部结构与引脚信号 二、8253的初始化编程
三、8253的工作方式
四、8253与系统的连接
8-2 8253的应用举例
一、8253定时功能举例 二、8253计数功能举例
1
第八章
定时/计数技术概述
计算机中常用到定时功能,如:动态RAM刷新、
第八章
二、8253的初始化编程
8253的初始化编程按顺序分两步完成:
1、写入控制字
2、写入计数初值
初始化编程的几点说明: 对3个计数通道的初始化编程没有先后顺序
若是16位数,必须用两条OUT指令来完成,且先送低8
位数据,后送高8位数据。 若计数初值为0时,要分成两次写入。0在二进制计数
18
第八章
8253方式3
4、方式3——方波发生器
时序图
计数初值为偶数时的波形
CW=16H WR CR=4 CLK GATE LSB=4
OUT
CRCE 4
CRCE 2
19
CRCE
2 4
CRCE 2 4
CRCE 2 4
4
第八章
8253方式3 计数初值为奇数时的波形
CW=16H WR
LSB=5 CR=5
CLK GATE
OUT CRCE 5 4 CRCE 2 5 CRCE CRCE 4 2 5
2
5
20
第八章
8253方式4
5、方式4——软件触发选通
时序图
CW=18H WR
LSB=2 CR=2
LSB=2 CR=2
CLK GATE OUT CRCE 2 1 CRCE 0 2 1 0 0
第八章 可编程计数器/定时器8253及应用 8-1 8253工作原理
一、8253的内部结构与引脚信号 二、8253的初始化编程
三、8253的工作方式
四、8253与系统的连接
8-2 8253的应用举例
一、8253定时功能举例 二、8253计数功能举例
1
第八章
定时/计数技术概述
计算机中常用到定时功能,如:动态RAM刷新、
第八章
二、8253的初始化编程
8253的初始化编程按顺序分两步完成:
1、写入控制字
2、写入计数初值
初始化编程的几点说明: 对3个计数通道的初始化编程没有先后顺序
若是16位数,必须用两条OUT指令来完成,且先送低8
位数据,后送高8位数据。 若计数初值为0时,要分成两次写入。0在二进制计数
18
第八章
8253方式3
4、方式3——方波发生器
时序图
计数初值为偶数时的波形
CW=16H WR CR=4 CLK GATE LSB=4
OUT
CRCE 4
CRCE 2
19
CRCE
2 4
CRCE 2 4
CRCE 2 4
4
第八章
8253方式3 计数初值为奇数时的波形
CW=16H WR
LSB=5 CR=5
CLK GATE
OUT CRCE 5 4 CRCE 2 5 CRCE CRCE 4 2 5
2
5
20
第八章
8253方式4
5、方式4——软件触发选通
时序图
CW=18H WR
LSB=2 CR=2
LSB=2 CR=2
CLK GATE OUT CRCE 2 1 CRCE 0 2 1 0 0
第08章可变程计数器8253及其应用

0 0----对计数器进行锁存 0 1----只读/写低8位字节 1 0----只读/写高8位字节 1 1----先读/写低8位字节,
再读/写高8位字节.
M2 M1 M0 000 001 x10 x11 100 101
模式选择 模式0 模式1 模式2 模式3 模式4 模式5
8253内部包含3个完全相同的计数器/定 时器通道,对3个通道的操作完全是独立的。
① 在计数过程中,当GATE变为低电平时,将迫使 OUT变为高电平,并禁止计数;GATE从低电平 变为高电平,也就是GATE端产生上升沿时,则在 下一个时钟脉冲时,把预置的计数初值装入计数 器,从初值开始递减计数。门控信号GATE可用来 使多个计数器同步。
② 在操作过程中,任何时候都可由CPU重新写入新 的计数值,它不会影响当前计数过程的进行。只 有下一个计数周期才会按新写入的初值计数。
每个通道都包含一个8位的控制字寄存器、 一个16位的计数初值寄存器、一个计数器 执行部件(实际的计数器)和一个16位的输 出锁存器。
执行部件实际上是一个16位的减法计数器, 不能直接对其进行读写操作。
对计数器0~2的写入操作实际是写各自的 计数初值寄存器。
对计数器0~2的读出操作实际是读各自的 计数输出锁存器,计数输出锁存器的值常 跟随计数执行部件变化。
计数器2: CLK2,GATE2,OUT2
8253 编程结构
4. 控制寄存器 8253控制寄存器的格式
SC1 SC0 RW1 RW0 M2 M1 M0 BCD
1--计数值为BCD码格式 0--计数值为二进制格式
0 0----选计数器0 0 1----选计数器1 1 0----选计数器2 1 1----无意义
另一方法是在读出数据之前,先锁存当前计数值。 当需要读取计数器的现行值时,先向8253送一个 锁存命令,即把RL1RL0=00的控制字写入8253的 控制字端口,锁存命令字中的SC1SC0用来确定要 锁存的是哪一个计数器,锁存命令字的低4位对锁 存命令无影响,可以将它们置为0。 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的引脚功能
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的引脚功能
8.3计数器8253

8.3 可编程计数器/定时器8253
8.3.1 8.3.2 8.3.3 8.3.4 8.3.5
计数器/定时器概述 8235的内部构造和引脚 8253的控制字和编程命令 8235的工作方式 8235的应用
8.3.1 计数器/定时器概述
在计算机系统中,常要用到定时信号,如:计算机 系统中的日历、时钟信号源,动态存储器需要定时刷 新,计算机实时控制系统中,要对被控对象定时采样 等等,都需要定时信号。一般来说,产生定时信号的 方法有两种:
2〕1个8位的控制存放器。 3〕既可作二进制计数/又可作十进制〔BCD码〕
计数。
4〕每个计数器有六种工作方式,通过编程设置。 5〕允许输入的最高频率2.6MHZ。
2、8235的构造和引脚
〔一〕与外设相连的局部 计数器0、计数器1、计数器2。
计数器0
16位计数初值寄存器 高8位 低8位
CLK GATE
进展寻址。 8086:连系统地址总线的A2、A1。 8088:连系统地址总线的A1、A0。
A1 A0 00 01 10 11
寻址 计数器0 计数器1 计数器2 控制寄存器端口
CS RD WR A1 A0 0 1 0 00 0 1 0 01 0 1 0 10 0 1 0 11 0 0 1 00 0 0 1 01 0 0 1 10
4、方式3:方波发生器
特点: 〔1〕当N〔初值〕为偶数时:
前N/2个时钟周期,OUT=高电平; 后N/2个时钟周期,OUT=低电平。 当N〔初值〕为奇数时: 前(N+1)/2个时钟周期,OUT=高电平; 后(N-1)/2个时钟周期,OUT=低电平。 〔2〕门控信号: GATE =1,允许计数。
,从计数初值重新计数。
6、方式5:硬件触发的选通信号发生器
8.3.1 8.3.2 8.3.3 8.3.4 8.3.5
计数器/定时器概述 8235的内部构造和引脚 8253的控制字和编程命令 8235的工作方式 8235的应用
8.3.1 计数器/定时器概述
在计算机系统中,常要用到定时信号,如:计算机 系统中的日历、时钟信号源,动态存储器需要定时刷 新,计算机实时控制系统中,要对被控对象定时采样 等等,都需要定时信号。一般来说,产生定时信号的 方法有两种:
2〕1个8位的控制存放器。 3〕既可作二进制计数/又可作十进制〔BCD码〕
计数。
4〕每个计数器有六种工作方式,通过编程设置。 5〕允许输入的最高频率2.6MHZ。
2、8235的构造和引脚
〔一〕与外设相连的局部 计数器0、计数器1、计数器2。
计数器0
16位计数初值寄存器 高8位 低8位
CLK GATE
进展寻址。 8086:连系统地址总线的A2、A1。 8088:连系统地址总线的A1、A0。
A1 A0 00 01 10 11
寻址 计数器0 计数器1 计数器2 控制寄存器端口
CS RD WR A1 A0 0 1 0 00 0 1 0 01 0 1 0 10 0 1 0 11 0 0 1 00 0 0 1 01 0 0 1 10
4、方式3:方波发生器
特点: 〔1〕当N〔初值〕为偶数时:
前N/2个时钟周期,OUT=高电平; 后N/2个时钟周期,OUT=低电平。 当N〔初值〕为奇数时: 前(N+1)/2个时钟周期,OUT=高电平; 后(N-1)/2个时钟周期,OUT=低电平。 〔2〕门控信号: GATE =1,允许计数。
,从计数初值重新计数。
6、方式5:硬件触发的选通信号发生器
定时计时器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

4
3
2
1
3
2
1
GATE=1 4 0 3 2
本章首页
7.2 定时/计数器8253-5/8254-2(续) 定时/计数器8253-5/82544)3方式——周期性方波输出 方式——周期性方波输出 ——
与方式2一样具有自动重新装载计 自动重新装载计 数初值的功能,与方式2的区别仅 数初值 触发方式: 触发 触发方式:写入初值后,WR= 在于输出波形不同 输出波形: 输出波形:输出占空比为1:1或近似1:1的方波。初值为偶数时,前半周为高电 平,后半周为低电平;初值为奇数时,前一半加1的计数过程中为高电平 GATE作用 作用: ,停止,= ,重新开始 GATE作用:=1,允许;=0,禁止;= 计数过程中写入新初值: 计数过程中写入新初值:计数器回零,输出完整的方波后,再开始新过程
A1A0 选中通道 0 0 0 1 1 0 1 1 T0 T1 T2 T3
A0~A1:端口选择线,接收CPU的低位地址,用于8253被选中时,选择内部端口 GATE0~GATE2:T0~T2的门控信号,对计数过程进行控制,具体作用视方式而定 CLK0~CLK2:T0~T2的脉冲输入,允许计数时,8253的Ti对CLKi输入的脉冲进行减 1计数 OUT0~OUT2:T0~T2的输出信号,Ti减为0,OUTi输出有效,输出波形视方式而定
16位计数初值寄存器 装入/读出初值 LSB MSB 通道的内部结构
本章首页
7.2 定时/计数器8253-5/8254-2(续) 定时/计数器8253-5/8254读写控制逻辑: 读写控制逻辑:接收CPU的地址、读/写信号,选中一个端口并确定传送方向
2. 计数初值 操作 WR RD A1 A0 PC机 实验台 逆 减 0 1 0 0 加载T0(向T0写入初值) 40H 304H 8253/8254是逆计数器(减1 0 1 0 1 加载T1(向T1写入初值) 41H 305H 计数器),减1计数器减为0 时输出有效 0 1 1 0 加载T2(向T2写入初值) 42H 306H
第八章-计数器定时器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