Clase - Arquitectura interna

21
Clase: Arquitectura interna de microcontroladores PIC 1 Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital II Tecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel Argañaras ELECTRÓNICA DIGITAL II Clase 1

description

Arquitectura interna de microcontroladores PIC

Transcript of Clase - Arquitectura interna

Page 1: Clase - Arquitectura interna

Clase: Arquitectura interna de microcontroladores PIC

1

Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital IITecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel Argañaras

ELECTRÓNICA DIGITAL II

Clase 1

Page 2: Clase - Arquitectura interna

Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital IITecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel Argañaras

TEORÍA PARTE 1: ARQUITECTURA INTERNA DE MICROCONTROLADORES PIC

DE

MICROCHIP

2Clase: Arquitectura interna de microcontroladores PIC

Page 3: Clase - Arquitectura interna

Clase: Arquitectura interna de microcontroladores PIC

3

Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital IITecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel Argañaras

Son circuitos integrados programables.

Sus terminales exteriores y su circuitería interna están adaptados al control de procesos.

Tienen memoria interna ROM de programa limitada a unos pocos Kbytes y muy escasa memoria RAM.

Múltiples periféricos en su interior dedicados al control de procesos: temporizadores, conversores A/D, comparadores, módulos PWM, puertos serie de diferentes tipos, etc.

Sus terminales tienen capacidad de manejar corriente.

No está adaptado para controlar una memoria externa ni un sistema de buses.

Es un sistema cerrado que no permite ampliaciones.

¿Qué es un microcontrolador?

Page 4: Clase - Arquitectura interna

Clase: Arquitectura interna de microcontroladores PIC

4

¿Cuál es la diferencia de con un microprocesador?

Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital IITecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel Argañaras

Los microprocesadores

Tienen sus terminales exteriores y su circuitería interna adaptados para controlar un bus de direcciones, de datos y de control.

No tienen periféricos internos, se dedican a administrar el flujo de datos provenientes de diferentes periféricos externos.

Cada dispositivo periférico tiene una dirección dentro del mapa de memoria que lo identifica.

En general no tienen memoria interna de programa o de datos.

Es un sistema abierto que permite ampliaciones.

Están preparados para direccionar memorias de gran tamaño.

Page 5: Clase - Arquitectura interna

Clase: Arquitectura interna de microcontroladores PIC

5

Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital IITecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel Argañaras

μP

Puertosde E/S

Reloj interno y externo

Tempori-zadores

Conver-sor A/D

MóduloPWMMemoria

EEPROM

PuertosSerieI2C

USART

PuertosSerieCAN

Periféricos de un microcontrolador

Page 6: Clase - Arquitectura interna

Clase: Arquitectura interna de microcontroladores PIC

6

Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital IITecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel Argañaras

Línea base: PIC16C57

Línea media: familias PIC16FXXX

Línea media mejorada: familias PIC16F18XX y 16F19XX

Línea media avanzada: familias PIC18FXXX

Microcontroladores de 16 bits: familias 24JXXXX, dsPIC, PIC32

MICROCONTROLADORES PIC

Page 7: Clase - Arquitectura interna

Clase: Arquitectura interna de microcontroladores PIC

7

Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital IITecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel Argañaras

MICROCONTROLADORES PIC

El PIC16F84:

Es un microcontrolador sencillo de la línea media de MICROCHIP.

Pertenece a la familia de microcontroladores 16FXXX.

Características:

1 K de memoria Flash.

68 bytes de memoria RAM del usuario.

64 bytes de memoria EEPROM.

4 fuentes de interrupciones.

13 puertos de entrada/salida.

1 Temporizador de 8 bits.

Page 8: Clase - Arquitectura interna

Clase: Arquitectura interna de microcontroladores PIC

8

Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital IITecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel Argañaras

PIC16F84: Memoria de programa

aLa memoria de programa

guarda el programa del usuario. Está separada de la memoria de datos

Es una memoria borrable del tipo Flash.

Tiene una ancho de palabra de 14 bits

Page 9: Clase - Arquitectura interna

Clase: Arquitectura interna de microcontroladores PIC

9

Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital IITecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel Argañaras

PIC16F84: Memoria de datos

Página 0 de la memoria de datos

Página 1 de la memoria de datos

Área de registros especiales: controlan los periféricos , interupciones y banderas.

La memoria de datos es volátil y guarda los valores temporales de las variables del programa.

Está dividida en dos partes: una de registros propios del micro y otra del usuario.

Tiene una ancho de palabra de 8 bits (1 byte)

Page 10: Clase - Arquitectura interna

Clase: Arquitectura interna de microcontroladores PIC

10

Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital IITecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel Argañaras

TEORÍA PARTE 2: ENTORNO DE DESARROLLO MPLAB

Page 11: Clase - Arquitectura interna

Clase: Arquitectura interna de microcontroladores PIC

