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
4 yorum:
Tesekkurler ozellikle Pic Assembly 'e baslayanlarin degisik tarzda kod gormeleri acisindan guzel bir ornek.
Bu yürüyen led devresinin bana butonlu tipi lazım . PortA nın 0 numaralı ucuna basınca soldan sağa doğru kayacak . PortA nın 1 numaralı ucuna basınca sağdan sola doğru kayacak. Yardımcı olursanız sevinirim.
Yani bunu entegreye yüklediğimde kaç saniye aralıklarla yanar?
Yani bunu entegreye yüklediğimde kaç saniye aralıklarla yanar?
Yorum Gönder