第9章 8253定时计数器

合集下载

第九章可编程计数器定时器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

微机第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的一个方式 控制字只决定一个计数通道的工作模式。 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

左旭坤(zxk78@)
1.方式0 (计数结束产生中断)
(1)输出信号OUT的波形: 初始状态为高电平;写入控制字后变为低电平;计数初值减为0时变为高电平 (2)启动计数的条件: 写入计数初值后自动开始 (3)门控信号GATE的功能: GATE为低电平时暂停计数(OUT保持输出低电平);GATE变回高电平时继 续计数 (4)计数初值的设置(更改): 如果在计数过程中修改计数值,则写入新计数值的第一个字节时使原先的计 左旭坤(zxk78@) 数停止。写入第二个字节后,开始以新写入的计OV OUT
AL.3BH 43H.AL ;写计数器0控制字
MOV
OUT MOV OUT MOV
AL.50H
40H.AL AL.28H 40H.AL AL.56H
;写计数器0初值
;写计数器1控制字
OUT
MOV OUT
43H,AL
AL.64H 41H.AL
左旭坤(zxk78@)
;写计数器1初值
【例9-2】 按乐谱编写乐曲程序
功能:让计算机按乐谱演奏
左旭坤(zxk78@)
计算机发声原理
8255的PB口地址: 61H
8253的控制口地址: 43H
8253的定时器2地址: 42H
原理:
8255的PB口工作在方式0输出;8253的定时器2工作在方式3 由8255的PB0和PB1控制定时器2启动和扬声器启动 即:PB0=1:定时器2启动; PB1=1:扬声器启动
课后思考: 按照以上四点, 对各组的两种工作方式 进行比较。
左旭坤(zxk78@)
9.3 8253的控制字
8253在使用前要写入控制字,用来规定其工作方式。 3个通道中各有一个控制字寄存器,它们使用同一个口地 址,靠控制字中的D7,D6 2位的编码加以区别。 控制字格式如下 :

第9章_3 可编程定时计数器8253

第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

定时计数器8253课件

定时计数器8253课件
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

微机原理与接口技术9章8253

微机原理与接口技术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章计数器定时器8253

第9章计数器定时器8253
命令
编程原则: ① 设置初值前必须先写控制字; ② 初值设置要符合控制字中的格式规定; ③ 要读取计数器的当前值和状态字,必须用
控制字先锁定,才能读取。
9.4 8253/8254的编程命令
编程命令有两类:
① 读出命令; 读计数器计数值 读状态寄存器值(只对8254)
MOV BH, AL
;BX中为计数器0的当前计数值
思考题
• 1 设8253端口地址为200H~203H,使用计数器1, 工作于方式3(方波发生器),二进制计数,计数 初值为3000H,请编写初始化程序。
;方法1,16位计数,先写低8位,后写高8位。根据题目写出 控制字为01110110B(76H)。 MOV DX,203H ;8253控制寄存器 MOV AL,76H ;二进制计数、方式3、先写低8 位、后 写高8位、计数器1 OUT DX,AL ;控制字写入控制字寄存器 MOV DX,201H ;计数器1 MOV AL,00H ;计数初值低8位 OUT DX, AL ;计数初值低8位写入计数器1 MOV AL,30H ;计数初值高8位 OUT DX, AL ;计数初值高8位写入计数器1
9.5 8253/8254的工作模式
有6种工作模式,都遵守的基本规则:
① 控制字写入时,进入初始状态; ② 初值写入后,要经过上升沿和一个下降沿,计数执行部
件才开始计数; ③ 在CLK的上升沿,GATE被采样,对于一给定的工作模
式,GATE的触发方式有具体规定; ④ 在CLK下降沿,计数器作减1计数;
器将按新的初值重新计数。 • OUT端输出是一个约(N+1)TCLK宽度的负脉冲。
(2) 模式1—— 可编程的单稳态触发器
性质:
• 写入控制字,OUT端为高电平,计数初值装入该 计数器后,在GATE信号的上升沿后的下一个CLK 脉冲的下降沿开始计数,OUT变为低电平。在整 个计数过程中,OUT保持低电平,当计数器减为0 时,OUT变为高电平,输出一个单脉冲,若GATE 信号再由低变高,可再产生一个单脉冲,相当一 个单稳态。

微机原理与接口技术_09定时计数器8253应用设计

