PIC 16F87X TEMA LA MEMORIA DE DATOS MEMORIA RAM

PIC 16F87X TEMA LA MEMORIA DE DATOS MEMORIA RAM Estructura De La Memoria Ram La memoria de datos RAM está dividida en 4 bancos de registros: BANCO 0

20 downloads 150 Views 552KB Size

Recommend Stories


Memoria RAM. Funcionamiento:
Memoria RAM Definición: La memoria de acceso aleatorio, o memoria de acceso directo (en inglés: Random Access Memory, cuyo acrónimo es RAM), o más con

MEMORIA RAM. Clase 4
MEMORIA RAM Clase 4 RAM     Tipo de memoria que utilizan las computadoras para almacenar los datos y programas a los que necesita tener un a

MODULO 6: MEMORIA RAM
MODULO 6: MEMORIA RAM En el PC existen principalmente dos tipos de memoria, la memoria ROM (Read Only Memory) con la cual nos referimos a la memoria

Memoria RAM. Daniel Rúa Madrid
Memoria RAM Daniel Rúa Madrid ¿Qué es? La memoria de acceso aleatorio (RAM) es la ubicación de almacenamiento temporal para datos y programas a los

Story Transcript

PIC 16F87X TEMA LA MEMORIA DE DATOS MEMORIA RAM

Estructura De La Memoria Ram La memoria de datos RAM está dividida en 4 bancos de registros: BANCO 0, BANCO 1, BANCO 2 y BANCO 3, cada uno posee 128 bytes. Los bits RP1 y RP0 (bits 6 y 5 del Registro de STATUS) nos permiten seleccionar el banco activo, de acuerdo con la siguiente tabla:

D.P.E. DESARROLLO DE PROYECTOS PIC 16F87x LA MEMORIA RAM

2

Estructura De La Memoria Ram RP1

RP0

BANCO

0 0

0 1

Banco 0 Banco 1

1 1

0 1

Banco 2 Banco 3

Las posiciones más bajas de cada banco están reservadas para los Registros de Funciones eSpeciales (SFR). D.P.E. DESARROLLO DE PROYECTOS PIC 16F87x LA MEMORIA RAM

3

Estructura De La Memoria Ram Algunos de los registros de funciones especiales se encuentran replicados en varios bancos, esto se hace para dar mayor accesibilidad a los más utilizados, y así reducir código. Por encima de los SFR se encuentran los Registros de Propósito General GPR, que se utilizan como posiciones de RAM estática. Seguidamente se da el mapa de registros del PIC 16F877/6 D.P.E. DESARROLLO DE PROYECTOS PIC 16F87x LA MEMORIA RAM 4

D.P.E. DESARROLLO DE PROYECTOS PIC 16F87x LA MEMORIA RAM

5

Estructura De La Memoria Ram (2) Los Bancos De Registros En la figura anterior: ¾ Las posiciones implementadas.

sombreadas,

no

están

¾ Indirect Adress * no es un registro físico ¾ (1): estos registros no están implementados en los dispositivos de 28 terminales (16F873/6). ¾ Reserved(2): Estos registros están reservados, mantenga estos registros a 0. D.P.E. DESARROLLO DE PROYECTOS PIC 16F87x LA MEMORIA RAM

6

Los Registros SFR Los Registros de Funciones eSpeciales (SFR) son registros usados por la CPU y los periféricos para controlar el funcionamiento deseado del dispositivo. Estos registros se pueden dividir en dos grandes grupos: – Los de la CPU – Los que controlan los periféricos Seguidamente damos la descripción que da Microchip en las hojas de características. D.P.E. DESARROLLO DE PROYECTOS PIC 16F87x LA MEMORIA RAM

7

D.P.E. DESARROLLO DE PROYECTOS PIC 16F87x LA MEMORIA RAM

8

D.P.E. DESARROLLO DE PROYECTOS PIC 16F87x LA MEMORIA RAM

9

D.P.E. DESARROLLO DE PROYECTOS PIC 16F87x LA MEMORIA RAM

10

D.P.E. DESARROLLO DE PROYECTOS PIC 16F87x LA MEMORIA RAM

11

Los Registros SFR Leyenda: x desconocido, u no cambia, q depende de la condición – no implementado se lee “0” Nota 1: El byte alto del contador de programa (PC) no es directamente accesible, PCLATCH es el registro donde pueden ser escritos los 5 bits que serán transferidos al PC. Nota 2: Otros RESET (no power-up) incluidos reset externo mediante MCLR# y reset del perro guardián. D.P.E. DESARROLLO DE PROYECTOS PIC 16F87x LA MEMORIA RAM

12

