Está en la página 1de 37

CONTENIDO

1. Definiciones Bsicas
Microcontroladores.

Descripcin

de

2. Caractersticas de los Microcontroladores PIC.


3. Set de Instrucciones de los Microcontroladores
4. MPLAB
5. NIPLE
6. Aplicaciones y Proyectos con PIC

los

Un microcontrolador, es un circuito integrado


programable de alta escala de integracin que
contiene todos los componentes funcionales de un
computador (computador completo), es decir, este
contiene la UCP (Unidad Central de Proceso), la
memoria de acceso aleatorio (RAM), la memoria
de slo lectura (ROM), y puertos de entrada /
salida (E/S), es decir, se trata de un computador
monopastilla aunque de limitadas prestaciones.
Es un sistema cerrado capaz de controlar procesos
especficos.

Diferencias entre un Microprocesador y un Microcontrolador

Aplicaciones de los Microcontroladores

COMPONENTES DE UN MICROPROCESADOR
Unidad Aritmtico Lgica (ALU): Es el dispositivo de realizar las
operaciones lgicas y aritmticas de los datos del programa. Se
dice que es el cerebro de todo procesador
Memoria: Es un elemento capaz de almacenar informacin. Todo
procesador tiene dos tipos de memorias
Memoria ROM: Es donde se almacena el programa a ejecutarse
por el micro. No es voltil.
Memoria RAM: Es aquella capaz de almacenar la informacin de
manera momentnea. All se encuentran los registros que
permitirn la configuracin del procesador.

COMPONENTES DE UN MICROPROCESADOR
Bus: Lneas que permiten la
conexin entre dispositivos.
Bus de Direcciones: son
aquellas que permite el
acceso a la memoria para
ubicar un dato (leer o escribir)
Bus de Control: son las
seales
que
permiten
manipular los componentes
de un microprocesador.
Bus de Datos: son el canal
por donde se transfiere la
informacin a ser utilizada por
el micro.

COMPONENTES DE UN MICROPROCESADOR
Registro de Trabajo (W). Es un elemento que permite almacenar
un dato especfico cuando se realiza una operacin dentro de un
microprocesador. Es importante recalcar que todas las
operaciones se realizan utilizando este registro.
Interface de I/O: Son una serie de dispositivos que permiten el
intercambio de informacin con el exterior.
Reloj: Seal que permite sincronizar los procesos.

Arquitectura del Microprocesador


Von Neumann
Harvard

Controlador

Entradas
Son seales que
vienen del proceso.
Que miden la
variable que se
desea controlar

Es el cerebro del
proceso. Es tomar
las acciones
necesarias para
controlar un proceso

Salidas
Son las acciones
de control sobre el
proceso. Actan de
manera directa o
indirecta sobre la
variable controlada

Controlador

Diagrama de un sistema de control

Modelos de los Microcontroladores existentes en el


mercado

Existen tres orientaciones en cuanto a la arquitectura y


funcionalidad de los procesadores actuales:
1. CISC (Computadores de Juego de Instrucciones
Complejo): Disponen de 96 instrucciones de mquina en
su repertorio, algunas de las cuales son muy sofisticadas y
potentes, requiriendo muchos ciclos para su ejecucin.
Una ventaja de los procesadores CISC es que ofrecen al
programador instrucciones complejas que actan como
macros.
2. RISC (Computadores de Juego de Instrucciones
Reducido): En estos procesadores el repertorio de
instrucciones mquina es muy reducido y las instrucciones
son simples y, generalmente, se ejecutan en un ciclo. La
sencillez y rapidez de las instrucciones permiten optimizar
el hardware y el software del procesador.
3. SISC (Computadores de Juego de Instrucciones
Especfico):
Estos son utilizados a aplicaciones muy

Microcontrolador
PIC 16X84

OSC: Pines que permitirn conectar los osciladores o generadores,


que servirn como seal de reloj para sincronizar al micro.
MCLR: Pin externo por donde se puede introducir una seal de
RESET
VDD y Vss : Pines donde se conecta la alimentacin del circuito
integrado (5 V)

Microcontrolador
PIC 16X84
Puertas: El PIC16F84 tiene dos puertos. El puerto A con 5 lneas y el puerto
B con 8 lneas. Cada pin se puede configurar como entrada o como salida
independiente programando un par de registros diseados para tal fin.
El puerto B tiene internamente unas resistencias de pull-up conectadas a
sus pines (sirven para fijar el pin a un nivel de cinco voltios), su uso puede
ser habilitado o deshabilitado bajo control del programa.
El puerto A cuando se programa como entrada digital, funciona como un
disparador de Schmitt (schmitt Trrigger), puede reconocer seales un poco
distorsionadas y llevarlas a niveles lgicos. Cuando se usa como salida
digital se comporta como colector abierto, por lo tanto, se debe poner una
resistencia de pull-up (resistencia externa conectada a un nivel de cinco
voltios). Como salida, la lgica es inversa: un 0 escrito al pin del puerto
entrega en el pin un 1 lgico.

El pin RB0/INT se puede configurar por software para que funcione


como interrupcin externa, para configurarlo se utilizan unos bits
de los registros INTCON y OPTION.
El pin RA4/TOCK1 del puerto A puede ser configurado como pin de
entrada/salida o como entrada del temporizador/contador.
Como este dispositivo es de tecnologa CMOS, todos los pines
deben estar conectados a alguna parte, nunca dejarlos al aire
porque puede daar el integrado. Los pines que no se estn
usando se deben conectar a la fuente de alimentacin de 5V.

La mxima capacidad de corriente de cada uno de los pines de los puertos


en modo sumidero (sink) es de 25 mA y en modo fuente (source) es de 20
mA. La mxima capacidad de corriente total de los puertos es:

El consumo de corriente del microcontrolador para su funcionamiento


depende del voltaje de operacin, la frecuencia y de las cargas que tengan
sus pines. Para un reloj de 4MHz el consumo es de aproximadamente 2
mA; aunque ste se puede reducir a 40 A cuando est en el modo sleep
(en este modo en micro se detiene y disminuye el consumo de potencia). Se
sale de ese estado cuando se produce alguna condicin especial.

Memoria de
Datos

Procesador

Interface de
I/O

Memoria de
Programa

Diagrama en
Bloques de un
Microcontrolador

Pila (stack). Es un registro que


permite guardar la direccin cuando
se producen saltos dentro de un
programa. El Micro tiene hasta 8
niveles de pila
Vector de Reset. Es una instruccin
que permite al micro saber que hacer
cuando se produce una interrupcin
del proceso o externamente se
produce un reinicio.

Distribucin de la Memoria EPROM

Registros de Configuracin:
02h o PCL: Contador de Programa. Es un
registro direccionar la memoria del programa
de manera secuencial
03h o STATUS: Registro de Estados.
Contiene el estado aritmtico de la ALU, la
causa del reset y los bits de preseleccin de
pgina para la memoria de datos.
05h y 06h. PORTA y PORTB: Puerto de
Entrada/Salida. Estos Leen o escriben el
estado de las puertas
85h y 86h. TRISA y TRISB: Registro de
Configuracin del Puerto A y B. Es el
registro de control del puerto A y B. Un
cero en el bit correspondiente al pin lo
configura como salida, mientras que un
uno lo hace como entrada.

Distribucin de la
Memoria RAM

Tipo de Osciladores
RC: oscilador con resistencia y
condensador
XT: Cristal (hasta 4 Mhz)
HS: Cristal de alta velocidad
(mayor a 4MHz)
LP: Cristal para baja frecuencia
y bajo consumo de potencia

