微机第9章8253

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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的下降沿,计数器开始重 新计数,这将使输出单稳脉冲比原先 计数器以初值重新计数。 设定的计数值加宽。 可重复触发——当计数归零后,不用再次送计数值,只要给它触发脉冲,即 可产生一个同样宽度的单稳脉冲输出。
(3)方式2——分频器(频率发生器)
① 写入CW后OUT为高电平,写入时 间常数后,下一CLK开始计数,减到1 时OUT变低,经过一个CLK后 OUT变 高,计数重新开始。 ② GATE=1计数进行,GATE=0计 数停止,且下一个CLK计数器重新赋 初值,GATE变为高电平,计数重新开 始。 ③ 计数期间送入新值,本周期继续 进行,下一个周期按新值计数操作。
17
方式4 软件触发选通信号
写入 方式4 WR 写入 4 写入 3
CLK GATE
4 3 2 1 0 OUT 3 2 1 0
GATE:开关作用
18
方式5 硬件触发选通信号
写入 方式5 WR CLK GATE 4 3 2 1 0 3 2 1 3 2 1 0 写入 4 写入 3
OUT
GATE:触发作用
(6)方式5——硬件触发选通 ① 写入CW后OUT为高电平,输入时 间常数后由GATE上升沿启动计数。计 数为0时输出一个时钟的负脉冲,并停 止操作。 ② 计数过程中,若GATE又来一个上 升沿,则下一个时钟计数器重新赋值 计数。 ③ 计数过程中写入时间常数,当前 周期不受影响,在下一个 GATE上升沿 启动新值计数。
(1) 方式0——计数结束产生中断
CW N=4
WR CLK OUT
4
3
2
1
0
FF
方式0时序图
① 控制字(CW)写入后OUT即变为低电 平,当计数器为0时,输出OUT变为高电平。 ② 计数初值写入后在下一个CLK下降沿才 送入计数器,因此计数值为N+1。 ③ 计数到零后,不能自动恢复计数初值, OUT端保持高电平。 再次写入计数初值,才又开始计数。
计数器0:CLK0——计数器0的时钟输入。 GATE0——计数器0的门脉冲控制输入。 OUT0——计数器0的输出。 计数器1 计数器2
定时系数(计数初值)n =定时时间t时钟频率fc =定时时间t/时钟脉冲周期Tc
编程结构
(2)8253的工作原理
8253的工作模式
(1)方式0——计数结束产生中断 一次定时或计数,重写初值,启动新一轮的计数 (2)方式1——可编程的单脉冲(单稳)触发器 GATE边沿触发,启动新一轮计数 (3)方式2——分频器(速度波发生器) 具有计数初值重装能力 (4)方式3——方波发生器 具有计数初值重装能力 (5)方式4——软件触发的选通信号发生器 一次定时,重写初值,启动新一轮的计数 (6)方式5——硬件触发的选通信号发生器 GATE边沿触发新一轮计数
9.4 8253的编程
8253加电后的工作方式不确定,必须经初始 化编程后,才能正常工作 初始化编程:
先写入控制字 再写入计数初值
工作后,可随时读取计数值:
一般先将计数值锁存在通道内的锁存器中 然后可分两次读取16位的计数值 片内寻址 A1 A0= 00、01、10、11 对应:通道0、1、2和控制口地址
各种工作方式的输出波形
方式 0 方式 1 方式 2 方式 3 方式 4 方式 5
N N N N/2 N 0 1 N N 0 1 0/N 0/N N/2 N 0 1 0 0 0 1 0 1
0
工作方式小节
8253有6种不同的工作方式。其中: 方式0 —— 写入CW后,输出即变低,计数结束输出为高, 常用该输出信号作为中断源。其余5种方式写入CW后, 输出均变高。 方式0可用来实现定时或对外部事件进行计数。 方式1用来产生单脉冲。 方式2用来产生序列负脉冲,每个负脉冲的宽度与CLK的 周期相同。 方式3用于产生连续的方波。方式2和方式3都实现对CLK 的n分频。 方式4和方式5的波形相同,都是计数器归0后的1个负脉冲, 宽度为1个CLK。

二、可编程计数器/定时器的工作原理 功能:一是为计数;一是为定时。
8253的用处: 1)在多任务的分时系统中用来作为中断信号 实现程序的切换; 2)可以往I/O设备输出精确的定时信号; 3)作为一个可编程的波特率发生器; 4)实现时间延时。
计数器/定时器的工作特点 1)门脉冲控制时钟输入; 2)用门脉冲来重新启动计数; 3)用门脉冲停止计数; 4)单一计数; 5)循环计数.
方式0,1,4,5非连续 1,5 ---计数启动须硬件信号 0,4 ---编程启动计数(写入计数值后启动) 方式2,3连续计数(写入计数值后启动),自动 重复。
方式2、4、5的输出波形是相同的,都是宽度为一个CLK周期 的负脉冲。但方式2是连续的,方式4是由软件(设置初值)触 发启动,而方式5由硬件(门控脉冲)触发启动。 方式1、5 触发计数方式相同,但输出波形不同。方式1为输出 n个CLK脉冲周期的负脉冲(计数过程中输出为低),而方式5 输出的是宽度为1个CLK脉冲周期的负脉冲(计数过程输出为 高)。
1、控制字 8253控制字的格式
SC1 SC0 RW1 RW0 M2 M1 M0 BCD
1--计数值为BCD码格式 0--计数值为二进制格式 M2 M1 0 0 0----对计数器进行锁存 0 / / 1 1 0 1----只读/写低8位字节 1 0----只读/写高8位字节 1 1----只读/写低8位字节, 再读/写高8位字节. 0 0 1 1 0 0 M0 0 1 0 1 0 1 模式选择 模式0 模式1 模式2 模式3 模式4 模式5
触发 重触发:装计数值
19
图 方式0——计数结束产生中断

