* Pepe Sagitrón Jornadas MMIV / 4-FLASH / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 24.

Slides:



Advertisements
Presentaciones similares
PIC 16F873 CONVERSIÓN A/D Y TRANSMISIÓN POR PUERTO SERIE
Advertisements

1 Memorias Conceptos. Se denomina elemento de memoria a cualquier dispositivo que tenga capacidad para “recordar” información almacenada previamente. ¿Que.
Bases de la programación de un PLC
Microprocesadores Componentes básicos..
LOS PUERTOS DE E/S PUERTO A
Alumno: Roy R. Mercado Núñez
Fernando Escribano Pro 1º de Bachillerato
ARQUITECTURA DE COMPUTADORAS
Automatización Industrial
MICROCONTROLADORES.
ITESCAM Lenguaje de Interfaz
ESCUELA POLITÉCNICA DEL EJÉRCITO
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
Entrada / salida digital con ccs
Unidad 3 Componentes internos del ordenador
Microcontroladores PIC
Arquitectura del Computador
Semana 4 - periferico.
CPU “Microprocesador de datos” Bus “ Transporte de los datos”
La memoria de acceso aleatorio (en inglés:random- access memory, cuyo acrónimo es RAM) es la memoria desde donde el procesador recibe las instrucciones.
Electrónica Digital 1. Es la parte de un sistema que almacena datos binarios en grandes cantidades. Están formadas por matrices de elementos de almacenamiento.
Microcontroladores PIC16F84A.
Operación de Micros e Interfaces
Memorias – Introducción
TIMER 1 El módulo TIMER1 así como el TIMER0 es un temporizador/contador con las siguientes características. Trabaja con 16 bits (con 2 registros de 8 bits:TMR1H.
MEMORIAS ROM ASPECTOS BÁSICOS
Overview Sistemas Computacionales
MICROCONTROLADORES NOCIONES BÁSICAS. ¿QUÉ ES UN MICROCONTROLADOR? MICROCONTROLADOR = MICROPROCESADOR + MEMORIA + PERIFERICOS.
Memorias RAM Características: Son de lectura escritura
Objetivos Generales Entender el funcionamiento de un microcontrolador
MÓDULO II: El microcontrolador PIC16F8X
Nombre: Cristian Achina Curso: 4to «A» Fecha:
MICROCONTROLADORES COMPATIBLES CON 8XC51
Tema 1: Introducción a los microcontroladores
Jerarquía de las memorias
Memorias.
Memoria Principal Memoria de acceso aleatorio. La unidad de memoria y jerarquías de almacenamiento Unidades de Almacenamiento. La unidad de memoria es.
MICROCONTROLADORES TATIANA HURTADO RIVAS LILIANA PORTELA NOREÑA
Módulo LCD Controlador HD44780.
Sistemas de E/S, Programada por Interrupciones su Gestión
INTEGRANTES: Andrés Bustos Jorge Chuquirima Fernando Olmedo Byron Cabrera.
Clase 14: Memoria EEPROM.
Tema 4: El microcontrolador PIC16F876
Real Colegio San José S.A.S Programación - BASIC.
BIOS El BIOS es un conjunto de programas y controladores que permiten arrancar el equipo al encenderlo y que actúan además como interfaz entre el sistema.
SANTIAGO MORA BERMÚDEZ
Universidad Nacional de Ingeniería
NOCIONES BÁSICAS COMPUTO II
Tema 10 Subsistema de memoria de un computador.
Estructura Microcontrolador
PICOBLAZE RESUMEN.
RESUMEN: Softmicro de 8 bits Xilinx
PICmicro GAMA MEDIA: PIC16F84 [I]
Por: Jowin Daniel Rojas Espinosa.  ROM (Read Only Memory) Como su nombre lo indica es una memoria de solo lectura, en si la memoria se mide en Bytes.
Alumno: Gerardo Mario Valdés Ortega
¿Qué es un Microcontrolador?
INTEGRANTES: JOSE ESTEVEZ _HUGO ANDRADE CURSO: 5TO “B”
ESTADO Registro de ESTADO más utilizado  Es el registro más utilizado.  Ocupa la dirección 03 H tanto del Banco 0 como el Banco 1 de la Memoria de Datos.
El procesador es el cerebro del computador que se encarga de organizar, procesar la información ejecutar cálculos y en general realizar muchos procesos.
SIMULACIÓN Y ROBÓTICA. Juan Carlos González-Calero Labián.
REPUBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD ALONSO DE OJEDA FACULTAD DE INGENIERÍA ESCUELA DE COMPUTACIÓN ING. PROF. LEONEL SEQUERA MEMORIAS.
Resolución de problemas Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.
Unidad de transferencia de memoria
1 Unidades funcionales de un ordenador Procesadores Memorias Dispositivos de E/S
Programación de microcontroladores PIC16f877a en linux
 PRESENTADO POR : ANDRES MAYORGA DANIELA PAEZ VEGA.
INTRODUCCIÓN A LA INFORMÁTICA Realizado por: SARI FOLGADO.
CONIMEIRA XVI Bootloaders para microcontroladores PIC de Microchip Presentan: Ing. Ricardo Guadrón Tec. Juan José Guevara Escuela Especializada en Ingeniería.
Arquitectura de Computadores Clase 17 Tecnologías de Memorias IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de.
1 Escuela Politécnica Superior Universidad Autónoma de Madrid Juan González PIC 16F87X Curso de microcontroladores PIC. Semana del Mayo Andrés.
Transcripción de la presentación:

* Pepe Sagitrón Jornadas MMIV / 4-FLASH / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 24

Sagitrón Jornadas MMIV / 4-FLASH / 2 © 2002 Microchip Technology Incorporated. All Rights Reserved. FLASH y MICROCHIP Microchip ha estado suministrando memorias EEPROM durante muchos años.Microchip ha estado suministrando memorias EEPROM durante muchos años. –Actualmente se fabrican mas de 1 millón de piezas diarias. –La difusión se realiza en fábricas propias. Microchip es un líder de microcontroladores de 8 bits en OTP (EPROM).Microchip es un líder de microcontroladores de 8 bits en OTP (EPROM). Microchip suministra microcontroladores con memoria FLASH desde 1993 (PIC16C84).Microchip suministra microcontroladores con memoria FLASH desde 1993 (PIC16C84).

Sagitrón Jornadas MMIV / 4-FLASH / 3 © 2002 Microchip Technology Incorporated. All Rights Reserved. Porqué FLASH Diseño más flexible y amigable.Diseño más flexible y amigable. Menor coste de dispositivos de desarrollo.Menor coste de dispositivos de desarrollo. Desarrollo con dispositivos de producción incluyendo encapsulados SMD reusables.Desarrollo con dispositivos de producción incluyendo encapsulados SMD reusables. Menores tiempos de borrado.Menores tiempos de borrado. Depuración sobre el circuito de aplicación.Depuración sobre el circuito de aplicación. Menor inventario.Menor inventario. Grabación y reprogramación en circuito.Grabación y reprogramación en circuito. Autoverificación, ajuste y calibración.Autoverificación, ajuste y calibración. Códigos de identificación y serialización.Códigos de identificación y serialización. Reducción de costes de actualización.Reducción de costes de actualización.

Sagitrón Jornadas MMIV / 4-FLASH / 4 © 2002 Microchip Technology Incorporated. All Rights Reserved. Tecnología de memoria no volátil La memoria EEPROM actual es de 4ª generación.La memoria EEPROM actual es de 4ª generación. –La célula tiene 2 transistores FLOTOX Fowler-Nordheim Tunneling para borrado y escritura. –Se fabrica con tecnología CMOS de 0,9 µm y 0,7 µm. –80Å de grosor del óxido del tunel dieléctrico. La 5ª generación utiliza una célula con un único transistor canal-P.La 5ª generación utiliza una célula con un único transistor canal-P. –Más pequeña que la FLOTOX. –Menor tensión de programación. –Mayor fiabilidad. –Se fabrica con tecnología CMOS de 0,5 µm. –80Å de grosor del tunel como anteriormente.

Sagitrón Jornadas MMIV / 4-FLASH / 5 © 2002 Microchip Technology Incorporated. All Rights Reserved. PIC16C77 PIC16F77 PIC16C77 PIC16F77 SSP 0.5µm 0.9µm

Sagitrón Jornadas MMIV / 4-FLASH / 6 © 2002 Microchip Technology Incorporated. All Rights Reserved. PIC16F877 PIC16F877A PIC16F877 PIC16F877A 0.7µm 0.5µm

Sagitrón Jornadas MMIV / 4-FLASH / 7 © 2002 Microchip Technology Incorporated. All Rights Reserved. La nueva célula FLASH Un único transistor por celda.Un único transistor por celda. Area similar al de la célula ROM.Area similar al de la célula ROM. Permite el diseño de microcontroladores con tamaños de memoria entre 1K y 128K Bytes.Permite el diseño de microcontroladores con tamaños de memoria entre 1K y 128K Bytes. Proceso compatible con EEPROM de datos.Proceso compatible con EEPROM de datos. La tecnología de 0.5 µm minimiza el area utilizada con la consiguiente reducción de costes de producción.La tecnología de 0.5 µm minimiza el area utilizada con la consiguiente reducción de costes de producción. Posibilidad de reducción de escala para futuros procesos.Posibilidad de reducción de escala para futuros procesos.

Sagitrón Jornadas MMIV / 4-FLASH / 8 © 2002 Microchip Technology Incorporated. All Rights Reserved.ProgramaciónProgramación Célula no volátil de 4ª generación.Célula no volátil de 4ª generación. –Tecnología de 0.7 µm –Programación por palabras –8 ms por ciclo. Célula no volátil de 5ª generación.Célula no volátil de 5ª generación. –Tecnología de 0.5 µm. –Programación por bloques. –1ms / 2ms por ciclo. TecDeviceBl. BorradoProg. Exter.Prog. Inter. 0.9PIC16C ms/ 1 Pal PIC16C ~ 2ms/ 1 Pal PIC16F877 1 Palabra 8ms/ 1 Pal. 8ms/1 Pal. 0.5PIC16F77 Completo 1ms/ 2 Pal PIC16F877A 1 Palabra 1ms/ 8 Pal. 2ms/1 Pal. 0.5PIC18F Bytes 1ms/16 Pal. 2ms/8 Bytes 0.5PIC18F Bytes 1ms/2x64 B. 2ms/8 Bytes 0.5PIC18FXXX 64 Bytes 1ms/2x64xMod. 2ms/8 Bytes

Sagitrón Jornadas MMIV / 4-FLASH / 9 © 2002 Microchip Technology Incorporated. All Rights Reserved. Comparación OTP, FLASH, EFLASH OTP FLASH EnhancedFLASH Tensión de funcionamiento Datos EEPROM NoNoSi Tensión de programación Externo 5 V Vdd Externo 5 V Vdd Entire Vdd Range Método de programación ICSPICSPICSP Auto programación NoNoSi Depuracíón ICD NoNoSi Pulso de programación 100 us 1 ms Ciclos E/W Programa 100K Datos 1K Programa

Sagitrón Jornadas MMIV / 4-FLASH / 10 © 2002 Microchip Technology Incorporated. All Rights Reserved. Modos de programación de EFLASH ¶ Modo “High Voltage ICSP TM ”. –Se alimenta V DD con 5 voltios. –La tensión de programación (13V) se aplica al pin MCLR/VPP. –Los pines RB6 y RB7 se utilizan para CLK y DATA. –El procedimiento es similar al de muchos otros PICmicro ®. · Modo “Low Voltage ICSP TM ”. –Se aplican 5V a los pines V DD y MCLR/VPP. –Se utiliza el pin RB3/PGM para entrar en modo programación. –Los pines RB6 y RB7 se utilizan para CLK y DATA. ¸ Modo “Self Program”. –La ejecución de la aplicación, bajo las condiciones de operación (2.0V to 5.5 V), permite grabar en la memoria de programa un nuevo contenido.

Sagitrón Jornadas MMIV / 4-FLASH / 11 © 2002 Microchip Technology Incorporated. All Rights Reserved. Modo “High Voltage ICSP TM ”... Inicialmente VDD y MCLR/VPP estarán a 0 Vcc.Inicialmente VDD y MCLR/VPP estarán a 0 Vcc. Se alimenta poniendo +5 Vcc en VDD.Se alimenta poniendo +5 Vcc en VDD. Se sube MCLR/VPP a la tensión de programación +13Vcc.Se sube MCLR/VPP a la tensión de programación +13Vcc. EL PIC entra en el modo “High Voltage ICSP TM ”.EL PIC entra en el modo “High Voltage ICSP TM ”. Los pines RB6 y RB7 se utilizan como reloj y datos para los comandos de programación serie.Los pines RB6 y RB7 se utilizan como reloj y datos para los comandos de programación serie. Se pueden realizar todas las operaciones de programación y configuración.Se pueden realizar todas las operaciones de programación y configuración. Sólamente en este modo es posible programar el bit LVP a ‘0’. En este caso el pin RB3/PGM estará disponible como una entrada/salida normal.Sólamente en este modo es posible programar el bit LVP a ‘0’. En este caso el pin RB3/PGM estará disponible como una entrada/salida normal. El modo “High Voltage ICSP TM ” se puede utilizar siempre, independientemente del estado del bit LVP.El modo “High Voltage ICSP TM ” se puede utilizar siempre, independientemente del estado del bit LVP.

Sagitrón Jornadas MMIV / 4-FLASH / 12 © 2002 Microchip Technology Incorporated. All Rights Reserved.... Modo “High Voltage ICSP TM ” RB6RB7 V DD CLKDATA 13V +5V 5V MCLR V PP V SS Modo HV ICSP™ PIC16F87XPIC16F87X

Sagitrón Jornadas MMIV / 4-FLASH / 13 © 2002 Microchip Technology Incorporated. All Rights Reserved. Modo “Self Program” La ejecución normal de la aplicación permite:La ejecución normal de la aplicación permite: –Leer el contenido de la memoria de programa. –Escribir palabras siempre que esté habilitada la escritura. Aplicaciones:Aplicaciones: –Reprogramación remota de secciones de la aplicación. –Revisiones de código y actualización de versiones. –Programas de test y ajuste en línea de producción. –Verificación de integridad del programa (Checksums). –Almacenamiento de datos, parámetros y constantes de calibración en memoria de programa (14/16-bits). Librerías:Librerías: –Downloader Tech. Brief: TB025. –Memory Checksum Tech. Brief: TB026. –Bootloader Application Note: AN732

Sagitrón Jornadas MMIV / 4-FLASH / 14 © 2002 Microchip Technology Incorporated. All Rights Reserved. PIC16F87X EEPROM & FLASH... EEADR (0x10D)EEADR (0x10D) –Contiene la dirección de los datos en EEPROM. –Contiene los 8 LSbs de la dirección de la memoria de programa FLASH. EEADRH (0x10F)EEADRH (0x10F) –Se usa exclusivamente para contener los 5 MSbs de la dirección de la memoria de programa FLASH. EEDATA (0x10C)EEDATA (0x10C) –Contiene el byte de datos desde/hacia la EEPROM. –Contiene los 8 LSbs de datos desde/hacia la memoria de programa FLASH. EEDATH (0x10E)EEDATH (0x10E) –Contiene los 6 MSbs de datos desde/hacia la memoria de programa FLASH.

Sagitrón Jornadas MMIV / 4-FLASH / 15 © 2002 Microchip Technology Incorporated. All Rights Reserved.... PIC16F87X EEPROM & FLASH EECON1 (0x18C)EECON1 (0x18C) –Es el registro de los indicadores y permisos. EECON2 (0x18D)EECON2 (0x18D) –Es un registro inexistente, se lee siempre 0´s. –Se utiliza exclusivamente para la secuencia del comando de escritura (escribiendo primero 0x55 y luego 0xAA). GrabaciónGrabación –El proceso es completamente automático. –Se utiliza el oscilador interno RC como reloj motor de la secuencia. –El éxito de la operación no está garantizado, por lo que es imperativa la verificación mediante un ciclo de lectura.

Sagitrón Jornadas MMIV / 4-FLASH / 16 © 2002 Microchip Technology Incorporated. All Rights Reserved. PIC16F87X EEPROM & FLASH Diagrama S. F. R. FLASH Program Memory 8K X X 8 DataEEPROMMemory EEADRH EEADR EEADRH EEADR EEDATH EEDATA EEDATH EEDATA EECON1 EECON

Sagitrón Jornadas MMIV / 4-FLASH / 17 © 2002 Microchip Technology Incorporated. All Rights Reserved. PIC16F87X Lectura EEPROM Se escribe la dirección que se desea leer en el registro EEADR.Se escribe la dirección que se desea leer en el registro EEADR. Se borra (0) el bit EEPGD (EECON1 ) para seleccionar la memoria de datos EEPROM.Se borra (0) el bit EEPGD (EECON1 ) para seleccionar la memoria de datos EEPROM. Se pone (1) el bit RD (EECON1 ).Se pone (1) el bit RD (EECON1 ). El dato estará disponible en el registro EEDATA en la siguiente instrucción.El dato estará disponible en el registro EEDATA en la siguiente instrucción.

Sagitrón Jornadas MMIV / 4-FLASH / 18 © 2002 Microchip Technology Incorporated. All Rights Reserved. PIC16F87X Programa para lectura EEPROM. BSF STATUS,RP1 BSF STATUS,RP1 BCF STATUS,RP0 BCF STATUS,RP0 MOVF ADDRESS,W MOVF ADDRESS,W MOVWF EEADR MOVWF EEADR. BSF STATUS,RP0 BSF STATUS,RP0 BCF EECON1,EEPGD BCF EECON1,EEPGD BSF EECON1,RD BSF EECON1,RD BCF STATUS,RP0 BCF STATUS,RP0 MOVF EEDATA,W MOVF EEDATA,W MOVWF VALUE MOVWF VALUE

Sagitrón Jornadas MMIV / 4-FLASH / 19 © 2002 Microchip Technology Incorporated. All Rights Reserved. PIC16F87X Escritura EEPROM Escribir la dirección en EEADR.Escribir la dirección en EEADR. Escribir el dato deseado en EEDATA.Escribir el dato deseado en EEDATA. Se borra (0) el bit EEPGD (EECON1 ) para seleccionar la memoria de datos EEPROM.Se borra (0) el bit EEPGD (EECON1 ) para seleccionar la memoria de datos EEPROM. El bit WREN (EECON1 ) debe de estar a 1.El bit WREN (EECON1 ) debe de estar a 1. Deshabilitar todas las interrupciones.Deshabilitar todas las interrupciones. Escribir 0x55 seguido de 0xAA en EECON2.Escribir 0x55 seguido de 0xAA en EECON2. Poner el bit WR (EECON1 ) a 1.Poner el bit WR (EECON1 ) a 1. Se borra (0) el bit WREN para impedir escrituras espúreas.Se borra (0) el bit WREN para impedir escrituras espúreas. Se pueden rehabilitar las interrupciones.Se pueden rehabilitar las interrupciones. Cuando el proceso automático de grabación termine, lo indicará borrando el bit WR (EECON ) y poniendo el bit EEIF a 1.Cuando el proceso automático de grabación termine, lo indicará borrando el bit WR (EECON ) y poniendo el bit EEIF a 1.

Sagitrón Jornadas MMIV / 4-FLASH / 20 © 2002 Microchip Technology Incorporated. All Rights Reserved. PIC16F87X Programa para escritura EEPROM. BSF STATUS,RP1 BSF STATUS,RP1 BCF STATUS,RP0 BCF STATUS,RP0 MOVF ADDRESS,W MOVF ADDRESS,W MOVWF EEADR MOVWF EEADR MOVF VALUE,W MOVF VALUE,W MOVWF EEDATA MOVWF EEDATA. BSF STATUS,RP0 BSF STATUS,RP0 BCF EECON1,EEPGD BCF EECON1,EEPGD BSF EECON1,WREN BSF EECON1,WREN BCF INTCON,GIE BCF INTCON,GIE MOVLW 0x55 MOVLW 0x55 MOVWF EECON2 MOVWF EECON2 MOVLW 0xAA MOVLW 0xAA MOVWF EECON2 MOVWF EECON2 BSF EECON1,WR BSF EECON1,WR BSF INTCON,GIE BSF INTCON,GIE BCF EECON1,WREN BCF EECON1,WREN

Sagitrón Jornadas MMIV / 4-FLASH / 21 © 2002 Microchip Technology Incorporated. All Rights Reserved. PIC16F87X Lectura FLASH Escribir los 8 LSbs de la dirección deseada en EEADR.Escribir los 8 LSbs de la dirección deseada en EEADR. Escribir los 5 MSbs de la dirección deseada en EEADRH.Escribir los 5 MSbs de la dirección deseada en EEADRH. Se pone (1) el bit EEPGD (EECON1 ) para acceder a la memoria de programa FLASH.Se pone (1) el bit EEPGD (EECON1 ) para acceder a la memoria de programa FLASH. Se pone (1) el bit RD (EECON1 ).Se pone (1) el bit RD (EECON1 ). Las dos instrucciones siguientes deberán ser NOPs.Las dos instrucciones siguientes deberán ser NOPs. Los 14 bit estarán disponibles en los registros EEDATH:EEDATA trás los dos NOPs.Los 14 bit estarán disponibles en los registros EEDATH:EEDATA trás los dos NOPs.

Sagitrón Jornadas MMIV / 4-FLASH / 22 © 2002 Microchip Technology Incorporated. All Rights Reserved. PIC16F87X Programa para lectura FLASH. BSF STATUS,RP1 BSF STATUS,RP1 BCF STATUS,RP0 BCF STATUS,RP0 MOVF ADDR_H,W MOVF ADDR_H,W MOVWF EEADRH MOVWF EEADRH MOVF ADDR_L,W MOVF ADDR_L,W MOVWF EEADR MOVWF EEADR. BSF STATUS,RP0 BSF STATUS,RP0 BSF EECON1,EEPGD BSF EECON1,EEPGD BSF EECON1,RD BSF EECON1,RD NOP NOP BCF STATUS,RP0 BCF STATUS,RP0 MOVF EEDATA,W MOVF EEDATA,W MOVWF DATA_L MOVWF DATA_L MOVF EEDATH,W MOVF EEDATH,W MOVWF DATA_H MOVWF DATA_H

Sagitrón Jornadas MMIV / 4-FLASH / 23 © 2002 Microchip Technology Incorporated. All Rights Reserved. PIC16F87X Escritura FLASH Escribir la dirección deseada en EEADRH:EEADR.Escribir la dirección deseada en EEADRH:EEADR. Escribir los datos en EEDATAH:EEDATA.Escribir los datos en EEDATAH:EEDATA. Se pone (1) el bit EEPGD (EECON1 ) para acceder a la memoria de programa FLASH.Se pone (1) el bit EEPGD (EECON1 ) para acceder a la memoria de programa FLASH. El bit WREN (EECON1 ) debe de estar a 1.El bit WREN (EECON1 ) debe de estar a 1. Deshabilitar todas las interrupciones.Deshabilitar todas las interrupciones. Escribir 0x55 seguido de 0xAA en EECON2.Escribir 0x55 seguido de 0xAA en EECON2. Poner el bit WR (EECON1 ) a 1.Poner el bit WR (EECON1 ) a 1. Las dos instrucciones siguientes deberán ser NOPs.Las dos instrucciones siguientes deberán ser NOPs. La CPU entra en HALT mientras se graba la memoria FLASH. El oscilador principal continuará oscilando y los periféricos funcionarán de forma autónoma.La CPU entra en HALT mientras se graba la memoria FLASH. El oscilador principal continuará oscilando y los periféricos funcionarán de forma autónoma. Cuando la grabación termine, se reanudará la ejecución del programa con la siguiente instrucción trás los dos NOPs.Cuando la grabación termine, se reanudará la ejecución del programa con la siguiente instrucción trás los dos NOPs.

Sagitrón Jornadas MMIV / 4-FLASH / 24 © 2002 Microchip Technology Incorporated. All Rights Reserved. PIC16F87X Programa para escritura FLASH. BSF STATUS,RP1 BSF STATUS,RP1 BCF STATUS,RP0 BCF STATUS,RP0 MOVF ADDR_H,W MOVF ADDR_H,W MOVWF EEADRH MOVWF EEADRH MOVF ADDR_L,W MOVF ADDR_L,W MOVWF EEADR MOVWF EEADR MOVF DATA_H,W MOVF DATA_H,W MOVWF EEDATH MOVWF EEDATH MOVF DATA_L,W MOVF DATA_L,W MOVWF EEDATA MOVWF EEDATA. BSF STATUS,RP0 BSF STATUS,RP0 BSF EECON1,EEPGD BSF EECON1,EEPGD BSF EECON1,WREN BSF EECON1,WREN BCF INTCON,GIE BCF INTCON,GIE MOVLW 0x55 MOVLW 0x55 MOVWF EECON2 MOVWF EECON2 MOVLW 0xAA MOVLW 0xAA MOVWF EECON2 MOVWF EECON2 BSF EECON1,WR BSF EECON1,WR NOP NOP BSF INTCON,GIE BSF INTCON,GIE BCF EECON1,WREN BCF EECON1,WREN