一、C54x的片内定时器是一个可编程的定时器,同时可以用于周期性地产生中断,为16位计数器。定时器主要由定时器寄存器TIM、定时周期寄存器PRD、定时控制寄存器TCR(包括分频系数TDDR、预标定计数器PSC、控制位TRB和TSS等)及相应的逻辑控制电路组成。TIM是一个减1计数器,PRD用来存放定时时间常数(TIM寄存器的初值)。
TCR中包括定时器的控制位和状态位,具体如下:
对于上图中的各控制位的功能描述如下:
TDDR:定时器的分频系数,最大预标定值为16,最小为1。用此分频系数对CLKOUT进行分频,以改变定时周期。当PSC(该计数器存放的初值等于TDDR的值)减到0时,用TDDR的值加载到PSC。
TSS:定时器停止状态位,用于启动和停止定时器。TSS为0时定时器启动,TSS为1时定时器停止。
TRB:定时器重新加载位,用于复位片内定时器。TRB为1时,用PRD中的值加载TIM,以及TDDR中的值加载PSC。
PSC:定时器预标定计数器,其标定值为0到16(TDDR的值的范围),当PSC的值减为0时,TDDR的值加载到PSC,TIM减1。
FREE和SOFT:SOFT和FREE为00时定时器立即停止工作;