Você está na página 1de 18

INSTITU

TO
TECNOL
OGICO
DE REPORTE DE
MICROCONTROLADORES
CHETU
PRCTICAS
PRIMER PROGRAMA EN MPLAB
MAL

MATERIA:

MAESTRO:
ING. GERMAN RODRIGUEZ MAY

ALUMNO:
DANIEL MANUEL GARCIA CANUL

RESUMEN
Los microcontroladores son circuitos integrados que funcionan como una computadora que ejecutan una serie de
funciones especficas dependiendo de la programacin que inserte el usuario. Estos dispositivos facilitan los sistemas de
procesos y control. En este reporte se muestran los pasos para resolver un problema prctico con la elaboracin de un
programa en MPLAB para el PIC16F84A, su simulacin y posterior armado fsico del circuito as como su comprobacin y
pruebas.

INDICE

OBJETIVO..

MARCO TEORICO
EL MICROCONTROLADOR..
El PIC 16F84A..
ARQUITECTURA...
CONJUNTO DE INSTRUCCIONES
DISPOSICIN DE PATILLAS.
DESCRIPCIN DE PATILLAS...............
MPLAB
SIMULADOR PROTEUS..
COMPONENTES ELECTRONICOS
RESISTENCIAS ELECTRICAS
CAPACITORES ELECTRICOS
OSCILADOR DE CRISTAL..
DIODOS LEDS

1
1
1
1
2
3
3
4
4

5
5
6
6

DESARROLLO DEL PROGRAMA


ENUNCIADO DEL PROBLEMA..
DESARROLLO DEL CODIGO.
COMPILACION Y PRUEBA DEL PROGRAMA
SIMULACION DEL CIRCUITO.
ARMADO DEL CIRCUITO FISICO..
PRUEBAS AL CIRCUITO FISICO...

7
7
9
10
11
14

CONCLUSIONES..

15

FUENTES DE INFORMACION.

15

OBJETIVO

Conocer y comprender el funcionamiento bsico de los microcontroladores por medio de la


resolucin de un problema practico. Desarrollar las competencias necesarias para desarrollar
cdigo de programacin funcional, efectuar simulacin y realizar el armado fsico del circuito
para el PIC con sus respectivos componentes.

MARCO TEORICO

MICROCOTROLADOR
Un microcontrolador es un circuito integrado o chip que incluye en su interior las tres unidades
funcionales de una computadora: unidad central de procesamiento, memoria y perifricos de
entrada/salida, es decir, se trata de un computador completo en un solo circuito integrado.
Son diseados para disminuir el coste econmico y el consumo de energa de un sistema en
particular. Por eso el tamao de la CPU, la cantidad de memoria y los perifricos incluidos
dependern de la aplicacin.
Cuando es fabricado el microcontrolador, no contiene datos en la memoria ROM. Para que pueda
controlar algn proceso es necesario generar o crear y luego grabar en la EEPROM o equivalente
del microcontrolador algn programa, el cual puede ser escrito en lenguaje ensamblador u otro
lenguaje para microcontroladores; sin embargo, para que el programa pueda ser grabado en la
memoria del microcontrolador, debe ser codificado en sistema numrico hexadecimal que es
finalmente el sistema que hace trabajar al microcontrolador cuando ste es alimentado con el
voltaje adecuado y asociado a dispositivos analgicos y discretos para su funcionamiento.

EL PIC 16F84A
1

El PIC16F84 es un microcontrolador a 8 bits de la familia PIC


perteneciente a la Gama Media de la empresa Microchip.

ARQUITECTURA
Las altas prestaciones de los microcontroladores PIC derivan de
las caractersticas de su arquitectura. Estn basados en una
arquitectura tipo Harvard que posee buses y espacios de
memoria por separado para el programa y los datos, lo que hace
que sean ms rpidos que los microcontroladores basados en la
arquitectura tradicional de Von Neuman.
Otra caracterstica es su juego de instrucciones reducido (35 instrucciones) RISC, donde la
mayora se ejecutan en un solo ciclo de reloj excepto las instrucciones de salto que necesitan dos.
Posee una ALU (Unidad Aritmtico Lgica) de 8 bits que es capaz de realizar operaciones de
desplazamientos, lgicas, sumas y restas. Posee un Registro de Trabajo (W) no direccionable que
usa en operaciones con la ALU.
La arquitectura del PIC es sumamente minimalista. Est caracterizada por las siguientes
prestaciones:

rea de cdigo y de datos separadas (Arquitectura Harvard).


Un reducido nmero de instrucciones de longitud fija.
Implementa segmentacin de tal modo que la mayora de instrucciones duran 1 tiempo de
instruccin (o 4 tiempos de reloj). Pueden haber instrucciones de dos tiempos de
instruccin (saltos, llamadas y retornos de subrutinas y otras) o inclusive con ms tiempo
de instruccin en PIC de gama alta. Esto implica que el rendimiento real de instrucciones
por segundo del procesador es de al menos 1/4 de la frecuencia del oscilador.
Un solo acumulador, cuyo uso (como operador de origen) es implcito (no est especificado
en la instruccin).
Todas las posiciones de la RAM funcionan como registros de origen y/o de destino de
operaciones matemticas y otras funciones. .
Una relativamente pequea cantidad de espacio de datos direccionable (tpicamente, 256
bytes), extensible a travs de manipulacin de bancos de memoria.
El espacio de datos est relacionado con el CPU, puertos, y los registros de los perifricos.
El contador de programa est tambin relacionado dentro del espacio de datos, y es
posible escribir en l (permitiendo saltos indirectos).

CONJUNTO DE INSTRUCCIONES
El juego de instrucciones para los microcontroladores 16F8XX incluye 35 instrucciones en total. La
razn para un nmero tan reducido de instrucciones yace en la arquitectura RISC. Esto quiere
decir que las instrucciones son bien optimizadas desde el aspecto de la velocidad operativa, la
sencillez de la arquitectura y la compacidad del cdigo. Lo malo de la arquitectura RISC es que se
espera del programador que haga frente a estas instrucciones. Por supuesto, esto es relevante
slo si se utiliza el lenguaje ensamblador para la programacin.

DISPOSICIN DE PATILLAS PARA ENCAPSULADO DIL 18:

DESCRIPCIN DE PATILLAS
Nombre

N Tipo Descripcin

OSC1/CLKIN

1
6

Entrada del oscilador a cristal/Entrada de la fuente de reloj externa

OSC2/CLKOUT

1
5

Salida del oscilador a cristal. En el modo RC, es una salida con una
frecuencia de OSC1

MCLR

I/P

Reset/Entrada del voltaje de programacin.

RA0

1
7

I/O

Puerto A bidireccional, bit 0

RA1

1
8

I/O

Puerto A bidireccional, bit 1

RA2

I/O

Puerto A bidireccional, bit 2

RA3

I/O

Puerto A bidireccional, bit 3

RA4/T0CKI

I/O

Tambin se utiliza para la entra de reloj para el TMR0

RB0/INT

I/O

Puerto B bidireccional, bit 0

Puede seleccionarse para entrada de interrupcin externa


RB1

I/O

Puerto B bidireccional, bit 1

RB2

I/O

Puerto B bidireccional, bit 2

RB3

I/O

Puerto B bidireccional, bit 3

RB4

1
0

I/O

Puerto B bidireccional, bit 4


Interrupcin por cambio de estado

RB5

11 I/O

Puerto B bidireccional, bit 5


Interrupcin por cambio de estado

RB6

1
2

I/O

Puerto B bidireccional, bit 6


Interrupcin por cambio de estado

RB7

1
3

I/O

Puerto B bidireccional, bit 7


Interrupcin por cambio de estado

Vss

Tierra de referencia

Vdd

1
4

Alimentacin

MPLAB
MPLAB es un editor gratuito, destinado a productos de la marca Microchip. Este editor es modular,
permite seleccionar los distintos microcontroladores soportados, adems de permitir la grabacin
de estos circuitos integrados directamente al programador.
Es un programa que corre bajo Windows, Mac OS y Linux. Presenta las clsicas barras de
programa, de men, de herramientas de estado, etc. El ambiente MPLAB posee editor de texto,
compilador y simulacin (no en tiempo real). Para comenzar un programa desde cero para luego
grabarlo al microcontrolador.

Crear un nuevo archivo con extensin .ASM y nombre cualquiera


Crear un Proyecto nuevo eligiendo un nombre y ubicacin
Agregar el archivo .ASM como un SOURCE FILE
Elegir el microcontrolador a utilizar desde SELECT DEVICE del men CONFIGURE

Una vez realizado esto, se est en condiciones de empezar a escribir el programa respetando las
directivas necesarias y la sintaxis para luego compilarlo y grabarlo en el PIC.

SIMULADOR PROTEUS
Proteus es una compilacin de programas de diseo y simulacin electrnica, desarrollado por
Labcenter Electronics que consta de los dos programas principales: Ares e Isis, y los mdulos VSM
y Electra. Para esta prctica nos enfocaremos en el Isis.

ISIS
El Programa ISIS, Intelligent Schematic Input System (Sistema de Enrutado de Esquemas
Inteligente) permite disear el plano elctrico del circuito que se desea realizar con componentes
muy variados, desde simples resistencias, hasta alguno que otro microprocesador o
microcontrolador, incluyendo fuentes de alimentacin, generadores de seales y muchos otros
componentes con prestaciones diferentes. Los diseos realizados en Isis pueden ser simulados en
tiempo real, mediante el mdulo VSM, asociado directamente con ISIS.

COMPONENTES ELECTRONICOS
RESISTENCIAS ELECTRICAS
La resistencia elctrica (R) es la oposicin que ofrece un cuerpo al paso de la corriente. Es una
propiedad de todos los componentes del
circuito, y una magnitud esencial en electrnica,
puesto que muchos componentes soportan
poca corriente. Esta magnitud se mide en
Ohmios (), aunque en electrnica se usan ms
frecuentemente resistores del orden de kilo
ohmios.
Las resistencias o resistores son fabricadas
principalmente de carbn y se presentan en una
amplia variedad de valores. Hay resistencias
con valores de Ohmios (), Kilohmios (K),
Megaohmios (M). Para poder saber el valor de
las resistencias sin tener que medirlas, existe
un cdigo de colores para las resistencias que
nos ayudan a obtener con facilidad este valor
con slo verlas.

CAPACITORES ELECTRICOS
En electricidad y electrnica, un capacitor es un dispositivo que almacena energa elctrica, es un
componente pasivo. Est formado por un par de superficies conductoras en situacin de influencia
total (esto es, que todas las lneas de campo elctrico que parten de una van a parar a la otra),
generalmente en forma de tablas, esferas o lminas, separadas por un material dielctrico (siendo
este utilizado en un condensador para disminuir el campo elctrico, ya que acta como aislante) o

por el vaco, que, sometidas a una diferencia de potencial


adquieren una determinada carga elctrica, positiva en una
de las placas y negativa en la otra.
Un capacitor o condensador (nombre por el cual tambin se
le conoce), se asemeja mucho a una batera, pues al igual
que sta su funcin principal es almacenar energa elctrica,
pero de forma diferente.

OSCILADOR DE CRISTAL

Un oscilador de
cristal es un circuito oscilador electrnico que utiliza
la resonancia mecnica de un cristal de vibracin de
material piezoelctrico para crear una seal elctrica
con una frecuencia muy precisa. Esta frecuencia se
utiliza comnmente para controlar el tiempo, para
proporcionar una seal de reloj estable de circuitos
integrados digitales, y para estabilizar las
frecuencias de los transmisores y receptores de
radio. El tipo ms comn de resonador piezoelctrico
utilizado es el cristal de cuarzo, por lo que incorporan
circuitos osciladores ellos se hicieron conocidos
como osciladores de cristal, pero otros materiales piezoelctricos incluyendo cermicas poli
cristalinas se utilizan en circuitos similares.

DIODOS LED
Los LEDs son componentes elctricos semiconductores (diodos) que son capaces de emitir luz al
ser atravesados por una corriente pequea. Las siglas LED provienen del acrnimo en ingls
Light Emitting Diode o lo que traducido al espaol sera Diodo Emisor de Luz.
Estos estn conformados bsicamente por un chip de material semiconductor dopado con
impurezas, las cuales crean conjunciones del tipo P-N. Los LEDs, a diferencia de los emisores de
luz tradicionales, poseen polaridad (siendo el nodo el terminal positivo y el ctodo el terminal
negativo) por lo que funcionan nicamente al ser polarizados en directo.

DESARROLLO DEL PROGRAMA

ENUNCIADO DEL PROBLEMA


Disear un programa que realice lo siguiente: Sumar tres nmeros en Binario y restar un nmero
en binario y el resultado visualizarlo a travs de diodos led conectados a las terminales de salida
RB0 hasta RB3 del puerto B.

DESARROLLO DEL CDIGO


En MPLAB creamos un nuevo proyecto, en este escribimos el cdigo de nuestro programa
propuesto. El cdigo se muestra a continuacin
Primero definimos el PIC a usar y el sistema que utilizaremos, en este caso el binario
Definimos las variables en las zonas de etiquetas, tambin
ocuparan en el banco de la memoria.

definimos las ubicaciones que

Pasamos definir las condiciones de las puertas B. Para esto accedemos al banco 1 de memoria y
llenamos con ceros la ubicacin 0x06, que definen a las puerta de B como salidas.

Ahora pasamos al programa principal, la que realizara las funciones que nuestro problema
demanda.
Primero introducimos los valores que necesitamos para efectuar las operaciones, al azar
escogimos los valores 3, 5, 7 y 6. Es se introducen uno por uno, primero ingresando en el registro
W y luego movindolos a sus respectivas variables (OPERANDO de 1 a 4).

Ahora pasamos a efectuar las operaciones de suma y resta de los valores introducimos, en el
siguiente orden: OPERANDO 1 + OPERANDO2 + OPERANDO3 OPERANDO4 para luego enviar
el resultado desde el banco W hasta la variable RESULTADO.
Finalmente enviamos el valor que tenemos como resultado a la salida del puerto B, e indicamos el
final del programa.

COMPILACION Y PRUEBA DEL PROGRAMA


Pasamos compilar el programa, es posible una vez compilado revisar que el programa este
ejecutando las acciones que se supone tiene que hacer visualizando los valores que maneja en el
banco de memoria.
Seleccionamos visualizar el registro de funciones especiales, en el pudimos visualizar los valores
que se van manejando en la memoria del PIC mientras vamos ejecutando el programa, finalmente
observamos los valores que son enviado en la puerta B. Por los valores que introdujimos las
operaciones son las siguientes: (3 + 7 + 5 6) = 9, que en binario seria 1001, valor que coincide
con el valor que aparece en el banco de la puerta B

SIMULACION DEL CIRCUITO


Antes de grabar el programa en el PIC efectuamos una prueba en simulacin para evitar visualizar
lo que sucede con nuestro programa en un circuito elctrico y sin correr el riesgo de comprometer
la integridad fsica del PIC de alguno de sus componentes auxiliares.

10

Para eso elaboramos el circuito que pretendemos armar en el ISIS del programa PROTEUS. El
circuito se muestra a continuacin:

La entradas que tenemos son de la alimentacin propia del PIC, que se explicaran ms adelante
en el armado fsico del circuito.
Las salidas son como el enunciado indico, de la puerta RB0 hasta RB3, estas salidas alimentaran a
los diosdos Led, pasando por una resistencia que reducir el valor de la corriente a los indicado
para no daar los Leds, en este caso utilizamos resistencias de 680 ohms. Los leds se aterrizan.

Importamos nuestro programa con la extensin .hex a la simulacin y lo corremos. Como


mencionamos antes nuestro programa deber enviar a la salida B el valor del resultado de las
operaciones, que es de 9 o en binario 1001.

11

Se observa que los Leds que se encienten corresponden al valor en binario 1001 = 9. Con lo que
comprobamos que el programa y el circuito estn correctos.

ARMADO DEL CIRCUITO FISICO


Una vez comprobado nuestro programa por medio de la simulacin,
pasamos al armado. Sera necesario quemar el programa con la extensin
.hex en el PIC por medio de un programador de PIC.

Para el circuito se emplearon los siguientes componentes y materiales:

1 Protoboard
1 PIC16F84A
2 Capacitores de 27p
1Cristal oscilador de 4Mhz
4 Diodos Leds de colores
4 Resistencias 680
1 Resistencia de 10 K
1 Resistencia de 1 k
1 Botn de pulsador
Varios cables

En el protoboard alambramos los componentes que necesita el PIC para alimentarse y funcionar,
que incluye el cristal oscilador en paralelo con los dos capacitores que estn conectados en las
patitas 15 y 16.

12

Despus alambraremos las salidas, de las patitas 6,


y 9 cada una se alambra a una resistencia de 680
ohm en serie con un led.

7, 8

13

Luego alambramos la alimentacin del PIC colocamos


en serie la resistencia 10k y 1k a kla patita 4 del PIC.
Entre las dos resistencias colocamos un cable hacia
un botn pulsador conectado a tierra que servir de
reset para el PIC.

Alambramos la alimentacin directa de la patita 15 y el


circuito final quedo de la siguiente manera:

14

PRUEBAS AL CIRCUITO FISICO


Alimentamos el protoboard con 5 V de CD. Y podemos observar que nos arroja el resultado de
nuestra operacin (9 = 1001) tal y como lo mostro la simulacin. Por lo que damos por hecho que
el circuito est bien hecho y el programa es correcto. Dando por resuelto el problema.

15

CONCLUSIONES

Los microcontroladores son herramientas verstiles en las nuevas aplicaciones de control de


procesos por lo que es importante para la ingeniera conocer y desarrollar las habilidades
necesarias para programar y operar los microcontroladores.
Al concluir el circuito y validar su funcionamiento constatamos de que las competencias necesarias
para operar el PIC16F84 o cualquier microcontrolador de la familia PIC han sido alcanzadas de
manera exitosa.

FUENTES DE INFORMACION

16

Você também pode gostar