DSP adc采集程序.doc_第1页
DSP adc采集程序.doc_第2页
DSP adc采集程序.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include DSP281x_Device.h #include DSP281x_Examples.h #include f2812a.h#include stdio.h#include math.hint ConversionCount,f;int Voltage1024,Vmax,Vmin,Vavr; /电压转换结果存储数组及一个周期内的采样值数组float RMS=0,U01024,SV; /电压有效值interrupt void adc_isr(void);main() InitSysCtrl(); /初始化时钟,CPU为15M,高速时钟Hspclk为1.5MDINT; /关闭中断InitPieCtrl(); /初始化Pie寄存器IER=0x0000; /禁止所有可屏蔽中断IFR=0x0000;InitPieVectTable(); /初始化Pie中断向量表EALLOW; /打开寄存器写保护PieVectTable.ADCINT=&adc_isr; /将Adc中断子程序的服务地址写入中断向量表EDIS; /禁止寄存器的访问InitAdc(); /初始化Adc,完成Adc的上电InitLcd(); /液晶初始化/*在Pie中使能Adc的中断ADCINT*/PieCtrlRegs.PIEIER1.bit.INTx6=1; /查表知ADCINT对应的是INT1,INTx.6IER=M_INT1; /使能CPU中断EINT; /使能全局中断/*配置Adc模块*/AdcRegs.ADCMAXCONV.all=0x0000; /设置SEQ1的最大转换通道数为1AdcRegs.ADCCHSELSEQ1.bit.CONV00=0x0; /选择0通道AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1=1; /选择EVA作为SEQ1的触发启动信号AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1=1; /使能SEQ1的中断操作(中断方式0)/*配置EVA*/EvaRegs.T1CNT=0x0000; /计数初值EvaRegs.T1PR=0x007D; /设置周期寄存器值为125,因为下面设的是增减计数模式,EVA的下溢启动Adc,所以采样周期是250个计数周期EvaRegs.GPTCONA.bit.T1TOADC=0x1; /设置EVA的下溢启动AdcEvaRegs.T1CON.all=0x0842; /设置T1为连续增减计数模式,不分频,即时钟为高速时钟Hspclk:1.5M,ConversionCount=0;while(1) /等待中断 ;interrupt void adc_isr(void)int i=0,j=0,flag=0; /flag作为遇到零点的标志VoltageConversionCount=AdcRegs.ADCRESULT04;U0ConversionCount=3.0*VoltageConversionCount/4095;if(ConversionCount=1023) /如果采样点数达到了1024PieCtrlRegs.PIEIER1.bit.INTx6=0; /禁止中断请求ConversionCount=0;/*求出1024个点中的最大最小值和中间值*/Vmax=Voltage0;Vmin=Voltage0;for(i=0;i1024;i+)if(VmaxVoltagei)Vmin=Voltagei; /求出最小值 Vavr=(Vmax-Vmin)/2; /求出中间值for(i=1;i1024;i+)if(Voltagei-1=Vavr)flag+;if(flag=1)SVj=U0i; /U0i就是对应的Voltagei的模拟值RMS+=SVj*SVj;j+;if(flag=2)i=1024;flag=0; RMS=sqrt(RMS/j); rg=(int)RMS;r1=(int)(RMS*10)%10;r2=(int)(RMS*100)%10;f=(1500000/250)/j;fb=f/100;fs=(f-fb*100)/10; fg=f-fb*100-fs*10;lcd_write_dy();lcd_write_pl(); PieCtrlRegs.PIEIER1.bit.INTx6=1; /使能中断请求else ConversionCount+;/*复位SEQ1,等待触发信号重启下次转换*/AdcRegs.ADCTRL2.bit.RST_SEQ1=1; /复位SEQ1AdcRegs.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论