第九章可编程计数器定时器8253及其应用(精)
合集下载
可编程计数器定时器8253及其应用

一、8253的内部结构和引脚信号
• 注意: • 8088为CPU连接,地址总线高位参与译码;低位用于 各芯片内部端口寻址。 • 若8253的端口基地址为40H • 通道0地址40H • 通道1地址41H • 通道2地址42H • 控制字寄存器端口地址43H
一、8253的内部结构和引脚信号
可以被CPU 访问
8-1 可编程计数器/定时器的工作原理
• 控制寄存器可以用来控制工作模式。 • 计数器/定时器的工作模式就是指时钟脉冲和门脉冲怎样配合来产 生输出。 • 归纳起来,计数器/定时器可以有下面几种工作模式: • (1)门脉冲控制时钟输入。当门脉冲来到时,时钟有效;门脉冲结 束时,时钟无效。 • (2)用门脉冲来重新启动计数。 • (3)用门脉冲停止计数。即原来在不停地计数,当门脉冲到来时, 计数停止,并使输出端OUT进入高电平。 • (4)单一计数。这种情况下和门脉冲没有关系,只要门脉冲端为有 效电平就行了。计数器进行计数时不断输出信号,计数到达“0” 时,输出停止。 • (5)循环计数。每当计数值到达“0”时,给出一个输出信号,然后 又从初始值寄存器获得计数初值,开始新的计数过程。
微型计算机原理与接口技术
第八章
可编程计数器/定时器8253及其应用
• 8-1 可编程计数器/定时器的工作原理 • 8-2 8253的工作原理 • 8-3 8253的应用举例
8-1 可编程计数器/定时器的工作原理
• 计算机系统中经常要用到定时信号,如动态存储器的 刷新定时、系统日历时钟的计时以及喇叭的声源等都 是用定时信号来产生的。 • 一般,定时信号可以用软件和硬件两种方法获得。 • 软件方法:根据所需的时间常数设计一个延迟子程序 优点:节省硬件;缺点:执行延迟程序期间,CPU一 直被占用,降低CPU效率。 • 硬件方法:使用计数器/定时器。主要思想根据需要定 时时间,用指令对计数器/定时器设置定时常数,启动 计数器/定时器,计到确定值时,自动产生一个定时输 出。 优点:计数时不占用CPU的时间;利用其产生中断信 号,可建立多作业环境。
微机第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的内部结构
数据总线 缓冲器 读/写控 制电路 计数通道
通道控制 寄存器
三、 8253的管脚分配
控制线
数据线 通道选择
通道管脚
四、 8253的编程
8253只有一个控制字,8253的一个方式 控制字只决定一个计数通道的工作模式。 8253 的控制字格式如图所示。共分为 4 部 分,通道选择、计数器读 / 写方式、工作 方式和计数码的选择。
第9章 可编程接口芯片
可编程接口概术 可编程定时/计数器接口芯片8253
可编程接口概术
一个简单的具有输入功能和输出功能的 可编程接口电路如下图,它包括一个输入接口, 其组成主要是八位的三态门;一个输出接口, 其组成主要是八位的锁存器;另外还有八位的 多路转换开关及控制这个开关的寄存器FF。
9. 1 可编程定时/计数器接口芯片8253 一、功能
定时和脉冲信号的处理与接口是完全有别于 并行信号的,其特点是信号形式简单但需要连 续检测,下面介绍的INTEL8253可编程定时/ 计数器就是可以实现所要求这方面功能。8253 内部有3个独立的16位定时/计数器通道。计 数器可按照二进制或十进制计数,计数和定时 范围可在1—65535之间改变,每个通道有6种 工作方式,计数频率可高达2MHz以上。
4、方式3——方波发生器 方式2虽然可以作分频电路,但其输出 是窄脉冲,如果是方波,就只有选方式3
5、方式4——软件触发方式 方式4在工作过程中有以下特点:
a、 门控信号GATE为高电平,计数器开始减 1计数,OUT维持高电平; b、 当计数器减到0,输出端OUT变低,再经 过一个 CLK 输入时钟周期, OUT 输出又变 高。
解:1、电路。 需要两个通道,一个作为计数,选用通道0。另一 个产生1KHz信号,选用通道1。工作原理如下,传感 器电路把物理事件转换为脉冲信号输入到通道0计数, 当记录10000个事件后,通道0计数器溢出,GATE端输 出高电平,这时通道1开始工作,产生1KHz信号推动喇 叭发音。
可编程定时计数器8253的方式控制字及应用

过去由于缺乏科学的无功电力规划和优化的补
偿方案, 造成了无功补偿装置布局的不合理, 如供电 部门与用户、 变电所与配电网之间的补偿容量配置 不合理, 以及补偿设备装设的地点不合理, 不能达到 优化补偿的目的, 造成配电网络电压质量差, 配电网 络线损率高, 影响企业经济效益。无功损耗按电压 等级分, $ . # /0 级损耗占总损耗的 "$1 , !$ /0 级占 按供电网络分, 输电 -$1 , )" /0 及以上级占 )$1 ; 配电网络占 ’$1 。理论分析表明, 变 网络占 )$1 , 电所的集中补偿主要是补偿主变压器本身的无功损 耗以及上级输电线路的损耗, 它不能降低配电线路
图&
控制系统示意图
($) 为防止由直流电源侧引入的干扰, 保证控制 单元供电电源的稳定性, 各调节、 控制单元的 / &$ 0 电源, 在各单元输入端加 &’’ 1 #’’ " 2 的滤波电容 以吸收干扰脉冲。
%
其它安全可靠措施
(&) 为防止可控硅元件的误触发, 在可控硅控制 极上加防止干扰电容, 其容量约 ’ 3 ’.- " 负偏在 & 2, 1 # 0。 (#) 装高灵敏度的信号检测和保护环节, 以使其 及时报警和防止偶然因素造成的事故。对高灵敏度 的电平检测信号保护电路, 在信号输入端加小时间 常数的滤波电路, 防止干扰脉冲信号引起误动作。 对半导体逻辑电路, 也同样在信号输入端加小时间 常数的滤波电路, 保证动作可靠。
’
引言
定时 ! 计数器在计算机系统中, 尤其是在工业测 控系统中有着重要的作用。计算机是一种智能化机
器, 它严格按时序进行工作, 因此, 计算机离不开定 时与计数。在计算机构成的测控系统中, 还要求能 提供一些定时与计数的功能, 如定时中断、 定时检 测、 定时扫描、 定时处理以及所需的某种延时等。
偿方案, 造成了无功补偿装置布局的不合理, 如供电 部门与用户、 变电所与配电网之间的补偿容量配置 不合理, 以及补偿设备装设的地点不合理, 不能达到 优化补偿的目的, 造成配电网络电压质量差, 配电网 络线损率高, 影响企业经济效益。无功损耗按电压 等级分, $ . # /0 级损耗占总损耗的 "$1 , !$ /0 级占 按供电网络分, 输电 -$1 , )" /0 及以上级占 )$1 ; 配电网络占 ’$1 。理论分析表明, 变 网络占 )$1 , 电所的集中补偿主要是补偿主变压器本身的无功损 耗以及上级输电线路的损耗, 它不能降低配电线路
图&
控制系统示意图
($) 为防止由直流电源侧引入的干扰, 保证控制 单元供电电源的稳定性, 各调节、 控制单元的 / &$ 0 电源, 在各单元输入端加 &’’ 1 #’’ " 2 的滤波电容 以吸收干扰脉冲。
%
其它安全可靠措施
(&) 为防止可控硅元件的误触发, 在可控硅控制 极上加防止干扰电容, 其容量约 ’ 3 ’.- " 负偏在 & 2, 1 # 0。 (#) 装高灵敏度的信号检测和保护环节, 以使其 及时报警和防止偶然因素造成的事故。对高灵敏度 的电平检测信号保护电路, 在信号输入端加小时间 常数的滤波电路, 防止干扰脉冲信号引起误动作。 对半导体逻辑电路, 也同样在信号输入端加小时间 常数的滤波电路, 保证动作可靠。
’
引言
定时 ! 计数器在计算机系统中, 尤其是在工业测 控系统中有着重要的作用。计算机是一种智能化机
器, 它严格按时序进行工作, 因此, 计算机离不开定 时与计数。在计算机构成的测控系统中, 还要求能 提供一些定时与计数的功能, 如定时中断、 定时检 测、 定时扫描、 定时处理以及所需的某种延时等。
第9章_3 可编程定时计数器8253

