网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61IC中国电子在线 >> DSP >> 代码示例 >> TI DSP代码示例 >> C5000 >> 文章正文
  DSP5410实现PN码(汇编源代码)         ★★★ 【字体:
DSP5410实现PN码(汇编源代码)
作者:61IC    文章来源:本站原创    点击数:    更新时间:2007-1-22    

            .title   "PRODUCE_PN.asm"
            .mmregs
            .bss PN,8
            .bss SEQUENCE,255*2
STACK       .usect   "STACK",80
INIT_ST0    .set      1800h              ;st0的初值        
INIT_ST1    .set      2800h              ;st1的初值
order       .set      8                  ;本原多项式的阶数
pn_len      .set      255                ;产生的PN码的码长
            .global   _c_int00
            .data
coefficient:
            .word 0001h ,0000h, 0000h, 0000h 
            .word 0001h, 0001h, 0001h, 0000h
            .sect   "vector"
;--------------------------------------------------------------------
; interrupte vector table !
;--------------------------------------------------------------------
            
int_reset:      b _c_int00
                nop
                nop
                .space 72*16

int_tint:       b  main
          nop
          nop
                .space 48*16
                .text
_c_int00:                              
             STM      #0,IMR
             STM      #0x1020,PMST
             STM      #0x0010,TCR
             STM      #2499,PRD
             STM      #0x0008,IMR
             STM      #0x0030,TCR            ;以上为对定时器的设置,以确定码速
            
             STM      #INIT_ST0,ST0
             STM      #INIT_ST1,ST1          ;初始化st0,st1,其中CMPT=0,FRCT=0
             STM      #STACK+20,SP
            .asg      AR2,PN_POINTER
            .asg      AR3,COEFF_TABLE
            .asg      AR4,FA
            .asg      AR5,SEQUENCE_POINTER
             STM      PN,PN_POINTER
             STM      SEQUENCE,SEQUENCE_POINTER
             ST       #1,*PN_POINTER+
             ST       #(order-2),FA
             MVMD     FA,BRC      
             RPTB     INIT_PN-1
             ST       #0,*PN_POINTER+
             nop
            
INIT_PN:                                      ;将PN码的初值设为00000001
             ST       #(pn_len-1),FA
             MVMD     FA,BRC
             RPTB     INIT_SEQUENCE-1
             ST       #0,*SEQUENCE_POINTER+   ;将所得的PN码序列SEQUENCE的存储区初始化为0
             NOP
INIT_SEQUENCE:
            STM       SEQUENCE,SEQUENCE_POINTER
            STM       PN,PN_POINTER
            STM       coefficient,COEFF_TABLE
            STM       #order,BK
            STM       #1,AR0
            RSBX      INTM
            STM       #0x0000,TCR             ;启动定时器
WAIT:       NOP
            NOP
            B          WAIT

main:       MVDD       *PN_POINTER,*SEQUENCE_POINTER+
            RPTZ       A,#(order-1)
            MAC        *PN_POINTER+0%,*COEFF_TABLE+0%,A
            AND        #1,A
            STL        A,*PN_POINTER+0%

            RETE

               欢迎点击进入:TI德州中文网   (国内唯一针对TI应用的中文技术网站)    文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    TMS320C55x DSP 库
    TMS320C54x DSP 库
    用于TMS320VC5502的语言压缩…
    有关DSP进程及其线程的代码
    在DSP上实现DCT的三角波/方波…
    在DSP上实现DCT的三角波/方波…
    在DSP上实现DCT的三角波/方波…
    TMS320VC5402下电话接口的简…
    TMS320C54XX DSP的串行口试验…
    TMS320C54XXDSP的定时器试验…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61IC 湘ICP备05002478号