You are on page 1of 13

Microcontroladores

1 UNIDAD 1 Arquitectura interna de


los microcontroladores
1.7 Memoria de programa
1.8 Memoria de datos
TEMA: 1.7 Memoria de programa
1.8 Memoria de datos

Identificar los bloques comunes de la arquitectura


de un micro controlador donde se guarda Memoria
de programa
UNIDAD DE MEMORIA
La unidad de memoria es una parte del
microcontrolador utilizada para almacenar los datos.
La manera más fácil de explicarlo es compararlo con
un armario grande con muchos cajones. Si
marcamos los cajones claramente, será fácil acceder
a cualquiera de sus contenidos al leer la etiqueta en
la parte delantera del cajón. Hay varios tipos de
memoria dentro del microcontrolador:

3
Memoria de programa

Memoria de instrucciones, se escriben las ordenes para


que el CPU las ejecute en el caso del PIC16f628
contiene una memoria no volátil FLASH Memory
Su bus de direcciones es de 13 bits,
El PC puede direccionar 8192 posiciones (0000 a
1FFFh) desde 20 ℎ𝑎𝑠𝑡𝑎 212 𝑏𝑖𝑡
Pero la sección asignada para memoria del programa
es de 0000h hasta 07FFH , solo 2048 líneas son
utilizadas para este fin, significa que la PC utiliza los 11
primeros bit
1 F F F

0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1

0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
2

4
Arquitectura

5
Memoria de Programa

6
Acceder al código de la memoria de
programa de un microcontrolador 16f84a
╸ Realizar los siguientes pasos
╸ Abrir el programa ensamblador mplab ide versión 8.92, luego , en la
pestaña de file abrir el archivo Ensam_01.asm, una vez que abierto el
archivo deberá aparecer con letras de colores el código realizado en
assembler, la primera vez tendremos que configurar el dispositivo a
utilizar el 16f84a , escoger en la pestaña de configure
╸ Luego de haber configurado en la barra de menú , escoger la opción de
Project y luego presiona quickbuild, para construir el ensamblado.
Cerramos la ventana nueva creado por los mensajes ( si todo va bien
mensaje con letras azul.)
╸ Luego en el menú seleccionamos debbuger para luego escoger MPLAB
sim, aparece un nueva de barra para depuración
╸ Finalmente presionamos en View la opción file register y program
memory para observar las siguientes ventanas

7
8
Ensam_01.asm

LIST P=16F84A ; Procesador utilizado.


INCLUDE <P16F84A.INC> ; En este fichero se definen las etiquetas del PIC.
CONFIG CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC ; Configuración para el
; grabador.
CONSTANTE EQU b'01010101' ; Por ejemplo, la constante tiene este valor.

; ZONA DE CÓDIGOS ********************************************************************

ORG 0 ; El programa comienza en la dirección 0 de la


Inicio ; memoria de programa.
bsf STATUS,RP0 ; Pone a 1 el bit 5 del STATUS. Acceso al Banco 1.
clrf TRISB ; Las líneas del Puerto B configuradas como salida.
bcf STATUS,RP0 ; Pone a 0 el bit 5 del STATUS. Acceso al Banco 0.
movlw CONSTANTE ; Carga el registro de trabajo W con la constante.
Principal
movwf PORTB ; El contenido de W se deposita en el puerto de salida.
goto Principal ; Crea un bucle cerrado e infinito

END ; Fin del programa.

9
1.8 Memoria de Datos

╸ La memoria de datos esta distribuida hasta en 4 posibles


bancos de 128 bytes (27) cada uno. Por tanto, la máxima
cantidad de memoria disponible en los microcontroladores
PIC16 es de 512 bytes. No obstante, no están
implementadas todas las posiciones de memoria en todos
los bancos, ni todos los PIC de la gama disponen de todos
los bancos. • A cada posición de memoria se le denomina
registro.

10
Memoria de Datos

11
Memoria de Datos

12
Paginas web consultadas

╸ https://es.scribd.com/presentation/294991193/micro1

13

You might also like