Microcontroladores de Ingenieria Electronica Automatización Unidad 1 URBE O-713 O-723
Microcontroladores de Ingenieria Electronica Automatización Unidad 1 URBE O-713 O-723
Microcontroladores de Ingenieria Electronica Automatización Unidad 1 URBE O-713 O-723
MICROCONTROLADORES
MICROCONTROLADORES
ARQUITECTURA EXTERNA
33 Pines I/O
PUERTO A= RA0, RA1, RA2, RA3, RA4, RA5 PUERTO B = RB0, RB1, RB2, RB3, RB4, RB5, RB6, RB7 PUERTO C = RC0, RC1, RC2, RC3, RC4, RC5, RC6, RC7 VDD: Alimentacin y VSS: Tierra OSC1/CLKIN-OSC2/CLKOUT: conexin del oscilador MCLR#/VPP: Reset y tensin de programacin PUERTO D = RD0, RD1, RD2, RD3, RD4, RD5, RD6, RD7 PUERTO E = RE0, RE1, RE2
ARQUITECTURA EXTERNA
MCLR: El Reset del Microcontrolador (Master Clear). Se activa cuando tiene un "0" lgico en su entrada.
ARQUITECTURA EXTERNA
Como este dispositivo es de tecnologa CMOS,
todos los pines deben estar conectado a alguna parte, nunca dejarlos al aire por que se puede daar el integrado. Los pines que no se estn usando se deben conectar a la fuente de alimentacin +5V con una resistencia.
Capacidad de corriente de los pines I/O La mxima capacidad de corriente de cada uno de los pines de I/O en modo sumidero es de 25 mA y en modo fuente es de 20 mA.
Memoria de Programa
Se encarga de almacenar todas las instrucciones del Programa de Control VECTOR DE RESET Cuando ocurre un Reset o se enciende el Microcontrolador, el contador de programa se pone en cero (0000h). Por esta razn, en la primera direccin del programa se debe escribir todo lo relacionado con la iniciacin del mismo. (por ejemplo, la configuracin de los puertos...) . VECTOR DE INTERRUPCION Cuando el Microcontrolador recibe una seal de interrupcin el contador de programa apunta a la direccin 04h de la memoria de programa, por eso all se debe escribir toda la programacin necesaria para atender dicha interrupcin. PILA Posee 8 niveles, de estructura LIFO, donde se almacenan las direcciones de retorno para las subrutinas o para interrupciones. (Mximo 8 direcciones de retorno). Prog Princ Sub A Sub B Sub C
Memoria de Datos
Es de tipo RAM ya que los datos que manejan los programas varan continuamente. La memoria est dividida en 4 bancos (cada una de las columnas): banco 0,1,2 y 3. Las primeras posiciones de cada banco estn ocupadas por los Registros de Propsito Especial (SFR). Estos registros, son los encargados de controlar ciertas funciones especficas del PIC. Las posiciones siguientes son los denominados Registros de Propsito General, (GPR). stos son empleados para guardar cualquier dato que necesitemos durante la ejecucin del programa.
PCL Y PCLATH
El PCL y PCLATH son dos registros de la RAM, El contador de programa (PC) tiene una longitud de 13 bits, que le informa al microcontrolador cual es la siguiente posicin de memoria que contiene la instruccin que debe ejecutarse, esta informacin la tiene la RAM, y como esta tiene solamente registros de 8 bits, se tiene que usar dos registros para esta informacin, el PCL almacena los 8 primeros bits del PC y el PCLATH almacena en sus primeros 5 bits, los ltimos 5 bits del PC. No hay mayor misterio para estos dos registros solamente almacenan temporalmente la informacin actual de la direccin de la memoria de programa que se ejecutara. Normalmente solo se usa el PCL, ahora si nuestro programa tiene mas de 255 lneas de programa, entonces si se estara usando el PCLATH.
STATUS
Informa sobre el estado de la unidad aritmtico-lgica, el motivo de RESET y los bits de seleccin del banco de memoria RAM. Cada bit de este registro tiene su funcin especfica.
El Puerto A
Registro PORTA (05H).- El puerto A posee 6 lneas bidireccionales. Cada uno de los 6 bits menos significativos (RA5,...,RA0) de este registro estn asociados a la lnea fsica correspondiente del puerto.
Registro TRISA (85H).- Cada bit de este registro configura cada un de los pines del Puerto A como entrada o salida.
El Puerto B
Los Puertos C, D y E
Parmetros y Datos
TIPO
HEXADECIMAL DECIMAL BINARIO ASCII
ESCRITURA
OX#; .#; B# CARACTER #h; D# H#
EJEMPLOS
0X5A; .5; 5Ah; D5 H5A
B10100110 $
Operacin resta: Adems de realizar una simple resta sirve para obtener las siguientes comparaciones, bien sea entre un registro (f) y el acumulador (w) o una constante (k) y el acumulador (w)
F = W, k = W; status (z=1) F >= W, k >= W; status (c=1) F < W, k < W; status (c=0) Ejemplos: F,k W 5 6 2
5 0 z=1 2 +4 c=1
6 -4
c=0
Operacin XOR: Sirve para comparar, bien sea entre un registro (f) y el acumulador (w) o una constante (k) y el acumulador (w), para ver si son iguales o diferentes
F = W, k = W;
status (z=1)
Operacin lgica AND: Uno de sus usos es eliminar una porcin de bit sin importancia. Ejemplo: Tomar 2 valores de 4 bits, que se encuentran en un puerto de 8 bits. Todo se basa en realizar una operacin AND del registro que contiene la informacin y el acumulador (W), colocando en este; unos en los bits del registro que deben mantenerse y ceros en los que desean eliminarse. Nota: Esto tambin sirve si el valor esta en una constante, es decir una constante y W
PORTx Z3 Z2 Z1 Z0 Y3 Y2 Y1 Y0 AND W 0 0 0 0 1 1 1 1
LSB
Y3
Y2
Y1
Y0
PORTx
Z3
Z2
Z1
Z0
Y3
Y2
Y1
Y0 AND
Z3
Z2
Z1
Z0
SWAPF
MSB
Z3
Z2
Z1
Z0