PE03257A.gif (4096 bytes)

Microcontroladores
Principal ] Arriba ]

 

Principal

 

Registros de Propósito Especial (SFR)

Dirección Nombre bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit1 bit0
BANCO DE REGISTROS 0
00h INDF Contenido utilizado de FSR a la dirección de memoria de datos (no es un registro físico)
01h TMR0 Contador de 8 bit en tiempo real
02h PCL 8 bit más bajos del Contador de Programa
03h STATUS IRP RP1 RP0 T0# PD# Z DC C
04h FSR Puntero indirecto de direccionamiento de datos
05h PORTA -- -- -- RB4/TOCKI RA3 RA2 RA1 RA0
06h PORTB RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0
07h   Posición no implementada, se lee como "00"
08h EEDATA Registro de datos EEPROM
09h EEADR Registro de direcciones EEPROM
0Ah PCLATH -- -- --          
0Bh INTCON GIE EEIE TOIE INTE RBIE TOIF INTF RBIE
BANCO DE REGISTROS 1
80h INDF Contenido utilizado de FSR a la dirección de memoria de datos (no es un registro físico)
81h OPTION RBPU# INTEDG TOSC TOSE PSA PS2 PS1 PS0
82h PCL 8 bit más bajos del Contador de Programa
83h STATUS IRP RP1 RP0 T0# PD# Z DC C
84h FSR Puntero indirecto de direccionamiento de datos
85h TRISA -- -- -- Registro de direccionamiento de datos del PORTA
86h TRISB Registro de direccionamiento de datos del PORTB
87h   Posición no implementada, se lee como "00"
88h EECON1 -- -- -- EEIF WRERR WRWN WR RD
89h EECON2

Registro de control de EEPROM (no es un registro físico)

8Ah PCLATH -- -- -- Buffer escrito con los 5 bit más altos del PC
8Bh INTCON GIE EEIE TOIE INTE RBIE TOIF INTF RBIE

Registro de STATUS (POSICIÓN 03h o 83h)

      O O O O O
R/W-0 R/W-0 R/W-0 R-1 R-1 R/W-X R/W-X R/W-X
IRP RP1 RP0 T0# PD# Z DC C
bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit1 bit0

 

R = bit de lectura

W = bit de escritura

-n = Valor del bit después de un Reset

 

bit 0 C : flag (O) de acarreo en el octavo bit

1: Acarreo en la suma y no en la resta

0: Acarreo en la resta y no en la suma

Este bit también se utiliza en las instrucciones de rotación

bit 1 DC: flag  (O) de acarreo en el 4º bit de menos peso.

          1: Acarreo en la suma

          0 : No acarreo en la suma.En la resta lo contrario

bit 2 Z: flag  (O)  de cero

          1: el resultado de la última operación aritmética o lógica es cero

          0: El resultado de la última operación es distinto de cero

bit 3 PD#: flag (O)  Power Down

          1: Tras conectar VDD o al ejecutar la instrucción CLRWDT

          0: Al ejecutar la instrucción SLEEP

bit 4 TO#: flag  (O) Timer Out

          1:Tras conectar VDD o ejecutar CLRWDT o SLEEP

          0 :Al desbordar el temporizador de WDT

bit 5-6 RP<1:0>:Selección del banco para el direccionamiento directo

00 Banco 0 (00h-7Fh)

01 Banco 1 (80h-FFh)

10 Banco 2 (100h-17Fh)

11 Banco 3 (180h-1FFh)

bit 7 IRP: Selección de bancos para el direccionamiento indirecto

         1: el resultado de la última operación aritmética o lógica es cero

          0: Bancos 0 y 1 (00h-FFh)


Registro OPTION (POSICIÓN 81h)

Ocupa la posición la 81h del banco de registro 1. En la siguiente tabla se muestra el significado de cada uno de sus 8 bits. Es recomendable darle otro nombre por ejemplo "OPTION" en el programa ensamblador,  para que el programa ensamblador no  de mensajes de error, ya que en los PIC de la gama baja existe la instrucción OPTION.

R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1
RBPU# INTEDG TOCS TOSE PSA PS2 PS1 PS0
bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit1 bit0

 

R = bit de lectura

W = bit de escritura

-n = Valor del bit después de un Reset

 

bit 2-0 PS2:PSO: Rango con el que actúa el Divisor de frecuencia

PS2 PS1 PS0

