m. c. felipe santiago espinosa - utm.mxfsantiag/pics/sesion 1.pdf · una serie de instrucciones...
TRANSCRIPT
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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