PIC Assembly kodlarken IDE olarak MPLAB kullandım.
Derleyici olarak MPASMWIN kullandım.
Proteus versiyonum 7.1 SP2
Size devrenin ISIS çizimini,ASM dosyasını ve HEX dosyasını vereceğim.
Devreden bir görüntü:
MPLAB IDE'den bir görüntü:
Asıl olayımıza gelelim,
Şimdi kodları görenlerden bazıları neden MOVLW,MOVWF ikilisi kullandın amele'lik değil mi,BSF komutuyla işi bitirebilirdin diyebilirler.
Hem yeni başlayanlar,hem de orta düzey PIC ASM bilenlerin mantığı kavrayabilmesi için bu tarz yazmayı istedim.
Evet devremizin ASM Dosyası:
;===YURUYENLEDLER.ASM===08/09/2011===============================================
;Coded By yücelyılmaz
;yucelz.blogspot.com
LIST P=16F628A
INCLUDE "P16F628A.INC"
__CONFIG _XT_OSC & _WDT_OFF & _PWRTE_ON & _MCLRE_ON & _BODEN_OFF & _LVP_OFF & _DATA_CP_OFF & _CP_OFF
;--------------------------------------------------------------------------------
ORG H'0000'
SAY1 EQU H'20'
SAY2 EQU H'21'
BANKSEL TRISB
CLRF TRISB
BASLA
BANKSEL PORTB
CLRF PORTB
MOVLW B'00000001'
MOVWF PORTB
CALL GECIKME
MOVLW B'00000010'
MOVWF PORTB
CALL GECIKME
MOVLW B'00000100'
MOVWF PORTB
CALL GECIKME
MOVLW B'00001000'
MOVWF PORTB
CALL GECIKME
MOVLW B'00010000'
MOVWF PORTB
CALL GECIKME
MOVLW B'00100000'
MOVWF PORTB
CALL GECIKME
MOVLW B'01000000'
MOVWF PORTB
CALL GECIKME
MOVLW B'10000000'
MOVWF PORTB
CALL GECIKME
GOTO BASLA
GECIKME
MOVLW H'FF'
MOVWF SAY1
DONGU1
MOVLW H'FF'
MOVWF SAY2
DONGU2
DECFSZ SAY2,F
GOTO DONGU2
DECFSZ SAY1,F
GOTO DONGU1
RETURN
END
Ben kopyalamayla uğraşamam diyorsan buradan indir
Devremizin HEX dosyası
Devremizin Proteus/ISIS'te çizilmiş hali
Bir sonraki yazıya görüşmek üzere..

0 yorum:
Yorum Gönder