Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
3
Cevap
1000
Tıklama
0
Öne Çıkarma
Pic Proglamlama Sorunu
S
14 yıl
Çavuş
Konu Sahibi

Arkadaşlar yavaştan bu pici programlamaya başladım. Sitelerde okuduklarımdan anladığım kadarı ile basit basit bir şeyler yapmaya çalışıyorum. İlk olarak butona bastığımda 2 sn ledi yakacak, sonra 4 sn beklicek sonra 1sn ledi yakacak bir devre yapmaya çalışıyorum (burdaki amaç basit döngüleri kullanıp isiste simülasyon yapmayı becerebilmek :) ). Bu amaçla microcode studio plusta basic ile aşağıdaki kodları yazdım ve complier olarak pic basic pro 2.47 kullanmaktayım.

@ DEVICE pic16f84a
@ DEVICE pic16f84a, WDT_OFF
@ DEVICE pic16f84a, PWRT_ON
@ DEVICE pic16f84a, PROTECT_OFF
@ DEVICE pic16f84a, XT_OSC

TRISB=%00000001
PAUSE 70
BASLA:
IF PORTB.0=1 THEN
HIGH PORTB.1
PAUSE 2000
LOW PORTB.1
PAUSE 4000
HIGH PORTB.1
PAUSE 1000
LOW PORTB.1
ENDIF
GOTO BASLA
END

Ancak isiste simülasyona başladığımda şöyle problemler oluşuyor:
1- Butona basmadan led sürekli yanıyor, ben butona basınca bir süre sonra sönüyor.
2- Led sönünce tekrar butona basıyorum. Bu durumda led yanıyor, bir süre sönük yanıyor ve tekrar yanıyor. Bu durumda devre düzgün çalışıyor gibi görünüyor; fakat led 2 sn yanıcağına 5 sn yanık kalıyor simülasyonda.

Sizce nerelerde hata yapıyorum. Program basit ama daha çırağız bu konularda yardım

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



N
14 yıl
Yarbay

öncelikle, pic in ilk anda tüm çıkışları 1 olur bu çok kısa süren bi süreçtir ama yazılımda yavaşlama ile uzun sürebilir ya da kafasından bi değer atamış da olabilir.. bu kafadan değer atamayı önlemek için öncelikle programın başında tüm portları sıfırlamak yararına olacaktır.
zaman farkı olayı ise yine isisin pc kasması durumunda real time da çalışmamasından kaynaklanıyor olabilir, altta ünlem işaretine tıklayarak uyarılara bakabilirsin.. ayrıca pic e program yazarken osilatör ayarını doğru yapmalısın.. programı 4mhz lik kristal ayarında yazıyorsan isiste de entegrenin detaylarından bu kristal değerini girmelisin..


Bu mesaja 1 cevap geldi.
S
14 yıl
Çavuş
Konu Sahibi

Çıkışları başlangıçta sıfırlayıp tekrar deneyeceğim. Programı yazarken krsital ayarı ile ilgili herhangi bir işlem yapmamıştım. Tekrar gözden geçireyim. Teşekkürler.


Bu mesaja 1 cevap geldi.
F
14 yıl
Teğmen

PORTB.0 ucuna pull-down direnç takmazsanız Pic havadan gelen elektromanyetik dalgalardan etkilenir ve girişi High olarak algılayabilir. Bu sorunu çözmek için PORTB.0 ile şase arasına 10K direnç takmanız lazım.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.