ASM PİC PROGRAMLAMA - 1
Direk Komutlardan giriş yapıyorum.Gerekli şeyleri gerekli konularda göstericem Yani komutlar , kodlar üstünden gidicez
Byte odaklı dosya kayıt işlemleri
ADDLW : Add W and f
ADDL W k
W ile sabit bir sayı toplanır W'e yazılır
ADDLW D'2' ; 2 ile W içeriğini topladık W yazdık
ADDWF : AND W with f
ADDWF f, d
f : Register file addesss(bellekteki adres)
d : Destination(yazılcak hedef)
kısaca f içeriği ile W içeriği toplanıyor d ye yazılıyor
ADDWF SAYI,f ; W ile SAYI toplanıyor sonuç f'e yazılıyor yani sonuç SAYI'ya yazılıyor.
ADDWF SAYI,f ; W ile SAYI toplanıyor sonuç W'ya yazılıyor
MOVLW : Move literal to W
sabit sayı W içine atılır
MOVLW D'2' ; 2 sayısını W içine attık
MOVWF : Move W to f
W içeriğini f içine atar
ABOO67 EQU 0x10 ; ABOO67 degişkeni tanımladık
MOVLW D'2' ; 2 sayısını W içine attık
MOVWF ABOO67 ; W içeriğini ABOO67'ye attık
Bit odaklı dosya kayıt işlemleri
BCF : Bit Clear f
İstenilen Bit'i 0 (LOW) yapar
BCF PORTB,1 ; Portb'nin 1ci biti 0 yapıldı
BSF : Bit Set f
İstenilen Bit'i 1 (High) yapar
BSF PORTB,1 ; Portb'nin 1ci biti 1 yapıldı
BTFSC : Bit Test f, Skip if Clear
İstenilen bit test edilir eğer 1 ise program çalışmasına devam eder 0 ise bir satır atlanır program devam eder.Yani 0 olduğu taktirde goto main komutunu geçer ve ledi yakar
BTFSC PORTB,1 ; portb'nin 1ci bitini kontrol et
GOTO MAIN ; 1 ise main git
BCF PORTB,3 ; 0 ise portb'nin 3cü bitini 0 yap
PortB'nin 1ci biti 0 ise bir alt satırı atla portbnin 3cü bitini 0 yap eğer degilse MAIN'e git
BTFSS : Bit Test f, Skip if Set
İstenilen bit test edilir eğer 0 ise program çalışmasına devam eder 1 ise bir satır atlanır program devam eder.Yani 1 olduğu taktirde goto main komutunu geçer ve ledi yakar
BTFSS PORTB,1 ; portb'nin 1ci bitini kontrol et
GOTO MAIN ; 0 ise main git
BSF PORTB,3 ; 1 ise portb'nin 3cü bitini 1 yap
PortB'nin 1ci biti 1 ise bir alt satırı atla portbnin 3cü bitini 1 yap eğer degilse MAIN'e git
devamı gelicektir... (görseller piclist.com aittir)