Dags för nästa nybörjarfråga.....
Så här ser mitt program ut:
Kod: Markera allt
#include <p16F690.inc>
__config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _BOR_OFF & _IESO_OFF & _FCMEN_OFF)
cblock 0x20
d1 ; variabel för delayloopen
d2 ; variabel för delayloopen
d3 ; variabel för delayloopen
endc
org 0
Start:
banksel TRISA ; väljer rätt registerbank för att sätta trisa
movlw 0x02 ; sättar RA1 till ingång och RA0, RA2, RA3, RA4 samt RA5 till utgångar
movwf TRISA
banksel PORTA ; väljer rätt registerbank för att styra ut porta
movlw 0x01 ; sätter RA0 till 1 sätter alla andra utgångar på PORTA till 0
movwf PORTA
Loop:
call Delay2s
btfsc PORTA,1 ; kollar om RA1 är 1 (då har vi mycket vatten), om 1 så skall vi inte göra något
goto Loop
Rela:
movlw 0x05 ; sätter RA0 och RA2 till 1
movwf PORTA
call Delay2s
movlw 0x01 ; sätter RA0 till 1
movwf PORTA
goto Loop
Delay2s:
movlw 0x11
movwf d1
movlw 0x5D
movwf d2
movlw 0x05
movwf d3
Delay_2s
decfsz d1, f
goto $+2
decfsz d2, f
goto $+2
decfsz d3, f
goto Delay_2s
goto $+1 ; 4 cykler
goto $+1
return
end
Är det någon vänlig själ som kan säga var jag körde i diket för någonstans?
M.v.h.
Ulf L.