有所追求
分类:
2009-03-28 23:35:20
HCS12 ECT的核心是一个16位自由运行计数器(TCNT),所有输入捕捉和输出比较功能的计时信息都来源于TCNT,当定时器系统启用时,通过设置TSCR1的TEN位,计数器从$0000开始,每经过一个模块时钟加1,直到加到$FFFF,然后自动溢出为$0000并继续计数.16位自由记数器的当前值保存在两个8位寄存器中,高的存在TCNTH,位于地址0x00000044,低的存在TCNTL中,地址是0x00000045.综合这两个寄存器就形成TCNT.可以在头文件里看到TCNT定义由一个WORD的联合体构成.
再看下图,P时钟的频率可被硬件分频.P时钟可由程序缩放.预置分频系数由定时器掩码寄存器TSCR2中PR[2:0].若预置分频系数设为16,即PR[2:0]=100B,则每16个输入到预置分频硬件的P时钟后,ECT系统才向自由运行计数器提供一个时钟脉冲.
预置分频系数控制着自由运行计数器多长时间溢出一次.由于自由运行计数器有16位,它需要2^16个时间才溢出一次.比如,若P的时钟频率是16MHZ, TCNT每3.89MS溢出一次.即2^16*1/(
自由运行计数器可以使用不同的时间基准作为时钟源.当定时模块的脉冲累加器部分启用时, PACLK 、PACLK/256、PACLK/65535都可作为自由运行计数器的时钟源。通过连接在自由运行计数器的输入端上的4到1多路复用器可以选择时钟源。通过设置脉冲累加器控制寄存器PACTL的CLK[1:0]位来选择时钟源。见下图: