16F877 ADC YARDIM

youngman_2

Üye
Katılım
27 Nis 2009
Mesajlar
120
Puanları
1
ARKADASLAR İYİ GÜNLER ÖNCELİKLE
16F877 DE A0 VE A1 DEN ANALOG ÖLÇÜM YAPACAGIM REFERANS VOLTAJIM OLMAYACAK KENDİ REF. VOLTAJINI KULLANACAGIM.YAZDIM Bİ PROG. DENEDİM AN0 TAM İSTEDİGİM GİBİ CALISIYOR AMA AN1 KONTROL EDEMİYORUM
KODLAR

@ DEVICE pic16F877
DEFINE ADC_BITS 10
DEFINE ADC_SAMPLEUS 100
TRISA=1
TRISD=0
TRISB=0
ADCON1=%10000100
HAM var word
HAM1 var word

BASLA:
ADCIN 0,HAM

BAK: IF ADCON0.2=1 THEN BAK
PORTD=HAM/10

ADCIN 1,HAM1
BAK1: IF ADCON0.2=1 THEN BAK1
PORTB=HAM1/5

GOTO BASLA
END

ACABA SIKINTI NE OLABİLİR SİZCE
 
Son düzenleme:
ARKADASLAR İYİ GÜNLER ÖNCELİKLE
16F877 DE A0 VE A1 DEN ANALOG ÖLÇÜM YAPACAGIM REFERANS VOLTAJIM

.
.
.
.
TRISA=1
TRISD=0
TRISB=0

kodun tamamını okumadım ama AN0 ve AN1 giriş olacaksa eğer neden sadece AN0 u giriş yabıosun. TRISA=3 yapıp dene.
 
evet ya orayadan kaynaklanıyor galiba bi deneyim bakalım neler olacak sagolasın ...
 
yalnız TRISA=1 demek, A portuna bağlı tüm ucları giriş yaomaktır. Bence birde şuna dikkat et. 16F877 lerde sadece tek girişi ADC olarak kullanabilirsin. ADCON bayrağını her giriş için yeniden değerlendirmen gerek.... Yani A0' ı A giriş yaptıktan sonra, A1 için yeniden bayrak değeri vermen gerek...
 
trisa=1 demek
trisa=%00000001 demektir.
trisa=3 DEMEK
trisa=%00000011 demektir.
trisa=255 demek
trisa=%11111111 demektir.
 
Sorunu çözdüm arkadaslar ilgi ve alakanız için çok tesekkür trısa=1 sıkıntı yapıyormuş :)
 

Yeni mesajlar

Forum istatistikleri

Konular
129,016
Mesajlar
922,525
Kullanıcılar
451,246
Son üye
Mehmet akta

Yeni konular

Geri
Üst