定时计数器8253课件
合集下载
课件CH8可编程计数器定时器8253及应用概要

VCC GND
CRH CRL 计数初值寄存器(CR) CEH CEL 计数执行单元(CE)
GATE0 CLK0
OUT0
地址线
地址 CS
译码
A1 A0
OLH OLL 输出锁存器(OL) 计数器 1# 计数器 2#
9
GATE 1 CLK1 OUT1
GATE2 CLK2
OUT2
第八章
计数器工作原理
写控制字到控制寄存器(CW) 设置工作方式
01 只读/写计数器的低8位
10 只读/写计数器的高8位
11 进行两次读/写操作(先低8位,后高8位)
11
第八章
二、8253的初始化编程
8253的初始化编程按顺序分两步完成: 先写入控制字;再写计数初值
1、写入控制字 由OUT指令向控制字寄存器写入,用来选定计数器通道、
规定该计数器的工作方式和计数方式。 “写入控制字”具有复位作用,使输出端OUT变为指定的
启动方式:方式0、4为软件启动;方式1、5为硬件启 动;方式2、3为软件、硬件均可启动。
30
第八章
门控信号GATE的控制功能(P310)
31
第八章
四、8253与系统的连接
32
第八章
33
第八章
8.2 8253的应用举例
应用步骤: 与系统连接 设置工作方式 置计数初值
两种功能: 定时功能应用 计数功能应用
选择计数器
00 选择计数器0的控制寄存器 读
01 选择计数器1的控制寄存器 写
10 选择计数器2的控制寄存器 格
11 非法值
式
000 001 X10 X11 100 101
方式0 方式1 方式2 方式3 方式4 方式5
第08章 可变程计数器8253及其应用精品PPT课件

输出信号的波形主要由工作模式决定,同 时还受到从外部加到GATE引脚上的门控信 号控制,它决定是否允许计数。
当用8253作外部事件计数器时,在CLK脚 上所加的计数脉冲是由外部事件产生的,这 些脉冲的间隔可以是不相等的。 如果要用它作定时器,则CLK引脚上应输入 精确的时钟脉冲。这时,8253所能实现的 定时时间,决定于计数脉冲的频率和计数器 的初值,即:
1--计数值为BCD码格式 0--计数值为二进制格式
0 0----选计数器0 0 1----选计数器1 1 0----选计数器2 1 1----无意义
0 0----对计数器进行锁存 0 1----只读/写低8位字节 1 0----只读/写高8位字节 1 1----先读/写低8位字节,
再读/写高8位字节.
4. 由于计数器是先减1,再判断计数值是否为零,所以写入 计数初值为0,实际就等于10000H,在二进制计数时,它 表示65536,BCD计数时,它表示10000。
例:在某微机系统中,8253的3个计数器的端口地址 分别为3F0H、3F2H和3F4H,控制字寄存器的端口地 址为3F6H,要求8253的通道0工作于模式3,并已知 对它写入的计数初值n=1234H,则初始化程序为:
MOV AL, 00110111B
;控制字;选择通道0, 先读/写低字节,后高字
节
MOV DX, 3F6H ;指向控制口
OUT DX, AL ;送控制字
ቤተ መጻሕፍቲ ባይዱ
MOV AL, 34H ;计数值低字节
1、8253的初始化编程步骤
对3个计数器通道的编程没有先后顺序的规定。 对每个计数器的编程先写入控制字,后写入计数初值。
(1)写入控制字 1. 用输出指令向控制字寄存器写入一个控制字,以选
当用8253作外部事件计数器时,在CLK脚 上所加的计数脉冲是由外部事件产生的,这 些脉冲的间隔可以是不相等的。 如果要用它作定时器,则CLK引脚上应输入 精确的时钟脉冲。这时,8253所能实现的 定时时间,决定于计数脉冲的频率和计数器 的初值,即:
1--计数值为BCD码格式 0--计数值为二进制格式
0 0----选计数器0 0 1----选计数器1 1 0----选计数器2 1 1----无意义
0 0----对计数器进行锁存 0 1----只读/写低8位字节 1 0----只读/写高8位字节 1 1----先读/写低8位字节,
再读/写高8位字节.
4. 由于计数器是先减1,再判断计数值是否为零,所以写入 计数初值为0,实际就等于10000H,在二进制计数时,它 表示65536,BCD计数时,它表示10000。
例:在某微机系统中,8253的3个计数器的端口地址 分别为3F0H、3F2H和3F4H,控制字寄存器的端口地 址为3F6H,要求8253的通道0工作于模式3,并已知 对它写入的计数初值n=1234H,则初始化程序为:
MOV AL, 00110111B
;控制字;选择通道0, 先读/写低字节,后高字
节
MOV DX, 3F6H ;指向控制口
OUT DX, AL ;送控制字
ቤተ መጻሕፍቲ ባይዱ
MOV AL, 34H ;计数值低字节
1、8253的初始化编程步骤
对3个计数器通道的编程没有先后顺序的规定。 对每个计数器的编程先写入控制字,后写入计数初值。
(1)写入控制字 1. 用输出指令向控制字寄存器写入一个控制字,以选
第9章计数器定时器825395页PPT