CARACTERSTICAS ESPECIALES
Circuito de Vigilancia (Watchdog Timer). Su funcin es
restablecer el programa cuando ste se ha perdido por fallas en la
programacin o por alguna razn externa.
Este oscilador
corre de manera independiente al oscilador principal. Cuando se
habilita su funcionamiento, dicho circuito hace que el
microcontrolador sufra un reset cada determinado tiempo (que se
puede programar entre 8 ms y 2 seg.).
Temporizador de Encendido (Power-up Timer). ste
proporciona un reset al microcontrolador en el momento de
conectar la fuente de alimentacin, lo que garantiza un arranque
correcto del sistema.
Modo de bajo consumo (Sleep). Esta caracterstica permite que
el microcontrolador entre en un estado pasivo donde consume muy
poca potencia.

Instrucciones del Microcontrolador


El PIC posee una extructura RISC (Set de Instrucciones Reducidas)
Existen tres tipos de instrucciones bsicas
1. Operaciones entre registros (f y W)
2. Operacin sobre bits de registros
3. Operaciones entre registros y un valor constante (que tambin
se le conoce como LITERAL).

1. Instrucciones entre Registros


stas permiten realizar operaciones entre dos registro, el de
trabajo (W) y otro registro asignado por el programador (f puede
ser un registro interno del Micro u otro estipulado)
Ejemplo:
movwf PORTA
Mueve el contenido de W al registro PORTA

andwf regis,d
Realiza una operacin lgica AND entre regis y W. Y almacena
el resultado en: Si d = 0 en W. Si d = 1 en regis.

2. Operacin sobre bits de registros


stas permiten modificar o inspeccionar el valor de un bit
determinado (b) de un registro cualquiera.

Ejemplo:
bcf TRISA,2
Coloca en cero el bit 2 del registro TRISA

btfss STATUS,5
Verifica el valor del bit 5 del registro STATUS, si es uno salta una
lnea dentro del programa

3. Operaciones entre registros y un valor constante


stas permiten realizar operaciones entre el registro de trabajo (W)
y un valor contante (k)

Ejemplo:
Addlw b00001111 (0x0F)
Suma el valor 0Fh al registro W, y el resultado se almacena en W

movlw 0x05
Mueve el valor 05h al registro W

ESTRUCTURA BSICA DE UN PROGRAMA


EN LENGUAJE ENSAMBLADOR
1. Se debe colocar primero el tipo de Microcontrolador a utilizar.
List p=16F84
2. Se definen los valores de las constantes, y las direcciones de
los registros a utilizar
PORTA EQU 0x05h

;posicin del registro PORTA

cont1

;asignacin de la posicin de la
;variable cont1

EQU 0x0Ch

3. Se especfican las posiciones del Vector de RESET y el


comienzo del programa. ORG 0x00. ORG 0x05
4. Se comienza el programa propiamente dicho. Empleando
etiquetas.

ESTRUCTURA BSICA DE UN PROGRAMA


EN LENGUAJE ENSAMBLADOR
Inicio

movlw 0x00

;se carga en W el valor de 0

5. Se recomienda primeramente configurar la funcin de cada


puerta (Entrada o Salida). Para ello se escribe en los
registros de configuracin. TRISA o TRISB
bsf

STATUS,5

;se cambia de banco de memoria

movlw

0x0FF

movf

TRISA ;se configura el puerto A como entrada

clrf

TRISB ;se configura el puerto B como salida

bcf

STATUS,5

;se vuelve al banco cero

6. Se procede a transcribir la aplicacin. Al finalizar se debe


colocar END.

Existen una serie de reglas al momento de la programacin y


edicin del programa de aplicacin.
1. Todos las instrucciones se escriben en minsculas
2. Utilizar la tabulaciones para un orden lgico del programa
(estructura por niveles)
3. No emplear etiquetas (stas son expresiones que definen
valores de posiciones de memoria que se emplean para
realizar saltos dentro del programa) propias del ensamblador.
stas no pueden comenzar con un carcter especial o
nmero.
4. Se deben aadir comentarios para explicar la funciones de
cada lnea del programa (los comentarios se colocan luego de
un punto y coma ;).
5. Todo registro que requiera por el programador debe estar
ubicado luego de la direccin 0Ch de la memoria RAM.
6. Todas las directivas del Ensamblador y variables se escriben

