PIC16f628A Butonla LED Kontrolü

xander1977

Üye
Katılım
6 Şub 2015
Mesajlar
2
Puanları
1
Yaş
47
Merhaba arkadaşlar,

Öncelikle bilgisayar programcısıyım ancak bu PIC programlama olayında çok ama çok yeniyim.
Sizlere 2 sorum olacak ve mümkünse yardımlarınızı rica edeceğim.

Kullandığım Mikrodenetleyici: PIC16F628A
Kullandığım Derleyici: Mikro C Pro
Kullandığım Programlayıcı: DIY K150
Kullandığım Osiloskop: Dahili Osiloskop
Kullandığım Besleme Kaynağı: 3xAA Pil
Kullandığım buton: push buton
EDIT: Dahili osilatörü 4MHZ de çalıştırıyorum

1. Örnek Kodları aşağıdaki gibi olan devremi breadboard üzerinde test ettiğimde LED 2 kez yanıp söndükten sonra kısa bir süre duruyor ve tekrar 2 kez yanıp sönüyor yine kısa bir süre duruyor ve devam ediyor. Bu bekleme neden oluyor olabilir acaba?

Program kodları:

Trisb.rb0 = 0;
portb.rb0 = 0;


while(1){
portb.rb0 = 1;
delay_ms(500);
portb.rb0 = 0;
delay_ms(500);
}


2. Örnek kodlarını yine aşağıda paylaşacağım devrede ise butona bastığımda led yanmıyor.

Trisb.rb0 = 0;
portb.rb0 = 0;

Trisa.ra0 = 1;
porta.ra0 = 0;

while(1){
if(porta.ra0){
portb.rb0 = ~portb.rb0;
while(porta.ra0);
}
}

Aslında 1 sorum daha var ama onu da bu sorunları çözdükten sonra dile getireyim

Şimdiden ilgi ve yardımlarınıza teşekkür ederim.
 
Merhaba,
Aşağıdaki komut,bekleme komutur.Parantez içindeki değeri azaltıp çoğaltmakla bekleme süresi de azalır veya artar.(milisaniye olarak)
delay_ms(500);
 
Merhaba,
Aşağıdaki komut,bekleme komutur.Parantez içindeki değeri azaltıp çoğaltmakla bekleme süresi de azalır veya artar.(milisaniye olarak)
delay_ms(500);

bekleme süresi ile ilgili sorun değil bu. şöyle ki 500ms olarak 2 defa yanıp sönüyor led ve sonra ekstra bi kısa bekleme yaptıktan sonra yine devam ediyor.
 
Kullandığım Osiloskop: Dahili Osiloskop

Şurada bir terim hatası var dahili osilator olacak sanirim, Kesinlikle yanlış anlamayin yanlışlikla yazmış olabilirsiniz,yeni öğrenenler yanlış anlayabilir osilator terimi akıllarında osiloskop olarak kalabilir.
Kolay gelsin
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…