PROGRAMACIÓN EN LENGUAJE ENSAMBLADOR · LENGUAJE ENSAMBLADOR 1. 2 DIAGRAMA A BLOQUES DEL...

Preview:

Citation preview

INTRODUCCIÓN A LA PROGRAMACIÓN EN

LENGUAJE ENSAMBLADOR

1

2

DIAGRAMA A BLOQUES DEL PIC16F628A

Al trabajar con un microcontrolador debemos tener a la mano el diagrama a bloques para darnos una idea general de los elementos que contiene y decidir si es el dispositivo adecuado para nuestra aplicación.

3

PATILLAJE DEL PIC16F628A

El PIC16F628A se caracteriza porque:

• Su procesador es segmentado, "pipe-line".

• Su procesador es tipo RISC

• Tiene una arquitectura HARVARD

• El formato de las instrucciones es ortogonal

• Todas las instrucciones tienen la misma longitud (14 bits)

• La arquitectura está basada en bancos de registros

4

El PIC16F628A

5

Procesador segmentado "pipe-line":

• Q1 - incremento de PC

• Q2 - lectura de memoria

• Q3 - realización de la operación

• Q4 - escritura en memoria

6

ARQUITECTURA HARVARD

La memoria de programa y la memoria de trabajo están separadas para optimizar el funcionamiento del microcontrolador.

7

ORGANIZACIÓN DE LA MEMORIA DE PROGRAMA

En el PIC16F628A las instrucciones deben escribirse a partir de la localidad 000h de la memoria de programa. En el código lo indicamos mediante la directiva ORG 0x00.

8

INSTRUCCIONES ORTOGONALES

Cualquier instrucción puede utilizar cualquier elemento de la arquitectura como fuente o destino.

Efectúa sus operaciones con dos operandos, uno que proviene del registro W (Work), y el otro que se encuentra en cualquier otro registro o del propio código de instrucción. El resultado puede ir a cualquier registro o al registro W

9

ARQUITECTURA BASADA EN BANCOS DE REGISTROS (RAM) En el PIC16F628A en bancos de registros que está activo se elige mediante una combinación de los bits RP0 y RP1 del registro STATUS.

10

SFR –SPECIAL FUNCTION REGISTER (REGISTROS DE FUNCION ESPECIALEn el PIC16F628A la memoria RAM tiene unos registros con funciones definidas por el fabricante conocidos como SFR.

Cada registro y cada bit de estos registros tienen un nombre que podemos encontrar en la hoja de especificaciones.

11

GPR –GENERAL PORPOSE REGISTER (REGISTROS DE PROPOSITO GENERAL)

En el PIC16F628A la memoria RAM tiene unos registros que pueden ser utilizados por el programadadorpara definir variables personalizadas.

Estos registros son conocidos como GPR.

12

PUERTOS

El PIC16F628A se comunica con el exterior por medio de dos puertos: PORTA y PORTB.

Cada terminal (pin) de los puertos se puede configurar como entradas o como salidas de manera independiente, para esto se utilizan los registros TRISA y TRISB.