Anda di halaman 1dari 42

MICROPROCONTROLADOR

ES

MICROCONTROLADORES

Un microprocesador
es un sistema
abierto con el que
puede construirse
un computador con
las caractersticas
que se desee,
acoplndole los
mdulos necesarios.

Page 4

Un microcontrolador es un sistema cerrado que


contiene un computador completo y de
prestaciones limitadas que no se pueden
modificar.

Microcontroladores
Antes: Elementos por separado
Ahora: Todo en uno Aplicaciones
MOTOR DC

ADC

PP

IRQ
IRQ

Frecuencia?

TIM

PWM

CPU

Memoria
Microcontrolador

UART

I22C

El microcontrolador PIC16F877 de Microchip pertenece a una


gran familia de microcontroladores de 8 bits (bus de datos) que
tienen las siguientes caractersticas generales que los distinguen
de otras familias:

PIC es Periphera Interface Controller


Page 8

CISC (Complex Instruction Set Computer)


El conjunto de instrucciones es bastante heterogneo:
Instrucciones son muy potentes. En algunos casos
equivalen a muchas instrucciones simples.
Instrucciones especializadas para una tarea concreta.
Facilita la programacin.
RISC (Reduced Instruction Set Computers)
Al tener un conjunto de instrucciones reducido:
El controlador es ms sencillo y el chip es ms pequeo.
Es ms rpido.
Tiene un consumo menor.
SISC (Specific Instruction Set Computer)
Incluyen instrucciones especficas para control:
Instrucciones de entrada/salida eficaces y sencillas.
Instrucciones especficas para operar a nivel de bit.
Page 9

Page 10

Page 11

Page 12

Adems de lo mostrado en la tabla anterior, en el


nombre especfico del microcontrolador pueden
aparecer algunas siglas que dependen del rango
de voltaje manejado y del tipo de memoria ROM
incluida, como se muestra en la siguiente tabla:

Page 13

Opciones de Memoria
EEPROM (Electrically Erasable PROM)
Muchos microcontroladores incorporan una pequea
memoria EEPROM dentro del chip (Contiene
parmetros que pueden cambiarse si la aplicacin lo
necesita).

Es lenta.

El nmero de veces que se puede borrar/grabar est


limitado.
FLASH (EPROM)
Son ms rpidas que las memoria EEPROM.
Permiten ms ciclos de borrado/grabacin.
14

Memoria RAM
tiles para programas de gran tamao.
Ms rpida que las memorias no voltiles.
Nmero ilimitado de veces que puede grabarse.
Apropiada para aplicaciones con grandes cantidades
de datos que cambian contnuamente.
Memoria Field programming/reprogramming
Memoria no voltil.
Puede
reprogramase
sin
desconectar
microcontrolador.
Permite actualizaciones remotas.

el

15

Memoria OTP (One Time Programmable)


Un OTP es una memoria PROM que slo puede
grabarse una vez.
Se utiliza para pequeas series.
Para probar el programa; antes de fabricar grandes
cantidad de microcontroladores con memorias ROM de
mscara.
Como los ciclos de desarrollo de productos son cada
vez ms cortos, es interesante para los fabricantes de
microcontroladores ofrecer OTPs como una opcin.
ROM de mscara
Son interesantes para un gran nmero de unidades
cuando el programa va a ser el definitivo.
16
El tiempo de entrega es de 8 a 44 semanas.

Page 18

Page 19

El circuito de reset y el
oscilador

Page 20

CIRCUITO
OSCILADOR
Cuatro modos de funcionamiento:

LP Low Power Crystal


XT Crystal/Resonator
HS High Speed Crystal/Resonator
RC Resistencia/Condensador

CIRCUITO DE RESET
Se distinguen hasta cinco clases de RESET:

Power-on Reset (POR)


Se activa cuando se detecta VDD (1.2-1.7 V)
MCLR reset durante el funcionamiento normal
Establece una temporizacin fija de 72 ms (TPWRT). El chip seguir en el estado de reset
mientras est activa esta seal (nivel bajo).
MCLR reset durante SLEEP
WDT reset durante funcionamiento normal
WDT Wake-up durante SLEEP

Bits de configuracin del


oscilador.
Un circuito RC como oscilador da una solucin
econmica.
El tipo LP es utilizado en aplicaciones de bajo
consumo.
El modo XT es el ms empleado y utiliza un
cristal.
El modo HS emplea cristales de alta velocidad.
Por ltimo, el oscilador interno INTOSC es
configurable a alta o baja velocidad.

Los PIC de rango medio permiten hasta 8


diferentes modos para el oscilador. El usuario
puede seleccionar alguno de estos 8 modos
programando 2 bits de configuracin del
dispositivo denominados: FOSC1 y FOSC0,
ubicados en un registro especial de configuracin
en la localidad 2007H de la memoria de
programa:

Page 24

Los tres modos LP, XT y HS usan un cristal o


resonador externo, la diferencia sin embargo es la
ganancia de los drivers internos, lo cual se ve
reflejado en el rango de frecuencia admitido y la
potencia consumida. En la siguiente tabla se
muestran los rangos de frecuencia as como los
capacitores recomendados para un oscilador en
base a cristal.

