7.2定时器 TM减至0时产生一个借位,并引发下列行为: 1)向主机发出中断申请信号TINT; 2)通过驱动门4和引脚TOUT输出信号; 3)通过或门1使能,将PRD的值重新装入TIM,作为 TM的计数初值。从而完成定时工作的一个基本过程。 定时器定时时间的计算公式如下: ·定时周期=CLKOUTX(TDDR+1)X(PRD+1) ·其中:CLKOUT是CPU的时钟周期。 26
1)向主机发出中断申请信号TINT; 2)通过驱动门4和引脚TOUT输出信号; 3)通过或门1使能,将PRD的值重新装入TIM, 作为 TIM的计数初值。从而完成定时工作的一个基本过程。 TIM减至0时产生一个借位,并引发下列行为: • 定时器定时时间的计算公式如下: • 定时周期=CLKOUT×(TDDR+1)×(PRD+1) • 其中:CLKOUT是CPU的时钟周期。 26
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 27
1)向主机发出中断申请信号TINT; 2)通过驱动门4和引脚TOUT输出信号; 3)通过或门1使能,将PRD的值重新装入TIM, 作为 TIM的计数初值。从而完成定时工作的一个基本过程。 TIM减至0时产生一个借位,并引发下列行为: • 定时器定时时间的计算公式如下: • 定时周期=CLKOUT×(TDDR+1)×(PRD+1) • 其中:CLKOUT是CPU的时钟周期。 27
7.2定时器 7.2.2定时器的编程 在应用编程中应该掌握的三个关键点: >怎样计算计数初值 >怎样对定时器进行初始化 >怎样配置定时器的中断 山东大学生物医学工程刘忠国 28
7.2.2 定时器的编程 在应用编程中应该掌握的三个关键点: Ø怎样计算计数初值 Ø怎样对定时器进行初始化 Ø怎样配置定时器的中断 山东大学生物医学工程刘忠国 28
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; 山东大学生物医学工程刘忠国 29
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; 29 先假定:分频系数TDDR=9 山东大学生物医学工程刘忠国
7.2.2定时器的编程 2.怎样对定时器进行初始化 通过下列步骤对定时器进行初始化: 1)将TCR的TSS置1,关闭定时器 2)装载PRD 3)初始化TDDR:将TRB置1去重新装载定时器的 初值,将TSS清0以使能定时器。 保留 Soft Free PSC TRB TSS TDDR 山东大学生物医学工程刘忠国 30
7.2.2 定时器的编程 2.怎样对定时器进行初始化 通过下列步骤对定时器进行初始化: 1)将TCR的TSS置1,关闭定时器 2)装载PRD 3)初始化TDDR:将TRB置1去重新装载定时器的 初值,将TSS清0以使能定时器。 保留 Soft Free PSC TRB TSS TDDR 山东大学生物医学工程刘忠国 30