Advertisement
ronald_araujo

Led com daley

Nov 23rd, 2013
38
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include "p18f452.inc"
  2.  
  3. CONFIG WDT = OFF    ;Desabilita refresh automático
  4. CONFIG OSC = HS    
  5. CONFIG BOR = OFF
  6. CONFIG LVP = OFF
  7.  
  8. R2 EQU 0x2
  9. R3 EQU 0x3
  10. R4 EQU 0x4
  11.  
  12. ORG 0x00
  13.  
  14. movlw b'00000000'   ;Define TRISB como saída
  15. movwf TRISB
  16.  
  17. inicio:
  18.     movlw b'10000001'
  19.     movwf PORTB
  20.     CALL DELAY
  21.  
  22.     movlw b'01000010'
  23.     movwf PORTB
  24.     CALL DELAY
  25.  
  26.     movlw b'00100100'
  27.     movwf PORTB
  28.     CALL DELAY
  29.  
  30.     movlw b'00011000'
  31.     movwf PORTB
  32.     CALL DELAY
  33.  
  34.     movlw b'00100100'
  35.     movwf PORTB
  36.     CALL DELAY
  37.  
  38.     movlw b'01000010'
  39.     movwf PORTB
  40.     CALL DELAY
  41.  
  42.     movlw b'10000001'
  43.     movwf PORTB
  44.     CALL DELAY
  45. goto inicio
  46.  
  47. DELAY
  48.     MOVLW D'10'
  49.     MOVWF R4
  50.    
  51.     BACK
  52.         MOVLW D'10'
  53.         MOVWF R3
  54.  
  55.     AGAIN
  56.         MOVLW D'250'
  57.         MOVWF R2
  58.  
  59.     HERE
  60.         NOP
  61.         NOP
  62.         ;Decrementa R2 e salva no próprio R2
  63.         DECF R2, F
  64.    
  65.         ;Testa se R2 chegou a 0, se não volta para a instrução HERE
  66.         ;Só irá passar para próxima instrução quando R2 for 0
  67.         BNZ HERE   
  68.  
  69.         DECF R3, F
  70.         BNZ AGAIN   ;O mesmo de HERE ocorre aqui, porém ele volta para AGAIN!
  71.  
  72.         DECF R4, F
  73.         BNZ BACK    ;O mesmo de HERE ocorre aqui, porém ele volta para BACK!
  74. RETURN
  75.  
  76. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement