Proteus Assembly komutunu işlemiyor ?!

Başlatan eLectronbLue, 18 Kasım 2009, 00:48:54

eLectronbLue

Proteus 7.4 Sp3 ve MPLAB 8.36 IDE kullanıyordum. Assembly dilinde yazılmış kodlarda Proteus, matematiksel komutları işlemiyor, mesela

BSF PORTD,0
çok güzel çalışıyor
Fakat :
INCF PORTD, F

Ya da:
RLF PORTD, F

tarzındaki komutları çalıştırmıyor. O komutlara gelince hiçbir iş yapmadan komutu işliyor gibi gösterip diğer komutu okuyor Proteus.

Bilgisayarı formatladım. İşletim sistemim Windows XP Service Pack3. Üstelik bir de Proteus 7.6 Sp0 kurdum yine değişen birşey yok. Problemi çözemedim.

Devre şeması:
http://www.4shared.com/file/154236254/29acfe11/16F877-ARTTIR.html

Assembly kodu :

LIST P=16F877
#INCLUDE p16f877.inc
ORG H'00'

SAYAC1 EQU H'21'
SAYAC2 EQU H'22'

AYARLAR:
clrf STATUS
BSF STATUS,5
MOVLW D'7'
MOVWF ADCON1
CLRF TRISD
MOVLW D'255'
MOVWF TRISC
CLRF STATUS
CLRF PORTA
CLRF PORTB
CLRF PORTD


TEST:
BTFSS PORTC,0
GOTO LEDARTTIR
GOTO TEST


LEDARTTIR:
INCF PORTD, F
CALL BEKLE
GOTO TEST


BEKLE:
MOVLW D'255'
MOVWF SAYAC1

DONGU1:
MOVLW D'255'
MOVWF SAYAC2
DONGU2:
DECFSZ SAYAC2, F
GOTO DONGU2
DECFSZ SAYAC1, F
GOTO DONGU1
RETURN

END

camby


XX_CİHAN_XX

bsf yapıyorsa incf de yapması gerekir. Başka bir sorun var. Başka bir pc de başka bir isiste deneme yapmadan önce en güvenilir simulasyon olan MPLAB ın simulasyonunda adım adım çalıştırıp PORTD nin içeriğini izlemeni tavsiye ederim.
Kolay gelsin.
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

eLectronbLue

Windows XP ve Windows Vista yüklü iki farklı bilgisayarda Proteus 7.6 Sp0 ve Mplab IDE 8.40 ile denedim fakat yine değişen bir durum yok. Adım adım satırları işletiyorum ilk seferinde Portd 'yi 1 arttırıyor , aynı komut tekrar işlendiğinde ise herhangi bir işlem yapmıyor. Port register'larında herhangi bir oynama olmuyor. Ayrıca bilgisayarımda  bütün güncelleştirmeler yüklü.

Durum aşağıdaki gibi:


XX_CİHAN_XX

isis, asm, hex dosyalarını gönder birde ben deneyim farklı bir proteusta.
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

eLectronbLue

Üniversiteden bir hocam bu kodları denediğini ve çalıştırdığını söyledi .
Dosyalar:

http://www.4shared.com/file/154857988/f869235/16F877-ART.html

XX_CİHAN_XX

http://rapidshare.com/files/308918914/ARTIR.rar.html

Bu halini dene bakalım birde.
Çalışması gerek.
Config leri ayarlamamışsın.
ledlerede direnç koymamışsın.
artırmayada gecikme koymamışsın.
Bu kurallar isiste çalışmayı etkileyecek şeyler değil belki ama bellide olmaz isisin son sürümünde belki bazı şeyler değişmiştir.
Bu da çalışmazsa kesinlikle isisinde bir sorun var.
Daha düşük sürümlerle dene.
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

eLectronbLue

Evet bu kod çalıştı  :? Hangi derleyiciyi kullandınız hocam ? Mesela ben derleyici ve editör olarak MpLAB 8.40 kullanıyorum. Konfigürasyon ayarlarını MPLAB Ide'deki ayar kısmından yapıyordum. Siz assembly içerisine yazmışsınız. Şuan bu kod çalışıyor. Biraz açıklarsanız sevinirim . İyi çalışmalar

XX_CİHAN_XX

mplab 8.0 kullanıyorum ki zaten sorun mplabdan değil.
muhtemelen config hatası olabilir yada yeni versiyon isisin bir daleverası olabilir. En sağlamı config ayarlarını programın içine yazmaktır.
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

ahmet2004

Proteus 7.2 sp6 yükle en sorunsuz bu idi bence.

Proteus v7.4 v7.5 v7.6 bunlar hepsi hatalı animasyon yapıyor.

eLectronbLue

Bu tarz problemlerin çözümü bazen çok komik bir hal alabiliyor. Sorunun kaynağı ne konfigürasyon ayarları ne gecikmeler ne de kodlama hatasıymış. Tek problem, ledlere birer seri direnç bağlanmamasından ibaretmiş. Proteus'un böyle saçma bir problemle karşıma çıkabileceği hiç aklıma gelmemişti. En iyisi 7.2 sp6 portable kullanmak sanırım  :roll:
Herkese teşekkür ederim .

İyi Çalışmalar

XX_CİHAN_XX

Direnç koy demiştim zaten sana:D
Bu olay eski sürümlerde yok tahmin ettiğimiz gibi son sürüme koymuşlar
Geçmiş olsun :)
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

ahmet2004

Proteus v7.4 v7.5 v7.6 da donanım PWM de animasyon çalışmıyor.

Ama v7.2sp6 da aynı animasyon çalışıyor.

Başka deneyen olursa bilgi verebilirmi?

bigbey

Evet bende pullup direnci kullandığımda butona basılınca dirençlerin uçları logic sıfır oluyor ve buton bırakılınca logıc sıfırda kalıyor
Hakikaten 7.2 sp 6 sorunsuz bir versiyondu.
TA6R

KAZIMUGUR

Sorunsuz yerine sorumsuz demek daha doğru.
Tıpkı sizin gibi.
2 V / 10 mA lik gariban ledlere 5 Volt verebileceğinizi yeni keşfetti Labcenter . :roll:  :D

Özellikleri editleyip 5 V yapsanız çalışırdı.
Gereksiz olan kristal ve kondansatörleri taktınız ama birer direnç eklemeye üşendiniz , o da size nanik yaptı. :D