第八章 定时计数控制接口

2019-01-06  本文已影响0人  XiaoShanHsj

(1)软件延时,利用微处理器执行一个延时程序段实现,具有不用硬件的特点,但却占用了大量CPU时间,定时精度不高

(2)不可编程的硬件定时,系统时钟进行分频/单稳电路或简易定时电路

(3)可编程的硬件定时

8.1 8253/8254定时计数器

每个8253芯片有3个独立的16位计数器通道,每个计数器有6种工作方式,都可以按二进制或者十进制计数

8.1.1 8253/8254的内部结构和引脚

1.计数器    图8-1

8253有3个相互独立的计数器通道,每个通道的结构完全相同。每个8253的计数器通道都有3个信号与外界接口

(1)CLK时钟输入信号,每输入一个时钟信号,计数器的计数值减1

(2)GATE门控输入信号

(3)OUT计数器输出信号,当计数值减为0,OUT输出一个输出信号

2.与处理器接口

表8-1 8253的端口选择

8.1.2 8253/8254的工作方式

方式2、3会自动重复

处理器写入8253的计数初值只是写入了预置寄存器。之后到来的第一个CLK脉冲才将预置寄存器的初值送到减1计数器

1.方式0:计数结束中断

当某一个计数通道设置为方式0后,其输出OUT信号随机变为低电平,当计数值减为0之后OUT端变为高电平。GATE输入信号可控制计数过程

2.方式1:可编程单稳脉冲

当CPU写入方式1控制字之后,OUT变为高。GATE启动。在整个计数过程中,OUT都维持为低,直到计数0再变为高。GATE输入信号变为低再启动时会将寄存器中的值重新送入计数器

3.方式2:频率发生器(分频器)

写入控制字之后,OUT变为高,直到计数值为1时变低,之后再恢复为高,并重新开始计数。计数过程中装入新值从下一个周期开始新值。GATE为低时禁止计数,并使OUT为高,GATE变为高时,计数器重新装入预置计数值。

4.方式3:方波发生器

方式3在计数过程中有一半时间为高电平一半时间为低电平。如果为奇数,前一半多一个时钟脉冲为高

5.方式4:软件触发选通信号

写入控制字后OUT为高,当计数值为0时OUT为低,一个时钟周期后再恢复为高。GATE为低禁止计数,变为高则重新装入计数初值

6.方式5:硬件触发选通信号

写入计数初值后,由GATE的上升沿启动计数过程,其余与方式4相同

表8-2 和 表8-3

8.1.3 8253/8254的编程

1.写入方式控制字

要求A1A0=11(控制字地址)

(1)计数器选择(D7D6)

(2)读/写格式(D5D4)

(3)工作方式(D3D2D1)

(4)数字选择(D0) 十进制为BCD码

2.写入计数值

3.读取计数值

先向8253写入锁存命令,使方式控制字D5D4=00,将计数器的当前值锁存进输出锁存器。然后CPU读取锁存的计数值。

4.8254的读回命令

8254的读回命令可以使3个通道的计数值和状态锁存    图8-10

上一篇下一篇

猜你喜欢

热点阅读