Atmega8 Anlamadıgım kod çalışmaması

Başlatan agora_meyhanesi42, 18 Mart 2009, 14:39:58

agora_meyhanesi42

Arkadaşlar aşagıdaki *** ile işaretli satırda butona basıldıgı zaman ilgili etikete dallanması gerekiyor normalde ama proteusta denediğim zaman hiç bir işlem yapmıyor yani normal çalışmasına devam ediyor acaba sorun nedir




#include "m8def.inc"

.CSEG
.ORG 0x00
;Osilatoru ayarlıyoruz
ldi   r16,0b00001111 ;r16 ya 0x0F yi yükle
out osccal,r16     ;osilator frekansı

;stack pointeri ayarlıyoruz
ldi r16,high(RAMEND)
out sph,r16
ldi r16,low(RAMEND)
out spl,r16

;PORTC çıkış için ayarlanıyor
ldi r16,0xFF
out ddrc,r16
ldi r16,0x01
out portc,r16

;PORTD giriş için ayarlanıyor
ldi r16,0x00
out ddrd,r16
ldi r16,0xFF
out portd,r16


clt  ;T Flagı reset
ldi r16,0x01

DNN:

sbic portd,2 ;2. bit sıfır ise bir sonraki satırı atla ******
rjmp PRG0    ;Yok 2.bit bir ise PRG0 etiketine git
rcall TBIT   ;TBIT rutine atla

PRG0:    
brts SAGA    ;T Bayragı bir (1) ise SAGA etiketine git
rjmp SOLA    ;T Bayragı sıfır(0) SOLA etiketine git

SOLA:
rol r16        ;r16 içindeki sayıyı bir sola kaydır
out portc,r16  ;r16 yı portc'de göster
rjmp DNN       ;DNN etikete git

SAGA:  
ror r16        ;r16 içindeki sayıyı bir saga kaydır
out portc,r16  ;r16 yı portc'de göster
rjmp DNN       ;DNN etikete git

TBIT:
brts RESETLE   ;T Bayragı bir (1) ise RESETLE etikete git
set            ;Bir (1) değil ise set (1) yap
rjmp CIKIS     ;CIKIS etikete git

RESETLE:
clt            ;T Bayragını clear(0) la

CIKIS:
sbis portd,2   ;2. bit bir ise bir sonraki satırı atla
rjmp CIKIS     ;CIKIS etikete git

ret            ;Kim çağırdıysa onun yanına git...
Yüksel Türk ! Senin için yükselmenin hududu yoktur...

araknafobya

portd,2 olarak tanımlanana ardes port d ye ait 3. bit olmaktadır
eger hata bundan kaynaklanıyorsa çözmen kolaylaşır.

Yasal Uyarı: Picproje.org sitemizde 5651 sayılı kanunun 8. maddesine ve T.C.Knın 125. maddesine göre tüm üyelerimiz yaptıkları paylaşımlardan kendileri sorumludur. Picproje.org hakkında yapılacak tüm hukuksal şikayetleri İletişim sayfamızdan bize bildirdikten en geç 3 (üç) iş günü içerisinde ilgili kanunlar ve yönetmelikler çerçevesinde tarafımızca incelenerek gereken işlemler yapılacak ve site yöneticilerimiz tarafından bilgi verilecektir.