Los Registros SFR Nota 3: Los bits PSPIE y PSPIF están reservados en los dispositivos de 28 terminales, mantenga a 0 estos bits. Nota 4: Este registro puede ser direccionado desde cualquier banco. Nota 5: PORTD, PORTE, TRISD y TRISE no están implementados en los dispositivos de 28 terminales su lectura da “0”. Nota 6: PIR2 y PIE2 están reservados en estos dispositivos, mantenga estos bits a “0” D.P.E. DESARROLLO DE PROYECTOS PIC 16F87x LA MEMORIA RAM

13

Los Registros SFR Seguidamente damos una descripción de los registros SFR mas utilizados, el resto de los registros se irán explicando según se haga preciso. Las claves utilizadas para los valores de los bits son: R Bit de lectura

W

Bit de escritura

u Bit no implementado “0”

-n

valor al POR

1 Bit es set

0

Bit es clear

x valor desconocido D.P.E. DESARROLLO DE PROYECTOS PIC 16F87x LA MEMORIA RAM

14

Registro de STATUS Direcciones: 03h, 83h, 103h, 183h.

El registro STATUS, es un registro, que contiene una serie de banderas que indican si una cierta condición se ha producido tras la ejecución de la última instrucción y otras informaciones que se detallan a continuación.

D.P.E. DESARROLLO DE PROYECTOS PIC 16F87x LA MEMORIA RAM

15

Bit 0: C flag de acarreo en el octavo bit (R/W, X) 1: Acarreo en la suma y no se “debe” en la resta. 0: No acarreo en la suma y se debe en la resta Este bit también se utiliza en las instrucciones de rotación. Bit 1: DC flag de acarreo en el cuarto bit (R/W, X) 1: Acarreo en la suma 0: No acarreo en la suma En la resta al contrario, se utiliza en operaciones en BCD D.P.E. DESARROLLO DE PROYECTOS PIC 16F87x LA MEMORIA RAM

16

Bit 2: Z flag de cero (R/W-X) 1: El resultado de la última operación lógica o aritmética fué 0. 0: El resultado de la última operación aritmética o lógica fué 0. Bit 3: #PD flag Power Down (R-1) 1: Tras conectar VDD o al ejecutar la instrucción CLRWDT 0: Al ejecutar la instrucción SLEEP. D.P.E. DESARROLLO DE PROYECTOS PIC 16F87x LA MEMORIA RAM

17

Bit 4: #TO flag Timer Out (R-1) 1: Tras conectar VDD o ejecutar CLRWDT o SLEEP 0: Al desbordarse el temporizador WDT.

D.P.E. DESARROLLO DE PROYECTOS PIC 16F87x LA MEMORIA RAM

18

Bit 6-5: RP1 RP0 Selección del banco para direccionamiento directo (R/W-0); Cada banco tiene 128 bytes 11 = Banco 3 (180h - 1FFh) 10 = Banco 2 (100h - 17Fh) 01 = Banco 1 (80h - FFh) 00 = Banco 0 (00h - 7Fh)

D.P.E. DESARROLLO DE PROYECTOS PIC 16F87x LA MEMORIA RAM

19

Bit 7 : IRP: Bit de selección de banco, utilizado en el direccionamiento indirecto (R/W-0). 1 = Bancos 2, 3 (100h - 1FFh) 0 = Bancos 0, 1 (00h - FFh)

D.P.E. DESARROLLO DE PROYECTOS PIC 16F87x LA MEMORIA RAM

20

Registro OPTION Dirección: 81h y 181h

El registro OPTION_REG, es un registro de lectura escritura, que contiene bits de control para asignar el preescaler a TIMER0 ó WDT, fijar el rango del divisor de frecuencia, seleccionar el tipo de reloj y flanco activo para el TIMER 0, seleccionar el flanco activo para la interrupción externa y activar o desactivar las resistencias de pull-up del PORTB Independientemente de la causa del reset adquiere siempre el valor FFh . D.P.E. DESARROLLO DE PROYECTOS PIC 16F87x LA MEMORIA RAM 21

Bit 7: #RBPU: Bit de habilitación de las resistencias de Pull Up del puerto B (W/R-1). 1: Desactiva las resistencias de pull-up 0: Activa las resistencias de pull-up. Bit 6: INTEDG: Bit de selección de flanco activo para las interrupciones externas RB0/INT (W/R, 1). 1: Int. Por flanco ascendente

en el pin RB0/INT

0: Interrupción Por flanco de " en el pin RB0/INT

D.P.E. DESARROLLO DE PROYECTOS PIC 16F87x LA MEMORIA RAM

22

