m. c. felipe santiago espinosa - utm.mxfsantiag/pics/sesion 1.pdf · una serie de instrucciones...

16
11/13/2007 1 UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA Ingeniería en Electrónica EL MICROCONTROLADOR “PIC16F84” PRESENTA: M. C. Felipe Santiago Espinosa Noviembre de 2007 Objetivos Que los participantes adquieran el conocimiento relacionado con los dispositivos electrónicos conocidos como Microcontroladores. Que comprendan la arquitectura del microcontrolador PIC16F84, desarrollado por Microchip. Que puedan desarrollar aplicaciones basadas en el PIC16F84. 13/11/2007 2 Introducción

Upload: lamdien

Post on 03-Nov-2018

242 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: M. C. Felipe Santiago Espinosa - utm.mxfsantiag/PICS/sesion 1.pdf · Una serie de instrucciones combinada para realizar alguna ... Complex Instruction Set Computers ... Familia MCS-51

11/13/2007

1

UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA

Ingeniería en Electrónica

EL MICROCONTROLADOR “PIC16F84”

PRESENTA:

M. C. Felipe Santiago Espinosa

Noviembre de 2007

Objetivos

Que los participantes adquieran el conocimiento relacionado con los dispositivos electrónicos conocidos como Microcontroladores.

Que comprendan la arquitectura del microcontrolador PIC16F84, desarrollado por Microchip.

Que puedan desarrollar aplicaciones basadas en el PIC16F84.

13/11/2007

2

Introducción

Page 2: M. C. Felipe Santiago Espinosa - utm.mxfsantiag/PICS/sesion 1.pdf · Una serie de instrucciones combinada para realizar alguna ... Complex Instruction Set Computers ... Familia MCS-51

11/13/2007

2

Temas del curso

Introducción

El interior del procesador

Repertorio de Instrucciones

Recursos Fundamentales

Recursos Auxiliares

3

13/11/2007Introducción

UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA

Ingeniería en Electrónica

1. INTRODUCCIÓN

Noviembre de 2007

En esta sección se pretende cubrir :

Los elementos que integran una computadora Un bosquejo general de microcontroladores y microprocesadores Las características de los microcontroladores de “Microchip” Ubicar a nuestro caso de estudio: El microcontrolador PIC16F84

Page 3: M. C. Felipe Santiago Espinosa - utm.mxfsantiag/PICS/sesion 1.pdf · Una serie de instrucciones combinada para realizar alguna ... Complex Instruction Set Computers ... Familia MCS-51

11/13/2007

3

Introducción

5

Es un sistema que procesa información, recibe datos de entrada, los procesa y produce resultados en la salida.

Capaz de efectuar complejas tareas aritméticas y lógicas.

Está construida por Hardware y Software.

13/11/2007

¿Qué es una computadora?

Introducción

13/11/2007Introducción

6

La presencia de las computadoras pasa desapercibida en una grancantidad de productos comerciales.

Encontramos computadoras dentro de cajas registradoras, hornos de microondas, video juegos, video cámaras, instrumentos musicales, máquinas de escribir, equipos de sonido, fotocopiadoras, etc.

En estas aplicaciones las computadoras están desempeñando funciones de “control” interactuando con el “mundo real” para encender o apagar dispositivos y monitorear condiciones.

Los microcontroladores son frecuentemente encontrados en tales aplicaciones.

Los microcontroladores se desarrollaron posteriormente a los microprocesadores, y muchos sistemas electrónicos actuales no hubieran sido posibles sin la presencia de estos dispositivos.

Page 4: M. C. Felipe Santiago Espinosa - utm.mxfsantiag/PICS/sesion 1.pdf · Una serie de instrucciones combinada para realizar alguna ... Complex Instruction Set Computers ... Familia MCS-51

11/13/2007

4

¿Qué es una computadora?

13/11/2007Introducción

7

• Sistema capaz de operar sobre datos sin

intervención humana (siguiendo un

programa).

• Que puede almacenar y recuperar datos.

• Incluye dispositivos I/O para la interacción

con los humanos.

¿Qué es un microcontrolador?

Un microcontrolador es un Circuito Integrado con tecnología VLSI que contiene una Unidad Central de Procesos (CPU), memoria para código, memoria para datos, además de otros recursos necesarios para el desarrollo de aplicaciones, por lo general con un propósito específico.

