发布时间 : 星期五 文章DSP复习3份(考试复习重点内容)更新完毕开始阅读5b4fd187195f312b3169a5a1
TMS320C54xx中,能否从一种分频方式直接切换到另一种分频方式? 写出切换步骤。例如希望将TMS320VC5402从2分频方式切换到4分 频方式,写出相应程序。
答: 不能,从一种分频方式切换到PLL倍频,再切换到另一种分频方式
STM #xxxx xxxx xxxx xx11B, CLKMD
T1: LDM CLKMD , A AND #01B, A BC T1, AEQ STM #F000h, CLKMD
TMS320C5402上编程实现周期为4ms的方波发生器(设时钟为100MHz) (1)源程序fangbo.c
#define TIM *(int *)0x24 #define PRD *(int *)0x25 #define TCR *(int *)0x26 #define IMR *(int *)0x0 #define IFR *(int *)0x1 #define PMST *(int *)0x1d void interrupt time(void); unsigned int nCount,uWork; main()
{
nCount=uWork=0;
asm(\INTM\// 关中断,进行关键设置时不许打扰 // 设置通用定时器
uWork=PMST; // 设置PMST寄存器 PMST =uWork&0xff; // 中断向量表起始地址=80H
TCR = 0x419; // xxxx, x100,0001,1001关闭定时器,预分频系数为9
TIM = 0; // 时钟计数器清0 PRD = 0x04E1F; // 周期寄存器为19999 TCR = 0x429; //复位、启动定时器 IFR = 0x0000; // 清中断标志位 IMR = 0x0008; // 使能TINT0 asm(\INTM\// 开中断 while ( 1 ) { } }
void interrupt time(void) { nCount++;
if (nCount%2= =1) asm(\XF\ else
asm(\ssbx XF\}
(2)中断向量表VECTORS.asm
.sect \
.ref _c_int00 ; C entry point .ref _time
.align 0x80 ; must be aligned on page boundary
RESET: ; reset vector
BD _c_int00 ; branch to C entry point STM #200,SP ; stack size of 200 nmi: RETE ; enable interrupts and return from one NOP NOP
NOP ; software interrupts sint17 .space 4*16 sint18 .space 4*16 sint19 .space 4*16 sint20 .space 4*16 sint21 .space 4*16 sint22 .space 4*16 sint23 .space 4*16 sint24 .space 4*16 sint25 .space 4*16 sint26 .space 4*16 sint27 .space 4*16 sint28 .space 4*16 sint29 .space 4*16 sint30 .space 4*16
int0: RETE
NOP
NOP NOP int1: RETE
NOP NOP NOP int2: RETE
NOP NOP tint0: B _time NOP NOP NOP rint0: RETE
NOP NOP NOP xint0: RETE
NOP NOP NOP rint1: RETE
NOP NOP NOP xint1: RETE
NOP NOP NOP int3: RETE
NOP NOP NOP .end
(3)配置命令文件fangbo.CMD -w
-stack 400h -heap 100