Blink code in assembly for PIC18F452
#include <p18f452.inc>
config OSC = HS
config BOR = OFF, WDT = OFF, LVP = OFF
cblock ; where varialbls are defined in memory
count1 ;
count2
count3
endc
org 0x0000
start:
clrf TRISC ; put port C [7:0] outputs
loop:
setf PORTC ; Increment PORT C by 1 so = 2
call delay500 ;500mS delay
clrf PORTC ; Increment PORT C by 1 so = 3
call delay500
bra loop
; Delay functions
delay500: ;500mS delay
movlw d'10'
movwf count3
bra delay
delay100: ;50mS delay
movlw d'1'
movwf count3
bra delay
delay:
movlw d'199'
movwf count1
delay_loop_outer:
clrf count2
delay_loop_inner:
incf count2
bnz delay_loop_inner
incf count1
bnz delay_loop_outer
decf count3
bnz delay_loop_outer
return
end