Picbasic Kod çalışmıyor

Başlatan zabun92, 14 Nisan 2013, 22:33:09

zabun92

iyi akşamlar, birkaç saattir pic16f628 için yazdığım bu kod üzerinde çalışıyorum ama butona bastığımda sayı değişmiyor
programın çalışma mantığı porta.0 ve porta.1 e bağlı butonlar sayıyı arttırıyor ve azaltıyor ve bu sayıyı ikilik sayı sistemine göre portb den çıkarıyor devre isis de çalışıyor ama board üzerinde çalışmıyor 5 tane pic denedim ama butonları okumuyor sayıyı 5 den başlattım  5 sayısı çıkış veriyor ama ne artıyor ne azalıyor girişleri 4k7 ile eksiye verdim picin girişine 100uf kondansatör taktım hatta picin döngüye girdiğini görmek içinde porta.2 ye program döngüsünde yanıp sönen led de ekledim ama tık yok :(  sorun ne olabilir?
TRISA=%000011
TRISB=0
PORTB=0
PORTA=0
                         
SAY VAR BYTE
SAY=5

BASLA:
IF PORTA.0=1 THEN SAY=SAY+1
IF PORTA.1=1 THEN SAY=SAY-1

IF SAY=255 THEN SAY=0
IF SAY>15 THEN SAY=15
 
 HIGH PORTA.2
PAUSE 100
LOW PORTA.2
PAUSE 100

IF SAY=0  THEN PORTB=0
IF SAY=1  THEN PORTB=1
IF SAY=2  THEN PORTB=2
IF SAY=3  THEN PORTB=3
IF SAY=4  THEN PORTB=4
IF SAY=5  THEN PORTB=5
IF SAY=6  THEN PORTB=6
IF SAY=7  THEN PORTB=7
IF SAY=8  THEN PORTB=8
IF SAY=9  THEN PORTB=9
IF SAY=10 THEN PORTB=10
IF SAY=11 THEN PORTB=11
IF SAY=12 THEN PORTB=12
IF SAY=13 THEN PORTB=13
IF SAY=14 THEN PORTB=14
IF SAY=15 THEN PORTB=15
GOTO BASLA          
END
elektronik 10'a ayrılır; 01. analog 10. dijital  :))

ete

Sorunun ne olduğunu anlamak için isis in varsayımlarına göz atmak gerekir.  Bu varsayımlar nedeni ile çok belirgin bir program hatası yapmadınız ise programlar mutlaka iside çalışır. Nedir bu varsayımlar bakalım.
1. İsis işlemciye voltaj verildimi verilmedimi diye bakmaz. Verildi kabul eder.
2. İsis işlemciye kristal bağlanmışmı bakmaz. Bağlı kabul eder ve onu çalıştırır.
3. Pek çok işlemcide Mclr bacağı vardır ve bu bacğın high da tutulması gerekir. İsi çoğunlukla buna bakmaz. Var kabul eder.
4. İsis çoğu zaman pinlere bağlı ledlerin bağlanış şekline bakmaz. Nasıl bağlı olursa olsun ledleri yakar. Gerçek devrede ledlerin seri direnç ile bağlanması gerekir.
5. İsis programınızda sigorta ayarları verip vermediğinize bile bakmaz.
6. İşlemcinin komparatör pinleri var ise programda bunların iptal edilip edilmediğne bazen bakmayabiliyor.
7. Her programda bir açılış gecikmesi olması gerekir. Bu işlemci registerlerinin yerli yerine oturması için gereklidir. İsis bu gecikme varmı diye bakmaz işini yine yapar.
Şimdilik aklıma gelenler bunlar. Bunlardan birisi sizin programın gerçekte çalışmama sebebidir.
Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

zabun92

sağolun hocam sorunu çözdüm komparatör pinini iptal ettim çalıştı yardımlarınız için teşekkür ederim :) iyi çalışmalar dilerim :)
elektronik 10'a ayrılır; 01. analog 10. dijital  :))