You are on page 1of 22

MICROCONTROLADORES:

Realizado por: Ing Ender Pereira (Msc)

MICROCONTROLADORES

Memoria voltil RAM para almacenar datos

Circuitera interna I/O para disponer de Puertos de entrada y salida

MICROCONTROLADORES

Microcontroladores PIC de Microchip PIC = Controlador de interfaz perifrico


Los PIC se divide en familias de microcontroladores. Gama enana : PIC12C(F)XXX de 8 pines. Gama baja o bsica: PIC16C5X. La Gama media lo componen las familias 16C6X/ 7X/ 8X, algunos con conversores A/D, comparadores, interrupciones, etc. La Gama Alta: PIC17CXXX. La Gama mejorada la componen los PIC18CXXX La Gama PICAXE dsPIC

CARACTERISTICAS DE LOS MICROCONTROLADORES PIC16F877A


Procesador de arquitectura RISC avanzada con un SET de 35 instrucciones de 14 bits de longitud. Memoria de Programa tipo Flash: De 8K x 14 bits. Memoria RAM: 368 Bytes. Memoria de Datos EEPROM : 256 Bytes. Voltaje de alimentacin comprendido entre 2 y 5,5 V. Frecuencia hasta 20 Mhz 15 Tipos de Interrupcin, Comunicacin serie, 3 Timers, Convertidor A/D de 10 bits 40 pines y 5 Puertos de E/S (A,B,C,D,E) Sus Instrucciones son de 14 bits, mientras sus Datos son de 8 bits (mximo valor de un dato 255d,FFh,11111111b)

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

Instrucciones sobre registro orientadas a bytes

Instrucciones sobre registro orientadas a bits

Instrucciones para operaciones con literales y de control

Parmetros y Datos

TIPO
HEXADECIMAL DECIMAL BINARIO ASCII

ESCRITURA
OX#; .#; B# CARACTER #h; D# H#

EJEMPLOS
0X5A; .5; 5Ah; D5 H5A

B10100110 $

Instrucciones sobre registro orientadas a bytes

Instrucciones sobre registro orientadas a bits

Instrucciones para operaciones con literales y de control

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)

Ejemplos: F , k 11001100 W 11001100 00000000 z=1

11110010 11001100 00111110 z=0

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

You might also like