Sunteți pe pagina 1din 29

1

Sencillez de manejo: Tienen un juego de instrucciones


reducido; 35 en la gama media.
Buena informacin, fcil de conseguir y econmica.
Precio: Su coste es comparativamente inferior al de sus
competidores.
Poseen una elevada velocidad de funcionamiento. Buen
promedio de parmetros: velocidad, consumo, tamao,
alimentacin, cdigo compacto, etc.
Herramientas de desarrollo fciles y baratas. Muchas
herramientas software se pueden recoger libremente a
travs de Internet desde Microchip
2
Existe una gran variedad de herramientas hardware que
permiten grabar, depurar, borrar y comprobar el
comportamiento de los PIC.
Diseo rpido.
La gran variedad de modelos de PIC permite elegir el que
mejor responde a los requerimientos de la aplicacin.
3
4
C: EEPROM,
F: FLASH,
CF: ROM
5

6
El PIC16F84 puede trabajar con cuatro diferentes
configuraciones del oscilador.
Las configuraciones hechas con un cristal y un
circuito RC (resistor-capacitor) son las ms
frecuentemente usadas.
La configuracin con un cristal se designa XT y la
segunda se denomina RC.
7
El oscilador de cristal es un encapsulado metlico con dos
lneas que tiene impresa la frecuencia a la cual oscila el
cristal.
Es necesario conectar un capacitor cermico de 22 pF o 30
pF entre las terminales del cristal y tierra.
En algunos casos se encuentran encapsulados los
capacitores y el cristal en un circuito con tres lneas. Tal
elemento se llama un resonador cermico, las terminales
del centro son la tierra mientras que las lneas de los
extremos se conectan a las lneas OSC1 y OSC2 del
microcontrolador.
La frecuencia del cristal es tpicamente de 4 Mhz.
8
9
Se usa en aplicaciones donde no es necesaria una gran
precisin de tiempo.
Este tipo de oscilador es ms barato que el anterior.
La frecuencia de resonancia del oscilador depende del
valor de la resistencia R, el capacitor C, el valor del
voltaje de alimentacin, la temperatura de trabajo y la
tolerancia de estos elementos.
10
- Con valores muy altos, por ejemplo
1M, el oscilador puede volverse muy
sensible al ruido y la humedad, por
lo que es recomendable usar
resistencia de un valor entre 3 y 100
k.
- No importando que tipo de
oscilador que se use, el reloj es
dividido entre 4 y puede obtenerse
por medio de la lnea
OSC2/CLKOUT y emplearse para
sincronizar otros circuitos externos.
11
Al alimentarse el microcontrolador el
oscilador empieza a trabajar y al inicio
la seal es inestable y con variaciones en
su amplitud, pero con el tiempo se
estabiliza.

Para evitar que la seal inestable del
reloj tenga una mala influencia en el
comportamiento del microcontrolador,
es necesario mantener al
microcontrolador en un estado de
reset durante la estabilizacin del
oscilador del reloj. La figura muestra
una seal de un oscilador de cuarzo al
encender la fuente de alimentacin.
12
La seal de reset se usa para colocar al
microcontrolador en un estado conocido. Bajo este
estado, el contenido de los registros se lleva a una
posicin de inicio. El reset no solo se usa cuando el
microcontrolador se esta comportando de una forma
no deseada, si no que tambin puede usarse para
sacar al microcontrolador de un ciclo.
13
Para evitar colocar un cero
lgico accidentalmente en la
lnea MCLR, esta lnea debe
conectarse va un resistor
al positivo de la fuente de
alimentacin. El valor del
resistor debe ser entre 5 y 10
k. Este tipo de resistor es de
los llamados pull up.

