Re: pic16f690同時使用ADC二組問題
|
||||
---|---|---|---|---|
高級會員
|
tonys說的沒錯!!!
它無法一次同時偵測12 channels的A/D!!! 但是可以分時偵測12個 channels的東西!!! 假如你是要分時偵測!!! 那再試試我寫的這3個A/D!!! 在我產品上是ok的!!! 初始化: BANKSEL CM1CON0 BCF CM1CON0,C1ON ;DISABLE COMPARATOR C1 BANKSEL CM2CON0 BCF CM2CON0,C2ON ;DISABLE COMPARATOR C2 BANKSEL ANSEL MOVLW #H'09' ;#B'00001001',設AN0,AN3為類比I/O MOVWF ANSEL BANKSEL ANSELH MOVLW #H'04' ;#B'00000100',設AN10為類比I/O MOVWF ANSELH BANKSEL ADCON1 MOVLW #H'20' ;#B'00100000',FOSC/32 MOVWF ADCON1 副程式1: AD0: CLRWDT MOVLW #H'29' ;#B'00101001',LEFT JUSTIFIED,VDD REF,AN10,ADON ENABLE MOVWF ADCON0 CALL BOUNCE_DELAY ;ACQUISITION DELAY BSF ADCON0,1 ;START CONVERSION AD0_0: CLRWDT BTFSC ADCON0,1 ;IS CONVERSION DONE? GOTO AD0_0 ;NO,TEST AGAIN BCF STATUS,C ;清除借位 MOVF ADRESH,W ;READ UPPER 8 BITS 副程式2: AD: CLRWDT MOVLW #H'01' ;#B'00000001',LEFT JUSTIFIED,VDD REF,AN0,ADON ENABLE MOVWF ADCON0 CALL BOUNCE_DELAY ;ACQUISITION DELAY BSF ADCON0,1 ;START CONVERSION AD_0: CLRWDT BTFSC ADCON0,1 ;IS CONVERSION DONE? GOTO AD_0 ;NO,TEST AGAIN ;;;;;判斷是否可SLEEP BCF STATUS,C ;清除借位 MOVF ADRESH,W ;READ UPPER 8 BITS 副程式3: AD1: CLRWDT BTFSS KEY_0,3 ;ADAPTER(A/D) RETURN ;沒接ADAPTER ;;;;;有接ADAPTER MOVLW #H'0D' ;#B'00001101',LEFT JUSTIFIED,VDD REF,AN3,ADON ENABLE MOVWF ADCON0 CALL BOUNCE_DELAY ;ACQUISITION DELAY BSF ADCON0,1 ;START CONVERSION AD1_0: CLRWDT BTFSC ADCON0,1 ;IS CONVERSION DONE? GOTO AD1_0 ;NO,TEST AGAIN BCF STATUS,C ;清除借位 MOVF ADRESH,W ;READ UPPER 8 BITS
發表於: 2008/6/30 14:28
|
|||
|
Re: pic16f690同時使用ADC二組問題
|
||||
---|---|---|---|---|
資深會員
|
參照:
是不是有誤解啊! 一般有 ADC 的 PIC ,都有多組輸入通道,可以擇一使用,但只有一個 轉換器。 自然一次只能轉一個通道的訊號,轉完再切換另一通道。 請詳閱 Datasheet。 記得切換後該有的 Amplifier Settling Time + Hold Capacitor Charging Time 印象中 dsPIC 才會有兩個轉換器。所有通道中才可以有兩個通道分別接到兩個 ADC 作轉換。
發表於: 2008/6/30 13:17
|
|||
|
Re: pic16f690同時使用ADC二組問題
|
||||
---|---|---|---|---|
新會員
|
我有增加清除了..可是也是一樣有問題
發表於: 2008/6/30 12:41
|
|||
|
Re: pic16f690同時使用ADC二組問題
|
||||
---|---|---|---|---|
高級會員
|
看了一下設定沒錯...
你再試一下增加清除以下的... BANKSEL CM1CON0 BCF CM1CON0,C1ON ;DISABLE COMPARATOR C1 BANKSEL CM2CON0 BCF CM2CON0,C2ON ;DISABLE COMPARATOR C2 我之前沒清也是A/D會有問題...
發表於: 2008/6/30 9:49
|
|||
|
pic16f690同時使用ADC二組問題
|
||||
---|---|---|---|---|
新會員
|
你好:
因為PIC16F690共有12組的ADC可以用,可是我只用了二組ADC(AN6,AN9),當我設定二組ADC之後,只可有一組有動作(只有AN6可以動),請問有人是否有做過或是有範例可以看. 程式如下: ;************************** ;************************** ADC_INIT: BANKSEL ADCON1 MOVLW B'00010000' MOVWF ADCON1 BANKSEL TRISC BSF TRISC,7 BANKSEL ANSELH BSF ANSELH,1 BANKSEL ADCON0 MOVLW B'10100101' MOVWF ADCON0 RETURN ;********************************** ADC_INIT2: BANKSEL ADCON1 MOVLW B'00010000' MOVWF ADCON1 BANKSEL TRISC BSF TRISC,2 BANKSEL ANSEL BSF ANSEL,6 BANKSEL ADCON0 MOVLW B'10011001' MOVWF ADCON0 RETURN
發表於: 2008/6/28 11:11
|
|||
|