OUT
2
1)写入计数值开始计数。周期性计数。 2)N=偶数,正负半周=N/2,N=奇数,正半周=(N+1)/2,负半周=(N-1)/2。 3)计数过程中GATE=0,暂停计数,GATE=1重新计数。 4)计数过程中改变计数值,下一周期按新的计数值计数
9.4 可编程的定时/计数器8253/8254 方式4——软件触发选通
9.4 可编程的定时/计数器8253/8254 8253的引线及内部结构:
D0~D7
CLK0
数据 总线 缓冲
计数器 #0 (CNT0) 计数器 #1 (CNT0) 计数器 #2 (CNT0)Biblioteka GATE0OUT0 CLK1
D7 D6 D5 D4 D3 D2 D1 D0 CLK0 OUT0 GATE0 GND
9.4 可编程的定时/计数器8253/8254 方式5——硬件触发选通
WR GATE 启动计数 CLK CW=16 N=3
OUT
3 GATE OUT 3 2 3
3
2
1
0
0
GATE重复 启动计数
3
2
1
0
GATE
WR 计数中改 变计数值 OUT
CW=16
N=4
N=2 4 3 2 1 0 2 1
GATE
控制字 寄存器
•三个16位计数口: #0:CLK0、OUT0、GATE0 #1:CLK1、OUT1、GATE1 #2:CLK2、OUT2、GATE2
9.4 可编程的定时/计数器8253/8254 8253的口地址及操作:
•片内地址:A0,A1 •片选:CS •数据总线:D0~D7 •读/写信号: RD
D0 ;初始化通道0 D7 ;计数值100
微机原理与应用第九章

;定义ICW2 ;定义ICW3 ;定义ICW4 ;定义OCW1
IR3上接有从 8259A
采用特殊完全嵌套方式、非 自动EOI结束方式、非缓冲方式
;定义OCW2
中断屏蔽字11010110
从8259A的初始化程序段
ICW1标志
MOV MOV OUT MOV MOV OUT MOV OUT MOV OUT MOV OUT MOV MOV OUT
中断请求的优先级别以循环方式类推。
例:假设当前正在处理IR2和IR6引入的中断请求,
中断源 ISR 内容 优先级 ISR 内容 优先级 ISR 内容 优先级 IR7 ISR7 0 7 0 4 0 0 IR6 ISR6 1 6 1 3 0 7 R5 ISR5 0 5 0 2 0 6 IR4 ISR4 0 4 0 1 0 5 IR3 ISR3 0 3 0 0 0 4 IR2 ISR2 1 2 0 7 0 3 IR1 ISR1 0 1 0 6 0 2 IR0 ISR0 0 0 0 5 0 1
ICW2
由当前的中断请求 IR7—IR0确定
ICW2的标志
A0 D7 D6 D5 D4 D3 D2 D1 D0 1 S7 S6 S5 S4 S3 S2 S1 S0
A0 1
D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 0 ID2ID1ID0
从8259A的识别地址
1:表示IR端接有从8259A 0:表示IR端未接从8259A
2 1 ADI SNGL IC4
0
1:需要设置ICW4
0:不需要设置ICW4
标 志 位
1:单级使用 0:级联使用 1:调用地址间隔为4 0:调用地址间隔为8
ICW1的标志
1:电平触发 0:边缘触发
微机原理,第九章(2)8253定时器—计数器应用设计

