Diapositiva 1 - Universidad Tecnológica de la Mixteca

Anuncio
11/13/2007
UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA
Ingeniería en Electrónica
EL MICROCONTROLADOR “PIC16F84”
PRESENTA:
M. C. Felipe Santiago Espinosa
Noviembre de 2007
Objetivos
2
 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.
Introducción
13/11/2007
1
11/13/2007
Temas del curso
3
 Introducción
 El interior del procesador
 Repertorio de Instrucciones
 Recursos Fundamentales
 Recursos Auxiliares
13/11/2007
Introducción
UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA
Ingeniería en Electrónica
1.
INTRODUCCIÓN
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
Noviembre de 2007
2
11/13/2007
¿Qué es una computadora?
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
Introducción
Introducción
6
 La presencia de las computadoras pasa desapercibida en una gran
cantidad 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.
Introducción
13/11/2007
3
11/13/2007
¿Qué es una computadora?
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.
13/11/2007
Introducción
¿Qué es un microcontrolador?
8
 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.
Introducción
13/11/2007
4
11/13/2007
Microprocesadores vs. Microcontroladores
9
Aunque los microprocesadores y microcontroladores
son dispositivos con algunas similitudes, existen
diferencias importantes entre ellos, las cuales
revisaremos desde 3 perspectivas diferentes:
Hardware
Aplicaciones
Características del repertorio de
instrucciones.
13/11/2007
Introducción
Hardware
10
Microcontroladores
Microprocesadores
 Es una Unidad Central
de Procesamiento en
un circuito integrado.
 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:
Introducción

Velocidad de procesamiento

Tamaño de los datos

Espacio de direccionamiento de
memoria
13/11/2007
5
11/13/2007
Aplicaciones
11
Microcontroladores
Microprocesadores
 Los microprocesadores son
 Los microcontroladores 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.
encontrados en sistemas
mínimos desempeñando
actividades orientadas a
control.
 Son la base para sistemas
con propósito específico.
 Son la base para la
construcción de sistemas de
propósito general.
Introducción
13/11/2007
Características del repertorio de instrucciones
12
Microprocesadores
 Los microprocesadores
deben incluir modos de
direccionamiento
capaces de manejar
grandes cantidades de
datos.
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
 Se espera que sus
instrucciones operen
sobre palabras (32 bits) o
palabras dobles (64 bits).
Introducción
microcontroladores incluyen
un procesador booleano que
permite hacer operaciones
lógicas directamente sobre
bits.
13/11/2007
6
11/13/2007
Hardware de una computadora
13
13/11/2007
Introducción
Hardware de un microcontrolador
14
Timer
CPU
Watchdog
Timer
Program
Memory
UART
(Serial Port)
RAM
Vcc
Gnd
Oscillator
8-bit DATA Bus
Analog I/O
Port
Introducción
Digital I/O
Port
13/11/2007
7
11/13/2007
La Unidad Central de Procesos
15
 Administra todas las actividades en el sistema y ejecuta todas las operaciones
sobre 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ás
operandos sobre los que se realizará la operación. Estas instrucciones
usualmente 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
Introducción
La Unidad Central de Procesos
(Visión simplificada)
16
IR
(Instruction Register)
PC
(Program Counter)
Contiene la instrucción que
actualmente se está
ejecutando.
Contiene la dirección de
la instrucción a ejecutar.
Unidad de decodificación
y control
REGISTROS
De función específica
ALU
(Unidad Aritmético
Lógica)
Introducción
Y
De propósito general
13/11/2007
8
11/13/2007
Tareas de la CPU
17
1)
Atrapar la instrucción: es una etapa fundamental que
involucra 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 el
bus de datos.
d)
El dato es colocado en el registro de instrucción (IR).
e)
El PC es preparado para la siguiente instrucción.
13/11/2007
Introducción
Tareas de la CPU (2)
18
CPU
Addres
Bus
N
Program
Counter
Data
Bus
OPCODE
Instruction
Register
Control Bus
Clock
OPCODE
Read
N+2
N+1
N
N-1
Memoria
Introducción
13/11/2007
9
11/13/2007
Tareas de la CPU (3)
19
2) Decodificación: consiste en descifrar el opcode para generar las
señales de control necesarias, dependiendo del tipo de instrucción.
3) Ejecución: consiste en la habilitación de la ALU para obtener
algún resultado, cargar datos desde memoria, almacenar datos en
memoria, modificar el valor del PC, etcétera (según las señales
generadas 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.
13/11/2007
Introducción
Tipos de CPUs
20

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.
Introducción
13/11/2007
10
11/13/2007
Sistema de Memoria
21
Una computadora (y por lo tanto, también un microcontrolador) debe
contar con memoria de código y memoria para datos.
Existen 2 modelos o Arquitecturas, de acuerdo con la organización de la
memoria:
Bus de Direcciones
Arquitectura
Von Neumann
Memoria de
Código
y Datos
CPU
Bus de Datos e
Instrucciones
Arquitectura
Harvard
Memoria de
Código
Bus de
Direcciones
Bus de
Direcciones
CPU
Bus de
Instrucciones
Memoria de
Datos
Bus de
Datos
13/11/2007
Introducción
Sistema de Memoria
22
 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 particionar
como 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.
Introducción
13/11/2007
11
11/13/2007
Microcontroladores
23
 Los microcontroladores son la base de muchos sistemas actuales.
13/11/2007
Introducción
Aplicaciones de los microcontroladores
24
Industria
10%
Computadoras
15%
Automóviles
18%
Comunicaciones
30%
Introducción
Consumo
27%
13/11/2007
12
11/13/2007
Microcontroladores comunes
25
 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
13/11/2007
Introducción
Técnicas en las que se basan los
Microcontroladores PIC
26
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.
Introducción
13/11/2007
13
11/13/2007
Microcontroladores PIC de 8 bits
27
 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
Introducción
Escalabilidad en los dispositivos de Microchip
28
Introducción
13/11/2007
14
11/13/2007
El PIC16X8X
29









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)
13/11/2007
Introducción
Variantes en la familia PIC16X8X
30
Introducción
13/11/2007
15
11/13/2007
Aspecto externo
31
13/11/2007
Introducción
Características Eléctricas
32







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
Introducción
13/11/2007
16
Descargar