Divisor del TMRO

Divisor del WDT

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

1:2

1:4

1:8

1:16

1:32

1:64

1:128

1:256

1:1

1:2

1:4

1:8

1:16

1:32

1:64

1:128

bit 3 PSA: Asignación del divisor de frecuencia

1: El divisor de frecuencia se asigna al WDT

0: El divisor de frecuencia se asigna al TMR0

bit 4 TOSE: Tipo de flanco en TOCK1

1: Incremento de TMR0 cada flanco descendente

0: Incremento de TMR0 cada flanco ascendente

bit 5 TOCS: Tipo de Reloj para TMR0

1: Pulsos introducidos a través de T0CK1 (Contador)

0: Pulsos de reloj interno Fosc/4 (Temporizador)

bit 6 INTEDG: Flanco activo control de interrupciones

1: Flanco Ascendente

0: Flanco Descendente

bit 7 BPRU : Resistencia Pull-up Puerto B

1: Desactivadas

0: Activadas


Registro de Interrupciones INTCON(POSICIÓN 0Bh o 8Bh)Registro de Interrupciones INTCON(POSICIÓN 0Bh o 8Bh):

Ocupa la posición 0Bh del banco de registro 0 y la 8Bh del banco de registro 1. En la siguiente tabla se muestra la estructura de cada uno de sus 8 bits de los cuales unos actúan como señaladores del estado de estado y otros como bit de permiso o autorización para que se pueda producir la interrupción. Cuando se estudien las interrupciones se entenderá mejor el funcionamiento del registro.

          O O O
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-X
GIE EEIE TOIE INTE RBIE TOIF INTF RBIF
bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit1 bit0

 

R = bit de lectura

W = bit de escritura

-n = Valor del bit después de un Reset

 

bit 0 RBIF: flag (O) de estado del Port B

1:Cuando cambia de estado cualquier línea de PB (RB<7:4>). Se borra por software

0:Ninguna entrada de PB ha cambiado

bit 1 INTF: flag (O) de estado de la interrupción externa INT

1:La entrada de la interrupción se ha activado. Se borra por software

0:No hay interrupción externa

bit 2 T0IF: flag  (O) de rebosamiento del TMR0

1: El TMR0 se ha desbordado. Se borra por software

         0: El TMR0 no se ha desbordado

bit 3 RBIE: Activación de la interrupción del Port B

1: Interrupción activada

0: Interrupción desactivada

bit 4 INTE: Activación de la interrupción externa INT

          1: Interrupción activada

0: Interrupción desactivada

bit 5 T0IE: Activación de la interrupción del TMR0

1: Interrupción activada

0: Interrupción desactivada

bit 6 EEIE: Activación de la interrupción de la memoria EEPROM

1: Interrupción activada

0: Interrupción desactivada

bit 7 GIE: Activación Global de Interrupciones

1: Concedido el permiso de interrupciones

          0: No hay posibilidad de interrupciones

 


Registro de Interrupciones EEDATA (POSICIÓN 08h ):

En el registro EEDATA, se encuentra en la posición 08h del banco 1; tiene misiones de control de las operaciones en la EEPROM y la distribución de sus bits se presenta en la siguiente tabla se muestra la estructura de cada uno de sus 8 bits

 

U U U R/W-0 R/W-x R/W-0 R/W-0 R/W-0
      EEIF WRERR WREN WR RD
bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit1 bit0

 

R = bit de lectura

W = bit de escritura

S = bit no implementado se lee como 0

-n = Valor del bit después de un Reset

 

bit 0: RD, Lectura

Se pone a 1 cuando se va a realizar un ciclo de lectura de la EEPROM, luego pasa a 0 automáticamente.

bit 1: WR, Escritura

Se pone a 1 cuando comienza el ciclo de escritura de la EEPROM

Se pone a 0 cuando finaliza el ciclo de escritura de la EEPROM

bit 2: WREN, Permiso de escritura

1 = Permite la escritura de la EEPROM

0 = Prohibe la escritura de la EEPROM

bit 3:WRWRR, Señalizador de error de escritura

1 = Se pone a 1 cuando una operación de escritura ha terminado prematuramente

0 = La operación de escritura se ha completado correctamente

bit 4:EEIF, Señalizador de final de operación de escritura

1= La operación de escritura se ha completado con éxito

0 = La operación de escritura no se ha completado