Está en la página 1de 2

LECTURA Y ESCRITURA EN LA EEPROM CONTADOR MOD 32 LIST P=16F84A INCLUDE<P16F84A.

INC> CBLOCK 0X20 DATO,DIREC ENDC ORG 0X2007 DW 0X3FFA ORG 0 ;CONFIGURANDO PUERTOS ;-----------------BANKSEL TRISB CLRF TRISB BANKSEL PORTB CLRF PORTB ;ASIGNANDO DIRECCION ;INICIAL EN LA EEPROM ;-----------------MOVLW 0X00 MOVWF EEADR CALL LEER XORLW 0XFF BNZ RECU SUBIR MOVLW 0X01 MOVWF EEADR MOVLW 0XFF CALL GRABAR MOVLW 0X00 MOVWF EEADR CLRW MOVWF DATO MOVWF PORTB CALL GRABAR CALL TIME INCF DATO,F MOVFW DATO XORLW .32 BZ BAJAR MOVFW DATO GOTO S2 ;RECUPERA EL DATO DE LA EEPROM ;---------------------RECU MOVFW EEDATA MOVWF DATO ;---------------------;RECUPERA LA DIRECCION ;----------------------MOVLW 0X01 MOVWF EEADR CALL LEER MOVWF DIREC MOVLW 0X00 MOVWF EEADR MOVF DIREC,F BZ B3 B S3 GRABAR MOVWF EEDATA BANKSEL EECON1 ;DESACTIVA INTERRUPCIONES BCF INTCON,GIE ;HABILITA EL PROCESO DE ESCRITURA BSF EECON1,WREN MOVLW 0X55 MOVWF EECON2 MOVLW 0XAA MOVWF EECON2 ;ESCRIBE EN LA EEPROM BSF EECON1, WR ;VERIFICA SI YA GRABO BTFSS EECON1,EEIF GOTO $ -1 BCF EECON1,EEIF BSF INTCON,GIE BANKSEL EEDATA RETURN LEER BANKSEL EECON1 BSF EECON1,RD BANKSEL EEDATA MOVFW EEDATA RETURN TIME BAJAR MOVLW 0X01 MOVWF EEADR MOVLW 0 CALL GRABAR MOVLW 0X00 MOVWF EEADR MOVLW .30 MOVWF DATO MOVWF PORTB CALL GRABAR CALL TIME DECF DATO,F MOVFW DATO BZ SUBIR GOTO B2 T3 T2 T1 MOVLW .3 MOVWF 0X43 MOVLW .200 MOVWF 0X42 MOVLW .249 MOVWF 0X41 NOP DECFSZ 0X41,F GOTO T1 DECFSZ 0X42,F GOTO T2 DECFSZ 0X43,F GOTO T3 RETURN END

S4 S2 S3

B4 B2 B3

También podría gustarte