;BU PROGRAM BEYAZ ZEMİN ÜZERİNE SİYAH ÇİZGİ İÇİN VE DİFERANSİYEL SÜRÜŞ SİSTEMİ İÇİN YAZILMIŞTIR
LIST P=16F628A
INCLUDE "P16F628A.INC"
__CONFIG _XT_OSC & _WDT_OFF & _PWRTE_ON & _MCLRE_ON & _BODEN_OFF & _LVP_OFF & _DATA_CP_OFF & _CP_OFF
;----------------------------------------------------------------------DEĞİŞKEN TANIMLAMALARI---------------------------------------------------------------------
CBLOCK H'20'
SAYAC ;SAYAC DEĞİŞKENİNİ BİR ADRESE ATA
IS ;IS DEĞİŞKENİNİ BİR ADRESE ATA
BEK ;BEK DEĞİŞKENİNİ BİR ADRESE ATA
ENDC
;-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
MOVLW H'07'
MOVWF CMCON ;COMPARATOR ÖZELLİĞİ KAPALI VE PORTA I/O İÇİN AKTİF MODDA
CLRF PORTB ;PORTB Yİ SIFIRLA
;GİRİŞ-ÇIKIŞ TANIMLAMALARI
BANKSEL TRISA ;BANK1 E GEÇİŞ YAP
MOVLW H'FF'
MOVWF TRISA ;PORTA NIN BÜTÜN PİNLERİNİ GİRİŞ YAP
CLRF TRISB ;PORTB NİN BÜTÜN PİNLERİNİ ÇIKIŞ YAP
BANKSEL PORTB ;TEKRAR BANK0 A GEÇ
CLRF PORTB ;PORTB Yİ SIFIRLA
;ANA PROGRAM
MOVLW D'128'
MOVWF IS ;IS DEĞİŞKENİNE 128 SAYISINI YÜKLE
1 süresi
0 süresi
MOVLW D'128'
MOVWF BEK ;BEK DEĞİŞKENİNE 128 SAYISINI YÜKLE
DONGU
BTFSS PORTA,1 ;ORTA SENSÖRÜ KONTROL ET EĞER 0 SA(SİYAH ÇİZGİDEYSE) DUZ GIT
;1 SE BİR SONRAKİ KOMUTU ATLA SONRAKİ KOMUTA GEÇ
GOTO DUZ ;DUZ ALT RUTİNİNE GİT
BTFSS PORTA,0 ;SOL SENSÖRÜ KONTROL ET 0 SA SOLA DON
;1 SE BİR SONRAKİ KOMUTU ATLA SONRAKİ KOMUTA GEÇ
GOTO SOL ;SOL ALT RUTİNİNE GİT
BTFSS PORTA,2 ;SAG SENSÖRÜ KONTROL ET 0 SA SAĞA DÖN
GOTO SAG
GOTO DONGU
DUZ
BSF PORTB,4 ;SAG MOTORU TAM GÜÇTE ÇALIŞTIR
BSF PORTB,6 ;SOL MOTORU TAM GÜÇTE ÇALIŞTIR
GOTO DONGU
SOL
BSF PORTB,4 ;SAG MOTORU TAM GÜÇTE ÇALIŞTIR
;----------------------------------------------SOL MOTORU %50 HIZDA ÇALIŞTIR(PWM)----------------------------------------------------
BSF PORTB,6
MOVF IS,W
CALL GECIKME
BCF PORTB,6 ;SOL MOTORU DURDUR
MOVF BEK,W
CALL GECIKME
;--------------------------------------------------------------------------------------------------------------------------------------------------------------
GOTO DONGU
SAG
BSF PORTB,6 ;SOL MOTORU TAM GÜÇTE ÇALIŞTIR
;----------------------------------------------SAG MOTORU %50 HIZDA ÇALIŞTIR(PWM)-----------------------------------------------------
BSF PORTB,4
MOVF IS,W
CALL GECIKME
BCF PORTB,4 ;SAG MOTORU DURDUR
MOVF BEK,W
CALL GECIKME
;-----------------------------------------------------------------------------------------------------------------------------------------------------------------
GOTO DONGU
GECIKME
MOVWF SAYAC ; W YAZMACINDAKİ DEĞERİ SAYAC DEĞİŞKENİNE ATA
DONGU2
DECFSZ SAYAC,F ;SAYAC DEĞİŞKENİNDEKİ SAYIYI 1 AZALT VE EĞER 0 SA BİR SONRAKİ KOMUTU ATLA
GOTO DONGU2
RETURN
END ;PROGRAMI SONLANDIR