Creado por Gustavo Angel Balderas Rodríguez
hace alrededor de 4 años
|
||
La memoria de datos del PIC16F84 está dividida en dos:
1. El área de registros de funciones especiales (SFR) (parte superior).
2. El área de Registros de propósito general (GPR). (parte inferior)
Los registros de funciones especiales SFR (parte superior) controlan el funcionamiento del dispositivo.
El área GPR es un área de memoria RAM de más de 116 bytes para almacenar información de propósito general (Datos del usuario)
La actividad en los bancos requiere el uso de bits de control para la selección de bancos. Estos bits de control se encuentran en el registro STATUS y son los bits RP0 y RP1.
Para entrar al banco 0 o al banco 1 del PIC será necesario cambiar el bit RP0 del registro STATUS a 0 o a 1 según corresponda. Esto se hace a través del programa en ensamblador.
Al iniciar el PIC este se encuentra normalmente en el banco 0, por tanto, si se requiere configurar los puertos, debemos cambiar de banco, al banco 1.
En el banco 0 encontramos los registros de propósito especial del 00h al 0Bh (nomenclatura hexadecimal). Cada uno de ellos tienen una función particular.
Cada registro de propósito especial y todos los demás registros tienen una dirección en la memoria de datos.
El registro STATUS o ESTADO se encuentra en la dirección de memoria número 03h. Dentro de él se encuentra el bit RP0 que sirve para cambiar de banco.
Cuando deseamos sacar o meter información desde o hacia los puertos, esta se queda temporalmente almacenada en los registros llamados PORTA y PORTB (registros 05h y 06h).
En el Banco 1 están los registros desde la 80h hasta la FFh. Los registros de la 80h a la 8Bh son registros de propósito especial.
Cuando deseamos sacar o meter información desde o hacia los puertos, estos se deben configurar como entradas o como salidas. Esta configuración se hace en los registros TRISA y TRISB (registros 85h y 86h)
El registro INDF se dirige al registro cuya dirección es contenido en el registro FSR (FSR es un puntero). Esto es direccionamiento indirecto.
Registro TMR0
1. Temporizador/Contador de 8 bits
2. Divisor de 8 bits programable por software
3. Selección de reloj interno y externo
4. Interrupción por desbordamiento
5. Selección del flanco del reloj externo.
El registro de OPCIÓN es legible y escribible registro que contiene varios bits de control para configurar el pre escalador TMR0 / WDT
El registro PCL
1. Los 8 bits de menor peso del PC los proporciona el registro PCL (02h).
2. Es un registro accesible al programador como registro de memoria interna de datos.
El registro INDF utiliza el contenido de FSR para abordar la memoria de datos (no un registro físico).
El registro EEDATA contiene los datos de 8 bits para lectura / escritura del registro de datos EEPROM
Para definir el modo de funcionamiento de la memoria de datos EEPROM se emplea el registro especial EECON1.
El registro EEADR tiene la dirección de la ubicación EEPROM siendo accedido.
El registro EECON2
1. no es un registro implementado físicamente.
2. Para definir el modo de funcionamiento de la memoria de datos EEPROM.
Todas las actualizaciones del registro PCH pasan por el registro PCLATH.
El registro INTCON es legible, escribible. y contiene los diversos bits de habilitación para todos interrumpir fuentes.