…
=0
…
CS
§ 9.4 8253的总线接口方法
3. 与IBM PC机的连接
CPU接口 D7 外设接口 D7 RD WR A1 A0
=0
~ D0
IOR IOW A2 A1 AEN A15
~ D0
CLK0 GATE0 OUT0
IBM PC机 系统 总线
Intel 8253
CLK1 GATE1 OUT1
译码 电路
A3 A0
CS
CLK2 GATE2 OUT2
…
=0
xtwang@
…
8253应用举例
xtwang@
§ 9.4 8253的总线接口方法
EG1. 8088最大系统下,8253的地址范围为340H~343H。输 入时钟频率为2M赫兹,实现输出频率为1Hz的方波。画连接图,写 初始化程序和时常数赋值程序。
~ D0
8086 CPU 最小 方式 系统 总线
CLK0 GATE0 OUT0
M/IO A15
=0
A3 A0
译码 电路
CS
CLK2 GATE2 OUT2
图 8086最小方式系统总线与8253的连接框图 xtwang@
…
=0
…
§ 9.4 8253的总线接口方法
2.8086最大工作方式下的8253连接
计数器1: 工作方式2,时常数1012 计数器2: 工作方式1,时常数1000
时常数=1012,工作方式2 输出信号周期:1.102s
产生信号
CLK2 GATE2 CS OUT2
时常数=1000,工作方式1 减1计数,在1000第个周期电平变高,在第1012个周期, 由GATE上升沿触发,电平变低,开始下一轮计数
微机原理与接口技术9章8253