Page 25

Cristal externo:
En los tres modos mostrados en la tabla anterior
se puede usar un cristal o resonador cermico
externo. En la siguiente figura se muestra la
conexin de un cristal a las patitas OSC1 y OS2
del PIC.

Page 26

Circuito RC externo:

En los modos RC y EXTRC el PIC puede generar su seal oscilatoria


basado en un arreglo RC externo conectado a la patita OSC1 como se
muestra en la siguiente figura:

Rangos.- La frecuencia de oscilacin depende no slo de los valores


de Rext y Cext, sino tambin del voltaje de la fuente V dd. Los rangos
admisibles para resistencia y capacitor son:
Rext: de 3 a 100 Kohms
Cext: mayor de 20 pf
Page 27

Oscilador externo. Tambin es posible conectar una seal de reloj


generada mediante un oscilador externo a la
patita OSC1 del PIC. Para ello el PIC deber estar
en uno de los tres modos que admiten cristal (LP,
XT o HS). La conexin se muestra en la siguiente
figura:

Page 28

Oscilador interno
En los PICs que poseen este modo de oscilacin,
el PIC usa un arreglo RC interno que genera una
frecuencia de 4 Mhz con un rango de error
calibrable de 1.5%.

Page 29

CP1:CP0 Bits de proteccin de cdigo


Protege la memoria del programa
CPD: Bit de proteccin de cdigo de datos.
1 = Proteccin deshabilitada.
0 = Proteccin habilitada.
LVP: Habilitacin de la programacin por bajo voltaje.
1 = Habilitado.
0 = Deshabilitado
PWRTE: Bit de habilitacin de temporizador al energizar.
1 = PWRTE habilitado.
0 = PWRTE deshabilitado.
WDTE: Bit de habilitacin del Watch Dog timer
1 = WDT habilitado
0 = WDT deshabilitado
Page 30

Page 31

Page 32

Page 33

Descripcin de la CPU
La CPU es la responsable de la interpretacin y
ejecucin de la informacin (instrucciones)
guardada en la memoria de programa. Muchas de
estas instrucciones operan sobre la memoria de
datos. Para operar sobre la memoria de datos
adems, si se van a realizar operaciones lgicas o
aritmticas, requieren usar la Unidad de Lgica y
Aritmtica (ALU). La ALU controla los bits de
estado (Registro STATUS), los bits de este registro
se alteran dependiendo del resultado de algunas
instrucciones.
Page 34

Ciclo de instruccin
El registro Program Counter (PC) es gobernado por el ciclo de
instruccin como se muestra en la siguiente figura.

En cada ciclo la CPU lee (Fetch) la instruccin guardada en la


memoria de programa apuntada por PC y al mismo tiempo ejecuta
la instruccin anterior, esto debido a una cola de instrucciones
que le permite ejecutar una instruccin mientras lee la prxima.
Page 35

Como puede verse, cada ciclo de instruccin (Tcy = 4Tosc) se compone a su


vez decuatro ciclos del oscilador (Tosc= 1/Fosc)).

Cada ciclo Q provee la sincronizacin para los siguientes eventos:


Q1: Decodificacin de la instruccin
Q2: Lectura del dato (si lo hay)
Q3: Procesa el dato
Q4: Escribe el dato
Debido a esto cada ciclo de instruccin consume 4 ciclos de reloj, de manera
que si la frecuencia de oscilacin es Fosc, Tcy ser 4/Fosc.

Page 36

Registros de la CPU.
Registro PC. Registro de 13 bits que siempre apunta a la siguiente
instruccin a ejecutarse.
Registro de Instruccin. Registro de 14 bits. Todas las instrucciones se colocan
en l para ser decodificadas por la CPU antes de
ejecutarlas.
Registro W. Registro de 8 bits que guarda resultados temporales de
las operaciones realizadas por la ALU.
Page 37

STATUS
Registro
Registro de 8 bits, cada uno de sus bits (denominados
Banderas) es un indicador de estado de la CPU o del
resultado de la ltima operacin como se indica en la
siguiente figura:

Z.- Este bit se pone (=1) para indicar que el resultado de la ltima operacin fue
cero, de lo contrario se limpia (=0).
C.- Bit de acarreo/prstamo de la ltima operacin aritmtica (en el caso de
prstamo (resta), el bit se invierte antes de guardarse).
DC.- Acarreo/prstamo proveniente del cuarto bit menos significativo. Funciona
igual que el bit C, pero para operaciones de 4 bits.
Page 38

Conjunto de Instrucciones de
Rango Medio
RISC (Reduced Instruction Set Computers)

En la siguiente tabla se resumen las 35


instrucciones que reconoce la CPU de los PIC de
medio rango, incluyendo su mnemnico, tiempo
de ejecucin, cdigo de mquina y afectacin de
banderas:

Page 39

Conjunto de Instrucciones de
Rango Medio

Page 40

Conjunto de Instrucciones de
Rango Medio

Page 41

Conjunto de Instrucciones de
Rango Medio

Page 42

Anda mungkin juga menyukai