ASM deki küçük hata ne olabilir.

Başlatan OG, 29 Mart 2011, 08:12:45

OG

PORTB.7 yi gözleyip LOW olduğunda bir ileri atlatmak için

a_1:   btfsc PORTB,7  
        GoTo   a_1                  
        bcf   STATUS,0


kodunu kullanıyorum. Ancak 0 olduğu halde

bcf   STATUS,0


satırına atlamıyor.

Portu RB0 yaparsam ve LOW değerini oradan gözlersem, yani,

a_1:   btfsc PORTB,0  
        GoTo   a_1                  
        bcf   STATUS,0


problem olmuyor.

TRIS atamalarında hepsi giriş, yani böyle unutmuşluk gibi bir hatam da yok.

Bunun sebebi ne olabilir?

FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

Tagli

Hocam PIC'in modeli nedir? Ve bu olay fiziksel ortamda mı yoksa simülasyonda mı oluyor?
Gökçe Tağlıoğlu

serdararikan

muhtemelen kullandığınız PIC LVP özelliği olan bir PIC. konfigrasyon kelimesini uygun yazarsanız kodunuz çalışacaktır.LVP yi kapatın.

OG

#3
16F628A, hem simulasyon hem gerçekte çalışmıyor. LVP kapalı.

Aynı durumu 16F777 de deniyorum, onun simulasyonu yapamıyorum, isis'de 777 yok, gerçekte  çalışmıyor. 777 de LVP zaten yok.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

serdararikan

kodunuzu gönderirseniz birde biz deneyip olayı daha detaylı inceleyebiliriz.

Tagli

Bacak görevleri üzerinden gidersek belki birkaç ihtimalden bahsedebiliriz. Yani, iki bağlantı arasında donanımsal bir fark yoksa, RB0 ile RB7 arasındaki görev ve özellik farklarını incelemek gerekir.

Sorun dahili pullup direçleri ile ilgili olamaz, çünkü iki bacağın da kontrolü ortak. Bu durumda birbirinden farklı davranamazlardı.

Diğer ihtimal kesmeler. RB7'deki PORTB kesmesi açık kalmış olabilir, belki programı başa atıyor ve aynı yerde dönüyormuş gibi gözükmesine sebep oluyordur. Emin olmak için tüm kesmeleri kapatıp bir denemek gerekir.

RB7'nin Timer1 osilatörü ile ilgisi var. Eğer timer ayarlarında yanlışlıkla harici osilatör kaynak olarak seçildiyse bu pin çalışmaz hale gelebilir. Aklıma gelenler arasında en çok buna ihtimal veriyorum.

Fiziksel devrede ICP için RB7'ye bağlantı yapıldıysa düşük bir ihtimal bununla ilgili bir sorun olabilir ama simülasyonda da çalışmadığına göre herhalde durumun bununla ilgisi yoktur.
Gökçe Tağlıoğlu