machao 发表于 2007-5-18 00:52:38

定时器选用比较匹配的工作方式和采用普通方式的比较

定时器选用比较匹配的工作方式比采用普通方式有两个优点:



1。在中断中至少可以节省定时计数器的初值设置语句,符合中断执行时间尽量短的原则。



2。更深一层的优点是定时时间比普通模式精确。普通模式当定时器溢出时申请中断,但MCU响应中断需要时间,就是马上响应的话也需要7-8个时钟周期的。在这个过程中,实际计数器实际上还在继续的计数。但在中断中你需要重新对计数器设置初值,这就把已经走过的时间忽略掉了,造成两次中断的间隔不是严格你设计的时间间隔了。使用比较匹配的工作方式就不会出现这个问题,因为在整个过程中,没有人为的改变计数器的计数值。



在例9.1中是时钟加按键(主要是按键)的简单例子,考虑到定时器0还要用于产生时间的基时,所以采用了比较匹配的工作。你可以做个实验,在相同的系统时钟时,采用T/C0实现时钟,将采用CTC方式,和普通方式做比较,跑上12个小时,看那种方式的时钟计时误差小。

 

imcute 发表于 2007-5-26 18:46:04

这在第八章书上提到过:



T/C0的普通模式:在中断服务程序中必须重新对TCNT0进行初始化。



T/CO的CTC模式:利用T/CO的自动重装特性。当T/C0工作在CTC模式时,计数器TCNT0的值与OCR0的值比较,一旦相等,在下一次计数脉冲到来时,清零TCNT0,并产生T/C0的比较匹配中断。



只是没有想到,这个小小的区别有这么大的实际价值~~~~~!
页: [1]
查看完整版本: 定时器选用比较匹配的工作方式和采用普通方式的比较