ervinne

EEPROM

Oct 17th, 2012
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MPASM 1.13 KB | None | 0 0
  1.     #INCLUDE "P16F84A.INC"
  2.  
  3.     __CONFIG _XT_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF
  4.  
  5. ;----------------------------------------------------------
  6. ;   variable declaration
  7.  
  8. VAL             EQU     0x0C
  9. CONFIG_ADDR     EQU     0x0D
  10. COUNTERA        EQU     0x0E
  11. COUNTERB        EQU     0x0F
  12.  
  13.     CONSTANT    START_ADDR  =   0x00
  14.  
  15.     ERRORLEVEL -302
  16.  
  17.     ORG 0x00
  18.     GOTO START
  19.  
  20.     ORG 0x04
  21.     GOTO START
  22.  
  23. START
  24.     BSF     STATUS,     RP0
  25.     MOVLW   0x00
  26.     MOVWF   TRISB
  27.  
  28.     BCF     STATUS,     RP0
  29.     CLRF    PORTB
  30.  
  31.     MOVLW   START_ADDR
  32.     MOVWF   CONFIG_ADDR
  33.  
  34. READ_VAL
  35.     MOVF    CONFIG_ADDR, W
  36.     MOVWF   EEADR
  37.  
  38.     BSF     STATUS, RP0
  39.     MOVF    EEDATA, W
  40.     MOVWF   VAL
  41.  
  42.     CALL    OUTPUT_VAL
  43.  
  44.     INCF    CONFIG_ADDR, F
  45.  
  46.     CALL    DELAY
  47.  
  48.     XORLW   0x08
  49.     BTFSS   STATUS, Z
  50.     GOTO    READ_VAL
  51.     GOTO    START
  52.  
  53. OUTPUT_VAL
  54.     MOVF    VAL, W
  55.     MOVWF   PORTB
  56.     RETURN
  57.  
  58.  
  59. DELAY
  60.     ;---------------------------------------------------------
  61.     ;   create a delay
  62.     MOVLW D'5'
  63.     MOVWF COUNTERA
  64.  
  65. LOOPA
  66.     CALL DELAYA
  67.     DECFSZ COUNTERA, F
  68.     GOTO LOOPA
  69.     RETLW 0x00
  70.  
  71. DELAYA
  72.     MOVLW D'15'
  73.     MOVWF COUNTERB
  74.  
  75. LOOPB
  76.     CALL DELAYB
  77.     DECFSZ COUNTERB, F
  78.     GOTO LOOPB
  79.     RETLW 0x00
  80.  
  81. DELAYB
  82.     CLRF TMR0
  83.     BCF INTCON, T0IF
  84. LOOPC
  85.     BTFSS INTCON, T0IF
  86.     GOTO LOOPC
  87.     RETLW 0x00
  88.    
  89.     END
Advertisement
Add Comment
Please, Sign In to add comment