picbasic led yakıp söndürme

Başlatan burak450, 25 Haziran 2008, 00:58:46

burak450

arkadaşlar kafayı yemek üzereyim.pic basic kullanarak led yakıp söndürmek istiyorum kullandığım kod bu led üzerindeki dirence elimi koyduğumda sadece yanıyor ve portb.0 portb.1 hepsinde yanıyor yani ayrım yapmıyor hatam nerde olabilir????????????

kullandığım entegre 16f877a

TRISB=O
PORTB=0
YAP:
HIGH PORTB.1
PAUSE 2000
LOW PORTB.1
PAUSE 2000
GOTO YAP
END

creemstorge

Buraya verdiğiniz kodlarda karakter hatası var:

TRISB=O ( burda O harfini kullanmışsınız, sıfır yazacaksınız )

Eğer asıl sorun bu değilse kodların başına

ADCON=7 yazıp tüm çıkışları dijital yapmanız gerekir.

Ben denedim kodları , çalışıyor. Bir de mikrodenetleyici ve kristalin frekans değerlerini aynı yapın. İkisi de 4 MHz olsun. 1 MHz olunca uzun bir müddet yanıyor led. Sonra sönüyor tabi ki de. Ama söndüğünü görmek sabır istiyor.

Kolay gelsin size

burak450

eywallah çalıştırdım fakat adcon=7 yapmadan çalıştırdım.tüm çıkışları digital yapmak ne işe yarıyor???

Gurkan-Demirbas

Alıntı YapADCON=7

Eğer 16F877A kullanıyorsanız;
ADCON1 = 7 olmalı ve 877A'da comparator module olduğu için CMCON=7 (comparator off) yapılması lazım.
PIC 16F877'de comparator module olmadığı için CMCON da yoktur. bu yüzden off yapmaya gerek yok.

Ama PORTB'de çalıştığın için (PORTA'yı kullanmıyorsan) bu şartlamalara gerek yok.

877A'da A portu hem digital IN/OUT, hem Analog in, hem de comparator module larak kullanılır. Eğer digital kullanacak isek Analog ve Comparator module'lerini off durumuna getirmeliyiz ki ADCON1=7 ve CMCON=7 u 2 modülü off durumuna geçirir.

Gürkan

burak450

gürkan cevabın için teşekkürler 16f877a ile ilgili türkçe kaynak nerde bulabilirim??? ben porta portb olayını bilmeden ledi yakıp söndürdüm.

creemstorge