sanırım kimse benı sevmiyor
mali1554 ustacım burda birbirini tanıyan pek kimse yok o yüzden saygı sevgi ve hoş görüye göre işler yürüyüp gidiyor en azından ben yıllardır bunu gördüm e tabii ki burada herkeste bulunmayan paylaşımcılık ruhunu da unutmamak gerekir
Gelelim sizin açtığınız konuya Tamam haklısınız Assembly bu işin ağa babası başlangıç noktası eyvallah
ama artık kimse asm dili ile zaman harcamaktan yana değil belki öğrencisiniz belki de temelde bu dili öğrenmiş ve başkasına gerek duymamışsınız durumunuzun içeriğini bilmeden varsayım denilen şeyle sallıyorum Ama yine bence kimse konuya cevap vermemişse ve konuda benim baktığım anda 143 defa okunmuşsa bu işte bir aksilik var demektir
Bence ( haddime düşmez ama tavsiye ederim ) kullanmakta olduğunuz yazılımın seviyesini yükseltmelisiniz örneğin pic basic yada proton basic yada daha ağa babalardan gidelim CCS C yada MikroC gibi yazılım ile uğraşmalısınız... Neden derseniz bu programlar ile ilgilenen bir çok ustamız var Asm ile bir dünya satırı gözden geçirmektense üç beş satır komut ile işinizi çözebilme imkanınız var ayrıca bu yüksek seviyeli programlama dilleri ile haşır neşir olan insan/üye sayısı da ASM ye göre oldukça yüksek... Değerli ustalarımız konuya daha hakimler ve anında çözüm üretebiliyorlar çünki bir dünya register yok zamanlama derdi yok herşey belli başlı program komutları ile hallediliyor.
Ben size öğrenci iken yaptığım udeanın arx ve atx modulleri ile çalışan ve pic basic de yazılmış bir programı paylaşayım arada olan farkı ve bakınca anlaşılabilirliği varın siz kıyaslayın Hem de benim yaptığım programda her kumanda ile çalışmasın diye şifreleme işlemi de gerçekleşmiş durumda yazılım ile şifreleri değiştirip bir kumandadan etkilenip diğerlerini görmemesini sağlayabilirsiniz...
Verici için program:
INCLUDE "modedefs.bas"
CMCON=7
ANSEL=0
SIFRE1 VAR BYTE
SIFRE2 VAR BYTE
SIFRE3 VAR BYTE
SIFRE4 VAR BYTE
SIFRE1=1
SIFRE2=9
SIFRE3=8
SIFRE4=4
INPUT GPIO.2
INPUT GPIO.1
AC VAR GPIO.2
KAPA VAR GPIO.1
OUTPUT GPIO.4
LOW GPIO.4
GON VAR BYTE
GON=0
BASLA:
IF AC=1 THEN
GON=10
SEROUT GPIO.4,N2400,[GON,SIFRE1,SIFRE2,SIFRE3,SIFRE4,"1984"]
ENDIF
IF KAPA=1 THEN
GON=20
SEROUT GPIO.4,N2400,[GON,SIFRE1,SIFRE2,SIFRE3,SIFRE4,"1984"]
ENDIF
GOTO BASLA
END
Alıcı için program :
INCLUDE "modedefs.bas"
CMCON=7
INPUT PORTB.1
OUTPUT PORTA.0
OUTPUT PORTB.2
OUTPUT PORTB.3
SIFRE1 VAR BYTE
SIFRE2 VAR BYTE
SIFRE3 VAR BYTE
SIFRE4 VAR BYTE
OKU VAR BYTE
TEKRAR VAR WORD
SIFRE1=0
SIFRE2=0
SIFRE3=0
SIFRE4=0
OKU=0
LOW PORTB.0
BASLA:
SERIN PORTB.1,N2400,["1984"],OKU,SIFRE1,SIFRE2,SIFRE3,SIFRE4
IF SIFRE1=1 AND SIFRE2=9 AND SIFRE3=8 AND SIFRE4=4 THEN
GOTO ATLA
ELSE
LOW OKU
GOTO BASLA
ENDIF
ATLA:
IF OKU=10 THEN
HIGH PORTB.2
PAUSE 25000
HIGH PORTB.3
ENDIF
IF OKU=20 THEN
LOW PORTB.2
LOW PORTB.3
ENDIF
GOTO BASLA
END
Bu programda verici 12F675 alıcı ise 16F628A ile yapılmıştı Programı inceleyin arada ne kadar fark olduğunu siz de gözden geçirin Ve şayet işinize yarayacak ise güle güle kullanın ama bu program iki butonlu sadece açma ve kapatma işlemi yapıyor ama siz istediğiniz gibi uyarlayabilirsiniz...
Ve siz bence sevilecek bir insansınızdır
Bu arada söz konusu problemi asm ile çözmek ise ona da söylenecek tek bir lafım olmaz Özür diler Sadece saygı duyarım ve elimden pek bişiy gelmeyeceğini belirtmek isterim
Boyunuzdan büyük işlere kalkışmakta bazen iyidir gidenin yolunu açar Saygılarımla...