Un microcontrolador puede considerarse una computadora en un CI.

8

13/11/2007Introducción

Page 5: M. C. Felipe Santiago Espinosa - utm.mxfsantiag/PICS/sesion 1.pdf · Una serie de instrucciones combinada para realizar alguna ... Complex Instruction Set Computers ... Familia MCS-51

11/13/2007

5

Aunque los microprocesadores y microcontroladoresson dispositivos con algunas similitudes, existen diferencias importantes entre ellos, las cuales revisaremos desde 3 perspectivas diferentes:

Hardware

Aplicaciones

Características del repertorio de instrucciones.

Microprocesadores vs. Microcontroladores

13/11/2007

9

Introducción

Hardware

Microprocesadores

Es una Unidad Central de Procesamiento en un circuito integrado.

Microcontroladores

Además de la CPU, contiene: RAM, ROM, interfaz serial, interfaz paralela, manejo de interrupciones, temporizadores, etc. Todo en un circuito integrado.

Las limitantes en el microcontrolador son:

Velocidad de procesamiento

Tamaño de los datos

Espacio de direccionamiento de memoria

13/11/2007

10

Introducción

Page 6: M. C. Felipe Santiago Espinosa - utm.mxfsantiag/PICS/sesion 1.pdf · Una serie de instrucciones combinada para realizar alguna ... Complex Instruction Set Computers ... Familia MCS-51

11/13/2007

6

Aplicaciones

Microprocesadores

Los microprocesadores son comúnmente usados como CPU en las computadoras. Aunque también existen tarjetas de evaluación y desarrollo con base en algún microprocesador (SBC, Single Board Computer), pero éstas cada vez son menos comunes.

Son la base para la construcción de sistemas de propósito general.

Microcontroladores

Los microcontroladores son encontrados en sistemas mínimos desempeñando actividades orientadas a control.

Son la base para sistemas con propósito específico.

13/11/2007

11

Introducción

Características del repertorio de instrucciones

Microprocesadores

Los microprocesadores deben incluir modos de direccionamiento capaces de manejar grandes cantidades de datos.

Se espera que sus instrucciones operen sobre palabras (32 bits) o palabras dobles (64 bits).

Microcontroladores

Un microcontrolador debe poder manjar bits directamente. Por ejemplo: para encender o apagar un motor basta con cambiar el estado de un bit.

La mayoría de microcontroladores incluyen un procesador booleano que permite hacer operaciones lógicas directamente sobre bits.

13/11/2007

12

Introducción

Page 7: M. C. Felipe Santiago Espinosa - utm.mxfsantiag/PICS/sesion 1.pdf · Una serie de instrucciones combinada para realizar alguna ... Complex Instruction Set Computers ... Familia MCS-51

11/13/2007

7

Hardware de una computadora

13/11/2007Introducción

13

Hardware de un microcontrolador

13/11/2007Introducción

14

ProgramMemory

CPU

RAM

Timer

WatchdogTimer

UART(Serial Port)

Oscillator

Analog I/OPort

Digital I/OPort

8-bit DATA Bus

Vcc

Gnd

Page 8: M. C. Felipe Santiago Espinosa - utm.mxfsantiag/PICS/sesion 1.pdf · Una serie de instrucciones combinada para realizar alguna ... Complex Instruction Set Computers ... Familia MCS-51

11/13/2007

8

La Unidad Central de Procesos

Administra todas las actividades en el sistema y ejecuta todas las operacionessobre los datos. Su tarea puede reducirse a las siguientes operaciones:

– Atrapar una instrucción.

– Decodificarla.

– Ejecutarla.

Cada instrucción contiene un código de operación (opcode) y uno o másoperandos sobre los que se realizará la operación. Estas instruccionesusualmente incluyen:

– Aritméticas: suma, resta, producto, división, etc.

– Lógicas: AND, OR, NOT, etc.

– Transferencia de datos.

– Bifurcaciones (condicionales o incondicionales)

13/11/2007

15

Introducción

IR

(Instruction Register)

Contiene la instrucción que

actualmente se está

ejecutando.

PC

(Program Counter)

Contiene la dirección de

la instrucción a ejecutar.

