10 bit ADC neden 65472 ?

Başlatan pcb, 19 Eylül 2008, 22:58:43

pcb

18F452 ile çalışırken ilk defa 10bit ADC yapmak istedim isisde görüyorum ki 1024 yerine 65472 yazıyor 5V da. 8 bit ADC de sorun yok 255.
sebebi nedir sizce, bu sorunu nasıl halledebilirim ?

z

bahsettiginiz islemciyi tanimiyorum ama sorununuzun sebebini tahmin ediyorum.

Sonucu sola dayali modda okuyorsundur.
Saga dayali modda okuyun yada okudugunuz sonucu 6 kere saga kaydirin veya 64'e bolun.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

pcb

sol a dayalı mod u anlayamadım açıklarmısınız ?

z

MSB, 15. bite denk gelsin dersek sola dayali mod olur.
LSB,   0. bite denk gelsin dersek saga dayali mod olur.


Sonucun saga dayalimi yoksa sola dayalimi olacagi genellikle bir registerde tanimlanir.

Islemcinizin dokumaninda ADC basliginin altinda Result diye ararsaniz hangi regde tanimlandigini bulmaniz lazim.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

ete

ADCON1 registerinin 7. biti şayet sıfır olur ise sonuç sola dayalı çıkar ve 65xxx lerde bir sayı olarak verilir. AYnı biti 1 yaparsanız sonuç sağa dayalı olarak verilir ve o zaman 1024 olarak okuyabilirsiniz.

REGISTER 17-2: ADCON1 REGISTER

bit 7 ADFM: A/D Result Format Select bit
1 = Right justified. Six (6) Most Significant bits of ADRESH are read as '0'.
0 = Left justified. Six (6) Least Significant bits of ADRESL are read as '0'.

ETE
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com