计数器定时器
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8253计数通道结构:
数据总线 D7~D0 高 8位 RD RD WR WR IO/M 地址 译码 CS 计数器1 A1 A0 计数器2 高 8位 低 8位 输出锁存器(OL) 数执 部件 计数执行部件 (CE) 低 8位 计数器0 控制寄存器(8位) 计数初值寄存器 (CR) VCC GND
(2)不可编程的硬件定时
例如:555定时器、RC时间常数
-不能软件控制,通用性、灵活性较差 单稳态 电路 时序波形
稳态
td
触发信号 暂稳态
(3)可编程计数器/定时器 可用软件的方法(通过初始化编程)设定或调整定时 范围。设定后与CPU并行工作,不占用CPU的时间。 典型产品:
Zilog Z80 Z80-CTC; CTC; Intel 8253(8254):8086/8088系列配置的外设接 口芯片。 口芯片
4、在计数过程中也可改变计数值。
方式0输出信号可作为中断请求信号使用。
CW WR CLK
N= 3
GATE
OUT 3 2 2 2 1 0
方式0计数过程中改变GATE信号:当GATE变低时,计数暂停; 方式0计数过程中改变GATE信号 当GATE变低时 计数暂停 当GATE变高后,又接着计数。
方式0 计数到零产生中断请求 方式0—计数到零产生中断请求
CW WR CLK N= 4 N + 1个
GATE(高)
OUT 4 3 2 1 0
方式0的时序图
方式 方式0—计数到零产生中断,主要特点: 计数到零产生中断 主要特点
1 计数器只计一遍而不能自动重复工作 1、计数器只计 遍而不能自动重复工作。
WR CLK CW N= 2
GATE
OUT 2 1 0 2 1 0
方式1的时序图
方式1 硬件可重复触发的单稳态触发器 方式1—硬件可重复触发的单稳态触发器
当CPU输出控制字后(WR的上升沿),OUT输出变为高电平(若原 当 输出控制字后( 的上升沿) 输出变为高电平(若原 为高电平,则保持为高电平); 在CPU写入计数初值后,计数器并不开始计数,直至门控信号 在CPU写入计数初值后 计数器并不开始计数 直至门控信号 GATE上升沿(即门控触发信号)出现,并在其下一个CLK脉冲的 下降沿, 的内容送入 ,同时使 下降沿,CR的内容送入CE,同时使OUT输出变为低电平,然后 输出变为低电平,然后 开始对随后的CLK脉冲进行减1计数。 在计数过程中,OUT一直维持为低电平,直至减1计数到0时, OUT输出变为高电平。 即由于GATE上升沿的触发,使OUT输出端产生一个宽度为N个 CLK周期的负脉冲。 周期的负脉冲 此后,若再次由GATE上升沿触发,则输出再次产生一个同样 宽度的负脉冲。 宽度的负脉冲
24 条 引 线 的 双 列 直插式封装器件; 使 用 5 伏 电 源 VCC ; 内部有3个独立的 计数器(减法计 数器)。
D5 D4 D3 D2 D1 D0 CLK0 OUT0 GATE0 GND
8253的引脚功能
(1)面向CPU的引脚 (1)面向CPU的引脚: 1.数据线D 数据线 7~D0——8位,双向、三态,用于8253与CPU 位 向 用 之间的数据传送。包括:向8253写控制字,送计数初值, 以及读计数器的现行计数值。 读 数 数值 2.读写控制信号RD,WR 3.片选及地址线CS,A1,A0——用于芯片及内部寄存 器 计数器的寻址 器、计数器的寻址。 例如,在IBM-PC机中,A9A8A7A6A5=00010选中(CS=0), A4A3A2未用,A 未用 接 的 1A0。 1A0接8253的A
重点:
6 6 定时器/计数器 6.6
微机及控制系统中,常会需要有一些实时时钟或定时信号, 微机及控制系统中 常会需要有 些实时时钟或定时信号 以实现定时控制或延时控制;也需要有计数功能对外部事件 进行计数。
例如,系统的实时时钟定时中断、动态存储器的定时刷新 等;例如,当外部事件发生的次数达到规定值后,向计算 机发出中断请求等。 用途:为外部设备提供时间基准;向外部设备周期性的发 出控制信号;实现实时延迟;对外部事件进行计数等 实质都是对脉冲进行计数。定时:所计的脉冲是标准的时 钟信号,信号周期恒定,累加可得一段定时时间。计数: 所计数的脉冲随机性较大,由外部事件的具体情况而定。
2、可编程计数器/定时器8253
8253的主要功能: 具有三个独立的16位计数通道(减法计数器); 具有三个独立的16位计数通道(减法计数器) 每个计数通道可按二进制或二-十进制(BCD码) 计数; 计数 工作方式和计数值可编程控制; 每个计数通道的计数速率可达2MHz; 每个计数通道有六种工作方式; 全部输入输出都与TTL电平兼容。
一个8位的控制寄存器用以存放写入本通道的控制字 个8位的控制寄存器用以存放写入本通道的控制字, 一个16位的计数初值寄存器CR(存放初值),一个16位 的计数执行部件CE(进行减1计数操作),和一个16位 输出锁存器 用来锁存 内容 输出锁存器OL用来锁存CE内容; 控制寄存器和计数初值寄存器(CR)可由CPU写入; 输出锁存器(OL)可由CPU读出。
3、8253 的工作方式
可编程定时器8253内部有3个相同的16位计数器,能 编程定时 内部有 个相 的 位 数 能 够工作在6种方式之下:
(1)方式0—计数到零产生中断请求 (2)方式1—硬件可重复触发的单稳态触发器 (3)方式2—分频器 (4)方式3—方波发生器 (4)方式3 方波发生器 (5)方式4—软件触发选通 (6)方式5 硬件触发选通 (6)方式5—硬件触发选通 不同的工作方式,OUT输出波形不同,启动计数器工作的触发 方式不同 门控信号GATE对于计数操作的控制方式也不同 方式不同,门控信号GATE对于计数操作的控制方式也不同。
方式 方式0—计数到零产生中断,主要特点: 计数到零产生中断 主要特点
3、在计数过程中,可由GATE信号控制暂停计数。
当GATE变低时,计数暂停;当GATE变高后又接着计数;其 工作波形如图所示: 作波形如图所示 在写入新的计数值后,计数器将立即按新的计数值重新开 始计数,即改变计数值是立即有效的。 当按新的计数值减1计数到0时,输出OUT变为高电平。其 工作波形如图所示:
高 8位
低 8位
CLK0 GATE0 OUT0 CLK1 GATE1 OUT1 CLK2 GATE2 OUT2
8253的引脚
D7 D6
1 2 3 4 5 6 7 8 9 10 11 12 8253
24 23 22 21 20 19 18 17 16 15 14 13
Vcc WR RD CS A1 A0 CLK2 GATE2 OUT2 CLK1 GATE1 Βιβλιοθήκη BaiduUT1
6 6 定时器/计数器 6.6
计算机中定时 计数的基本技术 计算机中定时、计数的基本技术; 可编程计数器/定时器8253的结构及工作方式; 8253的编程应用。 要 要求:
理解定时器/计数器在微机中的用途以及微机中实现定时/ 计数的常用方法; 掌握可编程定时器/计数器芯片8253的结构、引脚、工作 方式及编程。 接口芯片的结构 功能 编程及其应用 接口芯片的结构、功能、编程及其应用。
8253的结构
(3)控制字寄存器
控制每个计数器的工作方式等 控制每个计数器的工作方式等。 当地址信号A1和A0都为1时,访问控制字寄存器。 控制字寄存器从数据总线上接收CPU送来的控制字 ,并由控制字的D7、D6两位的编码决定控制字写 入哪个通道的控制寄存器中去。 入哪个通道的控制寄存器中去 由寄存在每个通道内的控制寄存器的内容决定该 通道的 作方式 选择计数器是按 进制还是 通道的工作方式,选择计数器是按二进制还是BCD 数计数,并确定每个计数器初值的写入顺序。
定时和计数
1、概述
实现定时的三种方法:
(1)软件定时
由CPU执行指令序列所花费的时间来构成一定的时 间间隔 从而达到定时的目的 间间隔,从而达到定时的目的。 CX , ××××H HERE: LOOP HERE
例如:MOV
优点:不需要专门的硬件设备 缺点: 浪费了宝贵的CPU资源
例如:空操作指令 NOP,仅占用三个时钟周期,可做 短暂延时的调整
2、CPU向CR寄存器写入计数初值后的第一个CLK脉冲将CR的内 容送入 容送入CE,从此之后计数器才开始减1计数。 从此之后计数器才开始减 计数
这第一个CLK脉冲不包括在减1计数过程中。如果设置计数初 值为N 则输出OUT是在N 1个CLK脉冲之后才变为高电平 值为N,则输出OUT是在N+1个CLK脉冲之后才变为高电平。
8253的引脚功能
A9A8A7A6A5A4A3A2A1A0 功能 一个可用地址 0 0 0 1 0 × ×× 0 0 选中计数器0 40H 0 0 0 1 0 × ×× 0 1 选中计数器1 41H 0 0 0 1 0 × ×× 1 0 选中计数器2 42H 0 0 0 1 0 × ×× 1 1 选中控制寄存器 43H (其他) × ×× ×× 芯片禁止 (说明:此时8253有地址重复现象)
当减1计数到零时,并不自动恢复计数初值重新开始计数, 且OUT输出保持为高电平。 只有CPU再次写入一个新的计数值(即使计数值相同也需再次 写入), 写入),OUT才变为低电平,计数器按新写入的计数值重新开 才变为低电平,计数器按新写入的计数值重新开 始计数。 或者CPU重新对8253设置方式0控制字,它的OUT输出也可以 立即变为低电平,并等再次写入计数初值后重新开始计数。
方式1—硬件可重复触发的单稳态触发器, 主要特点:
(1)若设置计数初值为N,则输出负脉冲的宽度为N个CLK脉冲 (1)若设置计数初值为N 则输出负脉冲的宽度为N个CLK脉冲 周期。 (2)当计数到零时,可再次由GATE上升沿触发,输出同样宽 度的负脉冲,而不必重新写入计数初值。 (3)在计数过程中(输出负脉冲期间),可由GATE上升沿再触 ( )在计数过程中(输出负脉冲期间),可由 上升沿再触 发。并使计数器从计数初值开始重新作减1计数,减至0时, OUT输出变为高电平。其效果是使输出负脉冲的宽度比原来 加宽了。 加宽了 (4)在计数过程中,CPU可改变计数初值,这时计数过程不受 影响 计数到零后输出变高 影响,计数到零后输出变高。 (5)当再次触发时,计数器才按新输入的计数值计数。即改 变计数值是下次有效的。
8253的引脚功能
( )面向外部设备的引脚 (2)面向外部设备的引脚: 4.计数器时钟输入CLK 4 计数器时钟输入CLK0~CLK CLK2——计数/定时的基值 计数/定时的基值 信号: 8253 8253: 0 2 MHz 0~ MH 8254-2:0~10 MHz 5.计数器门控输入信号GATE0~GATE2——启动或控制 每个计数器的计数/定时信号; 6.计数器输出信号OUT0~OUT2——计数结束、定时到 输出信号或分频输出信号。
CW WR CLK
N= 3
N= 2
GATE(高)
OUT 3 2 1 2 1 0
方式0计数过程中改变计数值:在写入新的计数值后,计数器 方式0计数过程中改变计数值 在写入新的计数值后 计数器 将立即按新的计数值重新开始计数。
方式1 硬件可重复触发的单稳态触发器 方式1—硬件可重复触发的单稳态触发器
8253的内部结构框图
D7~D0 数据 总线 缓冲器 CLK0 计数器 0 GATE0 OUT0
RD WR A0 A1 CS
CLK1
读 /写 逻辑
计数器 1
GATE1 OUT1
控制字 寄存器
计数器 2
CLK2 GATE2 OUT2
内部总线
8253的结构
它由与CPU的接口、内部控制电路以及三个计数器通 它由与CPU的接口 内部控制电路以及三个计数器通 道所组成。 (1)数据总线缓冲器
8253的结构
(4)计数器0、计数器1、计数器2
这是三个结构相同的计数器/定时器通道,每一个都由16位 的可设置计数初值的减法计数器构成。 三个通道的操作是完全独立的。每个通道都有两个输入引 脚 脚CLK和GATE以及一个输出引脚OUT。 和 以及 个输出引脚 从编程的角度看,8253的每个计数通道都包含:
这是8253与CPU的数据总线(D7~D0)连接的8位 双向三态缓冲器。 向 态缓冲器 CPU用输入输出指令对8253进行读写操作时的所有 信息都通过这个缓冲器传送。 这是8253内部操作的控制电路,它从系统控制总 线上接收输入信号,然后转换成8253内部操作的 各种控制信号。
(2)读/写逻辑