• PUDN用户
    了解作者
  • C/C++
    开发工具
  • 59KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 43
    下载次数
  • 2005-09-07 13:10
    上传日期
基于DSP2000的AD采样及SCI程序
adsci.rar
  • adsci
  • Debug
  • vectors.asm
    273B
  • rts2xx.lib
    162.9KB
  • Debug.lkv
    246B
  • ad.c
    3KB
  • ad.c.bak
    3KB
  • Debug.lkf
    246B
  • adsci.paf
    1.5KB
  • adsci.pjt
    732B
  • 111.cmd
    1.5KB
  • sintab.h
    3.2KB
  • f2407.gel
    800B
  • register.h
    13.2KB
  • cc_build_Debug.log
    598B
  • www.pudn.com.txt
    218B
内容介绍
#include "register.h" #include "sintab.h" #include "math.h" int ADRESULT[1080]; //定义一个数组用于保存AD转换的结果 float array[1080]; int flag; volatile unsigned int *tmpj; int tmpk; //屏蔽中断子程序 void inline disable() { asm(" setc INTM"); } //开关中断子程序 void inline enable() { asm(" clrc INTM"); } //系统初始化子程序 void initial() { asm(" setc SXM"); //符号位扩展有效 asm(" clrc OVM"); //累加器中结果正常溢出 asm(" clrc CNF"); //B0被配置为数据存储空间 *SCSR1=0x82FF; //CLKIN=16 M,CLKOUT=2*CLKIN=32 M *WDCR=0x0E8; //不使能看门狗 *IMR=0x0011; //INT1,INT5中断 *IFR=0xFFFF; //清楚全部中断标志,写1清0 WSGR=0X00; } void scirec() { *SCICCR=0X7; //1个停止位,不使能奇偶校验,空闲线多处理器模式,8位字符 *SCICTL1=0X13; //#0013H 使能接收和发送,SLEEP=0 禁止休眠方式 , 禁止接 //收错误中断,TXWAKE=0 即没有选定的发送特征 *SCICTL2=0X3; //使能接收中断 *SCIHBAUD=0X1; *SCILBAUD=0Xa0; //波特率=9600B/S *SCICTL1=0X33; //使SCI脱离复位状态 *SCIPRI=0X60; //SCI中断(接收和发送中断)为低优先级中断 *PADATDIR=0x100; *MCRA=*MCRA|0X0003; } //AD初始化子程序 void ADINIT() { *T4CNT=0x0000; //计数器清零 *T4CON=0xc800; //T4为连续增减计数模式,128分频,且选用内部时钟源 *T4PR=0x0400; //设置T4的周期寄存器 *GPTCONB=0x400; //T4周期中断标志触发AD转换 *EVBIFRB=0x0FFFF; //清除EVB中断标志,“写1清0” *ADCTRL1=0X10; *ADCTRL2=0Xc400; *MAXCONV=0X00; *CHSELSEQ1=0X3; } //AD中断服务子程序 void interrupt adint() { static int adptr=0; int tmpi; asm(" clrc SXM"); tmpj=RESULT0; ADRESULT[adptr]=*tmpj>>6; adptr++; if(adptr>=1080) { adptr=0; if(flag==0) { for(tmpi=0;tmpi<1080;tmpi++) { array[tmpi]=ADRESULT[tmpi]; } } } *ADCTRL2=*ADCTRL2|0X4200; flag=1; enable(); // return; } void uartrec() { static int tmpchar; int tmpi; tmpi=*SCIRXBUF; if (reccommand==1)return; if(tmpi==0x57) { tmpchar=0; } receive[tmpchar++]=tmpi; if(tmpi==0x0d) { reccommand=1; } *IFR=0x0010; enable(); // return; } void uartsent() { if(flag==1) { *SCITXBUF=array[tmpk++]; if(tmpk>strlen(array)){tmpk=0;flag=0;} } *IFR=0X0010; enable(); } void interrupt uarttr() { switch(*PIVR) { case 6 : uartrec(); case 7 : uartsent(); } } //该中断服务程序主要为了防止干扰,不做任何其他操作 void interrupt nothing() { return; //中断直接返回 } main() { OUTno=0; OUTno1=0; fac=0; *SCITXBUF=array[0]; disable(); initial(); ADINIT(); scirec(); enable(); *T4CON=*T4CON|0X0040; while(1) { ; } }
评论
    相关推荐
    • DSP中串口通讯
      适用于DSP 28335芯片。该代码已经通过测试,可以实现串口的接收和发送。
    • DSP2407AD_DA实验
      DSP2407AD_DA实验。。。AD_DA的实验代码
    • DSP2812开发板用户手册
      Easy2812用户手册(V2.0)-20090410.rar
    • 贝壳自动化专业DSP.zip
      贝壳自动化专业课程资源,十分精华,是精心收集的,十分值得学习,是高校学习的重要课程,有需要的自取,欢迎大家下载
    • TMS320F2812_DSP AD采样FFT变换
      基于ICETEK-F2812-A开发板,程序具有AD采样功能,将采样数据进行FFT频谱变换,并具有串口通讯,LED指示功能。自主开发,绝对原创!
    • DSP2812的外设例程
      DSP2812的外设标准驱动例程,含I2C,SPI,SCI,PWM,SPI_EEPROM,RTC,TIMER,AD,DA,CAN等。
    • DSP281x模板及例程
      DSP281x模板及例程, sprc097_281x 例程程序介绍 主要特点 高性能价格比 更加完备的硬件功能,丰富的软件例程 芯片支持C语言编写,编译率高达90% 系统资源 32位 TMS320F2812 150MHz 片内flash 128K×16 bit...
    • DSP入门指导资料
      Dsp嵌入式入门资料,文档多,可供初学者参考学习,资料齐全。
    • 基于dsp PID 算法
      这里有一个现成的dsp算法,大家可以拿来做个小实验用用,我最近用PID 做了个小小的控制系统,还行吧,大家看看吧。
    • DSP.zip
      介绍TMS320240XA DSP的芯片资料