微机原理与接口技术PPT第九章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
⑴计数器0用于定时中断(约55ms)
MOV OUT MOV AL,36H ;计数器0,方式3,写两个字节,二进制计数 43H,AL ;控制字送控制字寄存器 AL,0 ;计数值为最大值
OUT
OUT
40H,AL ;写低8位
40H,AL ;写高8位
⑵计数器1用于定时(15μs)DMA请求
MOV
OUT MOV
WR CW N=3
CLK GATE
OUT 3 2 1 0 FF 3 2
图8.41 方式1波形图
方式2—分频器
此方式能在OUT段输出连续的负脉冲,其宽度等于一个时钟周期, 通常将GATE接到高电平,使其有效,由初值的装入启动计数开始。
一、计数过程
写入控制字后输出端OUT变为高电平,当计数初值被写入后, 开始减1计数。减到l时,输出端OUT变为低电平;减到0时,输出端 OUT又变成高电平,同时从初值开始新的计数过程。 计数过程如下图所示。
控制寄存器
DB CLK计数脉冲输入
计数初值R
GATE门控脉冲输入
C P U
AB CB
计数器
输出OUT
计数输出R
9.2
计数/定时器8253
24引脚双列直插式封装,其主要功能如下: 1. 三个独立16位计数器; 2. 每个计数器可按二进制或十进制编程; 3. 每个计数器可编程6种不同的工作方式; 4. 每个计数器计数频率最高为10MHZ;
☆软件的方法:是通过编程,利用执行一条指令所需时钟数,统计
执行一段程序花费的时钟数,乘以一个时钟周期的 时间,就得到定时的时间。
☆软件硬件相结合方法:是根据需要的定时时间,用指令对
计数/定时器设置定时常数,并用指令启动之, 即到定时值时,便产生一个定时输出。
三、工作原理 计数:减到“0”后输出一个信号,计数便结束。 定时:减到“0”后,重新自动装入初值,获得一个恒定的 周期输出。 一般结构图:
方式0—计数结束产生中断 方式1—可重触发的单稳触发器
方式2—分频器
方式3—方波发生器 方式4—软件触发选通 方式5—硬件触发选通
退出
CS
0 0 0 0
RD
1 1 1 1
WR
A1
0 0 1 1
A0
0 1 0 1
寄存器选择和操作 写计数器0 写计数器1 写计数器2 写控制字寄存器
一、计数过程
由于每一轮计数过程必须重装初值一次,不能自动循环,所以称 为软件触发。又由于输出端OUT低电平持续时间为一个时钟周期,常 用此负脉冲作为选通信号,所以又称为软件触发选通方式。
C W 1 = 8
WR
N 3 =
C LK G TE A O T U
3
2
1
0
方式5—硬件触发选通
采用方式5时,当计数到零时OUT端也是输出一个时钟周期的负 脉冲,计数器停止计数,这种方式也是一次性的。 但是,该方式是在GATE出现上升沿启动计数过程。
MOV AL,36H OUT MOV OUT MOV OUT 43H,AL AX, 3060H 40H, AL AL, AH 40H, AL
;设置控制字00110110
(计数器0,方式3,写两个字节,二进制计数)
;写入控制寄存器 ;设置计数值 ;写低8位至计数器0
;写高8位至计数器0
2. 8253应用举例 假设从8284时钟发生器来的频率2.386364MHZ经二 分频后作为8Байду номын сангаас53三个计数器的时钟输入,8253的端口地 址为40H—43H,这三个计数器的初始化程序如下:
此方式时,计数器在减到0时使OUT端变为高电平,常作 为向CPU请求中断的信号,这种方式的计数是一次性的。
一、计数过程
方式控制字写入控制寄存器后,输出端OUT引线变为低电平,并在计 数过程中一直维持低电平。计数初值写入初值计数器后,每个时钟的下降 沿都使计数执行单元的内容减1,减到0时,输出端OUT位高电平。此时完 成了一次计数过程,如图所示。
CL K G A TE OUT
3
2
1
3
2
1
3
方式3—方波发生器
采用方式3时,OUT端输出方波,当计数值N为偶数, 则输出对称方波;当计数值N为奇数时,则前(N+1)/2计数 期间输出低电平,后(N-1)/2计数期间输出低电平,其余同 方式2。计数过程如下图所示。
WR CW N=4
CLK GATE
OUT 4 3 2 1 4 3 2 1 4 3
方式1—可重触发的单稳触发器
方式1可以输出一个负脉冲,负脉冲宽度由计数初值N决定,这种方 式的计数是一次性的。 在该方式下,当GATE端输入正脉冲时,开始启动计数
一、计数过程
当把方式控制字写入控制寄存器时,输出端OUT变成高电平,写入 初值,门控信号到来后开始计数,输出OUT端变为低电平。 计数过程中,OUT端—直维持低电平。当计数减到0时,输出端 OUT变为高电平,并一直维持高电平到下一次触发之前。计数值是一直 有效。计数过程如下图所示。
0 0 0 0
0
0 0 0 1
0
0 0 0 ×
1
1 1 1 ×
0
0 1 1 ×
0
1 0 1 ×
读计数器0
读计数器1 读计数器2 无操作(三态) 禁止(三态)
0
1
1
×
×
无操作(三态)
退出
知
识
概
述
基本概念: 定时器、计数器 重点、难点:8253的六种工作方式 8253的编程及应用
退出
方式0—计数结束产生中断
OUT
42H,AL
;写高8位
本章完
D7~D0
数据总线 缓冲器
计数器 0
CLK 0 G A TE 0 O U0 T CLK 1 G A TE 1 O U1 T CLK 2 G A TE 2 O U2 T
RD WR A0 A1
CS
读/写 逻辑
计数器 1
控制字 寄存器
计数器 2
退出
定时/计数器的工作方式:
一、计数过程
采用此方式工作循环计数时,计数初值可自动重装,但不计数, 计数过程的进行是靠门控信号触发的,称为硬触发。 计数过程如下图所示。
C = W 1A
WR
N 3 =
C LK G TE A O T U
3
2
1
0
退出
WR
CW
N=4
CLK GATE OUT
4
3
2
1
0
FF
图8.40 方式0波形图
退出
四、 Intel 8253的应用举例 1.初始化8253两种方式:
①对每个计数器分别进行初始化,先写控制字,后写计数值。 如果计数值是16位的,则先写低8位再写高8位。 ②先写所有计数器的方式字,再写各个计数器的计数值。 如果计数值是16位的,则先写低8位再写高8位。
例如:假设一个8253在某系统中的端口地址40H—43H,如果要将计数器0设置 为设置为工作方式3,计数初值为3060H,采用二进制计数法,则初始化 方法如下:
二、8253的外部引脚
1. 与CPU相连的引脚 D7~D0:数据线,双向、三态。 RD :读信号,输入、低电平有效 WR:写信号,输入、低电平有效信号 CS:片选信号,输入、低电平有效。 A1、A0:地址线,输出。 A1、A0与8253内部寄存器的关系如表所示 2. 与外设相连的引脚 CLK:计数时钟,输入。 GATE:门控信号,输入、有效电平可分成 电平控制和上升沿控制两种。 OUT:计数结束信号,输出。 当计数器计数到0时,在OUT引脚必定有输出。 在不同的工作模式下,可输出不同电平的信号。
三、8253的控制方式字
D 7 S 1 C D 6 S 0 C D 5 RL 1 D 4 RL 0 D 3 M 2 D 2 M 1 D 1 M 0 D 0 BCD
(数制选择) (计数器选择) 0:二进制 00:选择计数器0 1:BCD 01:选择计数器1 10:选择计数器2 11:非法选择 用于选择每个计数器的计数制。 (工作方式选择) 在二进制计数时,计数初值的范围是0000H~FFFFH, 000: 方式0 001: 方式0 其中0000H是最大值,代表65536。 (读/写格式) X 10:方式2 00:计数器锁存命令 在BCD码计数时,计数初值的范围中0000—9999, X 11:方式3 01:读/写高8位 100 :方式4 10:读/写低8位 其中,0000是最大值,代表10000。 101: 方式5 11:先读/写低8位,再读/写高8位
二、门控信号的影响
门控信号GATE=1时,允许计数;当GATE=0时,暂停计数。 所以在计数过程中,门控信号GATE=0,计数执行单元停止计数, 保持当前值,直到GATE信号恢复高电平,执行单元从当前值开始计数
三、写入新的初值对计数过程的影响
如果在计数过程中写入新的初值位,那么在写入新值后的下一个 时钟下降沿,计数器将按新的初值重新计数。
WR
CW
N=5
CLK GATE
OUT 5 4 3 2 1 5 4 3 2 1
图8.43 方式3波形图
方式4—软件触发选通
采用方式4时,当计数到零时OUT端输出一个时钟周期的负脉 冲,计数器停止计数,这种方式的计数是一次性的。在该方式下, 通常将GATE接到高电平,使其常有效,由初值的装入启动计数 过程的开始。
AL,54H
43,AL AL,12H
;计数器1,方式2,只写低8位,二进制计数
;初值为18
OUT
41H,AL
⑶计数器3用于产生约900HZ的方波送至扬声器
MOV OUT MOV OUT MOV AL,B6H 43,AL AX,0533H ;计数初值为533H 42H,AL AL,AH ;写低8位 ;计数器3,方式3,写两字节,二进制计数
一、8253的内部结构
8253的内部结构,如图所示。 ⑴ 数据总线缓冲器
与CPU的数据总线相连,是8位双向三态缓冲器。CPU通过这个缓 冲器对8253进行读/写操作。
⑵ 控制字寄存器
此寄存器只能写入而不能读出。在8253初始化时,由CPU写入控 制字来设置计数器的工作方式。
⑶ 计数器
计数器0、计数器1、计数器2是三个完全独立、结构相同的计数 器,每一个都是由一个16位的可预置的减法计数器构成。
第九章 定时与计数接口电路
知 识 概 述 第一节 第二节 定时/计数的基本概念 可编程定时/计数器8253
9.1 定时/计数的基本概念
一、微机系统中计数、定时的作用 主板上的定时器除了形成计时信号之外,还为存储器刷新 产生定时信号和为主机板上的扬声器提供可编程的声频信号。
二、方法
定时信号可用软件和软硬件相结合两种方法来获得。
MOV OUT MOV AL,36H ;计数器0,方式3,写两个字节,二进制计数 43H,AL ;控制字送控制字寄存器 AL,0 ;计数值为最大值
OUT
OUT
40H,AL ;写低8位
40H,AL ;写高8位
⑵计数器1用于定时(15μs)DMA请求
MOV
OUT MOV
WR CW N=3
CLK GATE
OUT 3 2 1 0 FF 3 2
图8.41 方式1波形图
方式2—分频器
此方式能在OUT段输出连续的负脉冲,其宽度等于一个时钟周期, 通常将GATE接到高电平,使其有效,由初值的装入启动计数开始。
一、计数过程
写入控制字后输出端OUT变为高电平,当计数初值被写入后, 开始减1计数。减到l时,输出端OUT变为低电平;减到0时,输出端 OUT又变成高电平,同时从初值开始新的计数过程。 计数过程如下图所示。
控制寄存器
DB CLK计数脉冲输入
计数初值R
GATE门控脉冲输入
C P U
AB CB
计数器
输出OUT
计数输出R
9.2
计数/定时器8253
24引脚双列直插式封装,其主要功能如下: 1. 三个独立16位计数器; 2. 每个计数器可按二进制或十进制编程; 3. 每个计数器可编程6种不同的工作方式; 4. 每个计数器计数频率最高为10MHZ;
☆软件的方法:是通过编程,利用执行一条指令所需时钟数,统计
执行一段程序花费的时钟数,乘以一个时钟周期的 时间,就得到定时的时间。
☆软件硬件相结合方法:是根据需要的定时时间,用指令对
计数/定时器设置定时常数,并用指令启动之, 即到定时值时,便产生一个定时输出。
三、工作原理 计数:减到“0”后输出一个信号,计数便结束。 定时:减到“0”后,重新自动装入初值,获得一个恒定的 周期输出。 一般结构图:
方式0—计数结束产生中断 方式1—可重触发的单稳触发器
方式2—分频器
方式3—方波发生器 方式4—软件触发选通 方式5—硬件触发选通
退出
CS
0 0 0 0
RD
1 1 1 1
WR
A1
0 0 1 1
A0
0 1 0 1
寄存器选择和操作 写计数器0 写计数器1 写计数器2 写控制字寄存器
一、计数过程
由于每一轮计数过程必须重装初值一次,不能自动循环,所以称 为软件触发。又由于输出端OUT低电平持续时间为一个时钟周期,常 用此负脉冲作为选通信号,所以又称为软件触发选通方式。
C W 1 = 8
WR
N 3 =
C LK G TE A O T U
3
2
1
0
方式5—硬件触发选通
采用方式5时,当计数到零时OUT端也是输出一个时钟周期的负 脉冲,计数器停止计数,这种方式也是一次性的。 但是,该方式是在GATE出现上升沿启动计数过程。
MOV AL,36H OUT MOV OUT MOV OUT 43H,AL AX, 3060H 40H, AL AL, AH 40H, AL
;设置控制字00110110
(计数器0,方式3,写两个字节,二进制计数)
;写入控制寄存器 ;设置计数值 ;写低8位至计数器0
;写高8位至计数器0
2. 8253应用举例 假设从8284时钟发生器来的频率2.386364MHZ经二 分频后作为8Байду номын сангаас53三个计数器的时钟输入,8253的端口地 址为40H—43H,这三个计数器的初始化程序如下:
此方式时,计数器在减到0时使OUT端变为高电平,常作 为向CPU请求中断的信号,这种方式的计数是一次性的。
一、计数过程
方式控制字写入控制寄存器后,输出端OUT引线变为低电平,并在计 数过程中一直维持低电平。计数初值写入初值计数器后,每个时钟的下降 沿都使计数执行单元的内容减1,减到0时,输出端OUT位高电平。此时完 成了一次计数过程,如图所示。
CL K G A TE OUT
3
2
1
3
2
1
3
方式3—方波发生器
采用方式3时,OUT端输出方波,当计数值N为偶数, 则输出对称方波;当计数值N为奇数时,则前(N+1)/2计数 期间输出低电平,后(N-1)/2计数期间输出低电平,其余同 方式2。计数过程如下图所示。
WR CW N=4
CLK GATE
OUT 4 3 2 1 4 3 2 1 4 3
方式1—可重触发的单稳触发器
方式1可以输出一个负脉冲,负脉冲宽度由计数初值N决定,这种方 式的计数是一次性的。 在该方式下,当GATE端输入正脉冲时,开始启动计数
一、计数过程
当把方式控制字写入控制寄存器时,输出端OUT变成高电平,写入 初值,门控信号到来后开始计数,输出OUT端变为低电平。 计数过程中,OUT端—直维持低电平。当计数减到0时,输出端 OUT变为高电平,并一直维持高电平到下一次触发之前。计数值是一直 有效。计数过程如下图所示。
0 0 0 0
0
0 0 0 1
0
0 0 0 ×
1
1 1 1 ×
0
0 1 1 ×
0
1 0 1 ×
读计数器0
读计数器1 读计数器2 无操作(三态) 禁止(三态)
0
1
1
×
×
无操作(三态)
退出
知
识
概
述
基本概念: 定时器、计数器 重点、难点:8253的六种工作方式 8253的编程及应用
退出
方式0—计数结束产生中断
OUT
42H,AL
;写高8位
本章完
D7~D0
数据总线 缓冲器
计数器 0
CLK 0 G A TE 0 O U0 T CLK 1 G A TE 1 O U1 T CLK 2 G A TE 2 O U2 T
RD WR A0 A1
CS
读/写 逻辑
计数器 1
控制字 寄存器
计数器 2
退出
定时/计数器的工作方式:
一、计数过程
采用此方式工作循环计数时,计数初值可自动重装,但不计数, 计数过程的进行是靠门控信号触发的,称为硬触发。 计数过程如下图所示。
C = W 1A
WR
N 3 =
C LK G TE A O T U
3
2
1
0
退出
WR
CW
N=4
CLK GATE OUT
4
3
2
1
0
FF
图8.40 方式0波形图
退出
四、 Intel 8253的应用举例 1.初始化8253两种方式:
①对每个计数器分别进行初始化,先写控制字,后写计数值。 如果计数值是16位的,则先写低8位再写高8位。 ②先写所有计数器的方式字,再写各个计数器的计数值。 如果计数值是16位的,则先写低8位再写高8位。
例如:假设一个8253在某系统中的端口地址40H—43H,如果要将计数器0设置 为设置为工作方式3,计数初值为3060H,采用二进制计数法,则初始化 方法如下:
二、8253的外部引脚
1. 与CPU相连的引脚 D7~D0:数据线,双向、三态。 RD :读信号,输入、低电平有效 WR:写信号,输入、低电平有效信号 CS:片选信号,输入、低电平有效。 A1、A0:地址线,输出。 A1、A0与8253内部寄存器的关系如表所示 2. 与外设相连的引脚 CLK:计数时钟,输入。 GATE:门控信号,输入、有效电平可分成 电平控制和上升沿控制两种。 OUT:计数结束信号,输出。 当计数器计数到0时,在OUT引脚必定有输出。 在不同的工作模式下,可输出不同电平的信号。
三、8253的控制方式字
D 7 S 1 C D 6 S 0 C D 5 RL 1 D 4 RL 0 D 3 M 2 D 2 M 1 D 1 M 0 D 0 BCD
(数制选择) (计数器选择) 0:二进制 00:选择计数器0 1:BCD 01:选择计数器1 10:选择计数器2 11:非法选择 用于选择每个计数器的计数制。 (工作方式选择) 在二进制计数时,计数初值的范围是0000H~FFFFH, 000: 方式0 001: 方式0 其中0000H是最大值,代表65536。 (读/写格式) X 10:方式2 00:计数器锁存命令 在BCD码计数时,计数初值的范围中0000—9999, X 11:方式3 01:读/写高8位 100 :方式4 10:读/写低8位 其中,0000是最大值,代表10000。 101: 方式5 11:先读/写低8位,再读/写高8位
二、门控信号的影响
门控信号GATE=1时,允许计数;当GATE=0时,暂停计数。 所以在计数过程中,门控信号GATE=0,计数执行单元停止计数, 保持当前值,直到GATE信号恢复高电平,执行单元从当前值开始计数
三、写入新的初值对计数过程的影响
如果在计数过程中写入新的初值位,那么在写入新值后的下一个 时钟下降沿,计数器将按新的初值重新计数。
WR
CW
N=5
CLK GATE
OUT 5 4 3 2 1 5 4 3 2 1
图8.43 方式3波形图
方式4—软件触发选通
采用方式4时,当计数到零时OUT端输出一个时钟周期的负脉 冲,计数器停止计数,这种方式的计数是一次性的。在该方式下, 通常将GATE接到高电平,使其常有效,由初值的装入启动计数 过程的开始。
AL,54H
43,AL AL,12H
;计数器1,方式2,只写低8位,二进制计数
;初值为18
OUT
41H,AL
⑶计数器3用于产生约900HZ的方波送至扬声器
MOV OUT MOV OUT MOV AL,B6H 43,AL AX,0533H ;计数初值为533H 42H,AL AL,AH ;写低8位 ;计数器3,方式3,写两字节,二进制计数
一、8253的内部结构
8253的内部结构,如图所示。 ⑴ 数据总线缓冲器
与CPU的数据总线相连,是8位双向三态缓冲器。CPU通过这个缓 冲器对8253进行读/写操作。
⑵ 控制字寄存器
此寄存器只能写入而不能读出。在8253初始化时,由CPU写入控 制字来设置计数器的工作方式。
⑶ 计数器
计数器0、计数器1、计数器2是三个完全独立、结构相同的计数 器,每一个都是由一个16位的可预置的减法计数器构成。
第九章 定时与计数接口电路
知 识 概 述 第一节 第二节 定时/计数的基本概念 可编程定时/计数器8253
9.1 定时/计数的基本概念
一、微机系统中计数、定时的作用 主板上的定时器除了形成计时信号之外,还为存储器刷新 产生定时信号和为主机板上的扬声器提供可编程的声频信号。
二、方法
定时信号可用软件和软硬件相结合两种方法来获得。