Artikel: [ASM] Knightrider op PORTB

De code voor met een RC oscillator:

list p=16F84
#include<P16f84.Inc>
;Knightrider op portb
Org 00
GoTo start
start bsf STATUS,RP0 ;select bank 1
clrf TRISB ;port B als output zetten
bcf STATUS,RP0 ;ga terug naar bank 0
;hoofdprogramma
movlw b'00000001'
movwf PORTB
;
rechts rlf PORTB,f
btfss PORTB,7
GoTo rechts
;
links rrf PORTB,f
btfss PORTB,0
GoTo links
GoTo rechts
End

De code voor met een kristal oscillator:

list p=16F84
#include<P16f84.Inc>
reg equ 020h
reg2 equ 021h
;Knightrider op portb
Org 00
GoTo start
start bsf STATUS,RP0 ;select bank 1
clrf TRISB ;port B als output zetten
bcf STATUS,RP0 ;ga terug naar bank 0
;hoofdprogramma
movlw b'00000001'
movwf PORTB
;
rechts Call delay
rlf PORTB,f
btfss PORTB,7
GoTo rechts
;
links Call delay
rrf PORTB,f
btfss PORTB,0
GoTo links
GoTo rechts
;
delay incf reg,w
movwf reg
btfss STATUS,Z
GoTo delay
incf reg2,w
movwf reg2
btfss STATUS,Z
GoTo delay
Return
End

Een reactie achterlaten

Your email address will not be published.