Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

çoklu analog giriş

Başlatan burak450, 13 Ağustos 2008, 01:25:38

burak450

arkadaşlar elimde iki tane analog giriş var ve ben bunları  porta.0 ve porta.1  e atamak istedim.Fakat lcd ile değerlere baktığımdan aynı değerler  (87  87) gibi görüyorum.Porta.0 dan voltaj alıyorum fakat voltmetreyi porta.1 koyduğumda voltaj bile alamıyorum :( sebebi ne olabilir?Ne dersiniz yazdığım kod bu.adcon1=2 diyerek mi hata yaptım acaba :?

DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 0
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 4
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 5
DEFINE LCD_BITS  4
DEFINE LCD_LINES 2
DEFINE OSC 4                                                                       
DEFINE ADC_BITS     8       'A/D çevirim sonucu kaç bit olacak
DEFINE ADC_CLOCK  3       'Clock kaynağı (3=rc)
DEFINE ADC_SAMPLEUS 100
SYMBOL F=PORTA.0
SYMBOL G=PORTA.1
alt var byte
ust var byte
TRISA=1
PORTA=0
ADCON1=2
TRISB=0
PORTB=0
yap:
PAUSE 5000
adcin  F,ALT
ADCin  G,UST
LCDOUT $FE,1 
LCDOUT #ALT,"      ",#UST
end

707yunus

1. si
LCDOUT $FE,1  ile lcd yi sürekli resetleme.

2. si

LCDOUT $fe,2, #ALT,"   ",#UST ,"   "

en alta da end den önce 'goto yap' komutunu yaz

olarak bi dene.

burak450

dediğini yaptım yine eşit değerler elde ediyorum benim problemim lcd ile ilgili değil adcon komutuyla mı ilgili acaba diye düşünüyorum.voltmetre porta.1 de yine sıfır değerini gösteriyor :(

tyildizak

        TRISA = 1 ; (?) sadece ra 0 giriş olmuş, ra1 çıkış..
         TRISA = 3 ; deneyin



        ADCIN   0,ALT    ; farkeder mi denemedim ama sonuçlar mantığa 
         ADCIN   1,UST   ;uygun çıkmazsa  bu şekilde kullanın.


        LCDOUT #ALT,"      ",#UST ;lcd'ye yaz ama hangi adrese?
         ;bu komutu da kesinlikle @707yunus'un dediği gibi yazmalısınız:
         LCDOUT $fe,2, #ALT," ",#UST ," " 
        

burak450

teşekkür ederim çalıştı :) bi sorum daha var.mesela porta.2 yi de kullansaydım o zmaan trisa=5 mi yazmam gerekirdi? 5 tane analog port kullancaksam trisa=9 yazcaktım?

707yunus

hem öyle yazman lazımdı hemde adcon.1 registerinden analog girişleri ona göre ayarlaman lazım.

burak450

707yunus son yazdığını biraz açar mısın acemiyim biraz.adcon1=2 yazmam yeterli olmıcakmı porta.0 dan porta.4 kadar 5 tane analog giriş kullanırsam?

707yunus

sen 0 dan 5 e kadar kanal kullanacaksan 6 analog kullanacak olursun.adcon1=9 yap.0 dan 5 e kadar ki kanalları analog olarak kullanabilirsin böylece.ayrıca 16f877 nin  114. sayfasına bak.ingilizcen varsa bni anlarsın.tablodan anlaşılır nasıl kanal ayarlaması yapılması gerektiği.

707yunus

not:

acrobat readerde yazılı olan 114. sayfaya bak.sayfa üzerinde yazılı olana değil.

selamalar....