微机原理,第九章(2)8253定时器—计数器应用设计
第九章可编程计数器定时器8253及其应用(精)

一、计数/定时的工作原理
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
微机第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可编程定时计数器应用实验

8253可编程定时计数器应用实验一、实验要求:按照电路图连接好电路,利用8253定时计数器0产生500Hz,250Hz,125Hz 的方波信号,显示在示波器上;然后用8253定时计数器1制作一个频率计以检测4060和定时计数器0输出方波的频率。
二、实验目的:1、了解如何利用计数器(以4060为例)制作分频器2、熟悉8253在系统中的典型接法。
3、掌握8253的工作方式及应用编程。
三、实验电路及连线:输入时钟产生模块YQNQLQJQIQHQGQFQEQD图1,分频器4060就是一个纯粹的计数器,当作分频用,QD-DN就是对输入频率的4分频-8192分频,直接接到8253相应的定时器计数器时钟输入端口即可8253接口模块X图2,定时器计数器8位数据线和单片机的P0口相连;片选信号CS和P1.0相连;WR/RD分别和单片机相应的WR/RD相连;A0,A1分别和单片机的P3.4、P3.5相连;CLK0直接和4060的QD时钟输出相连;OUT0接示波器和CLK1。
四、实验说明:8253是一款拥有3个完全相同的16位定时器计数器的定时器计数器芯片,三个通道完全独立,其引脚功能为D0-D7:8位数据双向I/O口WR/RD:写/读信号,低电平有效CS:片选信号,低电平有效GATE0-2:三个定时器计数器的门信号CLK0-2:三个定时器计数器的时钟输入信号OUT0-2:三个定时器计数器的输出信号A0,A1:定时器计数器读写地址选择,00 定时器计数器0;01定时器计数器1;10 定时器计数器2;11 控制寄存器定时器计数器采用倒计数,即每输入一个时钟脉冲自减1,当计数寄存器减为0时OUT输出一个脉冲信号,但输出受工作方式和GATE引脚控制。
定时时间=时钟脉冲周期×预置的计数初值8253的定时器计数器有6种工作模式,具体工作模式由状态寄存器决定,如下SC1,SC0:计数器选择 00:选择计数器001:选择计数器110:选择计数器2RW1,RW0:读/写指示 00:计数器锁存命令01:只读/写低 8位10:只读/写高 8位11:先读/写低8位,再读/写高 8位M2,M1,M0:定时器计数器工作方式选择:000-101,方式0-5BCD:计数寄存器数制选择,1:BCD码;0:二进制码8253每个定时器计数器都有6种工作方式,具体如下所述方式0:计数结果中断方式8253工作于方式0时,在写入初始值n后,GATE为高电平时开始计数,OUT 为输出低电平,直到计数器为0,OUT变为高电平直到下次计数开始再变为低电平。
微机原理与接口技术——第9章(8253)

8253工作方式 工作方式2—频率发生器 工作方式 频率发生器
8253工作方式 工作方式2—频率发生器 工作方式 频率发生器
8253工作方式 方波发生器 工作方式3-工作方式
• 方式3在计数过程中的输出(OUT)有一半时间为高电 平,另一半时间为低电平。所以,方式3的输出OUT为 一个方波 。 • CPU设置方式3后,输出保持为高电平,若GATE=1, 写入计数值后,输出仍为高电平,并自动开始计数。当 计数到一半计数值时,输出变为低,直到计数为0,输 出又变高,并重新装入初始值,开始计数 。 • 当计数值为偶数时,前一半输出为高电平,后一半输出 为低电平。如果计数值为奇数,前一半输出为高电平的 持续时间多一个时钟脉冲,随后输出为低电平的持续时 间(比高电平少一个时钟脉冲的持续时间)。
8253工作方式 工作方式4--软件触发 工作方式
• 方式4:软件触发选通信号发生 (一次性) • 与方式0不同是输出OUT的相位相反。门控信 号GATE变低不影响输出,但停止计数过程。 • 置方式4后,输出OUT变高,写入计数值后, 输出仍保持高。从下一时钟装入计数值,开始 计数,到计数值为0时,OUT变低,并持续一 个时钟周期,再变高,并停止计数。 • 若GATE=0,写入计数值后,不开始计数工作, 直到GATE=1,开始计数。 • 若计数未完成,重新写入计数值,将从新值重 新开始。
实现定时功能的主要方法
1. 2. 3. 4. CPU软件延时; 简单的硬件电路定时; 可编程芯片的硬件定时; 专用时钟芯片。
软件定时器
• 设计循环程序,通过精心计算循环次数,和循 环中每条指令的执行时间。执行一次这个程序 段,就产生一个延时时间。 • 优点是不需硬件,缺点是占用CPU时间,并且 不容易实现精确定时。 • 在不同的系统时钟频率下,同一个软件延时程 序的定时时间也会相去甚远,因此这种方法常 用在对延时时间小,并且不需精确定时的场合, 如等待模数变换等。
微机原理与接口技术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
微机原理第9章计数器和定时器电路精品PPT课件

9.1 概述 9.2 8253-PIT的控制字 9.3 8253-PIT的工作方式 9.4 8253-PIT的编程 9.5 Intel 8254-PIT
9.1 概 述
8253-PIT的主要功能有: (1)有3个独立的16位计数器。 (2)每个计数器都可以按照二进制或BCD码进行 计数。 ( 3 ) 每 个 计 数 器 的 计 数 速 率 可 高 达 2MHz (8254-2计数频率可达到10MHz)。 (4)每个计数器有6种工作方式,可由程序设置 和改变。 (5)所有的输入输出引脚电平都与TTL电平兼容。 8253的内部结构如图所示。
2 速率发生器 每N个CLK脉冲,输出一个宽度为 CLK周期的负脉冲
3 方波速率发生 写入N后,输出各约N/2个CLK的
器
高、低电平
4 软件触发选通 写入N后,过N+1个CLK,输出宽 度为1个CLK的负脉冲
5 硬件触发选通 门控触发后,过N+1个CLK,输出 宽度为1个CLK的负脉冲
3. 门控信号的作用
方式1波形
方式1时GATE信号的作用
方式1在计数过程中改变计数值
• 方式2—速率发生器
在这种方式下,当CPU输出控制字后,输出将为 高。在写入计数值后,计数器将立即自动对输入时钟 CLK计数。在计数过程中输出始终保持为高,直至计 数器减到1时,输出将变低,经过一个CLK周期,输出 恢复为高,且计数器开始重新计数。每输入n个CLK脉 冲,会输出一个脉冲(宽度为一个CLK)
方式5在计数过程中改变计数值
9.3.2 8253工作方式小节
1. 输出OUT信号的初始状态
方式 0 1~5
输出OUT信号的初始状态 写入控制字后输出为低电平 写入控制字后输出为高电平
微机原理第09章 8253-2(完)

