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


Browsing this Thread:   1 Anonymous Users






Re: 多個通道的A/D轉換問題?謝謝
#6
中級會員
中級會員


查看用戶資訊
謝謝你。我大概知道要怎麼做了,我再試看看了。真的很謝謝你的幫忙

發表於: 2007/3/30 21:32
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 多個通道的A/D轉換問題?謝謝
#5
資深會員
資深會員


查看用戶資訊
以下為3個channel輪流轉換的範例,,更多通道時請自行延伸

//AD轉換
void AD_Convert(void)
{
static unsigned char ch;
unsigned int ad_value;

ConvertADC();
while(BusyADC());
ad_value=ReadADC();

switch(ch)
{
case 0:
Isen=ad_value;
SetChanADC(ADC_CH1);
ch++;
break;

case 1:
ADkey=ad_value;
SetChanADC(ADC_CH3);
ch++;
break;

case 2:
Vsen=ad_value;
SetChanADC(ADC_CH0);
ch=0;
break;
}
}



//主程式呼叫段


if(Flag.AD_Start) //Flag.AD_Start旗標會每隔一段時間 enable
{ Flag.AD_Start=0;
F_ADC_Convert();//執行AD轉換
}

//

發表於: 2007/3/29 13:34
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 多個通道的A/D轉換問題?謝謝
#4
中級會員
中級會員


查看用戶資訊
這個例子是曾百由老師的c18那本,裡面的例子10-3
#include <p18f4520.h>
#include <delays.h>
#include <adc.h>
void main() {
PORD=0x00;
TRISD=0;
ADCON0=0x01; //選擇AN0通道轉換,開啟ADC模組
ADCON1=0x0E;//做用VDD,VSS為參考鮮壓,設定AN0為類 比輸入
ADCON2=0x3A;

CVRCON=0b1010 1100;
CMCON =0b0000 0110;

while(1) {
if (COMCONbits.C1OUT)
Delay10TCYx(5);
ConvertADC();
while(BusyADC() );
PORD=ADRESH;
}
else PORD=0xFF;
}
}

我的問題是假如我今天,設了AN0~AN7通道都要AD轉換的話,在ConvertADC()這邊,我應該要怎麼指定我要轉換的通道呢?像他上面的例子,只有開通一個AN0,然後轉換完就存到別的暫存器,可是我不知道如果我今天轉換8個的時後,要怎麼轉換每一個指定的通道,然後把8個轉換結果存起來。

發表於: 2007/3/29 10:53
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 多個通道的A/D轉換問題?謝謝
#3
初級會員
初級會員


查看用戶資訊
1.宣告
ADNO
AD1H AD1L
AD2H AD2L
AD3H AD3L
AD4H AD4L
AD5H AD5L
AD6H AD6L

2. 使用1個計時器中斷 跟 AD中斷
計時器中斷為啟動AD
AD中斷則將值放入 1-6AD站存器裡

3.程式

ADCH_TABLE:
MOVF ADNO,W
ANDLW H'07'
ADDWF PCL
RETLW CH1_VALUR
RETLW CH2_VALUR
RETLW CH3_VALUR
RETLW CH4_VALUR
RETLW CH5_VALUR
RETLW CH6_VALUR
CLRF ADNO
CLRF ADNO
GOTO ADCH_TABLE

AD_DATA_TABLE:
MOVF ADNO,W
ANDLW H'07'
ADDWF PCL
GOTO DATA1
GOTO DATA2
GOTO DATA3
GOTO DATA4
GOTO DATA5
GOTO DATA6
GOTO DATA1
GOTO DATA1

TIMER_INT:
BSF ADGO
RETFIE

AD_INT:
CALL AD_DATA_TABLE
INCF ADNO
CALL ADCH_TABLE
MOVWF ADCON0
RETFIE

DATA1:
MOVF ADRESH,W
MOVWF AD1H
MOVWF ADRESL,W
MOVWF AD1L
RETLW 0
DATA2:
MOVF ADRESH,W
MOVWF AD1H
MOVWF ADRESL,W
MOVWF AD2L
RETLW 0
DATA3:
MOVF ADRESH,W
MOVWF AD3H
MOVWF ADRESL,W
MOVWF AD3L
RETLW 0
DATA4:
MOVF ADRESH,W
MOVWF AD4H
MOVWF ADRESL,W
MOVWF AD4L
RETLW 0
DATA5:
MOVF ADRESH,W
MOVWF AD5H
MOVWF ADRESL,W
MOVWF AD5L
RETLW 0
DATA6:
MOVF ADRESH,W
MOVWF AD6H
MOVWF ADRESL,W
MOVWF AD6L
RETLW 0



以上僅供參考 請依實際狀況做修改
TIMER 及 AD 時間請調配好

發表於: 2007/3/28 17:39
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 多個通道的A/D轉換問題?謝謝
#2
高級會員
高級會員


查看用戶資訊
如果是PIC 那就是 第一通道轉換完之後 把那兩個暫存器的值 搬到你自己設的暫存器 然後再去做第二通道轉換 以此類推...

如果要同步 八個通道一起轉換 之前好像有討論過(PIC應該不行 DSPIC 我就不知道了) 你可以找找看

發表於: 2007/3/28 17:28
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


多個通道的A/D轉換問題?謝謝
#1
中級會員
中級會員


查看用戶資訊
大家好:
我看了曾百由老師的書,他裡面的a/d轉換,都只有用到一個通道。
我的問題是:
1.假如我今天要使用六個通道轉換的話(偵測六個類比電壓值),應該要怎麼寫呢?
2.要怎麼把轉換的六個結果存起來呢?因為他不是只有(ADRESH及ADRESL)個暫存器而已嗎?

發表於: 2007/3/27 22:06
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

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... ]

教育訓練中心

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