arkadaşlar 3gündür uğraşıyorum çıldırma aşamasına geldim lütfen yardım edin.
pic16f84a entegresiyle sitemizde bulunan pic öğreniyorum kitabını iyice anladıktan sonra çok basit olan portb yi çıkış olarak atayarak led yakmak istiyorum ama kitaptaki aynı kodu yazıp derleyip içine atmama rağmen b portunun hiçbir pininden sinyal alamıyorum aynı şeyi a içinde denedim olmadı. acaba pic mi bozuk diyorum ancak program atabiliyorum içine başarılı bi şekilde nerde hata yapıyorum bozuk olup olmadığını nasıl anlarım lütfen yardım edin
Ya onun yerine şu kodları yazsan daha kolaylaşır işin kütüphaneyi oluşturma ile:
LIST P=16F84A
INCLUDE "P16F84A.INC";bu equ tanımlamalarından seni kurtarır.
CLRF PORTB
BSF STATUS,5
CLRF TRISB
BCF STATUS,5
MOVLW H'07'
DONGU
GOTO DONGU
END
;eğer devrede sıkıntı yaşıyosan bana mesaj et elimden geldiğince yardımcı olurum.
dostum entegren yanmışsa el yakacak derecede ısınır
breadboard üstüne kurmuşsan temas etmeme olasılığı vardır entegrenin sürekli reset atması gibi durumlar yaşanabiliyor
osilatör konfigrasyonunu ayarlamamış olabilirsin
verdiğin 5vu 7805 gibi tam regüleli bir kaynaktan alman gerekir
birde ıc progdaki ilk ayarlar var onunla ilgili ayarlar var bir kereye mahsus yapmak gerekiyor
benim öğrenirken başıma gelener bunlar inşallah çalıştırırsın devreyi bende öğreneli 6 ay filan oldu ama çok zevkli bir
kolay gelsin
az önce programı incelerken farkettim programında bekleme süreleri yok demek istediğim şu programda led yansın bir süre sonra sönsün istiyorsun fakat programda ledi yak dediğinde 10 mikrosaniye yanıyor çünkü program satırı ortalama 10 mikrosaniyede geçer gider ledi yakmak için mantık şu
DECFSZ SAY2,F ;SAY2'den 1 çıkar tekrar SAY2'ye kaydet. SAY2 sıfır mı?
GOTO TEKRAR2 ;HAYIR -TEKRAR2 etiketine git
DECFSZ SAY1,F ;EVET -SAY1'den 1 çıkar tekrar SAY1'ye kaydet. SAY1 sıfır mı?
GOTO TEKRAR1 ;HAYIR -TEKRAR1 etiketine git
RETURN ;Alt programı bitir
burada zaman isimli bir alt program oluşturulmuş write a bir rakam üklüyorsun sonra başka bir registera rakam yüklüyorsun birbirinden çıkarıp sıfır oldumu diye bakıyorsun sıfır olduğunda alt program sona eriyor piclerde durma komutu olmadığı için bu şekilde zaman kaybı yaratıoruz. tam programı bilerek vermedim çünkü ezberci mantık olur o zaman bu alt programı al ledini programda yaktıktan sonra programı bu alt programa gönder aynı işlemi ledi söndürdükten sonra da yap bu arada alt programa gitmek için kullandığımız komut call komutu senin programında led yanıyor fakat hemen sönüyor sen göremiyorsun
picin çalışabilmesi için gerekli uygulamaları yap yukarıda yazılanlar üzerine bir pull up devreis 4 yani mcrl ye bağla sonra 4 mhz lik bir kristal osilatör kullanman gerekir ve birde tabi + ve - vermen gerekir