• 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: pic16f690同時使用ADC二組問題
#6
新會員
新會員


查看用戶資訊
你好:
感謝MARKWANG熱心協助....
我是用二個ADC,一個是應用在控制速度快慢,一個是用來限制速度MAX和MIN.
ADC_INIT:
BANKSEL ADCON1
MOVLW B'00010000' ;ADC Fosc/8 clock
MOVWF ADCON1 ;
BANKSEL TRISC
BSF TRISC,7 ;Set RC7 INPUT(an9)
BSF TRISC,2 ;Set RC2 INPUT(an6)
BANKSEL ANSELH
BSF ANSELH,1 ;Set an9 to analog
BSF ANSEL,6 ;Set an6 to analog
BANKSEL PORTC
RETURN
;-----------------------------------------
ORG 0X00
NOP
GOTO MAIN
;-----------------------------------------
MAIN:
CALL ADC_INIT
MAINLOOP:
CALL AD1
CALL AD2
.
.
.
GOTO MAINLOOP
;********************************************
AD1:
BANKSEL ADCON0
MOVLW B'10011001' ;AN6
MOVWF ADCON0
CALL DELAY
BSF ADCON0,GO
AD1_1:
BTFSC ADCON0,GO ;Is conversion done?
GOTO $-1 ;No, test again
;
BANKSEL ADRESL
MOVF ADRESL,W
BANKSEL AD1_L
MOVWF AD1_L
;
BANKSEL ADRESH
MOVF ADRESH,W
BANKSEL AD1_H
MOVWF AD1_H
;
RRF AD1_H,1
RRF AD1_L,1
;
RRF AD1_H,1
RRF AD1_L,1
;
MOVF AD1_L,w
MOVWF AD1OUT
RETURN
;***************************************************
AD2:
BANKSEL ADCON0
MOVLW B'10100101' ;AN9
MOVWF ADCON0
CALL DELAY
BSF ADCON0,GO
AD2_1:
BTFSC ADCON0,GO ;Is conversion done?
GOTO $-1 ;No, test again
;
BANKSEL ADRESL
MOVF ADRESL,W
BANKSEL AD2_L
MOVWF AD2_L
;
BANKSEL ADRESH
MOVF ADRESH,W
BANKSEL AD2_H
MOVWF AD2_H
;
RRF AD2_H,1
RRF AD2_L,1
;
RRF AD2_H,1
RRF AD2_L,1
;
MOVF AD2_L,w
MOVWF AD2OUT
RETURN

發表於: 2008/6/30 15:38
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: pic16f690同時使用ADC二組問題
#5
高級會員
高級會員


查看用戶資訊
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
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: pic16f690同時使用ADC二組問題
#4
資深會員
資深會員


查看用戶資訊
參照:

andrewtsai 寫到:
設定二組ADC之後,只可有一組有動作


是不是有誤解啊!

一般有 ADC 的 PIC ,都有多組輸入通道,可以擇一使用,但只有一個 轉換器。 自然一次只能轉一個通道的訊號,轉完再切換另一通道。 請詳閱 Datasheet。 記得切換後該有的 Amplifier Settling Time + Hold Capacitor Charging Time

印象中 dsPIC 才會有兩個轉換器。所有通道中才可以有兩個通道分別接到兩個 ADC 作轉換。

發表於: 2008/6/30 13:17
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: pic16f690同時使用ADC二組問題
#3
新會員
新會員


查看用戶資訊
我有增加清除了..可是也是一樣有問題

發表於: 2008/6/30 12:41
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: pic16f690同時使用ADC二組問題
#2
高級會員
高級會員


查看用戶資訊
看了一下設定沒錯...
你再試一下增加清除以下的...
BANKSEL CM1CON0
BCF CM1CON0,C1ON ;DISABLE COMPARATOR C1
BANKSEL CM2CON0
BCF CM2CON0,C2ON ;DISABLE COMPARATOR C2
我之前沒清也是A/D會有問題...

發表於: 2008/6/30 9:49
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


pic16f690同時使用ADC二組問題
#1
新會員
新會員


查看用戶資訊
你好:
因為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
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... ]

教育訓練中心

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