Artikel: [ASM] Looplicht op PORTB

De code voor met een RC oscillator:

list p=16F84
#include<P16f84.Inc>
; looplicht op portb
;Hoofdprogramma
Org 00
GoTo start
start bsf STATUS,RP0 ;selecteer bank 1
clrf TRISB ;port B als uitgang zetten
bcf STATUS,RP0 ;terug naar bank 0 gaan
; hoofdprogramma
movlw b'00000001'
movwf PORTB
schuif rlf PORTB,f
btfss PORTB,7 ;Controleren of laatste led aan is
GoTo schuif ;Als het niet de laatste led is dan terug naar schuif
movlw b'00000001' ;Opnieuw de eerste led aandoen
movwf PORTB
GoTo schuif ;Naar schuif gaan
End

De code voor met een kristal oscillator:

list p=16F84
#include<P16f84.Inc>
; looplicht met vertraging op portb
;registers van de vertragingslus
reg equ 020h
reg2 equ 021h
;Hoofdprogramma
Org 00
GoTo start
start bsf STATUS,RP0 ;selecteer bank 1
clrf TRISB ;port B als uitgang zetten
bcf STATUS,RP0 ;terug naar bank 0 gaan
; hoofdprogramma
movlw b'00000001'
movwf PORTB
schuif Call delay
rlf PORTB,f
btfss PORTB,7 ;Controleren of laatste led aan is
GoTo schuif ;Als het niet de laatste led is dan terug naar schuif
Call delay
movlw b'00000001' ;Opnieuw de eerste led aandoen
movwf PORTB
GoTo schuif ;Naar schuif gaan
;Vertragingslus
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.