图 单脉冲触发器
图 分频器
GATE:开关作用 初值N为偶数:N/2脉冲数输出高, N/2脉冲数输出低 初值N为奇数:(N+1)/2脉冲数输出高, (N-1)/2脉冲数输出低 图 方波发生器

软件触=时钟频率*T
8253芯片内部结构
1.数据总线缓冲器 往计数器设置计数初值; 从计数器读取计数值; 往控制寄存器设置控制字。 2.读/写逻辑电路 A1 A0:端口选择 0 0:通道0(0号计数器) 0 1:通道1(1号计数器) 1 0:通道2(2号计数器) 1 1:控制字寄存器
3.通道0、通道1、通道2
那么,在下一个脉冲开始计数器计数。 通过写入计数初值使计数器同步,称为~。
(4)方式3——方波发生器(连
WR CLK CW N=4
续)
① 写入CW后OUT变为高电平, GATE 输入时间常数后,下一个时钟开始 OUT 计数,计到一半时输出变为低电平, 4 3 2 1 4 3 2 1 计到终值时重新变为高电平,并开 方式3时序图 始下一次计数过程。 ③ GATE=1计数进行。在计数过程中 ② 若N为偶数,高低电平持续时 若GATE=0,计数停止且OUT为高,计 数器重新赋初值,GATE回到高时计数 间相等;若为奇数,则高电平持续 重新开始。 时间为(N+1)/2,低电平持续时 间为(N-1)/2。 ④ 计数期间送入新值,本周期继续进 行,下一个周期按新值计数。
计数过程由软件将计数初值装入通道来触发
(5)方式4——软件触发选通 ①写入CW后OUT为高电平,输入 时间常数后,下一个CLK开始计数, 计数器为0时,输出一个周期负脉冲, 并停止操作。 ②GATE=1允许计数,GATE=0禁 止计数。 ③计数期间送入新的时间常数,则 下一个时钟按新值重新计数。
WR CLK GATE OUT 3 2 1 0 FF FEFDFC 方式4时序图 CW N=3
4 3
0
2 1
0 4 3 2
OUT
GATE:开关作用
16
方式3 方波发生器
写入 方式3 WR CLK GATE 4 3 2 1 0 4 3 2 1 0 4 3 2 1 0 4 3 2 1 0 写入 4
OUT
GATE:开关作用 初值N为偶数:N/2脉冲数输出高, N/2脉冲数输出低 初值N为奇数:(N+1)/2脉冲数输出高, (N-1)/2脉冲数输出低
8253应用举例
8253初始化方法: 控制字 计数初值:
已知:CLK 的频率fc与定时的时间t. 计数初值: n= fc t
例1: fc=1MHZ,最大计数初值:
65536 一个定时器最大定时时间: N/fc=65536/ 106 =0.065536s
例2:设定时器0、定时器1工作于方式2,外部提供 一个时钟,频率f=2MHZ。要求定时器1每5ms产生 一个脉冲,定时器0每5s产生一个脉冲。 1). 一个定时器的最大定时时间: 65536/(2*106)=0.032768 s=32.768ms 2). 将定时器1的CLK1接2MHZ时钟,计数初值:
14
方式1 可编程单稳脉冲

写入方式1 WR CLK GATE

写入4




OUT
4
3
2
1
0
①设定工作方式 ②设定计数初值 ③硬件启动 ④计数值送入计 数器 ⑤计数过程 ⑥计数结束
GATE:触发作用
15
方式2 频率发生器(分频器)
写入 方式2 WR CLK GATE 4 3 2 1 4 1 0 3 2 1 0 写 入 4
3 读取计数值
对8位数据线,读取16位的计数值,需要分两次 进行
1.由于计数在不断进行,故应将当前计数值先 行锁存,然后再读取:
向控制字I/O地址写入锁存命令 从计数器I/O地址读取被锁存的计数值
3 种读取方式:
只读低8位 只读高8位 先低后高
读取计数值时要注意格式和数制
2.利用GATE信号使计数过程暂停。
WR CLK GATE OUT 3 2 1 3 2 1 3 2 1 方式2时序图 CW N=3
不用重复置数。计数器能够 连续工作,输出OUT是输入CLK 的n(初值)分频。
硬件同步:由前述②知,门控信号可实现计数器的同步,称为~。 软件同步:计数器写入控制字和计数初值后,如GATE一直处于高电平,
WR CLK GATE OUT 3 2 1 0 FF FE 3 2 1 0 方式5时序图 CW N=3
方式0 计数结束中断

WR CLK GATE 4 OUT 3 2 1 0
② ④ ⑤
⑥ ①设定工作方式 ②设定计数初值 ④计数值送入计 数器 ⑤计数过程 ⑥计数结束
写入方式0 写入4
GATE:开关作用
计数器/定时器8253
计数器/定时器8253特点
三个通道,可单独使用
片内寻址
A1 A0= 00、01、10、11 对应:通道0、1、2和控制口地址
工作方式:6种
一、微机定时方法
1. 软件定时——延迟子程序 2. 硬件定时
采用不可编程器件,如分频器、单稳电路、简易定时电路; 用计数器/定时器8253
相关文档
最新文档