18F2520 ADC sorunum

Başlatan Maxim, 19 Kasım 2008, 16:06:48

Maxim

proteusta şöyle mesaj alıyorum ,
"write to adcon0 register selects ADC channel 6 - there is no such channel on the pic18f2520 device "

sanırım 6 kanal adc yok bu işlemcide falan diyor ama var.
iyide nerede hata yapıyorumki ?

kullanmak istediğim analog girişleri ;
an0-an1-an2-an3-an4 yani 5 tane ,

ayarlar ;
ADCON0=%00010010
ADCON1=%00001010
ADCON2=%10100111

ve
Declare ADIN_RES 10
Declare ADIN_TAD FRC  
Declare ADIN_STIME 150

her ölçümde yukarıdaki hatayı veriyor ,
mesela,
Raw_Batt=ADIn 3

eLectronbLue

Siz adcon0 register 'ını 6.ADC kanalına ayarlamışsınız ama PIC'te böyle bir ADC kanalı yokmuş.

Tagli

Garip... Kanal 6'nın seçilmesi için ADCON0=%00011001 olmalıydı. Anlamadım bu işi... :roll:

@maxiboost, bu arada senin ADCON0 yanlış gibi görünüyor. Zaten ADCON ayarlarını neden yaptığını da anlamadım. Bunlar ASM ile kod yazarken işine yarar. Bit 0 ile modülü açarsın. Okuma yapmadan önce kanalı seçersin (tabi öncesinde bir bekleme süresi gerekli) sonra da go/done bitini 1 yapıp tekrar 0 olana kadar bekler, ilgili register'lardan sonucu okursun. Sen zaten derleyici kullanıyorsun, bu ayarları derleyiciye bırakman daha doğru olur. Mesela ADCON0=%00010010 yazmışsın. Öncelikle A/D dönüştürücü modülü kapalı (bit 0) ama dönüşüm işlemini başlatan go/done biti (bit 1) açık. Bu garip... Ve de kanal 4 seçili.

Ayrıca aşağıda yazdığın Declare'ler zaten A/D ayarlarını yapıyor sanırım (gerçi bu dili kullanmadığım için pek emin değilim bu ayarlar yeterli mi değil mi bilmiyorum). Yani senin ADCON2'yle de oynamana gerek yok.
Gökçe Tağlıoğlu

Maxim

olmuyor ,
adcon0 ve adcon2 yi hiç yazmayıncada aynı mesajları veriyor ,
sürekli hata veriyor ama ölçümde yapıyor yani