7.2.2定时器的编程 2.怎样对定时器进行初始化 通过下列步骤对定时器进行初始化: 1)将TCR的TSS置1,关闭定时器 2)装载PRD 3)初始化TDDR:将TRB置1去重新装载定时器的 初值,将TSS清0以使能定时器。 保留 Soft Free PSC TRB TSS TDDR 31 山东大学生物医学工程刘忠国
7.2.2 定时器的编程 2.怎样对定时器进行初始化 通过下列步骤对定时器进行初始化: 1)将TCR的TSS置1,关闭定时器 2)装载PRD 3)初始化TDDR:将TRB置1去重新装载定时器的 初值,将TSS清0以使能定时器。 保留 Soft Free PSC TRB TSS TDDR 31 山东大学生物医学工程刘忠国
7.2.2定时器的编程 >例:对定时器进行初始化程序: STM0010H,TCR;TSS=1,关闭定时器 STM#1F3FH,PRD;加载周期寄存器PRD STM#0E69H,TCR;TDDR=9,TRB=1,装载 ;TIM及PSC,TSS=0,启 ;动定时器 15-12 11 10 9-6 5 4 3-0 保留 Soft Free PSC TRB TSS TDDR 000011 10011 0 1001 32
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 7.2.2 定时器的编程 保留 Soft Free PSC TRB TSS TDDR STM #0010H,TCR;TSS=1,关闭定时器 STM #1F3FH,PRD;加载周期寄存器PRD STM #0E69H,TCR;TDDR=9,TRB=1,装载 ;TIM及PSC ,TSS=0,启 ;动定时器 15-12 11 10 9-6 5 4 3-0 0 0 0 0 1 1 1 0 0 1 1 0 1 0 0 1 Ø例:对定时器进行初始化程序: 32
7.2.2定时器的编程 3.怎样配置定时器的中断 假定INTM=1(ST1的D11位),定时器中断的设置方 法如下: 1)给FR的TINT位写入1,以清除没有处理完的定 时器中断; 2)给MR的TINT位写入1,以使能定时器的中断; 3)NTM位清0,使能全部可屏蔽中断。 33 山东大学生物医学工程刘忠国
7.2.2 定时器的编程 3.怎样配置定时器的中断 假定INTM=1 (ST1的D11位),定时器中断的设置方 法如下: 1)给IFR的TINT位写入1,以清除没有处理完的定 时器中断; 2)给IMR的TINT位写入1,以使能定时器的中断; 3)INTM位清0,使能全部可屏蔽中断。 33 山东大学生物医学工程刘忠国
第7章TMS320C54x片内外设及其应用 例:若NTM=1,定时器中断设置程序: STM#0008H,IFR;清除没处理完的定时器1中断 #0080H STM #0008H,I IMR;开放定时器1中断 #0080H RSBX INTM ;开总中断NTM=O C5402A 15 14 13 12 11 10 9 8 Reserved DMAC5 DMAC4 XINT1 RINT1 HINT INT3 7 6 5 4 3 2 1 0 XINT2 RINT2 XINTO RINTO TINT INT2 INT1 INTO TINT1 or RES or DMACI DMACO C5402 TINTO IFR、IMR 34
第7章 TMS320C54x片内外设及其应用 例:若INTM=1,定时器中断设置程序: STM #0008H,IFR;清除没处理完的定时器 中断 STM #0008H,IMR;开放定时器 中断 RSBX INTM ;开总中断INTM=0 IFR、IMR TINT 34 TINT1 or DMAC1 RES or DMAC0 C5402 TINT0 C5402A #0080H #0080H 1 1
7.2.2定时器的编程 7.2.2定时器的编程 【例7-3】采用片内定时器实现方波信号发生器。在 引脚XF端输出周期为2s、占空比为50%的方波信号。 设时钟周期CLKOUT=1/80M=12.5ns,通过中断方式 完成编程。 12.5ns×65536×16=13.1072ms 解: 取定时周期=1ms,分频系数TDDR=9; 定时周期=CLKOUTX(TDDR+1)X(PRD+1)最大定时? 1ms=12.5×(9+1)×(PRD+1)=1×106ns 求得:PRD=7999(10)=1F3FH 用中断次数进行计数1000,完成总定时周期: 1000×1ms=1s 35
7.2.2 定时器的编程 7.2.2 定时器的编程 【例7-3】采用片内定时器实现方波信号发生器。在 引脚XF端输出周期为2s、占空比为50%的方波信号。 设时钟周期CLKOUT=1/80M=12.5ns,通过中断方式 完成编程。 解: 定时周期 =CLKOUT×(TDDR+1)×(PRD+1) 1ms =12.5×(9+1)×(PRD+1) =1×106ns 求得:PRD=7999(10)=1F3FH 用中断次数进行计数1000,完成总定时周期: 1000×1ms=1s 35 12.5ns×65536×16=13. 1072ms 取定时周期=1ms, 最大定时? 分频系数TDDR=9;