PIC12F675'te ADC komutları!

Başlatan Ufocu, 18 Ağustos 2006, 15:41:01

Ufocu

Merhaba ben PIC12F675 ile pil şarj devresi yapıcam. Forumda araştırdım fakat genelde hep 16F877 ve 16C711 kullanılmış. Pil şarj devresi küçük bir şey olduğu için bu kadar büyük PICler kullanmak istemiyorum. O nedenle microchip'te ADCli en küçük PIC olarak PIC12F675'i buldum.  Devrede pilin voltajını analog olarak okuyup işlem yapmak istiyorum. Picbasic'te analog olarak işlem yapma komutları neler onları öğrenmek istiyorum. Forumdaki devrelerde hex kod olarak verildiği için bulamadım. :!:
"Benim manevi mirasım ilim ve akıldır." M. K. ATATÜRK

ibrsel

Analog giriş için pic 12f675 te ADCON0 yazmacı kullanılmaktadır..

DEFINE  ADC_BITS 8               'A/D çevirim sonucu kaç bit olacak
DEFINE  ADC_CLOCK 3                 'Clock kaynağı (3=rc)
DEFINE  ADC_SAMPLEUS 50               'Şarj  zamanı mikro saniye cinsinden.

yazacğın programın başına yukarıdaki satırlarıda ekleyebilirsin.

ADCON0=%10001110 '7. bit 1 yapıldı 10 bit sonuç almak için.  8 bit işlem için 7 biti 0 yap

analog_deger var word

ADCIN 0,analog_deger

dersen pic 12f675 in AN0 girişinden analog sinyal işleyebilirsin..

Logan

Merhaba Ufocu.Genelde Pic'ler içerisinde bulunan ADC'leri kontrol eden 2 adet register vardır.ADCON0 ve ADCON1.Fakat 16f675'te ADCON1 yerine ANSEL registeri var.Çevrim yapmadan önce datasheetleri iyice okumanı tavsiye ederim.Basic komutlarına gelince;

Define	ADC_BITS	8	' ADC çevrim biti 
Define	ADC_CLOCK	3	' Clock kaynağı (3=rc)
Define	ADC_SAMPLEUS	50	' Şarj zamanı (uS cinsinden)

Okuma yaparken ise " Adcin 0,isi_reg " komutunu kullanmalısın.Burada "0" okuma yapmak istediğin kanalı, "isi_reg" ise, okunan değerin atılacağı registeri ifade eder.Fakat ben daha önce bu entegre ile hiç çalışmadım.Umarım verdiğim bilgiler işine yarar.Kolay gelsin.
İmza.

Ufocu

Arkadaşlar verdiğiniz bilgiler için teşekkürler. Bu devreyi yapabilirsem forumda yayınlarım ilgilenen herkese faydalı olur.
"Benim manevi mirasım ilim ve akıldır." M. K. ATATÜRK