11

Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital IITecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel Argañaras

El MPLAB es un entorno de desarrollo para microcontroladores de MICROCHIP, provisto gratuitamente por el fabricante.

Un entorno de desarrollo es un programa de aplicación para computadoras, que se usa para escribir los programas para los microcontroladores, simular su funcionamiento, depurar errores y bajar el código objeto al micro.

El MPLAB varias herramientas de compilación: lenguaje ensamblador propio, MPASM y varios compiladores para lenguaje C adaptado a microcontroladores, como CCS, HI-TECH, C18, C30, etc.

¿Qué es el MPLAB?

Page 12: Clase - Arquitectura interna

Clase: Arquitectura interna de microcontroladores PIC

12

Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital IITecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel Argañaras

El MPLAB trabaja a través de proyectos.

Un proyecto es un programa madre que agrupa o enlaza a muchos otros dentro de un mismo nombre.

Dentro de un proyecto podemos encontrar:

• El o los archivos fuente que son el programa en si.

• Archivos de encabezamiento.

• Códigos objeto o el programa que se grabará en el micro.

• Información sobre la simulación.

• Listado de errores, etc.

Page 13: Clase - Arquitectura interna

Clase: Arquitectura interna de microcontroladores PIC

13

Para iniciar un proyecto en el MPLAB se usa la opción Project Wizard dentro de la pestaña Project de la pantalla principal. Esta opción lo guiará a través de varios pasos a crear el proyecto.

Como iniciar un proyecto

Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital IITecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel Argañaras

Page 14: Clase - Arquitectura interna

Clase: Arquitectura interna de microcontroladores PIC

14

Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital IITecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel Argañaras

El primer paso es seleccionar el microcontrolador con el que se desea trabajar en el proyecto.

Paso 1:

Page 15: Clase - Arquitectura interna

Clase: Arquitectura interna de microcontroladores PIC

15

Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital IITecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel Argañaras

El segundo paso es seleccionar el lenguaje de programación que se usará para editar el programa de aplicación. Los compiladores para los diferentes lenguajes deben estar previamente instalados dentro del MPLAB y configurada su ruta de acceso.

Paso 2:

Page 16: Clase - Arquitectura interna

Clase: Arquitectura interna de microcontroladores PIC

16

Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital IITecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel Argañaras

En el tercer paso se le pregunta si se va a crear un nuevo proyecto o se modificará uno existente. Si se crea un nuevo proyecto, se el debe dar un nombre y una ubicación dentro del directorio. Es importante saber que todos los archivos que enlace el proyecto deberán estar ubicados dentro del mismo directorio.

Paso 3:

Page 17: Clase - Arquitectura interna

Clase: Arquitectura interna de microcontroladores PIC

17

Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital IITecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel Argañaras

En el cuarto paso se solicita que se indiquen los archivos que se adicionarán al proyecto. Estos pueden ser programas previamente escritos que luego serán modificados. Si el programa aún no se ha escrito, se puede saltear este paso finalizar el proceso y a continuación abrir una hoja en blanco y adicionala manualmente.

Paso 4:

Page 18: Clase - Arquitectura interna

Clase: Arquitectura interna de microcontroladores PIC

18

Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital IITecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel Argañaras

Luego de creado el proyecto y adicionado el archivo, se procede a escribir el programa nuevo o modificar uno previo. Esto se llama edición del programa.

Una vez que ya se terminó la edición del programa y se lo guardó, llega el momento de compilarlo seleccionando la opción Build All dentro de la pestaña Project.

La acción de compilar es la traducción del lenguaje C o ensamblador a código máquina y creación del archivo objeto que se grabará en el microcontrolador.

Edición y compilado de un programa:

Page 19: Clase - Arquitectura interna

Clase: Arquitectura interna de microcontroladores PIC

19

Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital IITecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel Argañaras

El resultado de la compilación se muestra en la ventana Output. Aquí se indica si la compilación fue exitosa o por el contrario si hubo errores. En este último caso se listan todos los errores encontrados.

Edición y compilado de un programa:

Page 20: Clase - Arquitectura interna

Clase: Arquitectura interna de microcontroladores PIC

20

Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital IITecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel Argañaras

Si el proceso de compilado no fue exitoso, los errores encontrados se listan en la misma ventana. En este caso es necesario corregir el programa y volver a compilarlo hasta que el resultado sea bueno.

Edición y compilado de un programa:

Page 21: Clase - Arquitectura interna

Clase: Arquitectura interna de microcontroladores PIC

21

Escuela Normal Superior Dr. Nicolás Avellaneda Cátedra: Electrónica Digital IITecnicatura Superior en Electrónica Industrial Profesor: Ing. Gabriel Argañaras

Fuente de información

• Hoja de datos de los microcontroladores PIC16F84 y PIC16F882 proporcionada por MICROCHIP en su página web.