- 3 Haz 2013
- 107
- 0
Haftaya Mikrodenetleyici Tabanlı Kontrol dersimin uygulaması var.
İki adet programın isis programındaki devresi lazım.
Yardımcı olursanız sevinirim.:RpS_smile:
İki adet programın isis programındaki devresi lazım.
Yardımcı olursanız sevinirim.:RpS_smile:
1. Çevrim tablosunun kullanılmasına örnek program. Bir step motoru PORTAnın 0. bitine bağlı RA0 butonuna basınca sağa doğru döndüren, RA1 butonu basılı tutularak RA0 butonuna basıldığında da sola döndürür. Step motor uçlarına gönderilecek olan gerilimler PORTBdeki LEDlerde görülür.
Kod:
LIST p=16F628A
INCLUDE "P16F628A.INC"
SAYAC1 EQU h'20'
SAYAC2 EQU h'21'
ADIM EQU h'22'
ORG h'00'
CLRF PORTB
BANKSEL TRISB
CLRF TRISB
MOVLW h'FF'
MOVWF TRISA
BANKSEL PORTB
MOVLW h'07'
MOVWF CMCON
MOVLW h'FF'
MOVWF ADIM
BASLA
BTFSC PORTA, 0
GOTO BASLA
BTFSC PORTA, 7
GOTO SAG
SOL
INCF ADIM, F
MOVF ADIM, W
ANDLW b'00000111'
CALL ADIMTBL
ANDLW b'00001111'
MOVWF PORTB
CALL GECIKME
GOTO BASLA
SAG
DECF ADIM, F
MOVF ADIM, W
ANDLW b'00000111'
CALL ADIMTBL
ANDLW b'00001111'
MOVWF PORTB
CALL GECIKME
GOTO BASLA
ADIMTBL
ADDWF PCL, F
RETLW b'1000'
RETLW b'1100'
RETLW b'0100'
RETLW b'0110'
RETLW b'0010'
RETLW b'0011'
RETLW b'0001'
RETLW b'1001'
GECIKME
MOVLW h'FF'
MOVWF SAYAC1
DONGU1
MOVLW h'FF'
MOVWF SAYAC2
DONGU2
DECFSZ SAYAC2, F
GOTO DONGU2
DECFSZ SAYAC1, F
GOTO DONGU1
RETURN
END
2. Bipolar (4 uçlu) bir step motoru bir yöne doğru RA0 butonuna bastıkça adım adım döndüren program. Step motor uçlarına gönderilecek gerilimler PORTBdeki RB0~RB3 uçlarına bağlanan LEDlerde görülür.
Kod:
LIST p=16F628A
INCLUDE "p16F628A.INC"
SAYAC1 EQU h'20'
SAYAC2 EQU h'21'
ADIM EQU h'22'
ORG h'00'
CLRF PORTB
BANKSEL TRISB
CLRF TRISB
MOVLW h'FF'
MOVWF TRISA
BANKSEL PORTB
MOVLW h'07'
MOVWF CMCON
BASLA
MOVLW h'FF'
MOVWF ADIM
SONRAKI_ADIM
TEST_PORTA
BTFSC PORTA,0
GOTO TEST_PORTA
INCF ADIM, F
MOVF ADIM, W
ANDLW b'00000111'
CALL ADIMTBL
ANDLW b'00001111'
MOVWF PORTB
CALL GECIKME
GOTO SONRAKİ_ADIM
ADIMTBL
ADDWF PCL, F
RETLW b'1000'
RETLW b'1100'
RETLW b'0100'
RETLW b'0110'
RETLW b'0010'
RETLW b'0011'
RETLW b'0001'
RETLW b'1001'
GECIKME
MOVLW h'FF'
MOVWF SAYAC1
DONGU1
MOVLW h'FF'
MOVWF SAYAC2
DONGU2
DECFSZ SAYAC2, F
GOTO DONGU2
DECFSZ SAYAC1, F
GOTO DONGU1
RETURN
END
Son düzenleme: