Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "p18f452.inc"
- CONFIG WDT = OFF ;Desabilita refresh automático
- CONFIG OSC = HS
- CONFIG BOR = OFF
- CONFIG LVP = OFF
- R2 EQU 0x2
- R3 EQU 0x3
- R4 EQU 0x4
- ORG 0x00
- movlw b'00000000' ;Define TRISB como saída
- movwf TRISB
- inicio:
- movlw b'10000001'
- movwf PORTB
- CALL DELAY
- movlw b'01000010'
- movwf PORTB
- CALL DELAY
- movlw b'00100100'
- movwf PORTB
- CALL DELAY
- movlw b'00011000'
- movwf PORTB
- CALL DELAY
- movlw b'00100100'
- movwf PORTB
- CALL DELAY
- movlw b'01000010'
- movwf PORTB
- CALL DELAY
- movlw b'10000001'
- movwf PORTB
- CALL DELAY
- goto inicio
- DELAY
- MOVLW D'10'
- MOVWF R4
- BACK
- MOVLW D'10'
- MOVWF R3
- AGAIN
- MOVLW D'250'
- MOVWF R2
- HERE
- NOP
- NOP
- ;Decrementa R2 e salva no próprio R2
- DECF R2, F
- ;Testa se R2 chegou a 0, se não volta para a instrução HERE
- ;Só irá passar para próxima instrução quando R2 for 0
- BNZ HERE
- DECF R3, F
- BNZ AGAIN ;O mesmo de HERE ocorre aqui, porém ele volta para AGAIN!
- DECF R4, F
- BNZ BACK ;O mesmo de HERE ocorre aqui, porém ele volta para BACK!
- RETURN
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement