原创 2430的A/D程序

2008-3-25 10:39 4286 11 30 分类: MCU/ 嵌入式

有朋友问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;


}

文章评论19条评论)

登录后参与讨论

用户208505 2009-9-16 23:10

請問版主一下喔!!! 就是有沒有量測外部電壓的程式碼呢??? 可否分享一下呢??? 謝謝!!!

zigbee_904218839 2008-11-17 09:45

我没有采过负压, 看TI关于AD的代码,和手册上都应该是可以采负压的.

用户87736 2008-11-13 14:19

请问CC2430的ADC输入可否有负电压?比如参考电压为1.25V,输入电压可否为+/-1.25V,看资料上写模拟输入为VREF时AD转换值为8191,写模拟输入为-VREF时AD转换值为-8192。是这样吗?

zigbee_904218839 2008-7-30 09:07

ADCCON2 ADCCON3的区别是 ADCCON2 选定的AD转换会连续不断地自动再次AD转换 ADCCON3 选定的AD转换一旦转换完了ADC就会停止AD转换了。 如果还不明白,那就只能体会手册了。 你可以直接把ADC的结果输出,手工这个值换成电压,如果正确则说明是数据处理不对,如果不正确,则表明AD设置有误。

用户158777 2008-7-28 11:57

版主你好,我的AD 不論怎麼改數據處理的部份,數值就是沒有隨電壓變化而改變數值,程序部分是參考版主的程序,加上 ADCCON2 ADCCON3 差別我也還是不懂,請版主旨指導,謝謝

用户158777 2008-7-25 17:57

請問 ADCCON2 ADCCON3 差別在哪 ? 是否可以詳細說明數據處理的部份 ? 由於我是從 P0_7 輸入一個可變化電壓,做完AD轉換後 透過RS-232 在超級終端機上顯示 0V-3V 數據處理幾乎參考版主的,因此是哪裡出問題要請版主指導一下,謝謝

zigbee_904218839 2008-7-25 16:24

ADCCON2控制着连续转换,ADC的结果会一直更新,不过也需要用程序不断地去读这个值并显示出来才能体现。 你得到的结果是几个特殊的值,原因可能是你的数据处理得不对。

用户158777 2008-7-24 12:23

補充一下,我的電壓數值約從 0V-3V 變化,可是超級終端機上顯示的數值一直是 0.5V 1.6V 0.1 V 這類的數值 這類的數值是改 ADCCON2 才變化如此數值,但在終端機上顯示的數值並未因電壓變化而改變,不知是否我接錯或是程式改的有誤

用户158777 2008-7-24 12:21

請問版主,雖然現在AD轉換 到 RS232 有顯示數值,不過為何我變化電壓數值沒有跟著改變,我是接 P0_7 請問是否有要設定 P0SEL P0DIR ADCCFG ADC 中斷 等,參考電壓既然為 AVDD_SOC PIN 應該就不用接電了吧 還是說 AVDD_SOC 是怎麼接,由於我的CC2430+Smartrf04eb,版子上只有P0 P1 P2 2個VDD GND 能外接,因此我不清楚是否有接錯,謝謝

zigbee_904218839 2008-7-23 15:59

复am232456: ADCH &= 0X00; //清EOC标志 ADCCON3=0xb7; //单次转换,参考电压为电源电压 //14位分辨率 ADCCON1 = 0X30; //停止A/D ADCCON1 |= 0X40; //启动A/D
相关推荐阅读
emot 2016-06-29 23:39
想在网上直播来讲讲zigbee,大家怎么看
近来发现zigbee热度不减,不才想把所了解的zigbee都跟大家分享,大致按照这个来做。请大家提些建议,是不是还有特别重要但我遗漏的。先来攒些人,人够了我们就开。 --------------...
emot 2015-09-24 07:06
BLE 空中升级谈(二)
BLE 空中升级谈   -- CC2541 的产品开发中OAD注意事项(续)   TI CC2541支持多个硬件,多个软件对它进行空中升级,可以有不同的组合,硬件有    ...
emot 2015-09-24 07:01
BLE 空中升级谈
BLE 空中升级谈   -- CC2541 的产品开发中OAD注意事项     现在的智能设备(可穿戴,智能家居,智能玩具等)是越来越多了,大公司的产品颜值高,功能强大而完备的应该说是比比皆是,这里...
emot 2015-05-19 10:27
寻找共事的朋友[深圳科技园 嵌入式软件 可穿戴]
岗位职责:嵌入式软件工程师 招聘人数:2 简历语言要求:中文 语言能力:英语 掌握程度:熟练 工作地点:深圳南山科技园 工作待遇:面谈   工作职责: 1. 与硬件工程师合作完...
emot 2014-05-06 08:41
CC2530的通信速率实测
首先要说的是这里的测试包括了zigbee与非zigbee两种情况,测试zigbee的通信速率建议使用TI协议栈ZSTACK-2.5.1A(swrc126.zip)中的TransmitApp来进行测...
emot 2014-01-17 18:08
XBee与 RBee ZigBee透明传输模块互传测试
XBee与 RBee ZigBee透明传输模块互传测试   本次测试的目标是为了初步探索ZigBee透明传输模块的传输速率峰值范围,同时也要检查不同公司模块之间的兼容性。测试的目标是 由美国Digi提...
我要评论
19
11
关闭 站长推荐上一条 /2 下一条