• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
:::

論壇索引


Board index » All Posts (yuyu)




Re: 求教A/D转换问题!
#1
新會員
新會員


首先谢谢您的帮忙!在您改的程序中确实可以得到正确的值,但是请您试一下去掉那个while(1),这个程序就不能正常地工作了,
#include <p30f4011.h>
unsigned int ADCValue;
int main(void)
{
ADPCFG = 0xFFFE; // <====這和你設定不同
ADCON1 = 0x00E0;
ADCSSL = 0;
ADCON3 = 0x1F02;
ADCON2 = 0;
ADCHS = 0x0000;
ADPCFGbits.PCFG0 = 0;
ADCON1bits.ADON = 1;
while(1) <-------去掉这个无限循环就不成了
{
ADCON1bits.DONE = 0; // <+++加這一行
ADCON1bits.SAMP = 1;
while (!ADCON1bits.DONE);
ADCValue = ADCBUF0; // <===中斷觀查點
}
}
我要编写的系统中要不定时的采样,如果加了while(1),那就不能跳回到主函数中,就无法继续执行了,我只想每次采样一个通道,手动开始,不采样时关掉A/D,研究了很久,还是不知道怎么能办到?如果您知道请您指点一下,不胜感激!!

發表於: 2006/5/30 21:20
頂部


Re: 求教A/D转换问题!
#2
新會員
新會員


谢谢您的帮助!
当我用计数器T3做触发转换原时,采样值与真实值相近,也不会有什么变化!当我想手动采样,并且每次采样一次,怎么也做不好!
我用A/D转换回来的数据除以4095,再乘以5,就应该是单片机上端口的电压了吧!然后再把它对应到0-380就行了吧!电路是工厂的不方便贴,我觉得电路没问题!这是我手动采样的程序,请您帮忙看看!谢谢!
ADPCFG = 0xFFFF;
ADCON1 = 0x00E0;
ADCSSL = 0;
ADCON3 = 0x1F02;
ADCON2 = 0;
ADCHS = 0x0000;
ADPCFGbits.PCFG0 = 0;
ADCON1bits.ADON = 1;
ADCON1bits.SAMP = 1;
while (!ADCON1bits.DONE);
ADCValue = ADCBUF0;
不知什么原因总是不对????
请您指教!
不知道您那有没有手动采样的正确的程序?有的话能不能给我一份!不胜感激!我的邮箱是: qwg_17@163.com

發表於: 2006/5/19 14:44
頂部


Re: A/D数据处理问题!
#3
新會員
新會員


谢谢!

發表於: 2006/5/18 8:55
頂部


A/D数据处理问题!
#4
新會員
新會員


我以前没用过A/D转换器,不太清楚他的转换原理!
想请教您一下:我用A/D采样0--380的电压,经处理后转化成0--5的电压,对其进行12位A/D采样,回来的采样值应该如何处理啊?还有当我改变采样率的时候数据好像没什么变化,采样率不影响结果吗?
谢谢!初学,请您指教!

發表於: 2006/5/15 13:03
頂部


Re: 求教A/D转换问题!
#5
新會員
新會員


谢谢,我以前没用过A/D转换器,不太清楚他的转换原理!
按照您上面说的办法做了以后,得到的数值没有什么太大的变化。
想请教您一下:我用A/D采样0--380的电压,经处理后转化成0--5的电压,对其进行12位A/D采样,回来的采样值应该如何处理啊?还有当我改变采样率的时候数据好像没什么变化,采样率不影响结果吗?
谢谢!初学,请您指教!

發表於: 2006/5/14 15:07
頂部


求教A/D转换问题!
#6
新會員
新會員


请问用AVDD和AVSS做A/D的参考电压时,所得回的值会受到影响吗?
我用的是p30f4013,工作在30MIPS,以下是我的程序,只采样AN0手动采样,只采一次,但回来的值与真实值差的很多,不知道是不是时间的的问题,请您指教,谢谢!
{ADPCFG = 0xFFFE;
ADCON1 = 0x20E0;
ADCHS = 0x0000;
ADCSSL = 0x0000;
ADCON3 = 0x053F;
ADCON2 = 0x8000;
ADCON1bits.ADON = 1;
_SAMP=1;
_ADIE=1;
_ADIF=0;
While(1){}
}
void _ISR _ADCInterrupt(void)
{

_ADIF=0;
ADCValue = ADCBUF0;

return;
}

發表於: 2006/5/12 8:38
頂部


Re: 求教!!!
#7
新會員
新會員


谢谢!

發表於: 2006/4/27 16:13
頂部


求教!!!
#8
新會員
新會員


当连接好ICD2和单片机后一切正常,但当编译时
IDE上总显示
ICD0031:API:Framing error
ICD0151 : Failed to sync memory (MT=Data)(Dir=0x0)
ICD0082 : Failed MPLAB ICD2 operation
ICD0082 : Failed MPLAB ICD2 operation
但是换了几个芯片后他就不报错了,不知道为什么??
总这么试也不是办法希望您能帮忙解决一下,谢谢斑竹!!

發表於: 2006/4/26 13:52
頂部


Re: 求教调试问题!
#9
新會員
新會員


多谢斑竹,程序运行正常了!太感谢您了!!!
:)
还有个一直存在的问题,就是每次用ICD2调试的时候,
IDE上总显示
ICD0031:API:Framing error
ICD0151 : Failed to sync memory (MT=Data)(Dir=0x0)
ICD0082 : Failed MPLAB ICD2 operation
ICD0082 : Failed MPLAB ICD2 operation
但是换了几个芯片后他就不报错了,不知道为什么??
总这么试也不是办法希望您能帮忙解决一下,再次向您道谢!!!您真是帮了大忙了!!!:)

發表於: 2006/4/25 15:04
頂部


求教调试问题!
#10
新會員
新會員


我的程序在单步运行下能执行的非常顺利,但如果点RUN的话就不执行,不知道是怎么回事,希望达人帮帮忙!不胜感激!!

發表於: 2006/4/24 20:57
頂部



(1) 2 »



:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------