9.5 8253/8254的工作模式
有6种工作模式,都遵守的基本规则:
① 控制字写入时,进入初始状态; ② 初值写入后,要经过上升沿和一个下降沿,计数执行部
件才开始计数; ③ 在CLK的上升沿,GATE被采样,对于一给定的工作模
式,GATE的触发方式有具体规定; ④ 在CLK下降沿,计数器作减1计数;
;方法2: 16位计数,只写高8位,低8位自动为0。
MOV DX,203H ;8253控制寄存器
MOV AL,66H ;控制字01100110B
OUT DX,AL
;控制字写入控制字寄存器
MOV DX,201H ;计数器1
MOV AL,30H ;计数初值高8位
OUT DX,AL
;计数初值高8位写入计数器1
编程结构
状态寄存器
定时器/计数器的工作过程
1. 设置8253\8254的工作方式; 2. 设置计数初值到计数初值寄存器CR; 3. 第一个CLK信号使计数初值寄存器的内容置入
计数执行部件CE; 4. 以后每来一个CLK信号,CE减1; 5. OUT端输出一特殊波形的信号;
注:以上计数过程中还受到GATE信号的控制。
读取计数器2的当前计数值的例子
MOV AL, 11011000B ;对计数器2发锁存命令,锁存当前计数值
OUT 76H, AL ;76H为控制口地址
IN AL, 74H
;读取计数器2的读取值,74H为计数器2的地址
―――――――――――――――
对8254读取状态字和计数值
MOV AL, 11000010B
三个计数器共用一个控制寄存器,可对控制 寄存器写入控制字使三个计数器工作在不同 的模式,控制端口只写。
第八章可编程计数器定时器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é):各种
第8章可编程定时器计数器8253及其应用精品PPT课件

《Microcomputer Technology》 12.10.2020
可编程定时器/计数器的概念
❖ 软件控制的硬件定时器
➢ 定时方式 ❖计数制 ❖输出波形 ❖触发方式 ❖循环方式
➢ 计数间隔
❖ 控制寄存器
第8章 可编程计数器/定时器8253及其应用 9
《Microcomputer Technology》 12.10.2020
《Microcomputer Technology》 12.10.2020
8.1 接口原理
❖ 接口电路中的电路单元
➢ 输入/输出数据锁存器和缓冲器:用以解决CPU 与外设之间速度不匹配的矛盾,以及起隔离和缓 冲的作用;
➢ 控制命令和状态寄存器:以存放CPU对外设的控 制命令,以及外设的状态信息;
第8章 可编程计数器/定时器8253及其应用 2
第8章
《Microcomputer Technology》 12.10.2020
可编程定时器/计数器 8253及其应用
❖ 接口原理 ❖ 8253的基本工作原理
➢ 8253的内部结构和引脚信号 ➢ 8253的编程 ➢ 8253的工作方式
❖ 8253的应用举例
第8章 可编程计数器/定时器8253及其应用 1
第8章 可编程计数器/定时器8253及其应用 11
《Microcomputer Technology》 12.10.2020
可编程定时器/计数器的工作原理
❖ CLK信号
➢ 周期性时钟信号,定时器功能; ➢ 非周期性事件计数信号,计数器功能。
❖ 计数输出锁存器Байду номын сангаасL
➢ 通常跟随计数执行单元的内容而变化 ➢ 当接收到CPU锁存命令时就锁存当前的计数值
微机原理课件10定时计数器