Unidad de decodificación

y control

ALU

(Unidad Aritmético

Lógica)

REGISTROS

De función específica

Y

De propósito general

La Unidad Central de Procesos(Visión simplificada)

13/11/2007

16

Introducción

Page 9: M. C. Felipe Santiago Espinosa - utm.mxfsantiag/PICS/sesion 1.pdf · Una serie de instrucciones combinada para realizar alguna ... Complex Instruction Set Computers ... Familia MCS-51

11/13/2007

9

1) Atrapar la instrucción: es una etapa fundamental queinvolucra los siguientes pasos:

a) El contenido del PC es colocado en el bus de direcciones.

b) Una señal de control (READ) es activada.

c) Un dato (la instrucción) es leído de la RAM y puesto en elbus de datos.

d) El dato es colocado en el registro de instrucción (IR).

e) El PC es preparado para la siguiente instrucción.

Tareas de la CPU

13/11/2007

17

Introducción

CPU

NProgramCounter

OPCODE

OPCODE

InstructionRegister

Clock

Read

Control Bus

AddresBus

DataBus

NN + 1

N - 1

N + 2

Tareas de la CPU (2)

Memoria

13/11/2007

18

Introducción

Page 10: M. C. Felipe Santiago Espinosa - utm.mxfsantiag/PICS/sesion 1.pdf · Una serie de instrucciones combinada para realizar alguna ... Complex Instruction Set Computers ... Familia MCS-51

11/13/2007

10

2) Decodificación: consiste en descifrar el opcode para generar lasseñales de control necesarias, dependiendo del tipo de instrucción.

3) Ejecución: consiste en la habilitación de la ALU para obteneralgún resultado, cargar datos desde memoria, almacenar datos enmemoria, modificar el valor del PC, etcétera (según las señalesgeneradas por el control).

Una serie de instrucciones combinada para realizar alguna tarea significativa es llamado programa.

El grado en el cual las tareas son realizadas eficiente y correctamente depende en mucho del software, no de qué tan sofisticado sea el CPU.

Tareas de la CPU (3)

13/11/2007

19

Introducción

CISC : Complex Instruction Set Computers

RISC : Reduced Instruction Set Computers

Una arquitectura RISC tiene pocas instrucciones y generalmente del mismo tamaño y muchas veces corresponde con el tamaño de los datos.

En la CISC hay demasiadas instrucciones con diferentes tamaños y formatos, que pueden ocupar varios bytes, uno para el opcode y el resto para los operandos.

Una instrucción CISC puede corresponder a varias instrucciones RISC.

Un procesador RISC típico tiene una capacidad de procesamiento de dos a cuatro veces mayor que un CISC y su estructura de hardware es tan simple, que se puede realizar en una fracción de la superficie ocupada por el circuito integrado de un procesador CISC.

Tipos de CPUs

13/11/2007

20

Introducción

Page 11: M. C. Felipe Santiago Espinosa - utm.mxfsantiag/PICS/sesion 1.pdf · Una serie de instrucciones combinada para realizar alguna ... Complex Instruction Set Computers ... Familia MCS-51

11/13/2007

11

Una computadora (y por lo tanto, también un microcontrolador) debecontar con memoria de código y memoria para datos.

Existen 2 modelos o Arquitecturas, de acuerdo con la organización de la memoria:

Arquitectura Von NeumannCPU

Bus de Direcciones

Bus de Datos e Instrucciones

Memoria deCódigoy Datos

CPU

Bus deDirecciones

Bus deDirecciones

Bus deDatos

Bus deInstrucciones

Memoria deDatos

Memoria deCódigo

ArquitecturaHarvard

Sistema de Memoria

13/11/2007

21

Introducción

Sistema de Memoria

La mayoría de Microcontroladores utilizan una Arquitectura Harvard.

La memoria de código (o de instrucciones o de programa) almacena las instrucciones que forman al programa.

Para acomodar programas grandes, la memoria de código se puede particionarcomo memoria interna y memoria externa, en algunos microcontroladores.

Usualmente la memoria de programa es no volátil y puede ser del tipo EPROM, EEPROM, Flash, ROM enmascarable o OTP (one-time programmable).

Para la memoria de datos, los microcontroladores pueden contener RAM o EEPROM, para el uso de variables o de una pila.

