1.初始化的步骤
定时器/计数器的功能是由软件编程确定的,一般在使用定时器/计数器前都要对其进行初始化,使其按设定的功能工作。定时器/计数器初始化的一般步骤如下:
1)确定计数脉冲来源(即对T0x12或T1x12置位/清0)。
3)预置定时器/计数器的初值,可直接将初值写入TH0、TL0或TH1、TL1。
4)根据需要决定是否开放定时器/计数器的中断,直接对IE相应位赋值。
5)启动定时器/计数器。
若步骤2)中设定在非门控方式(GATE=0),则将TRx(x=0或1)置1,定时器/计数器即开始工作;若设定在门控方式(GATE=1),则必须由外部引脚INTx(x=0或1)和TRx共同控制,只有当INTx引脚为高电平时,将TRx置1才能启动定时器/计数器工作。
定时器/计数器一旦启动,就按规定的方式进行定时或计数。
2.定时器/计数器初值的计算(www.xing528.com)
因为在不同工作方式下定时器/计数器的计数位数不同,所以对应的最大计数值或最长定时时间也不同。定时器/计数器各工作方式下的最大计数值和最长定时时间如下:
方式0:最大计数值=216=65536,最长定时时间=65536×Tcy。
方式1:最大计数值=216=65536,最长定时时间=65536×Tcy。
方式2:最大计数值=28=256,最长定时时间=256×Tcy。
方式3:定时器0分成两个8位计数器,其最大计数值均为256,最长定时时间均为256×Tcy。其中Tcy与T0x12或T1x12置位选择的系统时钟频率有关。
因为定时器/计数器为“加1”计数,并在计数溢出时产生中断,所以初值可以这样计算:
工作在计数器模式下:初值=最大计数值-计数值
工作在定时器模式下:初值=最大计数值-定时时间/Tcy
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。