Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Ensamblador
sobre PIC 16F84
Roberto Vargas Toledo
Ivn Figueroa Monsalve
El presente trabajo se nos muestra la programacin
de ensamblador orientada a la programacin de PIC
16F84, microcontrolador utilizado en diversas
aplicaciones como la robtica, o aplicaciones
cotidianas tanto para ingenieros como estudiantes o
aficionados al tema.
Profesor: Keber Flores
Resumen: Un microcontrolador es un
circuito integrado programable que
contiene los elementos necesarios para
controlar un sistema. PCI significa
Peripheral Interface Controler es decir
un controlador de perifricos. Cuando
hablamos de un circuito integrado
programable que controla perifricos,
estamos hablando de un sistema que
contiene entre otras cosas una unidad
aritmtico-lgica, unas memorias de
datos y programas, unos puertos de
entrada y salida, es decir estamos
hablando de un pequeo ordenador
diseado para realizar unas funciones
especficas.
Podemos
encontrar
microcontroladores
en lavadoras,
teclados, telfonos mviles, ratones
etc.
Hay
multitud
de
microcontroladores con ms memoria,
entradas y salidas, frecuencia de
trabajo, coste, subsistemas integrados
y un largo etc. dependiendo de cada
tipo de microcontrolador. El presente
informe est basado en el popular
microcontrolador PIC 16F84 del
fabricante Microchip Technology Inc. ya
que es un sistema sencillo, barato y
potente para muchas aplicaciones
electrnicas.
I Introduccin
En
los
ltimos
aos,
el
microcontrolador PIC 16F84 ha sido
uno de los que ha tenido mayor
aceptacin por parte de los usuarios
debido a sus buenas caractersticas,
bajo precio, reducido consumo,
_________________________________
Diagrama ejemplo de un Microcontrolador
PIC 16F84 donde se detallan los 18 pines
que la componen
Frecuencia de trabajo:
Los PICs 16F84 necesitan de un reloj
oscilador que marcar la frecuencia de
trabajo. Estos osciladores pueden ser
del tipo: RC formado por una
resistencia y un condensador, HS: se
utiliza un cristal de cuarzo o resonador
cermico (hasta 10 MHz), XT: cristal o
resonador (hasta 4 MHz), LP: bajo
consumo (hasta 200 KHz). Los
osciladores se colocan entre las patillas
OSC1 y OSC2.
Circuitera Bsica:
El PIC se compone de los siguientes
elementos que son claves para el PIC
pueda funcionar:
R1:
Resistencia 100
R2:
Resistencia 10k
C1 y C2: Condensadores
cermicos
D1:
Diodo 1N4148
XTAL: Cristal de cuarzo 4 MHz
SW1: Pulsador NA
Puertos de Entrada y Salida:
El microcontrolador se comunica con el
exterior a travs de puertos, estos
funcionan entre 0 y 5 voltios, se
pueden ocupar como entradas de datos
o bien como salidas de los mismos para
gobernar otros dispositivos externos.
El PIC16F84 se compone bsicamente
de dos puertos Puerto A: con 5 lneas,
pines RA0 a RA4, y un Puerto B: con 8
lneas, de RB0 a RB7. Cabe destacar que
da lnea puede ser configurada de
forma
independiente
segn
la
necesidad del programador.
Memoria:
Todos los programas necesitan de una
memoria para su funcionamiento, en el
caso de la PIC 16F84 se ocupa una
memoria de tipo flash de 1 Kb (1024
posiciones) lo que permite una
grabacin sencilla, y cmoda, y no
voltil. y est organizada en palabras de
14 bits, as, la memoria del programa
comienza en la posicin 000h (posicin
inicial de reset) y llega hasta la 3FFh.
Admite hasta 1000 grabaciones, y el
fabricante garantiza que la informacin
permanece hasta decenas de aos.
________________________________
Detalle de la memoria del microcontrolador PIC
16F84
IV Programacin en Ensamblador
Sobre PIC 16F84
Diseo de Proyecto:
Ante un problema tcnico, hay que
buscar soluciones de forma sencillas,
eficaces y a bajo costo, los
microcontroladores PIC 16F84 pueden
ayudarnos en esto, a continuacin
desarrollaremos un diagrama de flujo el
cual nos servir de gua como diseo de
proyecto con micocontroladores PIC
Compilar
MPASM
Gpasm
Emular
Emular
MIPSIM,
SImuPIC, o
Misim
Gputils,
Gpsim,
pi kDEV,
Misim
Graba r
pi kDev
Lis tado
.hex
IC-Prog.
el registro fuente f.
Manejo de bits
Pasos a
Herramienta
segui r
Wi ndows
Idea r
Disear
circuitos con
programas
PCB
PCB
Lis tar el
progra ma
con EDIT,
MPLa b o
cualquier
Edi tores
Lis tado
ASCII
en .asm
si vale 0
solucin
Lis tar
Linux
Fi cheros
Salto
Control y especiales
- Goto etiqueta : si ta el curs or del programa (PCL),
en etiqueta
Estructuras de control
EQU: Un ejemplo de esto son las etiquetas , podemos
poner un nombre a un registro de memoria , esto se
ha ce mediante la i nstruccin EQU. Por ejemplo:
VARIABLE1 EQU 0CH
A pa rti r de ahora en luga r de es cribi r 0CH podemos
es cribi r VARIABLE1
Con EQU tambin podemos poner nombre a
constantes de la misma forma .
#DEFINE: Otra ins truccin pa ra el ensamblador que
usa remos ser la ins truccin #DEFINE. Es pa recido a
EQU, solo que aqu no ponemos etiquetas a un
registro, podemos ponerla a una ins trucci n entera ,
Por ejemplo:
#DEFINE BANCO1 BSF STATUS,5
#DEFINE BANCO0 BCF STATUS,5
A pa rti r de ahora , cuando es criba mos BANCO1 se
pondr a "1" el bi t de selecci n de banco y
pasa remos al banco 1, al es cribi r BANCO0 pasaremos
al banco 0
ORG: Indi ca al ensamblador la di reccin (de memoria
de progra ma) donde se gua rda r la ins truccin que
va ya a continuaci n. Por ejemplo:
ORG 00H
CLRF VARIABLE1
La i nstruccin CLRF es t en la di reccin de memoria
de progra ma 00H (ser la pri mera ins trucci n en ser
ejecutada por el pi c)
END: Se es cribe al final del progra ma pa ra indi ca r
que ya ha a cabado. (es obliga torio, si no da error).
Ejemplo de Programacin en
Ensamblador:
A continuacin se detalla un ejemplo
de programacin en ensamblador el
cual ser analizado paso a paso a fin de
comprender las la programacin del PIC
Lis t p=16F84
; Tipo de procesador
include "P16F84.INC" ; Defini cin de
; Regis tros internos
; Vector de reset
; guarda el vector de
; interrupcin
;Refres ca el wdt
;Des conecta (pone a cero) el motor
;i zquierdo
;Vuel ve al bucle principal
;Refresca el wdt
;desconecta (pone a cero) el motor
;derecho
;Vuel ve al bucle principal
nop
nop
end
V Conclusiones y Agradecimientos
Las microcontroladoras revolucionaron
gran parte de lo que es la computacin
hoy en da, sin ir ms lejos, varios
autores catalogan este invento como
uno de los ms importantes del siglo
XX. Dada su importancia en los
procesos que se realizan hoy por hoy,
hacen imprescindible la existencia de
estos como soportes bsicos para
diferentes
aplicaciones
en
las
numerosas reas de la informtica.
Agradecemos en primera instancia al
Profesor Keber Flores por ayudarnos en
nuestro aprendizaje y formarnos como
futuros Analistas en Computacin,
y a nuestra universidad como
institucin que nos brinda las
herramientas
para
adquirir
el
conocimiento necesario.
VI Referencias
Se deja a exposicin una breve
referencia bibliogrfica del proyecto
realizado.
[1] Enrique Palacios, Fernando Remiro,
Lucas J. Lpez. Microcontrolador
16F84, Desarrollo de Proyectos.
Primera edicin 2004, Alfaomega.
[2] http://webquimera.iespana.es/
webquimera/ programacin en
Ensamblador sobre PIC 16F84
[3] http://members.fortunecity.es/elect
ronico/tutoriales/tutopic16f84/p6.
html Programacin de Ensamblador
en ficheros .hex
[4] http://www.unicrom.com/Tut_
PICs3.asp Caractersticas del PIC
[5] http://www.unicrom.com/Tut_
PICs4.asp Instrucciones de
Ensamblador para PIC 16F84