计数定时控制器(精)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件延时—பைடு நூலகம்利用微处理器执行一个延时程序段实现 不可编程的硬件定时——采用分频器、单稳电路或简 易定时电路控制定时时间 可编程的硬件定时——软件硬件相结合、用可编程定 时器芯片构成一个方便灵活的定时电路
2
2018/9/19
8253/8254定时计数器
3个独立的16位计数器通道
每个计数器有6种工作方式 按二进制或十进制(BCD码)计数
8253可与8086/8088CPU相连构成完整的定时、计数或脉 冲发生器系统。
2018/9/19
3
8253的内部结构和引脚
D7~D0
数据总线 缓冲器 内 RD WR 0 A 1 A 读写控制 逻辑 部 数 据 控制字 寄存器 总 线
计数器0
CLK GATE 0 OUT
1
0
0
计数器1
CS
CLK GATE 1 OUT CLK GATE 2 OUT
2018/9/19
5
(2) CS*——片选信号,由CPU输入,低电平有效,通常由端口地址 的高位地址译码形成。
(3) RD*、WR*——读/写控制命令,由CPU输入,低电平有效。RD*有 效时,CPU读取由A1A0所选定的通道内计数器的内容。WR*有效时, CPU将计数值写入各个通道的计数器中,或者是将方式控制字写入控 制字寄存器中。
BCD位用来定义是采用二进制计数还是十进制计数 M2M1M0位用来定义所选通道的6种工作方式。
10
2018/9/19
计数器结构示意图
计数初值存于预置寄存器; 预置寄存器 在计数过程中, CLK 减法计数器的值不断递减, OUT 减1计数器 而预置寄存器中的预置不变。 GATE 输出锁存器用于写入锁存命令时, 锁定当前计数值 输出锁存器
4. 控制字寄存器
控制字寄存器用来存放由CPU写入8253的方式选择控 制字,由它来定义8253中各通道的工作方式,其使用 格式如下图所示。
2018/9/19
8
2018/9/19
9
SC1,SC0位用来选择通道。 RL1,RL0位用来定义对所选通道中的计数器 的操作
RL1RL0=00时,将该通道中当前计数器的内容锁 存到锁存器中,为CPU读取当前计数值作准备。 RL1RL0=01时,表示只读/写计数器低字节,这是 因为只使用计数器的低字节作计数用。 RL1RL0=10时,表示只读/写计数器高字节,这是 因为只使用计数器的高字节作计数用。 RL1RL0=11时,表示先读/写计数器低字节,后读 /写计数器高字节。
2018/9/19
11
计数器的3个引脚
CLK时钟输入信号——在计数过程中,此引脚上每输入 一个时钟信号(下降沿),计数器的计数值减1 GATE门控输入信号——控制计数器工作,可分成电平 控制和上升沿控制两种类型 GATE作为各通道的门控信号,对于各种不同的工作方 式,它所起的作用各不相同。在8253的应用中,必须 正确使用GATE信号,才能保证各通道的正常操作。
CS* A1 A0 0 0 0 0 0 0 1 1 0 1 0 1
I/O地址 40H 41H 42H 43H
读操作RD* 读计数器0 读计数器1 读计数器2 无操作
写操作WR* 写计数器0 写计数器1 写计数器2 写控制字
6
2018/9/19
3. 通道0~通道2
8253内部包含3个功能完全相同的通道,每个通道内部设有一个 16位计数器,可进行二进制或十进制(BCD码)计数。 采用二进制计数时,最大计数值是FFFFH 采用BCD码计数时,最大计数值是9999 每个通道内设有一个16位计数值锁存器,可用来锁存计数值。 当某通道用作计数器时,应将要求计数的次数预置到该通道的计 数器中,被计数的事件应以脉冲方式从CLKi端输入,每输入一个 计数脉冲,计数器内容减“1”,待计数值计到“0”,OUTi端将有 输出,表示计数次数到。 当某通道用作定时器时,由CLKi输入一定频率的时钟脉冲。根据 要求定时的时间长短确定所需的计数值,并预置到计数器中,每 输入一个时钟脉冲,计数器内容减“1”,待计数值计到“0”, OUTi将有输出,表示定时时间到。允许从CLKi输入的时钟频率在 1~2MHz范围内。
9 计数/定时控制器
2018/9/19
1
可编程计数/定时控制器8253
定时控制在微机系统中极为重要
定时器由数字电路中的计数电路构成,通过记录高精 度晶振脉冲信号的个数,输出准确的时间间隔 计数电路记录外设提供的具有一定随机性的脉冲信号 时,主要反映脉冲的个数,又称为计数器
定时功能的实现方法
OUT计数器输出信号——当一次计数过程结束(计数值 减为0),OUT引脚上将产生一个输出信号
2018/9/19
12
8253/8254的工作方式
8253有6种工作方式,由方式控制字确定 熟悉每种工作方式的特点才能根据实际应用问 题,选择正确的工作方式 每种工作方式的过程类似: ⑴ 设定工作方式 ⑵ 设定计数初值 〔 ⑶ 硬件启动 〕 ⑷ 计数初值进入减1计数器 ⑸ 每输入一个时钟计数器减1的计数过程
2
1
计数器2
2
2018/9/19
4
1. 数据总线缓冲存储器
是8253与CPU之间的数据接口,由8位双向三态缓冲存储器构成, 是CPU与8253之间交换信息的必经之路。
2. 读/写控制电路
接收CPU送入的读/写控制信号,并完成对芯片内部各功能部件的 控制功能,因此,它实际上是8253芯片内部的控制器。 可接收的控制信号如下: (1) A1A0——端口选择信号,由CPU输入。8253内部有3个独立的 通道和一个控制字寄存器,它们构成8253芯片的4个端口,CPU可 对3个通道进行读/写操作,对控制字寄存器进行写操作。这4个端 口地址由最低2位地址码A1A0来选择。 A1A0 = 00 通道0 A1A0 = 01 通道1 A1A0 = 10 通道2 A1A0 = 11 控制字寄存器
2018/9/19
7
任一通道作计数器用或作定时器用,其内部操作完全相同,区别 在于前者是由计数脉冲进行减“1”计数,而后者是由时钟脉冲进 行减“1”计数。作计数器时,要求计数的次数可直接作为计数器 的初值预置到减“1”计数器中。作定时器时,计数器的初值即定 时系数应根据要求定时的时间进行如下运算才能得到: 定时系数=要求定时的时间/时钟脉冲的周期