DSP复习3份(考试复习重点内容) 联系客服

发布时间 : 星期五 文章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