Kod: Markera allt
" så blir det bättre.
Kod: Markera allt
;**********************************************************
; CONFIG settings
;
config OSC = ECIO, WDT=OFF
;
;**********************************************************
org h'0000'
goto start
org h'1000'
START
Kod: Markera allt
;***************************************************************************
LIST P=18f2480 ;Anger kompilator för processorn
#include <p18f2480.inc>
;****************************************************************************
;**********************************************************
; CONFIG settings
;
config OSC = ECIO, WDT=OFF
;
;**********************************************************
mycode code h'0000'
goto start
main_code code
START: MOVWF PORTA ;Nollställer Port A
MOVWF PORTB ;Nollställer Port B
MOVLW 0x00 ;Skriver värdet 00 hex till W registret
MOVWF TRISA ;Värdet sparas i riktningsregistret för port A
;Vilket innebär att alla bitarna blir utgångar
MOVLW 0x00 ;Skriver värdet 00 hex till W registret
MOVWF TRISB ;Värdet sparas i riktningsregistret för port B
;Vilket innebär att alla bitarna blir utgångar
;Slut på initiering
;*****************************************************************************
MOVLW 0x02 ;Lägg 02 i register W
MOVWF PORTA ;Lägg ut detta på PORT A för att bland annat aktivera krets 74HCT541 på laborationskort MT3
Blink: MOVLW 0x00 ;Lägg 1 i register W
MOVWF PORTB ;Lägg ut innehållet i register W på Port B för att tända lysdioden.
CALL Delay ;Subrutinanrop: Delay
CALL Delay
MOVLW 0xff ;Lägg 00 i register W
MOVWF PORTB ;Lägg ut innehållet i register W på Port B för att släcka lysdioden.
CALL Delay
CALL Delay
MOVLW 0x00
MOVWF PORTB
CALL Delay ;Subrutinanrop: Delay
CALL Delay
GOTO Blink ;Repetera.
Delay: MOVLW 0xff ;Tidsfördröjning ca 1 sekund
MOVWF 0x0d
Loop2: MOVLW 0xff
MOVWF 0x0c
Loop1: DECFSZ 0x0c,1
GOTO Loop1
DECFSZ 0x0d,1
GOTO Loop2
RETURN
END