微机原理与接口技术_09定时计数器8253应用设计
本教案内容
第9章 定时/计数器8253应用设计 1. 8253的引脚功能及特点 2. 8253的原理结构及工作原理 3. 8253的控制字及工作方式 4. 8253与系统总线的接口方法 5. 8253的应用设计
9.1 8253的引脚功能及特点
图9.1 8253引脚图
Intel公司生产的可编程定时/计数器 8253 采用 24脚的DIP封装,用作分频器、定时信号产生器等。
lll 定时/计数器8253一共有三个独立的计数通道 (也称计数器):计数器0、计数器1、计数器2。
每个计数通道的内部结构如下图所示,在 每个计数通道中主要包含四个部件:计数寄存 器 CR(Count Register,16 位 ) 、 计 数 工 作 单 元 CE(Counting Element,16 位 ) 、 输 出 锁 存 器 OL(Output Latch, 16 位 ) 、 控 制 字 寄 存 器 (Control Word Register,8位)。 每个计数通道有 三个输入输出信 号:时钟(计数 脉冲)CLKx(输 入)、控制信号 GATEx(输入)、 输出信号OUTx (输出)。
方式1具有下列一些特点: 在臵控制字或时常数后, OUT 端仍输出高电平 ; 在 GATE 端输入有效的触发信号(上升沿),并 经过一个CLK脉冲,OUT变为低电平,作为单脉冲 的开始,同时将CR读入CE,并开始“减1”计数; 当 CE计数到 0时, OUT端变为高电平,表示本次 单脉冲形成结束; 当计数通道的时常数为 N 时,硬件触发所产生 的单脉冲(低电平)的宽度为 N 个计数时钟周期 ;
方式控制字的M1M2M3位(M2M1M0)用于设定计数 通道的工作方式: M2M1M0 0 0 0 0 0 1 ×1 0 ×1 1 1 0 0 1 0 1 含 义 方式0 方式1 方式2 方式3 方式4 方式5

定时计数器8253

定时计数器8253

2 写入计数值
示例
选择二进制时
计数值范围:0000H~FFFFH 0000H是最大值,代表65536
选择十进制(BCD码)
计数值范围:0000~9999 0000代表最大值10000
计数值写入计数器各自的I/O地址
古晓辉制作
3 读取计数值
示例
对8位数据线,读取16位计数值需分两次 计数在不断进行,应该将当前计数值先行 锁存,然后读取:
工作方式
示例
D0
数制
00 计数器000 计数器锁存命00令0 方式0 0 二进制
控011110制非计 计字法数 数写器 器入12011控110 制先只只后字读读读读写写写写I/低低高高O字字字字地节节节节00011址1010011001(方方方方方A式式式式式131245A01=十1进1)制
古晓辉制作
CLK
GATE
OUT
4321 0
3 2 3 2 10
古晓辉制作
古晓辉制作
方式5 硬件触发选通信号
方式5 4
3
WR
CLK
GБайду номын сангаасTE
OUT
43210
3 2 13 2 10
古晓辉制作
9.2.2 8253的工作模式
方式0——计数结束产生中断 方式1——可重复触发的单稳态触发器 方式2——分频器 方式3——方波发生器 方式4——软件触发的选通信号发生器 方式5——硬件触发的选通信号发生器
古晓辉制作
方式0 计数结束中断
WR CLK GATE
OUT

②④ ⑤ ⑥
方式0 4
4321 0
④ ⑥⑤计②① 计数结束计数过程数值送入计数器设定计数初值设定工作方式

第9章 8253定时计数器

第9章  8253定时计数器
第9章(1) 8253计数器/定时器
➢ 8253/8254的编程结构; ➢ 8253/8254的两类控制字; ➢ 8253/8254必须遵守的编程原则; ➢ 8253/8254的两类编程命令; ➢ 8253/8254的6种工作模式的特点;
关于定时信号
• 定时信号:
– 软件方法获得 – 硬件方法获得
;将计数器0设置为模式2 ;对计数器0设置计数初始值L(二进制) ;将计数器1设置为模式1
;对计数器1设置初始值M(BCD码) ;将计数器2设置为模式3 ;对计数器2设置初始值N(二进制)
9.7 32位微机系统中的多功能接口芯片 82380
• 高集成度和多功能 • 兼容性好
9.7.1 多功能接口芯片82380的组成 和信号
• 对外连接信号:
– DREQ7~DREQ0 – EDACK2~EDACK0 – EOP – HOLD – HLDA
9.7.1 多功能接口芯片82380的组成 和信号
• 主要组成
– DMA控制器 – 中断控制器 – 计数器/定时器 – 等待状态电路 – CPU复位电路
9.7.1 多功能接口芯片82380的组成 和信号
• 有三个计数器 • 共用1个控制寄存器和1个状态寄存器(只
有8254有状态寄存器) • 每个计数器通过3个引脚 • 执行部件实际上是1个16位的减法计数器
9.2.2 8253/8254的外部信号
➢CLK0~CLK2 ➢GATE0~GATE2 ➢OUT0~OUT2 ➢A1、A0 ➢RD ➢WR ➢CS
MOV CL,AL
;将计数器0的状态送到CL
IN
AL,70H
;读取计数器0 的低8位
MOV BL,AL
;将低8位送到BL

8253(8254的使用说明讲义)

8253(8254的使用说明讲义)

第9章 计数器和定时器电路Intel 8253/8254-PIT在控制系统中,常常要求有一些实时时钟以实现定时或延时控制,如定时中断、定时检测、定时扫描等,也往往要求有计数器能对外部事件计数。

要实现定时或延时控制,有三种主要方法:软件定时、不可编程的硬件定时、可编程的硬件定时器。

软件定时——即让计算机执行一个程序段,这个程序段本身没有具体的执行目的,但由于执行每条指令都需要时间,则执行一个程序段就需要一个固定的时间。

通过正确地挑选指令和安排循环次数很容易实现软件定时,但软件定时占用了CPU的时间,降低了CPU的利用率。

不可编程的硬件定时可以采用小规模集成电路器件如555,外接定时部件——电阻和电容构成。

这样的定时电路简单,而且利用改变电阻和电容,可以使定时在一定的范围内改变。

但是,这种定时电路在硬件连接好以后,定时值及定时范围不能由程序(软件)来控制和改变,由此就生产了可编程的定时器电路。

可编程定时器电路的定时值及其范围,可以很容易地由软件来确定和改变。

所以,功能较强,使用灵活。

本章就介绍这种定时器电路。

§9.1 概述Intel系列的计数器/定时器电路为可编程序间隔定时器PIT(Programmable Interval Timer),型号为8253,改进型为8254。

Intel 8253具有3个独立的16位计数器通道,使用单一5V电源,它是24个引脚的双列直插式器件。

9.1.1 8253-PIT的主要功能Intel 8253-PIT具有以下主要功能:(1) 一个芯片上有三个独立的16位计数器通道;(2) 每个计数器都可以按照二进制或二—十进制计数;(3) 每个计数器的计数速率可高达2MHz。

(82C54-2计数频率可达到10MHz);(4) 每个通道有6种工作方式,可由程序设置和改变;(5) 所有的输入输出都与TTL兼容。

9.1.2 8253-PIT的内部结构8253的内部结构如图9-1所示。

微机原理与接口技术第九章8253

微机原理与接口技术第九章8253

功 能 向CNT 0写入计数初值 读取CNT 0的当前计数值 向CNT 1写入计数初值
0
0 0 0 0
1
0 1 0 1
0
1 0 1 0
0 1
1 0 1 0 1 1 1 1
读取CNT 1的当前计数值
向CNT 2写入计数初值 读取CNT 2的当前计数值 写入控制字
0
1
1
×
1
×
× ×
× ×
数据引脚D7 ~ D0呈高阻
N为奇数,CR内容先减1,再装入CE中, 其他同前(近似方波)
35
(6)工作方式3—方波发生器
CW=16h WR LSB=4
CLK GATE
OUT CE
N
N
N
4
2
4
2
4
2
4
2
4
2
36
(6)工作方式3—方波发生器
CW=16 WR LSB=5
CLK
GATE OUT CE
N
N
N
5
4
2
4
2
5
4
2
4
2
37
65536×55ms = 3600s
计数器1
18÷1.19MHz = 15.08μs
计数器2
1.19MHz÷1331 = 896Hz,驱动后送给扬声器
47
8253端口地址为40H ~ 43H
MOV OUT MOV OUT OUT MOV OUT MOV OUT AL,00110110B ;计数器0初始化 43H,AL ;双字节读写,方式3,二进制 AL,0 40H,AL ;写入低字节 40H,AL ;写入高字节 AL,01010100B ;计数器1初始化 43H,AL ;只读写低字节,方式2,二进制 AL,18 41H,AL ;写入低字节

微机原理,第九章(2)8253定时器—计数器应用设计

微机原理,第九章(2)8253定时器—计数器应用设计

~ 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连接
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 xtwang@
xtwang@
EG5. 有一个未知频率的对称周期信号 s ( t )(频率范围在 100Hz~2kHz之间),现在8086最小系统中一片8253,外部可 以使用的标准信号源为 1MHz ,试测量输入 s(t) 信号的频率 用待测信号 S(t) 做GATE,利用其 信号的上升沿触发计数的开始, 利用其低电平使计数暂停,以便 被CPU访问读出
LOGO
xtwang@
第九章 定时/计数器8253 (二)
Contents
1
2 3 4 5
8253引脚功能及特点
8253原理结构及工作原理
8253的控制字及工作方式
8253与系统总线的接口方法
8253的应用和设计

第9章_4 8253的应用(习题)

第9章_4 8253的应用(习题)
CLK2 PCLK 1.193186Mz
40H~ 40H~43H
CS
8253
61H 0FCH AL
8255(60H~63H) 8255(60H~63H)PBA0 GATE2 OUT2 驱 动
DEBUG PC8253
P376 8.22 定时计数器8253输入时钟频率为1MHZ 并设定为按BCD码计数, 8253输入时钟频率为1MHZ, BCD码计数 定时计数器8253输入时钟频率为1MHZ,并设定为按BCD码计数,若写 入的计数值为0080H 则该通道定时时间是多少? 0080H, 入的计数值为0080H,则该通道定时时间是多少? 解: 对于BCD码计数则0080H表示计数值为80 BCD码计数则0080H表示计数值为 对于BCD码计数则0080H表示计数值为80 通道的输出频率为: 通道的输出频率为:1M/80=12500HZ 定时时间为:1/12500=8× 定时时间为:1/12500=8×10-5(S)=80(μS)
CLK0 GATE0 OUT0 CLK1 GATE1 OUT1 CLK2 GATE2 OUT2 +5V +5V 2.5Mz OUT
P339 8253应用举例 应用举例 8253的应用电路如图所示,三个通道分别设置为:通道0为方式2,计数初值 为1000;通道1为方式1,计数初值为500;通道2为方式3计数初值为2000。外 接时钟为2.5Mz。在开关打到+5V后,计算OUT脉冲的重复周期和波形的持续 时间。设端口地址为80H~83H,写出初始化程序。 通道0为方式2 通道0为方式2 0011 0100B=34H 通道1为方式1 通道1为方式1 0111 0010B=72H 通道2为方式3 通道2为方式3 1011 0110B=B6H MOV AL,34H OUT 83H,AL MOV AX,1000 OUT 80H,AL MOV AL,AH MOV AL,B6H OUT 80H,AL OUT 83H,AL MOV AL,72H OUT 83H,AL MOV AX,2000 MOV AX,500 OUT 82H,AL OUT 81H,AL MOV AL,AH MOV AL,AH OUT 82H,AL OUT 81H,AL

第九章 可编程计数器8253

第九章 可编程计数器8253

第九章可编程定时计数器8253一概述⒈定时器和计数器定时控制在微机系统中极为重要①定时器由数字电路中的计数电路构成,通过记录高精度晶振脉冲信号的个数,输出准确的时间间隔;②计数电路如果记录外设提供的具有一定随机性的脉冲信号时,它主要反映脉冲的个数(进而获知外设的某种状态),常又称为计数器。

⒉定时功能的实现方法①软件延时——利用微处理器执行一个延时程序段实现;②不可编程的硬件定时——采用分频器、单稳电路或简易定时电路控制定时时间;③可编程的硬件定时——软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路。

二 8253定时计数器的内部结构和外部特性⒈概述① 3个独立的16位计数器通道;②每个计数器有6种工作方式;③按二进制或十进制(BCD码)计数。

⒉内部结构内部结构图①数据总线缓冲器是8253与CPU DB连接的8位双向三态缓冲器,CPU通过它向8253写方式控制字到控制字寄存器中,写计数初值到计数通道,读取计数通道的当前计数值。

