yusufan
Üye
- Katılım
- 17 Mar 2009
- Mesajlar
- 140
- Puanları
- 1
şimdi arkadaşlar ben bu devreyi tuna adlı üstadın sitesinden bulup yaptım şu anda deniyorum ama sanırım kodlarda bir hata var çünkü herşey çalışıyor sensör algılıyor ama motorlarda problkem var bi kontrol eder misiniz bilenler varsada bana prog atabilir mi?kendi stesnden soramadm çünkü yoğun adam cvp veremior bunu yapanlar bi yardm edeblir mi yaw
koduda bu:
koduda bu:
;ÇİZGİ İZLEYEN ROBOT ÖRNEK ASM KODLARI
;BU PROGRAM BEYAZ ZEMİN ÜZERİNE SİYAH ÇİZGİ İÇİN VE DİFERANSİYEL SÜRÜŞ SİSTEMİ İÇİN YAZILMIŞTIR
;Tuna BULUT TARAFINDAN 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
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