MPLAB
El MPLAB, es un programa que permite realizar aplicaciones para el
microcontrolador (PIC), simularlo en tiempo real y grabar la
informacin en el dispositivo.
Es una poderosa herramienta que se emplear para realizar los
proyectos de aplicacin.

Al momento de desarrollar un proyecto con microcontroladores hay


que tener presente que se deben generar una serie de archivos
que permitirn el trabajo. Estos son:
Proyecto (.MCP). El MPLAB permite organizar todos los archivos
que se generarn para el desarrollo de una aplicacin. Es este
archivo quien agrupa a otros.
Archivo de Aplicacin (.ASM). Es el programa que realizar la
aplicacin deseada. Esta escrito en nemnico o instrucciones en
lenguaje ensamblador
Archivo Hexadecimal (.HEX). Es el programa que se genera una
vez depurado y emsamblado el archivo de aplicacin, que ser
quemado en el Microcontrolador.
Archivo de Error (.ERR). ste contiene la informacin de todos los
errores que presenta el archivo de aplicacin.

Al comenzar a realizar una aplicacin en MPLAB, primero se debe


generar el proyecto. Es importante recalcar que esto es lo primero
que se debe hacer cuando se comienza a trabajar con este
software. Para ello se procede a:

En
el
men
superior escoger
la
opcin
Project,
y
seleccionar uno
nuevo. Asignarle
un
nombre
cualquiera.

Una vez abierto el proyecto. Se procede a abrir un nuevo archivo


(.asm). Para ello se escoger la opcin New, del men File,.
Al ejecutar esta
accin, se
abrir una
ventana de
edicin, donde
se puede
trabajar
directamente
para transcribir
el programa en
lenguaje
ensamblador

Una vez estructurado el programa, se debe guardar. Para ello se


selecciona la opcin Save del menu File
Se mostrar una
ventana
de
dilogo como se
muestra en la
figura. All debe
asignarle
un
nombre
a
la
aplicacin.
Se
recomienda que el
nombre de todos
los archivos que
se
generarn
sean iguales para
evitar
confusiones.

Ya realizado el programa y el proyecto. Se deben enlazar ambos,


para ello se procede a editar el proyecto. Al ejecutar esta accin se
mostrar un ventana de dilogo como se muestra a continuacin:
Para
agregar
nuestra
aplicacin
al
proyecto
se
debe presionar
add Files to
Project.
All
debe buscar el
archivo
.asm
respectivo
y
anexarlo.

Ahora es momento de ensamblar el proyecto. Para ello se


procede a seleccionar la opcin project, y se presiona Make
project

Cuando se ejecuta esta accin, se mostrar en pantalla un cuadro


donde se visualiza el proceso de ensamblaje. Si el proyecto
presenta errores se generar automticamente un archivo .ERR. Y
se muestra en un cuadro de dilgo los posibles errores cometidos

Una vez corregidos los errores. Se vuelve a ensamblar el proyecto.


Si no se presentan nuevos problemas, automticamente en su
computador se generar un archivo hexadecimal. El cual es el que
contiene el programa de aplicacin pero en un lenguaje que el
controlador puede entender (binario)

ICPROG
ste es un programa que permite borrar, leer o escribir programas
en los microcontroladores. Es un software muy sencillo y fcil de
utilizar.
1.

Leer el PIC

2.

Grabar en el PIC

3.

Borrar toda la
informacin

4.

Verificar el contenido
del micro

5.

Seleccin del modelo


del controlador a
utilizar.

6.

Tipo de Oscilador

Para comenzar a utilizar el ICPROG, se debe abrir el archivo .hex


que se desea grabar en la memoria del controlador. Una vez
abierto, se deben configurar el tipo de controlador, y los fusibles
que se emplearn (Watchdog, Power Up timer, etc.)

Una vez listo todos


los pasos anteriores.
Presionar
Programar Todo o
F5. Esto permitir
cargar el programa
en el controlador.

También podría gustarte