定时器/计数器的基本概念

Source

        80C51单片机中有两个计数器,即T0和T1。

       单片机内有一个定时器/计数器T0,可以用编程的方法将它设为计数器。当用作计数器时,它是一个16位计数器,它的最大计数值为65536

        定时器/计数器T0和T1分别是由TH0、TL0TH1、TL1两个8位计数器构成的16位计数器,两者均为加1计数器。

        定时器/ 计数器 T0 T1 用作计数器时,通过单片机外部引脚 T0 T1 对外部脉冲信号计数,当加在 T0 T1 引脚上的外部脉冲信号出现一个 由1到0的负跳变时 ,计数器加 1 ,如此直至计数器产生溢出。
         定时器 / 计数器 T0 T1 用作定时器时, 对外接晶振产生的振荡信号 12 分频后,提供给计数器,作为计数的脉冲输入,计数器以 12 分频后的脉冲周期为基本计数单位,对输入的脉冲进行计数,直至产生溢出。
 
         需要说明的是,无论 T0 T1 是工作于计数还是计时方式,它们在对内部时钟脉冲或外部脉冲进行计数时,都不占用 CPU 的时间,直到定时器 / 计数器产生溢出为止。
        它们的作用是:当发生溢出后, 通知CPU停下当前的工作,去处理“时间到”或“计数满”这样的事件。
        
         因此,定时器 / 计数器的工作并不影响 CPU 其它的工作。这也正是采用定时器 / 计数器的优点。