14
Reset durante el encendido de la fuente de
alimentacin (tambin llamado Power On Reset
o POR).
Reset durante trabajo regular llevando a cero
lgico la lnea MCLR.
Reset durante el estado SLEEP.
Reset al ocurrir un sobreflujo (overflow) en el
watchdog timer (WDT).
Reset al ocurrir un sobreflujo (overflow) en el
watchdog timer (WDT) encontrndose en el
estado SLEEP.
15
Las fuentes ms importantes son la primera y la segunda, la
primera ocurre al encender la fuente de alimentacin y
sirve para llevar los registros internos a una posicin o valor
inicial y la segunda es ms comnmente usada durante el
desarrollo de programas.
Durante un reset las localidades de la memoria RAM
no son inicializadas. Al encender la fuente de
alimentacin esas localidades contienen un valor
desconocido y al activar el reset su valor no es cambiado.
Los registros del PIC16F84 conocidos como SFR si son
inicializados a un valor conocido. El program counter
es inicializado con 0000h.
16
Al encender la fuente de alimentacin, y detectar un incremento en el
voltaje de alimentacin en Vdd (en el rango de 1.2V a 1.8V), el
microcontrolador genera un pulso de reset. Ese pulso tiene una
duracin de 72ms, suficientes para que se estabilice el oscilador.
Esos 72ms son proporcionados por un temporizador interno llamado
PWRT el cual tiene su propio oscilador RC, el microcontrolador
est en un estado de reset mientras el PWRT est activo. Sin
embargo, cuando el dispositivo ya se encuentra trabajando, puede
surgir el problema de que la alimentacin no cae a cero
completamente, pero s por abajo del lmite que garantiza el correcto
funcionamiento del microcontrolador. Este puede suceder en la
prctica especialmente en ambientes industriales ruidosos y de
inestabilidad en la fuente de alimentacin. Para resolver este problema
es necesario asegurar que el microcontrolador se encuentre en un
estado de reset cada vez que la fuente caiga por abajo del lmite
permitido.
17
Puede ser necesario usar componentes electrnicos especiales para
generar la seal de reset y que aparezca un cero lgico en la lnea
MCLR hasta que el voltaje se encuentre en los lmites correctos.
18
La CPU es la encargada de buscar y
decodificar las instrucciones que
deben ser ejecutadas.
19
La CPU conecta todas las partes del
microcontrolador de manera
centralizada y tal vez la funcin ms
importante es decodificar las
instrucciones del programa. Esta
conexin se lleva a cabo por medio de
los buses de datos y direcciones.
20
La unidad aritmtica y lgica es
responsable de realizar las
operaciones de adicin,
sustraccin, movimientos (a la
izquierda y derecha dentro de un
registro) y operaciones lgicas.
Los movimientos de datos
dentro de un registro tambin se
les conoce como corrimientos. El
PIC16F84 tiene un ALU de 8 bits
y registros de trabajo de 8 bits.
21
En instrucciones con dos operandos,
generalmente un operando est en
el registro de trabajo
(denominado registro W) y el otro
es uno de los registros de propsito
general o es una constante.
Operando es el contenido sobre el
cual se ejecuta una operacin y un
registro es cualquiera de los
registros GPR o SFR,
GPR es una abreviacin de
General Purpose Register-
Registro de Propsito General y
SFR es Special Function
Register-Registro de Funcin
Especial.
22
En instrucciones de un solo
operando, el operando es el
contenido del registro W o uno
de los registros de propsito
general. El ALU tambin
controla los bits de estado
encontrados en el registro
llamado STATUS. Dependiendo
de la instruccin que se est
ejecutando, el ALU afecta los
valores de los bits de acarreo-
Carry (C), acarreo de dgito-
Digit Carry (DC) y cero-Zero (Z)
del registro de STATUS.
23
El reloj entra al
microcontrolador por medio
de la lnea OSC1 donde un
circuito interno del
microcontrolador lo divide en
cuatro ciclos iguales llamados
Q1, Q2, Q3 y Q4.
Estos cuatro ciclos
constituyen un ciclo de
instruccin (tambin
llamado ciclo de
mquina) durante el cual
se ejecuta una instruccin.
24
Se aplica la tcnica de segmentacin (pipe-line) en la
ejecucin de las instrucciones.
La segmentacin permite al procesador realizar al mismo
tiempo la ejecucin de una instruccin y la bsqueda del
cdigo de la siguiente. De esta forma se puede ejecutar cada
instruccin en un ciclo (un ciclo de instruccin equivale a
cuatro ciclos de reloj).
Las instrucciones de salto ocupan dos ciclos al no conocer
la direccin de la siguiente instruccin hasta que no se haya
completado la de bifurcacin.
25
La ejecucin de una instruccin se inicia al llamar a la instruccin de la
memoria de programa en cada ciclo Q1 y escribindola en el registro de
instruccin (instruction register) durante Q4. La decodificacin y ejecucin
de la instruccin se realizan entre los siguientes ciclos Q1 y Q4. El
contador de programa (PC) contiene la direccin de la siguiente instruccin
a ejecutar.
Si la instruccin causa un cambio en el PC, PC apunta a otra direccin,
como por ejemplo llamadas a subrutinas, se necesitan dos ciclos para ejecutar
la instruccin, ya que la instruccin debe ser procesada nuevamente. 26
TCY0 lee la instruccin MOVLW 55h
TCY1 ejecuta la instruccin MOVLW 55h y lee MOVWF PORTB.
TCY2 ejecuta la instruccin MOVWF PORTB y lee CALL SUB_1.
TCY3 ejecuta la llamada a una subrutina CALL SUB_1 y lee la instruccin BSF
PORTA,BIT3. Ya que esta instruccin no es la que se necesita o no es la primera
instruccin de SUB_1, la instruccin debe ser leda nuevamente. Este es un claro ejemplo
de una instruccin que necesita ms de un ciclo para ejecutarse.
TCY4 se usa totalmente para leer la primera instruccin de la subrutina SUB_1.
TCY5 ejecuta la primera instruccin de SUB_1 y lee la siguiente instruccin.
27
El PIC16F84 cuenta con 18 lneas. El encapsulado que
se encuentra ms frecuentemente en el mercado es del
tipo DIP18 pero tambin existe como encapsulado
SMD el cual es ms pequeo que un DIP. DIP es una
abreviacin de Dual In Package. SMD es una
abreviacin de Surface Mount Devices.
28
1. RA2 lnea 2 del puerto A. No tiene funcin adicional.
2. RA3 lnea 3 del puerto A. No tiene funcin adicional.
3. RA4 lnea 4 del puerto A. Su funcin adicional es TOCK1 y es una lnea de
control del temporizador.
4. MCLR entrada de reset y voltaje de programacin Vpp del microcontrolador.
5. Vss tierra.
6. RB0 lnea 0 del puerto B. Funciona alternamente como entrada de
interrupcin.
7. RB1 lnea 1 del puerto B. No tiene funcin adicional.
8. RB2 lnea 2 del puerto B. No tiene funcin adicional.
9. RB3 lnea 3 del puerto B. No tiene funcin adicional.
10. RB4 lnea 4 del puerto B. No tiene funcin adicional.
11. RB5 lnea 5 del puerto B. No tiene funcin adicional.
12. RB6 lnea 6 del puerto B. Lnea de reloj (clock) en el modo de programacin.
13. RB7 lnea 7 del puerto B. Lnea de datos (data) en el modo de programacin.
14. Vdd alimentacin.
15. OSC2 lnea asignada para conectarlo con un oscilador.
16. OSC1 lnea asignada para conectarlo con un oscilador.
17. RA0 lnea 0 del puerto A. No tiene funcin adicional.
18. RA1 lnea 1 del puerto A. No tiene funcin adicional.
Las lneas RB4 a RB7 pueden usarse tambin como entradas para
detectar algn cambio de estado en las mismas.
29

S-ar putea să vă placă și