②读/写控制逻辑无效,8253的DB处于高阻状态,当有效,控制8253内部操作。

当和A1、A0、作,见下表。

8253读写操作及端口选择表注意:CPU对控制字寄存器只能写,不能读;CPU对计数通道写的是计数初值,读的是当前计数值。

③控制字寄存器8253初始化编程时,CPU写控制字到控制字寄存器,以选择计数通道及相应的工作方式。

④数通道0~28253内部包括3个功能完全相同和操作完全独立的计数通道,每个计数通道由16位减法计数器、16位计数初值寄存器和16位计数值锁存器组成。

初始化时,向计数通道装入的计数初值,先送到计数初值寄存器中保存,然后送到减法计数器。

计数器启动后,减法计数器对CLK的下降沿进行减1计数,在未锁定时把结果送入16位计数值锁存器中。

当计数值减到0时,输出OUT信号,一次计数结束。

计数初值寄存器的内容,在计数过程中保持不变。

计数初值寄存器和计数值锁存器占用一个端口地址(即该计数通道口地址),CPU读取计数通道的当前计数值来自计数值锁存器。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第9章(1) 8253计数器/定时器
8253/8254的编程结构; 8253/8254的两类控制字; 8253/8254必须遵守的编程原则; 8253/8254的两类编程命令; 8253/8254的6种工作模式的特点;
关于定时信号
• 定时信号:
– 软件方法获得 – 硬件方法获得
9.7.1 多功能接口芯片82380的组成 和信号
• 82380的基本功能结构
9.7.1 多功能接口芯片82380的组成 和信号
• 对外连接信号:
– DREQ7~DREQ0 – EDACK2~EDACK0 – EOP – HOLD – HLDA
9.7.1 多功能接口芯片82380的组成 和信号
图9.6
模式3的时序图
9.5 8253/8254的工作模式
• 模式4——软件触发的选通 信号发生器
图9.7 模式4的时序图
9.5 8253/8254的工作模式
• 模式5——硬件触发 的选通信号发生器
图9.8 模式5的时序图
• 计数初值N与输出波形的关系
(2) GATE门控信号的作用
一般情况下,GATE信号为低电平时禁止计数,为高电平时允 许计数,方式1和方式5则需要有由低变高的上升沿触发脉冲来启 动计数。GATE信号对各种工作方式的影响如表所示。
;将计数器1设置为模式1
;对计数器1设置初始值M(BCD码) ;将计数器2设置为模式3 ;对计数器2设置初始值N(二进制)
9.7 32位微机系统中的多功能接口芯片 82380
• 高集成度和多功能 • 兼容性好
9.7.1 多功能接口芯片82380的组成 和信号
• 内部含有:
– 1个8通道的32位DMA控制器; – 20级的可编程中断控制器; – 4个16位计数器/定时器; – 动态RAM刷新电路; – 系统复位逻辑电路; – 插入等待状态的控制电路; – 内部总线仲裁电路。
• 状态寄存器的格式如下:
9.4 8253/8254的编程命令
• 编程有3条原则必须遵守:
– 对计数器设置初始值前必须先写控制字。 – 初始值设置时,要符合控制字中的格式规定, 即只写低位字节还是只写高位字节,或高低位 字节都写,控制字中一旦规定,具体初始值设 定时就要一致。
– 要读取计数器的当前值和状态字,必须用控制 字先锁定,才能读取。
9.1 可编程计数器/定时器的工作原理
• 计数器/定时器:
– 在多任务的分时系统中作为中断信号实现程序 的切换。 – 可往I/O设备输出精确的定时信号。 – 作为一个可编程的波特率发生器。 – 实现时间延迟。
9.1 可编程计数器/定时器的工作原理
• 计数器/定时器的原理图
9.2.1 8253/8254的编程结构
9.2.2 8253/8254的外部信号
• 8253/8254的编程结构(只有8254有状态寄 存器)
9.3.1 8253/8254控制寄存器和控制字
模式设置控制字
8253的控制字格式
9.3.1 8253/8254控制寄存器和控制字
• 控制字有两类
– 模式设置控制字
– 读出控制字
9.3.2 8254的状态寄存器和状态字
• 主要组成
– DMA控制器 – 中断控制器 – 计数器/定时器 – 等待状态电路 – CPU复位电路
9.7.1 多功能接口芯片82380的组成 和信号
• 82380的中断控制器
9.7.1 多功能接口芯片82380的组成 和信号
• 5个内部中断
– IRQ1和IRQ4 – IRQ1.5 – IRQ0和IRQ8
GATE信号作用
(3) 计数初值的设置
任何一种工作方式,只有在写入计数初值后才能开始计数。 门控信号GATE保持为高电平,方式0、方式2、方式3和方式4在 写入计数初值后,计数过程就开始了;而方式1和方式5需要有 外部GATE触发,才能开始计数。 (4) 计数过程中改变计数值的影响 8253在计数过程中写入新的计数初值,对计数过程的 影响见表所示。
• 有三个计数器 • 共用1个控制寄存器和1个状态寄存器(只 有8254有状态寄存器) • 每个计数器通过3个引脚 • 执行部件实际上是1个16位的减法计数器
9.2.2 8253/8254的外部信号
CLK0~CLK2 GATE0~GATE2 OUT0~OUT2 A1、A0 RD WR CS
MOV OUT MOV OUT MOV OUT MOV OUT MOV OUT MOV OUT MOV OUT AL,14H 76H,AL AL,LCNT 70H,AL AL,73H 76H,AL AX,MCNT 72H,AL AL,AH 72H,AL AL,96H 76H,AL AL,NCNT 74H,AL ;将计数器0设置为模式2 ;对计数器0设置计数初始值L(二进制)
方式
0 立即有效
写入新的计数值
1
2
外部GATE触发后有效
计数到1 后有效
3
4
计数到0后有效或外部GATE触发后有效
立即有效
5
外部GATE触发后有效
9.6 8253/8254应用举例(1)
• 用8253/8254为A/D子系统提供采样信号的例子
Байду номын сангаас
9.5 8253/8254的工作模式(2)
• 程序段下:
9.4 8253/8254的编程命令
• 编程命令包括两类
– 写入命令,包括
• 设置控制字命令 • 设置初值命令 • 锁存命令
– 读出命令
• 读取计数器当前的值。 • 对8254,还可读取状态字
9.4 8253/8254的编程命令
• 读取计数器2的当前计数值的例子
MOV AL,11011000B ;对计数器2发锁存命令,锁存当前计数值 OUT 76H,AL ;76H为控制口地址 IN AL,74H ;读取计数器2的读取值,74H为计数器2的地址 ――――――――――――――― 对8254读取状态字和计数值 MOV AL,11000000B ;计数器0的锁存命令 OUT 76H,AL ;76H为控制口地址,对锁存计数器0的状态和计数值 IN AL,76H ;从状态口读取计数器0的状态 MOV CL,AL ;将计数器0的状态送到CL IN AL,70H ;读取计数器0 的低8位 MOV BL,AL ;将低8位送到BL IN AL,70H ;读取计数器0的高8位 MOV BH,AL ;BX中为计数器0的当前计数值
9.7.2
82380和CPU的连接
图9.3
模式0的时序图
9.5 8253/8254的工作模式
2. 方式 1—— 可重触发的单稳 态触发器
方式 1 是在 GATE 门控信号的作 用下才开始计数。
图9.4
模式1的时序图
9.5 8253/8254的工作模式
• 模式2——分频器
图9.5
模式2的时序图
• 模式3——方波发生器
9.5 8253/8254的工作模式
9.5 8253/8254的工作模式
• 6种工作模式
– 计数结束产生中断 – 可重复触发的单稳态触发器 – 分频器 – 方波发生器 – 软件触发的选通信号发生器 – 硬件触发的选通信号发生器
9.5 8253/8254的工作模式
1. 方式 0—— 计数到零 产生中断请求
在方式 0 下,门控信号 决定计数的启 / 停,装入初 值决定计数过程重新开始, 计数过程时序图所示。
要开始计数, GATE 门控信号必须 是高电平,随后每个时钟CLK的下降沿 都使计数执行单元的内容减 1 ,减到 0 时,输出端 OUT 变成高电平,并一直 维持高电平,直到写入新的计数值,开 始下一轮的计数。计数初值一次有效, 经过一次计数过程后,必须重新写入计 数初值。当输出端 OUT 变成高电平时, 可利用 OUT 的上升沿作为中断请求信 号。方式0主要用于对外部事件计数。
相关文档
最新文档