HOME

PRODUCTOS

PROYECTOS

TUTORIALES

VIDEOS

FREEWARE

PROGRAMAS

FUNCIONES C

EMPRESA

ENGLISH

                   

 modificaciones que deben hacerse a un programa 16F84 para que sea compatible con 16F628.   

 

 

EDUPIC A EVOLUPIC.jpg (23816 bytes)

CONVERSION DE EVOLUPIC 16F628 A EVOLUPIC 16F88.PDF

Listado de cambios para un programa escrito para el EDUPIC 16F84 para que funcione en el sistema EDUPIC 16F628 y EVOLUPIC 16F628. Los cambios también son válidos si se desea reemplazar el microcontrolador 16F84 por otro 16F628 o viceversa, en cualquier otro sistema de microcontrol.

1.- Línea de processor de 16F84 cambiar a 16F628

2.- Línea de include   <p16F84.inc> cambiar a <p16F628.inc> . Es importante también incluir el archivo p16F628.inc en la misma carpeta en donde se encuentra el programa .ASM

3.- Linea de __config :

para el 16F84 por lo general se dan las directivas :__config _XT_OSC & _WDT_OFF & _PWRTE_ON

para el 16F628: __config _XT_OSC & _WDT_OFF & _PWRTE_OFF & _MCLRE_ON & _BODEN_OFF & _LVP_OFF

4.- Para cambiar de un banco a otro en el 16F84, se usa el registro STATUS,RP0, usando las siguientes directivas:

            DEFINE         BANCO0       BCF   STATUS,RP0

            DEFINE         BANCO1       BSF    STATUS,RP0

para el 16F628, que tiene cuatro bancos y no dos, hay que activar o desactivar RP0 y RP1. Esto puede hacerse usando los siguientes MACROS :

            BANCO0       MACRO        

                                   BCF   STATUS,RP0

                                   BCF   STATUS,RP1

                                   ENDM

            BANCO1       MACRO

                                   BSF    STATUS,RP0

                                   BCF   STATUS,RP1

                                   ENDM

5.- En el 16F84 hay 68 direcciones de registros de propósito general (RAM):

            en el banco 0, de la direccion 0CH a la direccion 4FH.           

    Mientras que en 16F628 se tienen 224 direcciones de memoria RAM:

            en el banco 0, de la 20H a la 6FH ;

            en el banco1, de la A0H a la EFH :

            y en el banco 2, de la 120H a la 14FH .

Por tanto, si en el programa para el 16F84 se hace uso de direcciones entre la 0CH y la 1FH, estas direcciones deben de modificarse por localidades existentes en el 16F628, que son las señaladas arriba.

6.- En el 16F628, la mayoría de los pines tienen funciones múltiples. Si su aplicación usa las entradas ó salidas de los puertos A y B, al inicio de su programa deben primero configurarse los registros CMCON y VRCON para habilitar adecuadamente los pines de dichos puertos, añadiendo las siguientes líneas. Tome nota que el registro CMCON se encuentra en el BANCO 0 y el registro VRCON, en el BANCO 1.

            movlw           0x7

            movwf           CMCON        ;en banco 0

            movlw           0x0

            movwf           VRCON          ;en banco 1

7.- Para escribir y leer de la EEPROM: IMPORTANTE RECORDAR: EN EL 16F628, LOS REGISTROS PARA OPERAR CON LA EEPROM, QUE SON EEDATA, EEADR, EECON Y EECON2 ESTAN TODOS EN EL BANCO 1

EN EL 16F84, EEDATA Y EEADR ESTAN EN EL BANCO 0 Y EECON Y EECON2, ESTAN EN EL BANCO 1

     8.- En el programa MPLAB seleccionar: "configure" y luego "select device" y allí 16F628.

9. -En el programa WINPIC, seleccionar "device, config" y luego "part" y allí 16F628.

 

 

 

 

8.