Bit 5: TOCS: Bit de selección de la fuente de los impulsos a contar por TMR0, (contador/ temporizador) (W/R, 1). 1: Pulsos introducidos a través de RA4/TOCK1 (modo contador: valor por defecto). 0:Pulsos del reloj interno Fosc/4 (temporizador). Bit 4: TOSE: Bit de selección de flanco activo para RB0/TOCK1 (TMR0 como contador) (R/W-1). 1: Flanco de bajada" (valor por defecto). 0: flanco de subida . D.P.E. DESARROLLO DE PROYECTOS PIC 16F87x LA MEMORIA RAM

23

Bit 3: PSA: Asignación del preescaler (W/R-1). 1: El divisor de frecuencia (preescaler) se asigna a WDT (valor tras el reset). 0: El divisor de frecuencia se asigna a TMR0. Para conseguir 1:1 en TMR0, se debe asignar el preescaler al perro guardián (WDT).

D.P.E. DESARROLLO DE PROYECTOS PIC 16F87x LA MEMORIA RAM

24

Bits 2-0: PS2, PS1, PS0: Bits de selección del rango con el que actúa el preescaler (W/R-1). PS2 PS1 PS0

rango para TMR0 rango para WDT

0

0

0

1:2

1:1

0

0

1

1:4

1:2

0

1

0

1:8

1:4

0

1

1

1:16

1:8

1

0

0

1:32

1:16

1

0

1

1:64

1:32

1

1

0

1:128

1:64

1

1

1

1:256

1:128

D.P.E. DESARROLLO DE PROYECTOS PIC 16F87x LA MEMORIA RAM

25

Registro INTCON Direcciones: 0Bh, 8Bh, 10Bh y 18Bh

El registro INTCON, es un registro de lectura/ escritura, que contiene las habilitaciones para diferentes fuentes de interrupción (overflow de TMR0); por cambio de nivel en el puerto B e interrupción externa por el pin RB0/INT), así como las banderas de estas interrupciones, que indican que alguna de ellas se ha producido. Tras un reset prohíben.

todas

las

interrupciones

D.P.E. DESARROLLO DE PROYECTOS PIC 16F87x LA MEMORIA RAM

26

se

Bit 7:GIE Permiso global de interrupciones (R/W-0) 1: Permite todas enmascaradas.

las

interrupciones

no

0: Todas las interrupciones están prohibidas. Bit 6: PEIE bit de habilitación de las interrupciones de los periféricos que no se controlan en INTCON (R/W, 0) 1: Permite las interrupciones no enmascaradas de los periféricos no reflejados en INTCON. 0: Prohíbe las interrupciones generadas por los periféricos no controlados en INTCON. D.P.E. DESARROLLO DE PROYECTOS PIC 16F87x LA MEMORIA RAM

27

Bit 5:TOIE bit de habilitación de la interrupción generada por el desbordamiento del TMR0 (R/W-0) 1: Permite la interrupción del TMR0. 0: Enmascara la interrupción generada por TMR0.

Bit 4: INTE bit de habilitación de la interrupción externa generada por RB0/INT (R/W-0) 1: Permite la interrupción externa. 0: Enmascara la interrupción externa. D.P.E. DESARROLLO DE PROYECTOS PIC 16F87x LA MEMORIA RAM

28

Bit 3:RBIE bit de habilitación de la interrupción generada por cambio de nivel en algún bit RB4RB7 (R/W-0) 1: Permite la interrupción por cambio de nivel en RB7-RB4. 0: Enmascara la interrupción por cambio de nivel. Bit 2: TOIF señalizador del desbordamiento de TMR0 (R/W-0) 1: TMR0 se ha desbordado, se borra por software. 0: TMR0 no se ha desbordado. D.P.E. DESARROLLO DE PROYECTOS PIC 16F87x LA MEMORIA RAM

29

Bit 1: INTF Flag que indica que se ha activado la interrupción externa RB0/INT (R/W-0) 1: Se ha activado la interrupción externa RBO/INT, se borra por software. 0: No se ha activado RB0/INT Bit 0: RBIF Bandera que indica el cambio de nivel en uno de los bits RB4:RB7 (R/W-X) 1: Ha cambiado el nivel en algún bit de RB4:RB7, se borra por software. 0: No se ha producido ningún cambio de nivel. D.P.E. DESARROLLO DE PROYECTOS PIC 16F87x LA MEMORIA RAM

30

Registro PIE1 Dirección: 8Ch

El registro PIE1, contiene los bits de habilitación para las Interrupciones provocadas por los Periféricos internos del microcontrolador y no controlados por el R. INTCON. El bit PEIE (INTCON

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.