封装,如 图10.3所示
源 线
V CC
GND
24 12
16
GATE2
数 器
17
OUT2
2
整图理8p-p3t 8 2图5 31的0.3引82脚53信PI号T管脚图
15
1. 与CPU的接口信号
No (1)D0~D7——三态双向数据线。与CPU数据总线相连, 用于传递 CPU与8253之间的数据信息 、 控 制信息和状态信息; (2)CS ——片选信号(Chip Select),输入,低电平有
(2)每个计数器均可以按二进制或BCD码计数;
Image (3)计数器速率可达2MHz;
(4)可编程6种不同的工作方式;
(5)所有输入和输出都与TTL兼容。
8253具有较好的通用性和使用灵活性,几乎适合于任
何一种微处理器组成的系统。
整理ppt
9
2. 8253的内部结构
8253的内部结构如图10.1所示,由数据总线缓冲器、
于计数脉冲的频率和计数器的初值,即:定时时间=时
钟脉冲周期Tc×预置的计数初值n。
对8253来讲,外部输入到CLK引脚上的时钟脉冲 频率不能大于2MHZ,否则需分频后才能送到CLK端。
整理ppt
14
二、8253的引脚信号
8253是一
片具有3个 独立通道 的16位计 数器/定时
D0
8
数 据 线
No D1
Image 编程来控制和改变定时时间,灵活方便,节省
费用。缺点是CPU重复执行的这段程序的本身 并没有什么具体目的,仅为延时,从而降低了 CPU利用率。
整理ppt
6
2.不可编程的硬件定时
No 这种方法采用数字电路中的分频器将
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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
先读取低8位,后读取高8位(不锁存): 10 00H 0F 00H • 硬件锁存暂停计数 GATE 暂停计数
• 软件控制命令锁存
• 每一个通道都有一个输出锁存器(16位),平时它的值随通道计数 器的值变化,当向通道写入锁存的控制命令时,它把计数器的现 行值锁存而计数器的计数过程照样进行。这样,CPU读取的是锁 存器中的值。当重新写入一个命令字或CPU读取计数值后,计数 通道会自动解除锁存状态。
• OUTn:通道n的输出管脚,当计数值减 到0
•
在OUT管脚上输出,输出波形取决于
8253通道的工作方式;
• GATEn:门控信号输入管脚
8253的管脚包括数据线D7—D0,读写控制线
W R R D 以及和CPU地址线相连接的片选 信号 C S
20010.12
定时计数器8253
8
8253的编程
• 控制字
计数到零时,OUT信
号有效,通知外设计 CLK
数器产生溢出
16位计数器 OUT
GATE
20010.12
定时计数器8253
4
• 通道的使用
• 计数器:将要计数的次数预置到该通道计数器中
• 定时器:从CLK输入一固定频率的时钟脉冲,再根据要求定时的时间计算 出定时所需的计数值或称时间常数,并预置到计数器中
可编程定时 /8253
定时计数器8253
8253作用
• 定时
• 软件定时:让机器执行一段程序,安排循环来实现定时, 容易实现,定时时间调整方便,定时精确,占用了CPU资 源,降低了CPU的利用率。
• 硬件定时:可编程定时/计数硬件芯片,定时值、定时范 围可以很容易的由软件改变,具有使用灵活、功能较强等 特点。
20010.12
定时计数器8253
11
8253的工作方式
• 方式0——计数结束中断方式 • 方式1——可编程序的单独负脉冲 • 方式2——速率发生器 • 方式3——方波发生器 • 方式4——软件触发方式 • 方式5——硬件触发方式
20010.12
定时计数器8253
12
方式0——计数结束中断方式
• 方式0的作用
• 锁存控制字: 0000XXXXB
20010.12
定时计数器8253
10
工作方式选择(M2、M1、M0)
控制字的D5D4为00,表示的是锁 存命令。这时控制字中的低4位无 效
BCD计数制:写入初值范围为0000到 9999,而0000是最大值,代表10000
二进制计数制:写入初值范围为0000 到FFFFH,其中0000为最大值,代表 65536。
20010.12
定时计数器8253
13
20010.12
INT 8086
……
家庭厨房系统
MOV AL,10011010B
;置8255A方式控制字
OUT 8255控制口,AL
MOV AL,00H
;8255A置位/复位控制字,使PC0=0
OUT 8255控制口,AL
MOV AL, 00110000B ;置8253通道0方式控制字30H
• 用户可以在设定时间上产生中断信号
• 工作方式0特点:
• 门控信号GATE必须为1,计数器才能计数; • 计数时通道输出端OUT一直为0; • 通道计数器计数到0后,OUT由0到1,同时计数器停止工作。
• OUT输出的从低到高的正跳变或高电平可作为中断请求信号INTR,向CPU 发出中断请求。
• 在计数过程中,GATE信号为低电平时,停止计数,一旦GATE变高,则继 续计数.
• 外部事件计数
• 外部事件计数就是对外部脉冲信号计数。产生脉冲信号的 外部原因就是外部事件。
• 如高速公路入口处一个专用计算机检测系统,它可以自动 对进入高速公路的车辆进行计数
20010.12
定时计数器8253
2
8253的内部结构
8253内部有3个独立的16位定时/ 计数器通道。 计数器可按照二进制或十进制计数, 计数和定时范围可在1—65535之间 改变, 每个通道有6种工作方式,计数频率 可高达2MHz以上。
OUT 8255控制口,AL
……
定时计数器8253
14
方式1——可编程序的单独负脉冲 • 单稳电路 • 在输入的激励下产生固定宽度脉冲的电路,当输入端输入一个不低于 规定的最小宽度的脉冲后,单稳电路就输出一个用户事先设定宽度的 脉冲。 • 8253的方式1就是一个可编程单稳电路
计数值=定时时间/时钟脉冲周期
20010.12Βιβλιοθήκη 定时计数器82535
通道控制寄存器
• 一个通道控制寄存器 • CPU通过对控制寄存器的读写,可以分别对三个计数通道的工作
方式进行设置 • 只能写不能读
20010.12
定时计数器8253
6
数据总线缓冲器
• 双向三态的8位数据缓冲器,实现8253和CPU之间的 数据接口
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
先读取低8位,后读取高8位(不锁存): 10 00H 0F 00H • 硬件锁存暂停计数 GATE 暂停计数
• 软件控制命令锁存
• 每一个通道都有一个输出锁存器(16位),平时它的值随通道计数 器的值变化,当向通道写入锁存的控制命令时,它把计数器的现 行值锁存而计数器的计数过程照样进行。这样,CPU读取的是锁 存器中的值。当重新写入一个命令字或CPU读取计数值后,计数 通道会自动解除锁存状态。
• OUTn:通道n的输出管脚,当计数值减 到0
•
在OUT管脚上输出,输出波形取决于
8253通道的工作方式;
• GATEn:门控信号输入管脚
8253的管脚包括数据线D7—D0,读写控制线
W R R D 以及和CPU地址线相连接的片选 信号 C S
20010.12
定时计数器8253
8
8253的编程
• 控制字
计数到零时,OUT信
号有效,通知外设计 CLK
数器产生溢出
16位计数器 OUT
GATE
20010.12
定时计数器8253
4
• 通道的使用
• 计数器:将要计数的次数预置到该通道计数器中
• 定时器:从CLK输入一固定频率的时钟脉冲,再根据要求定时的时间计算 出定时所需的计数值或称时间常数,并预置到计数器中
可编程定时 /8253
定时计数器8253
8253作用
• 定时
• 软件定时:让机器执行一段程序,安排循环来实现定时, 容易实现,定时时间调整方便,定时精确,占用了CPU资 源,降低了CPU的利用率。
• 硬件定时:可编程定时/计数硬件芯片,定时值、定时范 围可以很容易的由软件改变,具有使用灵活、功能较强等 特点。
20010.12
定时计数器8253
11
8253的工作方式
• 方式0——计数结束中断方式 • 方式1——可编程序的单独负脉冲 • 方式2——速率发生器 • 方式3——方波发生器 • 方式4——软件触发方式 • 方式5——硬件触发方式
20010.12
定时计数器8253
12
方式0——计数结束中断方式
• 方式0的作用
• 锁存控制字: 0000XXXXB
20010.12
定时计数器8253
10
工作方式选择(M2、M1、M0)
控制字的D5D4为00,表示的是锁 存命令。这时控制字中的低4位无 效
BCD计数制:写入初值范围为0000到 9999,而0000是最大值,代表10000
二进制计数制:写入初值范围为0000 到FFFFH,其中0000为最大值,代表 65536。
20010.12
定时计数器8253
13
20010.12
INT 8086
……
家庭厨房系统
MOV AL,10011010B
;置8255A方式控制字
OUT 8255控制口,AL
MOV AL,00H
;8255A置位/复位控制字,使PC0=0
OUT 8255控制口,AL
MOV AL, 00110000B ;置8253通道0方式控制字30H
• 用户可以在设定时间上产生中断信号
• 工作方式0特点:
• 门控信号GATE必须为1,计数器才能计数; • 计数时通道输出端OUT一直为0; • 通道计数器计数到0后,OUT由0到1,同时计数器停止工作。
• OUT输出的从低到高的正跳变或高电平可作为中断请求信号INTR,向CPU 发出中断请求。
• 在计数过程中,GATE信号为低电平时,停止计数,一旦GATE变高,则继 续计数.
• 外部事件计数
• 外部事件计数就是对外部脉冲信号计数。产生脉冲信号的 外部原因就是外部事件。
• 如高速公路入口处一个专用计算机检测系统,它可以自动 对进入高速公路的车辆进行计数
20010.12
定时计数器8253
2
8253的内部结构
8253内部有3个独立的16位定时/ 计数器通道。 计数器可按照二进制或十进制计数, 计数和定时范围可在1—65535之间 改变, 每个通道有6种工作方式,计数频率 可高达2MHz以上。
OUT 8255控制口,AL
……
定时计数器8253
14
方式1——可编程序的单独负脉冲 • 单稳电路 • 在输入的激励下产生固定宽度脉冲的电路,当输入端输入一个不低于 规定的最小宽度的脉冲后,单稳电路就输出一个用户事先设定宽度的 脉冲。 • 8253的方式1就是一个可编程单稳电路
计数值=定时时间/时钟脉冲周期
20010.12Βιβλιοθήκη 定时计数器82535
通道控制寄存器
• 一个通道控制寄存器 • CPU通过对控制寄存器的读写,可以分别对三个计数通道的工作
方式进行设置 • 只能写不能读
20010.12
定时计数器8253
6
数据总线缓冲器
• 双向三态的8位数据缓冲器,实现8253和CPU之间的 数据接口