方式3 方波发生器
方式3
WR CLK 4
GATE
4 3 2 1 0 4 3 2 1 0 4 3 2 1 0 4 3 2波频率
方式4 软件触发选通信号
方式4 WR CLK GATE 4
4 3 2 1 0
OUT
方式5 硬件触发选通信号
方式5 WR 4
CLK GATE
3
2
1
0
④ 计 数 ⑥初 ⑤② ③ 值① 计送 计写 硬 数减 写 数入 入 件 结 1计 过 控 启 束计 程数 制 动 初 数 字 值 寄 存 器
方式2 频率发生器(分频器)
方式2 4
WR CLK
GATE 4 3 2 1 0 4 3 2 1 0 4 3 2 1 0 4 3 2 1 0
OUT
计数初值=时钟脉冲频率/负脉冲发生频率
向控制字端口地址:写入锁存命令 从计数器端口地址:读取锁存的当前计数值
读取计数值,要注意读写格式和计数数制
例1:要求计数器0工作于方式3,输出方波的频率为 2KHz,计数脉冲的频率为2.5MHz,采用二进制计数,试 写出初始化程序段。
1. 8253的端口地址为:80H,81H,82H,83H。 2. 计数初值计算:TC = 2.5MHz/2KHz=1250 3. 8253的方式控制字为: 00 11 011 0 4. 初始化程序段: MOV OUT MOV OUT MOV OUT AL,00110110B 83H,AL AX, 1250 80H,AL AL, AH 80H,AL
D3 D2
D1
D0
计数器
00: 计数器0 01: 计数器1 10: 计数器2 11: 无意义
读写格式
00: 锁存计数值 01: 只读写低8位 10: 只读写高8位 11: 先读写低8位 后读写高8位
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
+5V
超过了最大计数范围 DX, 343H MOV DX, 340H 2MHz 65536 AL, 00110110B MOV AX, 2000 DX, AL OUT DX, AL 1KHz 分析: AL, 01110110B XCHG AL, AH DX, AL OUT AL 输入 2MHz DX, 2000000 分频 输出1Hz MOV DX, 341H 1HzMOV AX, 1000 级联分频 OUT DX, AL XCHG AH, AL OUT DX, AL 时常数可以做 合理的调整
~ D0
~ D0
CLK0 GATE0 OUT0
…
=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
EG.8086 最大方式系统中,有8254的端口地址分别为 301H、303H、305H和307H,给定的外部时钟为512kHz
(2) 利用这一计数器能产生的最低信号频率 0 为 7.8125 Hz ,这时的时常数CR0= 。
频率最低 周期最长 整个计数范围内只 形成一个输出周期 65536个计数单元
CLK0=4MHz OUT0=1KHz
4000 分频
OUT0=1KHz
计数器0:工作方式3,时常数 4000 10 计数器0:工作方式3,时常数4000 CLK1=1KHz 10 计数器1:工作方式2,时常数10 分频 分频 计数器1:工作方式2,时常数10 OUT1=100Hz 计数器2,:工作方式3,时常数 100 计数器2,:工作方式3,时常数1000 1000 CLK2=100Hz 100 分频 分频 OUT2=1Hz
计数器0的时常数:2000方法
EG2.8086最小系统下,扩充设计1片8254,端口地址为 8000H~8007H中的连续偶地址。输入时钟信号为4MHz,要求通过三 个定时器级联,实现从OUT0输出频率为1000Hz的方波,从OUT1输出 频率为100Hz的单时钟脉冲波,从OUT2输出频率为1Hz的方波。 画级联图,并写出初始化程序和时常数赋值程序
CLK1 GATE1 OUT1
译码 电路
A3 A0
CS
CLK2 GATE2 OUT2
…
=0
…
8253应用举例
§9.4 8253的总线接口方法
EG1. 8088最大系统下,8253的地址范围为340H~343H。输 入时钟频率为2M赫兹,实现输出频率为1Hz的方波。画连接图,写 初始化程序和时常数赋值程序。
§9.4 8253的总线接口方法
1.8086最小工作方式下的8253连接
CPU接口 D7 D 0 ~ D8 D15 ~ RD WR A2 A1 D7 RD WR A1 A0 Intel 8253 CLK1 GATE1 OUT1 外设接口
在8086系 统中, 8253的地 址范围要么 全为奇数, 要么全为偶 数
~ D0
8086 CPU 最小 方式 系统 总线
CLK0 GATE0 OUT0
M/IO A15
=0
A3 A0
译码 电路
CS
CLK2 GATE2 OUT2
图 8086最小方式系统总线与8253的连接框图
…
=0
…
§9.4 8253的总线接口方法
2.8086最大工作方式下的8253连接
CPU接口 D7 8086 CPU 最大 方式 系统 总线 A15 A3 A0 译码 电路 CLK2 GATE2 OUT2 IOR IOW A2 A1 RD WR A1 A0 Intel 8253 CLK1 GATE1 OUT1 外设接口 D7
§9.5 8253的总线接口方法
EG3. 在以 8086 构成的最大方式系统中,有一片 8254 的端 口地址分别为 301H 、 303H 、 305H 和 307H ,给定的外部时钟 为512kHz。要求:
(1) 利用计数器0产生周期为1ms的周期信号,请编写初始化程序; ( 2 ) 利用这一计数器能产生的最低信号频率为 ,这时的时常数 CR0= 。 (3)利用计数器1和2产生如下图所示的周期信号,并编写初始化程序。 (4)画出8253的端口译码电路(地址线只使用 A0~A9)及其连接图。
1.5ms 3s
图 8253所要产生的周期信号
EG.8086 最大方式系统中,有8254的端口地址分别为 301H、303H、305H和307H,给定的外部时钟为512kHz
(1) 利用计数器0产生周期为1ms的周期信号,请编写初始化程序;
Step1:分析工作方式: 周期信号 Step2:工作方式控制字: Step3:分析时常数: 输出信号周期: Tout = 1 ms 输入信号周期: Tin = 1/512 ms
LOGO
xtwang@
第九章 定时/计数器8253 (二)
Contents
1
2 3 4 5
8253引脚功能及特点
8253原理结构及工作原理
8253的控制字及工作方式
8253与系统总线的接口方法
8253的应用和设计
§9.4 8253的总线接口方法
在采用 8253 进行定时 / 计数器设计时,首先应该 将它与 CPU 正确连接,在已经设计好 8086 系统总 线情况下,可以直接利用系统总线中的信号与 8253连接。 这里给出三种系统总线情况下8253的连接方法: 8086的最小方式 8086的最大方式 IBM PC系统机。
方式2
或
方式3
00110100B 或 00110110B
时常数= Tout / Tin=512
或 00110110B
Step4:写初始化程序: MOV DX, 307H
MOV AL, 00110100B; OUT DX, AL MOV MOV OUT XCHG OUT DX, AX, DX, AL, DX, 301H 512 AL AH AL