如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
DSP应用系统的软件设计系统初始化程序设计应用程序设计DSP系统的初始化DSP芯片的内部初始化14.2.1寄存器初始化位位模式控制寄存器PMST软等待状态寄存器SWWSR例:*StatusRegister1(ST1)InitializationK_BRAF.set0b<<15K_CPL.set0b<<14K_XF.set1b<<13K_HM.set0b<<12K_INTM.set1b<<11K_ST1_RESR.set0b<<10K_OVM.set1b<<9K_SXM.set1b<<8K_C16.set0b<<07K_FRCT.set1b<<06K_CMPT.set0b<<05K_ASM.set00000b<<00K_ST1_HIGH.setK_BRAF|K_CPL|K_XF|K_HM|K_INTM|K_ST1_RESR|K_OVM|K_SXMK_ST1_LOW.setK_C16|K_FRCT|K_CMPT|K_ASMK_ST1.setK_ST1_HIGH|K_ST1_LOW………….;初始化寄存器:init_54x.asm.mmregs.include"init_54x.inc";containsalltheinitial;valuesofST0,ST1,PMST,SWWSR,BSCR.definit_54.textinit_54:SSBXINTMSTM#K_ST0,ST0STM#K_ST1,ST1STM#K_PMST,PMSTSTM#K_BSCR,BSCR;0waitstatesforBANKswitchSTM#K_SWWSR_IO,SWWSR;2waitstatesforI/O.end简单程序设计中,寄存器的初始化:.title"example3.asm".mmregssize.set100stack.usect".stack",size.defstart.textstart:STM#0,SWWSRSTM#06004H,CLKMDSTM#stack+size,SPSTM#4,DP………..中断矢量表、片内外设的初始化举例:;softwareinterruptssint17.space4*16sint18.space4*16sint19.space4*16sint20.space4*16sint21.space4*16sint22.space4*16sint23.space4*16sint24.space4*16sint25.space4*16sint26.space4*16sint27.space4*16sint28.space4*16sint29.space4*16sint30.space4*16int0:RETENOPNOPNOPint1:RETENOPNOPNOPint2:RETENOPNOPNOPtint:B_timeNOPNOPrint0:RETENOPNOPNOPxint0:RETENOPNOPNOPrint1:RETENOPNOPNOPxint1:RETENOPNOPNOPint3:RETENOPNOPNOP.endmain(){nCount=0;asm("ssbxINTM");//关中断,进行关键设置时不许打扰//设置通用定时器uWork=PMST;//设置PMST寄存器PMST=uWork&0xff;IMR=0x8;//使能TINTTCR=0x41f;TIM=0;//时钟计数器清0PRD=0x0f423;//周期寄存器为0ffHTCR=0x42f;//复位、启动IFR=0x8;//清中断标志位//设置控制ICETEK-CTR上指示灯的通用I/O引脚SPSA0=1;//设置McBSP0的SPCR2控制寄存器uWork=SPSD0;uWork&=0xfffe;//标志XRST=0SPSD0=uWork;SPSA0=0x0e;//设置McBSP0的PCR1寄存器uWork=SPSD0;uWork|=0x2800;//设置:XIOEN=1FSXM=1,使能通用I/O功能,FSX用于输出SPSD0=uWork;asm("rsbxINTM");//开中断while(1);}voidinterrupttime(void){nCount++;if(nCount>=4){nCount=0;SPSA0=0x0e;//设置Mc