定时/计数器
定时概述
在数字电路、计算机系统以及实时控制系统中常常需要用到定时信号,如函数发生器、计算机中的系统日历时钟、DRAM的定时刷新、实时采样和控制系统等都要用到定时信号。所以定时计数接口芯片是常用芯片之一,定时信号的取得可以利用软件编程或硬件的方法得到。
硬件定时和软件定时
- 硬件定时就是利用专用的硬件定时计数器,在简单的软件可攻至下产生准确的延时时间,其中有可编程和不可编程两种。
- 软件定时,就是设计一个延时子程序,子程序中全部指令执行时间的总和就是该子程序的延时时间。
软件定时方法适用于定时使劲按短、重复次数有限的场合。否则,CPU总是执行延时程序,占用了大量的时间,使CPU的利用率大大降低,因此对时间要求严格的实时控制系统和多任务系统中很少采用,大多被使用的计数定时芯片是硬件定时可编程芯片,以8253为代表。
定时计数器
定时计数器在计数方式上分为加法计数器和减法计数器
定时器三要素
①稳定、准确的震荡频率
②GATE控制定时开始
③定时时间到后输出的波型
- 8253有三个独立的16位定时器,结构完全相同,分别为T0、T1、T2。
- 每个计数通道具有时钟输入(CLK)、门控输入(GATE)和计数输出(OUT)。
-
定时时长t=T*(减一寄存器的初始值)
A0 A1两个引脚的功能是内部寄存器地址选择,其值分别为00 01 10 时选择了计数器0、计数器1、计数器2,11时为控制寄存器。