原创 2430的A/D程序(自emot)

2009-7-8 09:50 1965 5 5 分类: 通信

2430的A/D程序



有朋友问2430的AD初始化及数据处理.重复回答很辛苦,就在这里贴出来吧.
如果对你有帮助,请记得顶一下.


/****************************************************************
*函数功能 :初始化ADC      *
*入口参数 :无                      *
*返 回 值 :无                      *
*说    明 :参考电压AVDD,转换对象是1/3AVDD                                        *
****************************************************************/
void InitialAD(void)
{
 ADCH &= 0X00;  //清EOC标志 
 ADCCON3=0xbf;  //单次转换,参考电压为电源电压,对1/3 AVDD进行A/D转换
      //14位分辨率
 ADCCON1 = 0X30;  //停止A/D


 ADCCON1 |= 0X40; //启动A/D


//因没有取外部电压作为A/D输入,所在没有配置ADCCFG


}


数据处理


INT16U readadc(void){


   temp[1] = ADCL;         //取AD值
   temp[0] = ADCH;
   ADCCON1 |= 0x40;    //开始下一转换


   temp[1] = temp[1]>>2;
   temp[1] |= temp[0]<<6;


   temp[0] = temp[0]>>2; //数据处理
   //temp[0] &= 0x3f;       //排错时写的,没有用


   result = (temp[0]*256+temp[1])*3.3/8192;  //有一位符号位,取2^13;


}


PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
5
关闭 站长推荐上一条 /3 下一条