Todos los microcontroladores tienen memoria interna de datos, en diferentes magnitudes, algunos además cuentan con la capacidad de expansión usando una memoria externa.

13/11/2007

22

Introducción

Page 12: M. C. Felipe Santiago Espinosa - utm.mxfsantiag/PICS/sesion 1.pdf · Una serie de instrucciones combinada para realizar alguna ... Complex Instruction Set Computers ... Familia MCS-51

11/13/2007

12

Microcontroladores

Los microcontroladores son la base de muchos sistemas actuales.

23

13/11/2007Introducción

Aplicaciones de los microcontroladores

Computadoras15%

Consumo27%

Comunicaciones30%

Automóviles18%

Industria10%

24

13/11/2007Introducción

Page 13: M. C. Felipe Santiago Espinosa - utm.mxfsantiag/PICS/sesion 1.pdf · Una serie de instrucciones combinada para realizar alguna ... Complex Instruction Set Computers ... Familia MCS-51

11/13/2007

13

Microcontroladores comunes

25

13/11/2007Introducción

Familia MCS-51 de Intel 8031 8051 8751

Microcontroladores de Dallas Semiconductor DS5000T DS80C400

Microcontroladores PIC de Microchip PIC16F84

Microcontroladores AVR de ATMEL ATINY461 ATMega8 ATMega16

Los microcontroladores PIC combinan tres técnicas en su

construcción:

Arquitectura Harvard

Son RISC

Utilizan segmentación (pipeline)

Con ellas se consigue alto rendimiento y elevada velocidad

de operación.

Técnicas en las que se basan los

Microcontroladores PIC

13/11/2007

26

Introducción

Page 14: M. C. Felipe Santiago Espinosa - utm.mxfsantiag/PICS/sesion 1.pdf · Una serie de instrucciones combinada para realizar alguna ... Complex Instruction Set Computers ... Familia MCS-51

11/13/2007

14

Microcontroladores PIC de 8 bits

Sencillez de manejo

Información accesible

Precio

Diseño rápido

Elevada velocidad de funcionamiento.

Juego reducido de instrucciones

35 en promedio.

Bajo consumo y varios voltajes de alimentación.

Herramientas gratuitas

www.microchip.com

Gran variedad de modelos.

13/11/2007

27

Introducción

Escalabilidad en los dispositivos de Microchip

13/11/2007

28

Introducción

Page 15: M. C. Felipe Santiago Espinosa - utm.mxfsantiag/PICS/sesion 1.pdf · Una serie de instrucciones combinada para realizar alguna ... Complex Instruction Set Computers ... Familia MCS-51

11/13/2007

15

MEMORIA DE PROGRAMA: 512 o 1K de palabras de 14 bits

MEMORIA DE DATOS RAM: 36 o 68 bytes

MEMORIA DE DATOS EEPROM: 64 bytes

PILA (Stack): de 8 niveles

INTERRUPCIONES: 4 fuentes

JUEGO DE INSTRUCCIONES: 35

ENCAPSULADO: Plástico DIP de 18 terminales

FRECUENCIA DE TRABAJO: Hasta 10 MHz

TEMPORIZADORES: 1 de 8 bits + WDT (Perro Guardián)

El PIC16X8X

13/11/2007

29

Introducción

Variantes en la familia PIC16X8X

13/11/2007

30

Introducción

Page 16: M. C. Felipe Santiago Espinosa - utm.mxfsantiag/PICS/sesion 1.pdf · Una serie de instrucciones combinada para realizar alguna ... Complex Instruction Set Computers ... Familia MCS-51

11/13/2007

16

Aspecto externo

13/11/2007

31

Introducción

Lineas de E/S digitales: 13 (5 Puerto A y 8 Puerto B)

Corriente máxima absorbida: 80 mA, Puerto A y 150 mA

Puerto B

Corriente máxima suministrada: 50 mA Puerto A y 100 mA

Puerto B

Corriente máxima absorbida por línea: 25 mA

Corriente máxima suministrada por línea: 20 mA

Voltaje de alimentación (VDD): De 2 a 6 Voltios de CD

Voltaje de grabación (Vpp): De 12 a 14 voltios de CD

Características Eléctricas

13/11/2007

32

Introducción