;
文章:行业新闻EDA文摘电源技术无线通信测量仪表嵌入式类电子技术制造技术半导体网络/协议展会实验家电维修  
  下载:EDA教程电源技术电子书籍电子元件无线通信通信网络电路图纸嵌入式类单片机传感/控制电子教材模拟数字
.... 音视频类
消费电子机械电子行业软件C/C++FPGA/ASIC规则标准家电维修DSPIC资料ARM软件电路图电子技术论坛
 
位置:电子发烧友 > 行业新闻 > 嵌入式类 > 设计应用 >DSP正弦波发生器源代码 退出登录 用户管理
栏目导航


· 单片机类 · 接口/总线/驱动
· ARM · DSP
· FPGA/ASIC技术 · 设计应用
· 嵌入式操作系统 · 电视卡
热门文章
· [组图] 电子元器件基础知识...
· [图文] USB接口定义
· [图文] 三极管开关电路图
· [组图] RS232 RS485接口原理...
· [组图] [组图]电动车充电器...
· [组图] 电子捕鱼器电路图
· [组图] 高品质音调电路的制...
· [组图] JRC4558电路
· [图文] M51134P低音炮电路图...
· [图文] TL494脉宽调制控制电...
相关文章

· [组图] 测速发电机
· 还在为找军品级,和...
· [组图] 直流发电机的基本方...
· 如何发挥展位最佳宣...
· 会展业发展需调整 企...
· 第三届中国国际集装...
· [图文] 万创FT-2000型面包发...
· [图文] 销售/回收MG3670B M...
· [推荐] 出售/回收CHROMA213...
· [推荐] 出售/回收CHROMA213...

DSP正弦波发生器源代码
作者:本站  来源:不详  发布时间:2008-1-2 19:49:24 减小字体 增大字体

DSP正弦波发生器源代码:

************************************************
* FileName:  ex11.asm                       *
* Description: 正弦波发生器实验               *
* Copyright(C) SanZhi Electronic, Author Zpin  *
************************************************

  .title "ex11"

BSP   .set  1  ;当前使用McBsp1

;McBsp 内存映射寄存器
SPSA0  .set    038h
SPSD0  .set    039h
DRR10  .set    021h
DRR20  .set 020h
DXR10  .set    023h
DXR20  .set 022h

SPSA1  .set    048h
SPSD1       .set    049h
DRR11       .set 041h
DRR21       .set    040h
DXR11       .set    043h
DXR21       .set 042h

SPSA2       .set    034h
SPSD2       .set    035h
DRR12       .set    031h
DRR22       .set 030h
DXR12       .set    033h
DXR22       .set 032h

;McBsp Subaddressed Registers
SPCR1  .set 00h
SPCR2  .set 01h
RCR1  .set 02h
RCR2  .set 03h
XCR1  .set 04h
XCR2  .set 05h
SRGR1  .set 06h
SRGR2  .set 07h
MCR1  .set 08h
MCR2  .set 09h
RCERA  .set 0ah
RCERB  .set 0bh
XCERA  .set 0ch
XCERB  .set 0dh
PCR   .set 0eh

  .if BSP = 0
SPSA .set SPSA0
SPSD .set SPSD0
RDRR .set DRR10
RDXR .set DXR10
IMASK .set 0010h
  .endif
  
  .if BSP = 1
SPSA .set SPSA1
SPSD .set SPSD1
RDRR .set DRR11
RDXR .set DXR11
IMASK .set 0400h
  .endif
  

WR_SUB_REG .macro val,addr   ;写McBsp控制寄存器
   stm addr,SPSA
   nop
   stm val,SPSD
   nop
   .endm
   
RD_SUB_REG .macro addr,acc   ;读McBsp控制寄存器
   stm #:addr:,SPSA
   nop
   ldm SPSD,acc
   nop
   nop
   nop
   .endm

WAITTRX   .macro     ;等待串口中断
WAITR?
        RD_SUB_REG SPCR1,A
        and #1<<1, A
        bc   WAITR?, AEQ
          .endm

PROGREG   .macro progword   ;与AD50二次通讯
    
   stm  #01h,RDXR
        WAITTRX
        stm     #:progword:,RDXR
        WAITTRX
          .endm              


wait   .macro
    STM #0008h, AR0
  RPT *AR0
  NOP
  .endm    

  .mmregs
  .global _c_int00


  .sect ".vectors"
RESET bd _c_int00
  stm #3000h,SP
  .space 19*4*16
BRINT0 b recv
  nop
  nop
BXINT0 b trans
  nop
  nop
  .space 4*4*16
BRINT1 b recv
  nop
  nop
BXINT1 b trans
  nop
  nop
  .space 4*4*16
  
  .data
  .word 8000h,0db23h,8000h,0e1e7h,8000h,0fb47h,8000h,15e5h,8000h,252fh,

8000h,2879h,8000h,1b1fh,8000h,0155h
  .text
_c_int00
  ld #0h,DP
  stm #37ffh,SP
  ssbx INTM
  ssbx SXM
        st #2491h,SWWSR
        st #0ffe0h,PMST
        st #0f007h,CLKMD
       
        stm #4100h,AR2
        stm #4000h,AR1
  stm #10h,BK
       
mcbsp_init       ;初始化McBsp串口
        rsbx CPL
     nop                 ; cpl latency
     nop                 ; cpl latency
      nop                 ; cpl latency

      ld   #0, DP             
      ssbx INTM     
      ssbx SXM 

  WR_SUB_REG #0000H,SPCR1
  WR_SUB_REG #0200H,SPCR2
  WR_SUB_REG #000CH,PCR
  WR_SUB_REG #0000H,SPCR1
  WR_SUB_REG #0000H,SPCR2
  WR_SUB_REG #0040H,RCR1  ;16 BITs
  WR_SUB_REG #0004H,RCR2  ;Ignore FS after the first
  WR_SUB_REG #0040H,XCR1  ;16 BITs
  WR_SUB_REG #0004H,XCR2  ;Ignore FS after the first
  
  ld 100,A
  wait
  
  andm #0ff3fh, 54h   ;set interrupts to come from serial ports not DMA
         ;by clearing bits 6 and 7 in DMPREC
  stm #0,RDXR
  
  WR_SUB_REG #0001H,SPCR1  ;启动McBsp串口
  WR_SUB_REG #0201H,SPCR2
  
  ld 100,A
  wait
  
aic_init
  stm #0h,IMR
  orm #IMASK,IMR
  stm #0ffffh,IFR

  ;PROGREG 0104H    ;二次通讯初始化AD50
  ;PROGREG 02C0H
  PROGREG 0301h
  PROGREG 0400h
  ;PROGREG 0000001100000001b
             ;         876543210
        ;PROGREG 0000010000010000b
             ;         876543210

  ld RDRR,A
  ld RDRR,A
  
  stlm A,RDXR
  stlm A,RDXR
  
  rsbx INTM
  nop
  nop
  nop
  
js  nop
  nop
  nop
  b js

recv ldm RDRR,A    ;读ADC采样值以清除中断标志
  ld *AR1+%,A    ;读正弦波表
  and #0fffeh,A
  stlm A,RDXR    ;输出到DAC通道
  rete

trans rsbx XF
  rete
  .end


 

[] [返回上一页] [打 印] [收 藏]
 
下一篇文章:dds正弦波信号发生器
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
 
关于本站- 意见反馈 - 网站导航 - 帮助 - 隐私政策 - 联系我们 - 使用条款 - 安全承诺 - 友情连接
站长QQ:39550527 Powered by: 飓风网络(电路图
Copyright 2006-2008 Elecfans.Com.电子发烧友: 粤ICP备07065979号All Rights Reserved