7.2定时器 >当将TSS位置1时,与门5关闭,不允许CPU clock 输入,并且停止定时器的工作。 SRESET 3 TR3 PRD TDDR CPU clock TIM PSC 5 TSS 借位 借位 参TNT 主定时模块 预分频模块 TOUT >TIM的计数源是PSC的溢出借位信号。TM在计数 初值的基础上每来一个计数脉冲就减1计数,当减至0 时会产生一个借位,并引发下列行为: 1)向主机发出中断申请信号TNT; 26
Ø当将TSS位置1时,与门5关闭,不允许CPU clock 输入,并且停止定时器的工作。 ØTIM的计数源是PSC的溢出借位信号。TIM在计数 初值的基础上每来一个计数脉冲就减1计数,当减至0 时会产生一个借位,并引发下列行为: 1)向主机发出中断申请信号TINT; 26
7.2定时器 TM减至0时产生一个借位,并引发下列行为: 1)向主机发出中断申请信号TINT; 2)通过驱动门4和引脚TOUT输出信号; 3)通过或门1使能,将PRD的值重新装入TIM,作为 TM的计数初值。从而完成定时工作的一个基本过程。 定时器定时时间的计算公式如下: ·定时周期=CLKOUTX(TDDR+)X(PRD+1) ·其中:CLKOUT是CPU的时钟周期。 27
1)向主机发出中断申请信号TINT; 2)通过驱动门4和引脚TOUT输出信号; 3)通过或门1使能,将PRD的值重新装入TIM, 作为 TIM的计数初值。从而完成定时工作的一个基本过程。 TIM减至0时产生一个借位,并引发下列行为: • 定时器定时时间的计算公式如下: • 定时周期=CLKOUT×(TDDR+1)×(PRD+1) • 其中:CLKOUT是CPU的时钟周期。 27
7.2定时器 TM减至0时产生一个借位,并引发下列行为: 1)向主机发出中断申请信号TNT; 2)通过驱动门4和引脚TOUT输出信号; 3)通过或门1使能,将PRD的值重新装入TIM,作为 TM的计数初值。从而完成定时工作的一个基本过程 。 SRESET 3 TRB PRD TDDR CPU clack ·定时器定时时间的 TIM PSC 5 TSS 借位 借位 ·定时周期=CLKOU 色TNT ·其中:CLKOUT是 主定时模块 预分频模块 TOUT 28
1)向主机发出中断申请信号TINT; 2)通过驱动门4和引脚TOUT输出信号; 3)通过或门1使能,将PRD的值重新装入TIM, 作为 TIM的计数初值。从而完成定时工作的一个基本过程。 TIM减至0时产生一个借位,并引发下列行为: • 定时器定时时间的计算公式如下: • 定时周期=CLKOUT×(TDDR+1)×(PRD+1) • 其中:CLKOUT是CPU的时钟周期。 28
7.2定时器 7.2.2定时器的编程 在应用编程中应该掌握的三个关键点: >怎样计算计数初值 >怎样对定时器进行初始化 >怎样配置定时器的中断 山东大学生物医学工程刘忠国 29
7.2.2 定时器的编程 在应用编程中应该掌握的三个关键点: Ø怎样计算计数初值 Ø怎样对定时器进行初始化 Ø怎样配置定时器的中断 山东大学生物医学工程刘忠国 29
7.2.2定时器的编程 1.怎样计算计数初值 例:若要求定时周期=1ms,设时钟周期 CLKOUT:=1/80M=12.5ns,求TDDR及PRD。 12.5ns×65536=819200ns=0.8192ms 解:先假定:分频系数TDDR=9 定时周期=CLKOUTX(TDDR+1)X(PRD+1) 1ms=12.5×(9+1)×(PRD+1) =1X106ns 求得:PRD=7999(10)=1F3FH; 30 山东大学生物医学工程刘忠国
7.2.2 定时器的编程 1.怎样计算计数初值 例:若要求定时周期=1ms,设时钟周期 CLKOUT=1/80M=12.5ns,求TDDR及PRD。 12.5ns×65536=819200ns=0.8192ms 解: 定时周期 =CLKOUT×(TDDR+1)×(PRD+1) 1ms = 12.5×(9+1) ×(PRD+1) =1×106ns 求得:PRD=7999(10)=1F3FH; 30 先假定:分频系数TDDR=9 山东大学生物医学工程刘忠国