2、前2个步骤在采样-保持电路中完成,后两步骤则在ADC中完成。ADC是把经过与标准量比缺告较处理后的模拟量转换成以二进伏圆明制数值表示的离散信号的转换器。
3、故任何一个模数转换器都需要一个参考模拟量作为转换的标准,比较常见的参考标准为最大的可转换信号大小。而输出的数字量则表示输入信号相对于参考信号的大小。
SEQ1、SEQ2分别完成8个A/D转换通道的排序管理。F2812片上的ADC双自动排序模块排序器采用的是SEQ1、SEQ2这两个8状态排序,分别完成8个通道的A/D转换通道排序管理的原理。A/D模块每次收到触发源的开始转换请求(SOC)之后,就会做粗尺通过排序器来自动完成多纯高凳衡路转换,将模拟信号引入采样保持器,并且在转换完成之后,将转换的结果存入结果寄存器。我刚好写完 完全可以显示正确的清扰数值复制给你:
//初始化ADC12
P6SEL |= 0x01// 使能ADC通道
ADC12CTL0 = ADC12ON+SHT0_8+MSC// 打开ADC,设置采样时间
// ADC12CTL0|= REFON+REF2_5V;
// ADC12MCTL0|=SREF_1//选择内部参考电压源
ADC12CTL1 = SHP+CONSEQ_2// 使用采样定时器
ADC12IE = 0x01// 使能ADC中断
ADC12CTL0 |= ENC//闷空 使能转换
ADC12CTL0 |= ADC12SC// 开始转换
#pragma vector=ADC_VECTOR
__interrupt void conversion()
{
uint buffer[32]
static uint index=0
buffer[index++]=ADC12MEM0
if(index==32)
{
index=0
uchar i
unsigned long sum=0
for(i=0i<32i++)
sum+=buffer[i]
sum=sum/32
}
}
答罩旦 得到的sum就是平滑滤波得到的数值,
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)