會員登陸
帳號:

密碼:

記住我



忘記密碼?

現在註冊!
網站導航
最新下載
訪問統計 (自2012/5/3)


正在流覽:   1 名訪客





關於ADC多通道讀取的怪現象...
新會員
註冊日期:
8月17日 15:05:56
所屬群組:
註冊會員
文章: 2
等級: 1; EXP: 2
HP : 0 / 0
MP : 0 / 0
離線
關於ADC多通道讀取的怪現象...
1. RA4,RA5 設定為ADC通道
2. RA4,外接可調的可變電阻. 旋鈕左右均可正確讀到不同值
3. RA5,也外接可調的可變電阻, 旋鈕都不動,
讀取到的值是浮動的約 630~410之間
4. 如只單獨讀取 RA5 (RA4不讀取)...數值幾乎快雙倍
約 1007~880
5. 將RA4與RA5兩個PIN對調,
新RA5 (舊RA4), 仍是浮動的值
新RA4 (舊RA5), 數值跟著旋鈕變化,正確的

想請教有經驗的前輩, RA5不能正確讀取可能原因?

測試環境:
MCU: 16F18364
MPLABX: v3.61
XC8: v1.36

-------程式碼---------
void main( void ) {
int Loop4ADC;
int ADCData;

InitTRIS();
ADC_Init ();
do {
Loop4ADC = ( Loop4ADC + 1 ) % 1001;

if (Loop4ADC == 1000) {
ADCData = ADC_Read (5);
} else if (Loop4ADC == 500) {
ADCData = ADC_Read (4);
}

if ( (Loop4ADC > 0) && (Loop4ADC < 480) ) {
PackDisplay( ADCData );
Display_LCD()
}
} while (1); //do while runs forever
}
void InitTRIS ( void )
{
TRISAbits.TRISA4 = 1;
TRISAbits.TRISA5 = 1;

ANSELAbits.ANSA4 = 1;
ANSELAbits.ANSA5 = 1;

TRISB = 0b01000000;
PORTB =0b01000000;

TRISC = 0b00000000;
PORTC = 0x00;
}

void ADC_Init ( void )
{
ADCON0bits.ADON = 1;
ADCON1bits.ADFM = 1;
ADCON1bits.ADCS = 0b101;
}
int ADC_Read ( char adcChannel )
{
if(adcChannel > 7)
return 0;

if (adcChannel == 0x04) {
ADCON0 = 0x11;
} else if (adcChannel == 0x05) {
ADCON0 = 0x15;
}

ADCON0bits.ADGO = 1;
__delay_ms(1);
while (ADCON0bits.ADGO)
;
return ((ADRESH<<8)+ADRESL);
}

8月18日 16:44:47
轉換PDF檔 列印


Re: 關於ADC多通道讀取的怪現象...
高級會員
註冊日期:
2013/02/27 15:20
所屬群組:
註冊會員
文章: 71
等級: 7; EXP: 34
HP : 0 / 158
MP : 23 / 2193
離線
ADCON0bits.ADGO = 1;
__delay_ms(1);

這兩行交換一下
XD

8月18日 16:52:18
_________________
俺不是待退弟兄~俺是退休的貓XDDDDD
轉換PDF檔 列印


Re: 關於ADC多通道讀取的怪現象...
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14156
等級: 72; EXP: 52
HP : 1072 / 1788
MP : 4718 / 70878
離線
啟動轉換前要先有個取樣時間, 最簡單就是加個小 delay.

8月18日 22:27:53
轉換PDF檔 列印


Re: 關於ADC多通道讀取的怪現象...
新會員
註冊日期:
8月17日 15:05:56
所屬群組:
註冊會員
文章: 2
等級: 1; EXP: 2
HP : 0 / 0
MP : 0 / 0
離線
試著將程式碼有關開始取樣與延遲順序對調,RA5仍然無法讀取外接可變電阻變化值.仍然是浮動值,介於980~1007.試著用示波器測量,該接點會真實反映接近的數值.

8月22日 08:33:20
轉換PDF檔 列印


Re: 關於ADC多通道讀取的怪現象...
資深會員
註冊日期:
2004/07/23 16:25
所屬群組:
註冊會員
文章: 1176
等級: 29; EXP: 94
HP : 0 / 723
MP : 392 / 28193
離線
你用那顆 ic?沒 16F18364

你覺是ic 壞了,還是你設定有誤?

我覺得你一定有設定上的錯誤,因為pic 一隻腳,有多種功能~~

8月23日 14:41:00
轉換PDF檔 列印






無法在此發表文章
可以在此觀看文章
無法回覆文章
無法編輯自己的文章
無法刪除自己的文章
無法發起投票調查
無法在此投票
無法上傳附加檔案
無法不經審核直接發表文章

[進階搜尋]


搜尋
Microchip連結

網頁捷徑
2017 Summer Elite 報名
教育訓練
其它網站連結
電話: 02-25000405
產品技術問題產品技術支援專線:0800-717718 台北02-25088600 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project