定时器/计数器
• 主要内容
– 定时与计数 – 可编程定时器/计数器接口芯片8253
定时与计数
• 定时技术在微机系统中必不可少
– 微机的工作在标准时钟控制下完成 – 为外设提供实时时钟 – 向外设定时发出控制信号
• 定时中断、定时检测、定时扫描、定时显示……
– 对外部事件进行计数
定时与计数
• 定时与计数
可编程定时/计数芯片8253
• 8253的工作方式
– 方式4——软件触发的选通信号发生器
• 波形图
可编程定时/计数芯片8253
• 8253的工作方式
– 方式4——软件触发的选通信号发生器
• 工作特点
– 计数由软件启动,每次写入计数初值只启动一次 计数 – 当计数值为N时,则间隔N+1个CLK脉冲输出一 个负脉冲(计数一次有效) – 在计数过程中,可由GATE信号控制暂停。当 GATE=0时,暂停计数;当GATE=1时,继续计 数 – 在计数过程中写入新的计数初值,则按新的初值 重新开始计数
可编程定时/计数芯片8253
• 8253的工作方式
– 方式5——硬件触发的选通信号发生器
• 波形图
可编程定时/计数芯片8253
• 8253的工作方式
– 方式5——硬件触发的选通信号发生器
• 工作特点
– 计数由GATE上升沿启动,只要GATE端给触 发脉冲,则会装入计数值,并开始计数 – 在这种方式下,若设置的计数值是N,则在 GATE脉冲后,经过(N+1)个CLK,OUT端 才输出一个负脉冲 – 在计数过程中修改计数初值,不会影响本次计 数,只有GATE端再次触发时,才按新的计数 值计数
微机原理与接口技术
第九章 8253
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、计数/定时的工作原理
CLK是计数输入信号,计数器对CLK端出现的脉冲个数 进行计数 •CLK端可以输入外部事件 •CLK端可以接入固定频率的时钟信号,从而实现 计时 OUT信号在计数结束时发生变化 •可将OUT作为外部设备的控制信号 •可将OUT作为向CPU申请中断的信号
CPU可以从计数输出寄存器读出当前计数值。 读前,应向控制寄存器发送锁存命令
边界
写入初值
三、8253的编程命令
•初始化
1)写入控制字 2)按控制字要求写入计数初值
计数器初值计算:N=fCLK/fOUT
例:设三个计数器的CR/OL端口地址为70H、71H、72H,控制 寄存器端口地址73H。计数器0,工作模式2,CR/OL仅使用低8 位,初值为100,计数值使用二进制 MOV AL, 14H OUT 73H, AL MOV AL, 64H OUT 70H, AL
例如输入脉冲频率为2MHz,那么计数2106
计时1秒
因此,使用同一个芯片,既能计数,又能计时——计时器/计数器
一、计数/定时的工作原理
组成:
控制寄存器——决定工作模式 状态寄存器——反应工作状态 初值寄存器——计数的初值 计数输出寄存器——CPU从中 读当前计数值 计数器——执行计数操作, CPU不能访问
定时和计数器
对不同信号的计数 定时器
对时钟信号进行计数 周期性 对外部脉冲进行计数 周期性、非周期性
计数器
8253计数/定时器
可编程(工作方式/计数值) 三个独立的计数器通道 对初值进行减一计数 二进制/BCD计数初值 计数对象的最高频率为2MHz
8253计数/定时器——原理
8253计数/定时器——编程
初始化操作——例
8253基址:3F0H、通道0、方式3、BCD初 值1234H 方式字:00110111→3F6H 初值:34H→3F0H、12H→3F0H
编程
8253计数/定时器——编程
GATE的控制作用
8253计数/定时器——工作方式
方式0——计数结束中断方式
三、8253的编程命令
例:设三个计数器的CR/OL端口地址为70H、71H、72H,控制 寄存器端口地址73H。计数器1,工作模式1,CR/OL使用16位, 初值为1234,计数值使用BCD MOV AL, 73H OUT 73H, AL MOV AX, 1234H OUT 71H, AL MOV AL, AH OUT 71H, AL
第九章 可编程计数器/定时器 8253及其应用
本章内容
定时处理方法 8253工作原理 8253应用
定时处理方法
定时
软件定时方式
CPU干预 指令执行时间作间隔 方式固定 硬件设定参数 程序设定、程序控制 中断
不可编程的硬件定时方式
可编程的硬件定时方式
定时处理方法
三、8253的编程命令
•读出命令
1)发出锁存命令,使当前计数值锁存在OL中 2)读OL,获得当前计数值
例:设三个计数器的CR/OL端口地址为70H、71H、72H,控制 寄存器端口地址73H。读出计数器0的当前计数值,放在BX中 MOV AL, 0H OUT 73H, AL IN AL, 70H MOV BL, AL IN AL, 70H MOV BH, AL
8253CLK输入脉冲的最大频率
2MHz
8253计数/定时器——编程
控制字寄存器
8253计数/定时器——编程
初始化操作(三个通道单独初始化)
写入控制字
选择计数通道 设置工作方式 初值的访问方式 确定初值的数制(二进制/BCD) 计数器清零、OUT初始化 根据控制字的规定顺序
8253计数/定时器——原理
8088/8086的连接方式
8253计数/定时器——原理
一、计数/定时的工作原理
计数/定时的功能 •对外部事件发生次数进行计数 •计算机系统经常用到定时信号,如DRAM刷新定时 计数和计时本质上是相同的,它们都是对一个输入脉冲进行 计数,如果输入脉冲的频率一定,那么记录脉冲的个数与所 需的时间是一一对应的关系。
8253计数/定时器——原理
计数器的结构
16(8×2)位初值寄存器 16 (8×2)位计数器执行部件
减一计数
16 (8×2)位输出锁存器 GATE CLK OUT
计数器的控制
8253计数/定时器——原理
定时/计数器初值的计算
定时时间 = 时钟脉冲周期×预置的计数初值 定时频率 = 时钟脉冲频率÷预置的计数初值
8253计数/定时器——工作方式
方式0——计数结束中断方式
写入0方式工作字
OUT变低
写入初值后,CLK经历上升、下降后,才将 初值送入计数器执行部件 GATE必须为高 GATE中途为低,暂时停止计数(维持) 一次性,不重载 装入初值,即启动计数
8253计数/定时器——工作方式
8253计数/定时器——工作方式
方式2——比率发生器
8253计数/定时器——工作方式
方式2——比率发生器
写入工作方式字
OUT变高
GATE必须为高 OUT在最后一个CLK周期出现与CLK等宽 的负脉冲 计数到零,重载初值 GATE的上升沿,导致初值重载
8253计数/定时器——工作方式
控制寄存器 初始值寄存器
CLK
GATE
计数器
计数输出寄存器 OUT
状态寄存器
一、计数/定时的工作原理
工作原理:对CLK信号进行减1计数 首先,CPU把控制字写入控制寄存器,计数初始值写入 初值寄存器 计数从初值开始,每当CLK信号出现一次,计数值减1 当计数值减到0,从OUT端输出规定的信号 CLK信号出现时,计数器是否减1,由门控信号GATE控 制
方式1——可编程单稳态输出方式
8253计数/定时器——工作方式
方式1——可编程单稳态输出方式
写入工作方式字
OUT变高
GATE的上升沿才触使初值装入并启动计数, 并使OUT变低 若计数未满,再出现GATE的上升沿,重载 初值,延长计数时间 单稳——在规定的时长内(初值),多个 GATE信号,只被识别一次——多个GATE 信号→一个OUT输出周期