SlideShare una empresa de Scribd logo
25
Lo más leído
26
Lo más leído
27
Lo más leído
E n ~ l q u ePalaclos
Fernando Ramlro
Lucas J. López
- 1
Alfaomega e~ a - ~ a "
, .;Y- - - - ,
,
.
'
"
1
i
I
- J
Este libro pretende intrcduciral lector en la realizacibnde proyectos de circuitos
electrbnicosconstruidos con el popular mlcrocontroladorPtC16F84.Para tograrlo
se muestra un elevado número de ejercicios resueltos que el lector podrh
desamolarfacilmentecon medias a su alcance.
1 Tanto los aficionados sin grandes cranocirnientos de electrbnica, pero con
inquietud suficientepara montar sencillostrabajos con rnicrocontroladores,como
A- los estudiantes decarrerastécnicas de electrbnica y losestudiantesde Ingeniería
Industrial, Telecomunicaciones o InformAtica, mcontrardn de gran utilidad esta
obra para Ialrealizaci6n dB sus primeros pro~ectos.
m-
Él flbr~resulta eminentemente práctico ya que contiene m& de 160 ejercicios
resueltos con sus programas y esquemas, siendo muchos de ellos proyectos
clAsicos,como termdmetros, relojes, calendarios, cerraduras electrónicas, control
de dispfays, temostatos,temporizadores, alamas, sirenas, comunicacibncon la
juegos, control de motores, microrobots. etc.
- El softwareutilizadoes delibredistribucióny los Circuitosemplmcomponentesque
pueden adquirirsefacilmenteen cualquier tienda de pwuctlos electrbnim. Para el
desarrollo de cualquiera de los proyectos planteados no se precisa de
grandes medios materiales, por lo que realizados resulta sencillo,
I econdmico y ameno, además, se incluye un CD-ROM que contiene el
softwarenema&, las soluciones a los ejerciciosy notastécnicas.
Microcontrolador PICI6F84
Desarrollo de proyectos
1 Microcontrolador PICI6F84
1 h Desarrollo de proyectos
Enrique Palacios Municio
Fernando Remiro Dominguez
Lucas J. Lopez Perez
Alfaomega 4
)
+
Ra-Ma'
Microcontrolador PIC lbFB4. Desarrollo de proyectos
Q Enriquc Palacios Muiiicici. Feraando Kemiro Dominguez
y Lucas J. L6pez Pérez
ISBN 84-7897-600-0, edicidn original publicada por RA-MA Editorial,
MADRID. Erpaiía. Derc~hos
reservxicis 0 RA-MA Editorial
MARCAS COMERCIALES: RA-MA ha intentado a largo de este libro
distinguir las marcas registradas de los términos descriptivos, sigiiiendo el
esiilu de mayusculas que utiliza el Fabricanre, sin introci6n de infringir la
marca y sólo en beneficio del propietariode la misma.
Primera edición: Aliaoiiiega Grupo Editar, Mkxico. agosto 2003
8 2004 ALFAOhlEGA GRUPO EDITOR, S.A. de C.V.
Pithgoras 1139, Cul. Del Valle, 03 100 México, D.F.
Miembro de Id Camara Nacional de In Ind~striaEditorial Mexicana
Registiw No. 23 17
ISBN 970-15-1033-X
Derechos reservados.
Esta obra es ptopied.d intelectual de su autor y 10s derechas de publicacicin
en lengua española han sido legalmente transferidus a
l editor. Prohibida su
repri~ducción
parcial o total por cualquier medio sin permiso por escrito del
propietariode los derechus dzl copyright.
NOTA IMPORTANTE
- - -
La inforniacirrn cnntenida en esta oliri tienc un i'iii ex~lu~ivamente
diddctico
y.por lo tanto, no esti previsto sil aprovcchamirnio 3 nivtl profcsirinai ti in-
dustrial. Las indicaciones técnicas y programas incluidos. han cidn elahnra-
dos COI] gran cuidado por el aur(ir y reproducidas bajo esirictas normas de
control. ALFAOMEGA GRUPO EDITOR. S.A. i1eC.V.no será jurídicamon-
te responsabte por: errores u nmi<ioner; dairos y perjuicios quc se pudieran
atribuir al uso de la información comprendida en este libro, ni por la utiliza-
ci6n indebida que pudiera dársele.
Edición autorizdapara venraen Mkxici<iy todo el continente americano
Impresoen Mdrico-PrintMin M e ~ k o
A mi m yer. Maribrl, por- sic apqno,c.ari,ioy paciencia.
.4 mi,vhijos. C'i-istNra Enrique. mi rnaymfi~cnir
rk liltiyrias1'slrtis/;rcciones.
A n l i ~
PUIJI-CS. Eririquey Sagr~rriu,
cbtirc.c.ujiociniieritu a su sacrificio.
Enrique
.
1 mir pudre.^, hgo y demúsppersoncls it~~port~irirta
~k
rni v i h .
Lucas
A mis dos mujeres, Natalia con la que decidícompurrir mi.?dius*c ,A~icinicii
que me
uir7gi.ucudu diu J J . ~
que narici y que a sus tre.y oños no deju de quewr rlj~tltf~irrne
a
escribir yprogrumor microcon~oladores
y per.i/L:r.icos.
Fernando
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
..........................................
Capitulo 1: MICROCONTROLADORPIC16FS4
1.1 MicrricontrolarluresPIC ...................................................................................
.....................................................................
1.2 Alimentación de un PIC16F84
1.3 Puertos de entraddsalida..................................................................................
1.4 Oscilador...........................................................................................................
.....................................................................................
1.4.1 OsciladorXT
1.4.2 OscjladorRC .....................................................................................
.............................................
1.4.3 OsciladoresHS y LP .........................
.
.
1.4.4 Utilizando una señal de reloj externa................................................
1.5 Reset..................................................................................................................
1.6 Montaje del entrenador.....................................................................................
capitulo 2: PERTFÉFUCOS BASICOS.........................................................
........................................................................................................
2.1 Diodo LED
2.2 Interruptoresy pulsadores....................
.
.
....................................................
2.3 Entradas &@talescon optoacopladores...........................................................
2.4 Display de siete segmentos ................................
.
.
.........................................
2.5 Controlandocargas a 230 V.............................................................................
.................................................................................
2.5.1 Conml con relé
2.5.2 Control con re14miniaturaen cápsula DIL .......................................
2.5.3 Control mediante fototriac....................
.
.
.........................................
2.5.4 Conml de potencia con tnac..............................................................
2.6 Zumbador..........................................................................................................
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
9.3 Saltos en funcidn de un registro....................................
...
...........................,.,..
.r
9.3.1 I ~ h c c i o n
"decfsz f,d"...
......................................
...................
.........
9.3.2 Instrucción "incfsz f,d"................................................
......................
.,
9.4 Cotnparacionde registros..
........................
.......................................................
9.4.1 Comprobar que un registro vale O .................................... .........,......,.
9.4.2 Comprobar igualdad enlredos regismos....................
.........................
9.4.3 Comprobarque unregistro es mayor o menorque otro....................
9.4.4 Programaejemplo.......
... ...................
................-
..
...................
.............
9.5 Lazos o bucles........................
...................,.,.,..,
...........................
.....................
9.5.1 Lazo de repeticihn infinita...............................
.
..........................
.....
9.5.2 Lazo con condiciónde testeo.................................
.............................
9.5.3 Lazo que se repite un numero conocido de veces..............................
9.6 Programaciony algoritmo..
...................
......
. .....,.....................,.......................
.
9.7 Diagrama de flujo...................
.
..
.
..
.
.
.
. ....................-.
................. ..
..............
9.8 Más directivasimportantes.............................. ...........................
.....................
9.8.1 CBLOCK y ENDC............................ .... ................................
..............
9.8.2 #DEFINE ..................................... ........................................................
9.9 Conversiondebinarionatural aBCD................................. .............................
9.10 Salto indexado .........
............................ ..........,..
........................... .....................
9.11 Salto indexado dcscontrolado........................ .....
.
....................................
9.12 Prácticasde labamtorio..................................................................................
Capitulo 10: SUBRUTTN.4S................ ........................................... .....................
10.1 Subrutinas......................
.
.
.
......................... ........................... .....................
10.2 Subrutinasanidadas.... .................
......................
......................................
......
.
10.3 La pila .....................
.
.......................................................................................
10.4 Tnstnicciones"call"y "retuni"..........
.
.........
......................
.............................
10.5 Ejemplo de utilización de las subrutinas......................................................
10.6 Ventajas de las subrutinac..................................... .........................................
10.7 Lbreria de subrutinas...................................................
.
.......
.
.........
..............
10.8 Directiva "INCLUDE".............
.......,..
............................................................
10.9 Simulaciónde subnitinas en MPLAEI.............
.........................................,....
.,
10.10 Programacion estructurada................................qq.....,,,-..........,q, .q,.,.............,,,
1O.11 Practicasde laboratorjo...............
...
....
.
................................
......................
.
Capitulo 11: MANEJO DETABLAS.....................................................
1 1.1 Tablas de datos en memoria de programa.....................................................
- ' 11 7 3
11.1.1 Insmccion retlw ............................................................................
11-1.2 Directiva"DT'
.....
.........
...
.........................
,.,.
.....,............,.,,.,....-.......
11.2 Mis directivas.................................................................................................
11.2.1 MESSG..........................................................
....................................
11.2.2 ERROR..............................................................................................
11.2.3 [FyENDF........................................................................................
XIV MICRW0NTRC)tADC)R PIC'IbFB4. DCSiiRROLLODE PROYECTOS w nA-hW -
$
11.3 Gobierno de un display de 7 segmentos.................................................... 162
1 1.3 Practicas de laboratorio ..................................................................................
Capítulo 12: SUBRUTINASDE RETARDO ................................................ 169
i
12.1 Ciclo miquina...............................................................................................
12.2 Medir tiemposcon WLAB .............................. .
.
.
. .................................. 171 I
.I
12.3 Instniccion'hop".......................................................................................... 171 1
12.4 Retardos mediante lazo simple ..................................................................... 172
...............................................................
12.5 Retardos mediante lazosanidados 174
12.6 Librería con subnitinasde retardos.............................................................. 176 I
12.7 Rebotes mlos pulsadores ..........................
.
................................................ 181 1
..................................................................................
12.8 Practicas de laboratorio 184 1
Capitulo 13: LCD................................................................................................ 187 C
...........................................................................................
13.1 VisualizadorLCD 187 1
13.2 Patillaje............................................................................................................ 188 1
13.3 DDRAM .........................................................................................................
189 1
............................................................
13.4 Caracteres definidos en la CGROM 191 1
13.5 Modos de funcionamiento........................
.
. ................................................. 191 1
13.6 Comandos de control................................................................................. 192 1
13.7 Conexión de LCD mediante4 bits ..............................................................
13.8 Librería de subnitinas.................................................................................... 194 C
13.9 Visualizacibnde caracteres .......................................................................... 201
13.10 Visualizacj6nde valoresnuméricos 202
1'
..............................................................
?O3
1
13.11 Conexibnde LCD mediante 8 bits ................................................................
13.12Visualización de mensajes fijos 204
1
.....................................................................
13.13Visualizaciónde mensa-iesen mo~iniiento 208
1'
...................................................
13.14 Prkticas de laboratorio......................................................................... 209
Capítulo 14: EEPROM DE DATOS 213
1'
.................................................................. 1'
14.1 Memoria EEPROM de datm .........................................................................213 1'
.......................................................................................
14.2 Registro EECON1 215 1'
14.3 Libreríade subrutinas..................................................................................... 216 1'
14.4 Lectura de la EEPROM dedatos................................................................... 217 1'
............................................................
14.5 Escrituraen la EEPROM de datos.. 217 1'
14.6 Directiva"DE" ...................
.
.
..................................................................... 218
14.7 Ventana"EEPROM"en el MPLAB .......................................................... 218 C
14.8 Programaejemplo...........................................................................................
. .
14.9 Bloquear un circuito.......................................................................................221
14.10Prácticas de laboratorio 227-
1I
.................................................................................. 1I
11
1I
11
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
iía estructura de
m
: del
M
itilizar
lgramable;
cómo
enseñ;uiza
rnpartú nuestras
317
an
n r?in
S ieniair
el
rcicesador eri siis
las 13
para realimción crecieiite
sobre circuit~s
reales.
seilcilla todo
finalihd cscriio, que niedicis de qiie siicic
dispuner cap= de proyecuis tiiicroprobmables
C'ualqiiier estildiantc ingzriiero, con
ser utili7ar PICl hF84 propios
diseiios.
iiibricantes Micruchip Tt'clinology inc, Phidip
Sem~conducror~ Dullu,c Smiconductors, así erliprcsa Sagiiron
uiilizacion producios.
Querertios finalmcntc agadecer 10s
sugercticias en Ghtticz,
Sanz, Tempradu, G e m a Jiian Jcid
Atia &irnora. Nuria Tririjatw, Loli
Sergiu González-Nicolás, Javicr G m Diego Cbrdoba, Martíii,
Garcia Ángel Toledo Fmando
s dc
sdz esquema
tid do
gas. Entrc
1 p
r misnio
itorios,
m por
:4
ar
;
-
S
IS aqui
ipción.
rse un
-es, complejcs
entender los
software y
conocimiento
porque es
y el
en detalle
ente.
la de
realizadas por
de un teclado,
uello funcionara.
la tecla y
alumnos
"'maleta" era
este mundo
el a
al sistema
otras,
e1 y
comprender.No
sino que
Y 
 Ultimo,
mismo el que
que lo que ha
años de
descritas.
También
junto con
a
La teoria desarrollada va siempre dirigida a hacer prácticas, siendo
imprescindible la de los proyectos de dificultad que trabajan
Esperamos que la lectura de este libro le resulte y sobre que cumpla
la para la que esta con los pocos técnicos los se
en casa. sea desarrollar dc una forma
autodidacta. aficionado, o ayuda de este libro, debe
capaz de empezar a el inmediatamente en sus proyectas y
Nuestro agradeciiniento a las
y como a la por su
constante esfuerzo en ayudar a los usuariosen la de sus
prestada,
Redondo, Jesús
Escobosa,
Eduardo F.
y participac
Javier
Folgar.
ión
a todos
el desarro
José A.
ia-Caro,
y
compañeros y alumnos. la ayuda
llo de esta obra:Carmen Julio
Gil, M. Morales, M.
Sanz, Alejandro Pico, Moreno.
A. Alfonso
Blanco.
LOS AUTORES
CAPITULO 1
MICROCONTROLADOR PIClóFS4
1 . MICROCONTROLADORES PIC
Un microcontrolador es un circuito integrado programable que contiene todos los
componentes necesarios para contrc~larel funcionamiento de una tarea determinada,
como el control de ma lavadora, un teclado de ordenador, una impresora, un sistema de
alaril~a,ctc. Para ésto, el rnicrocontroladorutiliza muy pocos componentes asociados.Un
sistema con rnicrocontrolador debe disponer de una memoria donde se almacena el
programa que gobierna el funcionamiento del mismo que. ima vez programado y
configurado, siilo sirve para realizar la tarea asignada. La utilizacion de un
rnicrocontroladorenuncircuitoreduce notablementeel tamatlo y número de componentes
y, en consecuencia, disminuye el niimero de averías y el volumen y el peso de los
eqiiipos,entre otras ventajas.
El microcontrolador es uno de los inventos más notables del siglo XX. En el
mercado hay yan cantidadde ellos, con multitud de posibilidades y caracteristicas. Cada
tipo de microconmladorsirve para una serie de casos y es el diseñador del sistema quien
debe decidir cual es el micrwuntroladormás id6neo para cada uso.
En lm últimos ~ í í u s
han tenido un gran auge los microcmtroladoresPTC fabricados
por Microchip TechnologyInc. Los PIC (PeripheralInteqace Conmllerj son una familia
de microcorrtroldores que ha tenido gran acepíación y desasrollo en los Últimos afím
gracias a que sus buenas c mterísticas, bajo precio, reducido consumo, pequeRo tamailo.
gran calidad, fiabilidady abundancia de infomiacih, lo convierten en muy fácil, ciimodo
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
130
ipropiados donde
Iéctrica 230V.
is
iar
1
base
:ontactos, puedc
:lectricamentc
oportar
indispcnsablc coilcclar paralclo bobina dcl rc16, tal
la tigurü 2-6. coino protecciOn frente ¿i coiitraeiectromotriz
inductiva bobina eri inomento de coniniitaciiin.
uri cicrto núincro rclCs dcl niismo ~nicrocontrolador,
piiede tititizar integrado tal coiilo LN2003, 2-7. Este
rediizados
I)arlingtori, quc aguaiitan tcnsión inaxii~ia alimentar
500 mA, tainbiCn indispcnsablcs diodos
w7 l--NDIODE
ULN2003
tipico ULN2003
reles.
I I
ULN2003
5.. 5
RBOIIMT 7
RBI
UA2 RB2
RA3 RB3
-W4TTDCKI RB4
R55
RB6
1
3 8 g
r q
-
Fipru Circuito ttr'yico gobierno varios reI&s ULN2003
V (bombillas. Es un diodo cn con la como
muestra los picos de fuerza
ica. producidos por la carga de la el la
dc Para controlar dc a partir sc
provocar lesiones un circuito especializado el U figura
aje y revisarlo chip dispone de siete circuitos inversores internamente con circuitos
las conexiones o una dc 50 V y pucdcn cargas de
eléctricas, sin hasta incorpora los dc protcccion.
dispositivos a
ir de transistores
COMMON
GND
CARGA
Figura 2-7 Driver
La figura 2-8 describe el esquema de conexión, donde el alimenta
las bobinas de siete
o 

o

>
17
O
6
10
11
12
IN7 OUT7
del RB7 GND COM.
to a la
BOBINAS
la
de los contactos
másde 5
2-8 de de con
-
1
6 MICROCOWROLAWR PIC1 hFR4 T)LSARROLLODE I'KUYCCTOS -'R 4-MA I
íRA-M)
-
2.5.2 Control con relé miniatura en cápsula DIL
de la
Para cargas de hasta 10 W es riiejor utilizar reles de láminas encapsulndos en DIL, alta f
que necesitan una menor inta~sidridde activacibn, aunquc sus contactos no perniitzii dar 11
activar cargas grandes. La fipra 2-9 muestra un ejemplo de apjicacitin donde s61o es
necesario un tratisistur para gobernar et reli. Normalmentt estos relés llcvan
incorporados dentro de la cipsula el diodo de protección, como se ~iuede
apreciar en la fototr
figura, para 10s modelos que tio lo llevan es necesarioconectarloen el circuito.
5v
ALlMENTAClON CARGA
'
l
-
-
-
CARGA
R1 u
1
10k BC547 CARGA hiiAxiMA
(500 mA. 1bW)
Figui
Fipru 2-9 Gobierno dep~qrtriln~
cargas u trai.L.rd~un rd&de láminas en cu~)sulu
DIL
hará i
2.5.3 Control mediante fototriac ~UZ.1
i
la te
En el circuito de I:i figura 2-10 los contactos del relé son siistitiiidos por un prácti
fciiotriac,cuyo funcionamientoes similar al dc un iiltemiptor controlado por luz. el t
r
i
í
es ne
El necesario aislamiento entre cl microcontrolador y la carga de 230V se hace cona;
mediante w
i opt~~oplador
MOC3041, qiic es iiii circuito integ~dc)
que incluye iin LED
que controla al fototriac. Este dispositivo esti rspccialmente diseñado para usarse coino
interface tic sistemas 1Ógic0s con equipos que tienen que alimentarse coi1 los 230 V de la apag:
red clectiiila. Sus caractensticas mas significativas son: conil
Incorpora un pequeño y eConíirriicoencapsulado DIP 6. corrii
Su tensibn de aislamiento de 7500 V garantiza un perfecto aislamiento entre la
red eléctrica y el microcontrolador.
Es capaz de proporcionar hasta 1O0 niA, que le permitiría alimentar garar
directamente pequeilas cargas de hasta 20 W.
Su fototriac interno permite el control de la casi totalidad de los grandes tiiacs,
lo que no seria posible si se iitilizara un fototransistor ordinario. de la
cjrcu
Cuenta con un detector de paso por cero inlenlo, lo que permite economizar
un número iio despreciable de componentes externos.
de rt
circu
El cc
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
~cia Para cstas triar: un
rna forma cc refigere adecuadamente. la llora
;mdo sefialas qzie rnetiilica al
temiinal T2. dcbe aislar cuidado(;aincntc triac de! rncdiante
mica separadordc plishco I
r a!
;u
rolar
'-
sefial
normalmente utiliza zurnbsidor piezoeléctrico miniatura
comprendidas entrc y 16
consumo FO mA, por 1
0 ser directamente
salida microcontrolador,tal figiim
SUM&ADOR EMITE SONIDO
CON SALIDA BAlO
entrc
olnac
ei
EMITE
822
Conexihnde irn aimbador ininiafirt-a microconfroJador
mínima conseguir potencias, el debe ir montado sobre buen radiador de
es dc calor, de que el semiconductor A de poner el
en el radiador hay que la parte del componente suele conectarse
. Por tanto. por lo que se el radiador una
lamina de y un para el tornillo.
ic, donde la
de un
vez, esta
cargas
2.6 ZUMBADOR
En muchos proyectoses necesario indicar mediante tina audible la ocurrencia
de un evento. Para ello se un
corno cl de la figura2-12.
Un zumbador miniatura funciona con tensiones 3 V y su
no supera los que puede alimentado por la
de un comos
e indica cn la 2-13.
A NIVEL
137 (8 A)
'uctivas
ZUMBADOR SONIDO
CON SALIDA A NIVEL ALTO
tc en
para
Fisura2-13 aun
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
fICROCONTROLADOR PIC16F84. ~ R A - M
microcontr:
v
ci
mism
-
1
GrabadorE>
(TEPO-SE compatible
Fjxlrra Coyf;guraci¿in
par[/p b o r micrmotiri-orudorps medios redz4cilr'os
grabador equipo dondc procede p h a r
rnicrocantrolador l
a
%instnicciones prapma control.
zkalo quc integrado grabas, cual orientarse
uadarnente de capsula ores
:rciaEes e1 pueden en
.c
trbnica.
Microchip o k c e gmbador PICSTART ficit
ihzada (fipra
En las
quc r
miicho rncnu
iiitcrcsai
g~
purtAtiles soh
22 DESARROLLO DE PROYECTOS
En
múltiples
tienda de
por sí
OrdenadorPersonal Programador
o JDM)
3-1 con
3
.
2 GRABADORES
El o programador es el físico se a la
memoria del con del de Tiene un 

libre sobre el 
 se inserta el circuito a el debe
siguiendo la señal la del chip. Hay multitud d 

en 
 mercadoque se adquirir cualquier tienda de clec
grabad
el PLUS, de muy utilización y
fiabilidadrespaldada porel fabricante 3-2).
apenas
muy
que estos
ltiternct c o n
microcontroladores 10s populares JDM
iniiltiples versiones mejoradas, puede
electriinica (figura 3-3). 1 ntarlo
mismo, c1apkndjce el1
1
-
. - -
Iible
JDM alsnas version¢s
diseñrtdorJens Dyekjm, w . i d r n . h o m ~ a ~ c . d k / n e w ~ i c .
2- grabar
:rol.
zbc
grabadores
-ir(inica.
CfRCUtTO
Fig~rcr Esqzt~rna
de 110pl1~1dor
cornpnfildeJBM bO.cicocor
Eir figums se describen básicas pmprnador
qite reqiiicrc cornponcntes. P
a es
menor qiic In dcl PICSTART PLUS. construcciiin
intcrcsantc para miiltiplcs Auiiqiic hay quc tina obsen~acicin
p.abadores hrisicos cor~ectamente ordcnnc
pottfitjlcsscihre Ademb, iina cl
En pueden localizarse múltiples grabadores de bajo para
PIC. Uno de más es el denominado y sus
tal como el TEJO-SE que se adquirir en cualquier
tienda de por un precio muy asequible Si
por si cn F se proporcionainformación para
amador
JDM)
El programador y de sus la Wcb
e la
Tiene un
orientarse
fe
ES EXTERNA AL
3-4
las 3-4 y 3-5 dos versiones de este
apenas Evidentemente fiabilidad de este programador
mucho pero su facilidad de lo hace
mriy aplicaciones. hacer v es
que estos tan no funcionan en algunos
todo. conexión incorrecta puede dañar ordenador.
1 MICROCONTROLAWRPICI6W.DF5AR PROYECTOS m~ 4 - W A
r' M-h~
l
-
D1
TU l W i 4
n
7
funcionamiel
u
f
i
l
i
7
g
r cstc
jq)mg.si:~
1
x
5
iiltima
I
L
5
y
-
y- E ayudar todc
~K dc
D
s
B
m
programa¡
C
.
-
-
GR
Fimrvn t C Avriromri lio i r n ni.nhn/Lr rnnind;hlo IT) fiAhr;r;rn c;i? n1;montn~Mnoviornrr
1 . f i E . I L
. -, -, YYYL,CI.*" M b l l r l h. L.I.C.C.", L"I.I IUY.I,I&, " Y l l . Y U i l . U , l .l.<. "I...IL..<UL.V.. - . L r ,.U
I
(
i n ~ n r
ian rhin pn pl nrnummndnr hnv n
m
i
p r ~ r r i n r n r c ~ que todoslos pines o desrirrciilar
i X r q l r i Un,, niin +-mar sólo O C ~ S
' " ""-'."' " ' " " '-..-' r"P."""""q ""' "
patilla$ disposiiivo esttn ~ien 2,,,,,. ,
,
, ,
,
,LLttbm
mucho porqlie pines : n
t
s
e rompe
í'iinndn CP r~nli7-nf r ~ r i i ~ n t ~ c
rmrnummnrinnrr rc nrnnc&nhl~
iitili7nr iin 7iirnln
"""- "- '"...-"-""'-''"
r"".
'-..'"-"..-" --""- ""- ""."'-' ".. '*'-""
L
ixiliar micmcontrolador zócalo del proprnador, tal
nes 7ócalo que sufran insercioncs y los
spositivo. reernplaz~r zkFo por un zócalo
em dc Z F (Zgfo JnserfionForre),aunque cl de
precio [figura 3-G).
P ' i g 7 4 r u -,-,'
* Unc
IC-Pr~ges uno sohare
coi
microcontrnladores FIC. Permite la prpgmrnaciOn miichos esti *
programadores. entre compatibles con libre elect
distrihucián pigiiin Wch ~ w v . i c - ~ r o ~ c o m
sc piicdc descargar toda frct
infamación
Com
Una descargndo, jnstalaciirn estc software basta
qrnmnrirnir PI firh~rriirnrriu wrniir rl n m r ~ r i i m i ~ n t n
iiqii~l
~n Winrlnwc Fctp obra
--- y.-....," - p . - + . - - - .-*T. J Y--.-.." ,.'-"--..".-"'Y -..... -". .-..-Y..*.* --.,--
-
d~ivo
consta ficliero ieprog.e.re,qiie
24 ROLLO DE
de
En
la ver:
a
profundo
3.4
Una
Al e
del rectos y de que en el ,
cuidado estos se doblan y con extrema facilidad.
entren
material:
entre el y el de modo qiie sea los
del auxiliar los I
r
i
s frecuentes no pines del
Otra alternativa, es el del programador de
inserción nula ticnc inconveniente su
evado
Figura
El ac ios más populares para la grabación de
3
de dispositivos y probado Un
con numerosos ellos todos los JDM. Es de
y en la y recoger la o
de uso.
vez la de es muy sencilla. con Web
7in v
..
. ..
del contiene todo el código necesario para s
u
xlos los pines
I4ay que
Iidad.
ili7ar zkrtlo
que los
jr zócaIo
nveniente
b.c.v,.w,4ndc
y cstli probado
)M. dc
rccogcr
:esario pan
hncionamiento, sistma oprativo
utilkar XP, e!
icprog..y situarlo cavela,junto icpvog.a.
las próximas piginas v rxpondfin pñra
al cdición JC-Prog OSC, pretensi~n
dc
aquéllos enfrentan por sohare. Pasa anilisis
se rcmite la tknica,
prograina IC-Pro2 dc ayida permite un rápido anrendizaie.
amar:
S610
utilin
contil
material:
rollar el
Ir
~uación.
5~
ventajas
phacihn
lmente
ocedimjenro
S e ~ i n esquemr
T
o
s micmntmladores PIC pcrrniten
poco gasto. aqitéllos qiie
; micmontroladores,
in
gma pmediiniento utiFiw
Figuro Cuurcy u r ~
conectar elprogru~r~uurir
u rrcrvv., de puelios COMI CUML
m cable ordenador pmgmmador tipo DB9
COM 3-7).
conectores (hembra cable,
concxionando con nUmero
extremo, 1 conector terminal I
etc.
TE20-SE, d
s adquisicihn cualqiiier
apíindicc m-ROM acornpafiiia
ofmen construcci,,,.
* sottWm utiliz %g 1.0: ~uede librr
www.ic-rmn.com. D-ROM sta
pcias Iri Gijzen,
IC-l
4
iC, 1
: npaiía 4
o
tener
un
3d0 sea
o los pines del
un de
de su
Es libre
toda la
cilla. basta con
Windows. Este
su
con versiones para cualquier Windows. En caso de
este software con Windows 2000 o NT,es necesario descargar archivo
de F
a misma Web y en la misma con el
En las conocimientos básicos trabajar con
la última versión, cierre de la de este libro, 1. con la
ayudar a todos que se primera vez a este un
profundo de todas sus posibilidades a documentación ya que el propio
tiene un buen sistema qiie
3.4 GRA
Una de
,
ocasional
el pr
CON MEDIOS REDUCIDO
las grandes de
proceso de con
proyectos
de
el
es que
muy Para desarrollan
basados en es suficiente
con medios reducidos que se indica a
3-1, este el siguiente
3-7 los o
Un ordenadorpersonal.
Un de conexión entre y del serie para
puerto (figura Este cable se puede adquirir en tiendas especializadas
o bien fabricarlo mediante dos DR9 y macho) y
preferiblemente plano, los pines el mismo en cada
es decir el:terminal de un con el del otro. 2 con 2,
3 con 3,
Un programador en tienda de
electrónica. En F y e que a este libro se
planos para su
Como se bajarse la
Web e incluye que acor
obra, a generosidad de Bonny su autor.
a el
, y que
que
en el C
mente di
a
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
!a línea
I
~ c t u m
in
ieración
W7:W. Tcdas
la
mgramaaas
yra
sefial
las
TNTCON.
ienfación
I I I ~
~11and0
:ia dcl esta
luede
Pin
RB7,R84
MÁQUINA
El rnicr~ontroladores par Ios
!
:unos dd sistema binario. instrucción qiie cj~cutadapor 61
rnicrocontrolador binario.
rnhquina, por microcontrnlado~
leripiia,je fonnari Ins iristnicciones c6dijys Así ejemplo.
cuaiido microcontrolador PlCláF84 chdigo mricluina "'1 1 1 1 1W, esti
instmccion: ".rrrmn regi,v/rode trabajo W g-uurda e/ resi~lratfo
esk regi~tro
W".
:J;? - c
.
r T, +-y
.
t
lenguaje debe tndticido ceros
rnicrocontrolador procesarlo. codificaciOn binaria incdrnoda para
traba-jar, muchas utiliza hexadecimal
códigos miquina de
Asi capitujo se pracedio grabar microcontroladom
que sólo
del puerto y la
distinta a
de ser de esta
de una
ir, conectadaa
para
5-9 muestra
variación dc una
la ultima
le señales de
o
máxima
está
chip,
exceder de
LENGUAJE
Único lenguaje que entienden los es el formado ceros
Cualquier deba ser
debe estar expresada en A este lenguaje se le denomina
lenguaje ser el que comprende el Los códigos de este
que se llaman máquina. por
el lee cl 11 1000 1 0
recibiendo la 58 al y en
mismo
't-
Cualquierotro que se utilice ser a unos y para que el
pueda Dicha resulta
por lo que veces se la codificación para facilitar la
interpretación de los y no saturar las pantallas(ni los cerebros) unos
y ceros, por ejemplo, en el 3 a los
5H M1C'ROCC)NTROLADORP
1
C
1AF84.DESAñROLLO DF. PROYECTOS 3 RA-m
utilizando el pi-ugmrna IC-Prog, que trabaja cn lenguaje máquina, pero utilizando la
codificacion hexadeciinal, tal cotriose aprecia en el cjemplode la figiira6-l.
6.2 LENGUAJE ENSAMBLADOR
El lenguaje máquina cs difícil de utilizar por el horiihreya que se aleja de su fonna
natural de expresarse, por esto se irtiliza el lenguaje ensamblador, que es la forma de
zitprwar las instrucciones de una f m a más natural al hombre y quc, siti embargo, es
muy cercana al microcontrolador porque cada una c k sus instmcciones se corresponde
con otra en ciidigo máquina que e1 microcontroladcirescapaz de interpretar.
El leti-=aje cnsarnblador utiliza nembnicos que son grupos de canctzrcs
alfaniiméricos que siinbolizan las órdenes ci tareas a realizar con cada instruccjón. Los
nemonicos se corresponden con las iiiiciales dcl nombre de la insuuccion en inglés, de
fom~aque "recuerdan" la operaciori quc realiza la instrucci8n, lo que facilita su
mertiorizacion.
Así. por ejemplo: para oriictiar al rnicrocoritrolndor PIClóF84: "sumu 58 al
rrxistro rh? lt!rriliujoW y gear7i-du el resultado en este m i . ~ m ~
registro W", en leiigiajc
cnsarnblador sería "addw d'5'58'"quc es mucho m i s amable qiic cl"1111100011l010"
del lenguaje máquü-ia.
Resumiendo con un ejemplo:
Instrucción: "Srriirri 58 ul r-e,yisiimd~ ~t-ublljo
W y ~ ~ C I Y I ~ U
el r~~~.ulíudo
en SIL' ~ni.~tno
registro ".
Elisamblador: uddw d'5H'.
Máquina: 1 1 1110 0011 1O 1O (expresado en binanol.
3E3A (expresado eii hexadccimal).
6.3 PROGRAMA ENSAMSLADOR
El programa ensamblador es un software que se encarga de traducir los
nemonicos y símbolos alfanumkricos del prcgrama escrito en ensamblaclor por el usuario
a código máquina, para qiic piieda ser interpretadoy ejecutado por el mjcrocontrolador.
E1 programa escrito en lcnguaje ensamblador recibe la denominación de código
fuente, archivo fuente o fichero fuente. Suele tener la extensión *.asm. El archivo
hizntc debe ser traducido a código riiiquina, de lo cual se encarga el programa
ensamblador. La mayoría de los ensambladores proporcionan a su salida un fichcro que
sucle tener la extensión *.hex.Este ficheropuede ser grabado en la memoria de propma
mediante la utilización de un grabador de microccintroladores.
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
hli MIC'KcX'ONTROLADORPTC IGF84.DESARXCJLLO DE E RA-M h
Tatill~ de ipisfrucciones PIC16
Las
estudiimin 111s inás scnrillas.
Las de
fuerite (f! iiti
utia microcoilrroladritrs PIC
triemoria
explicacion ernplea nomenclahita
sirriplc parintesis 1
iiienioria Jircccibn d
d
e re@
cjcmplos: resul
(W) "el conr~niLio
del se truns$ere u1 w
puerto B.'. Ante
(2Bh) 3 dr pwíció~?
2Bk M M de m
h t o s bransjere ri'c. traht-rjoHp'.
2Bh i (W): "e/ regt~trode tti-ub(?jo c~irga dato
E
i
t
a
Ante
ZRIi". auscncia parkntesis). w
instruccioiies carga
clrw
regis
(Cleur W). El W borrri (se cargsi b'00000000') cl
Z sc " I". podria cotisiderar aritmética. Ejw
-1
PROYECTOS
6-2 Repertorio del F84
instrucciones se recogen en L
a tabla 6-2 y detallan cn s
u totalidad en el
apéndice B. En este capitulo se instrucciones
6.9 INSTRUCCIONESDE CARGA
instrucciones de transferencias de datos son típicas todos los procesadores y
su misión es transferir el contenido un registro a registro destino (d) o bien
cargar el destino con constante. En los todos los datos
residen en posiciones de la de datos y en el registrode trabajo W.
En la de estas instruccionesse muchas veces una
especial muy basada en y flechas. Con los paréntesis se destaca que se del
trata del "contenido" de las posiciones de y la flecha la la
transferenciade los datos. Algunos
3(PORTB): Significa registro W 

(W): Significa "el contenido 
 la de
se al registro
Significa se con el
(Notar la de 

Hay cinco de 
 propiamente dichas:
6.9,
6.9.1
contenido del registro se con y
flag activa a Esta instrucción también se como
Ante
6.9
fiR A M A
Ejeir c t w
Antc (W)=
Despues instrucc~on: (Nr)= ~lxflfty L= l . .
Z = l.'?
- .
Ninglino 1
Ninguno 1
Ninguno
N i n m i n ~ 11
(Clemfl. El contenido de1 regrstro 'f se b
o
m (secarga con b'000000007 y el flag
Z se adiva a uno.Esta instmccibntambiénse d n aconsiderarcomo aritmética.
mo.PD
Ninguno
1
m,rnD
Qerr
Antc
npcr
6.9.3 movlw k
.I totalidai
(Mnve Literal to W). El re3ist-m W se carga con el valor de los 8 bits de la
constanic'k'. Ningiin flag del registrode estadoes atkctado.
.i3 III Ubb30
lestino (d) o bien
' todos los datos
C'. 6.9.4 movf f,d
(Movej.El contenido del registro 'f se carga en el registm destino dependiendo
'
del valor de 'd'. Si 'd' = O el destino es el regstro W, s
i Vd*
= I el destino es el propio
una nomenclatura
se destaca que se
registro 'f. El f l a ~
Z del registro S T A T U S - ~ U ~ ~ ~
afectado: Z se activa a "1" si el
resuli E.
Eiemn10 F: movt PORXd, 0 :(PORTAI +1w) I
direcciót
'..-iuni
tado de la
. .
-
i
n es ccrc
Ante
Dcsp
p
O
R
1
.
(POR?
'A) = Ox1
'A) = 0x1
Ik (W)= i',
1 A, (W)=o:
uks instn
IBA & h
r w
!AM de
el dato
1 1 &
' r p con
i
2
.
iem
Aiizei
Dcsp
- >
idode Ia 1
el resulta
o 'f. Nirigún flag
(Move W lo 1
)
.
Carga el contenido del registro W al registr
registro de estadoes afectado.
, del
I
Qmplo: rnovwf PORTB :(W) -9 (PORm
Antes inshcc (PORTR) = i,?
Despuks iinstn (PORTB)= 0x4
I
ión:
iccihn:
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
y Orrprtt ro File cl fichero
'indows.
hito de1
:
5TbTL5
PCL
- .
3 de estado
ventana visualizaci6n linea
proporciona infomciiin muy situacibn microcontrolador.
-------
1
inf&or ofrece infomnacion Ia
simular1n.i
O
"
.
"
.
.
.
útil infamación el progama.
trabajo flags I
mrnaqúsculas vale "1 " si miniicc~alas Asi I
flgtn Z DC =1 C=E.
2
---+
.......
WFAQ
?u :~~~JTART
~a;l S
-
;
.
.

-
- - ~ W m P 7 a h 3 - - w :
......
--+--- L .
hre simb6licci
usiiario.
tc
iso
wdro dililogo
ee
m
I I 1 , .'
Fipcrn 7-iJ , A ~ , , ~ ~
wc- G,~L~LI~) infamación yJrapP~
del SIn
7,6 SIMULACI~N
BASICA
T m sc p d e simiilacibn programa,
w simutacibn programa visualizar las
comprobar m ellas.
dc
IPLAB tal como explicben figura
m& importantes p m simulaci6n
Debbuger muestran f
i
_
m
seleccionar y salvar de la forma ya conocida en el entorno
general
contenido de la
. . .
Aunque no es una de propiamente dicha, la de estado
iitil sobre la actual del Se ubica
m la pane de la pantalla y en todo momento del estado de
.,
Es especialmente la sobre contenido del contadorde
del registro de W.También indica el valorde las de STATUS.Si la letra está
indica que ese flag y, es vale"O". en el ejemplo
de la 7-13, =O, y
duros
.
-
.
-
. . . .
que
de
supervisar los
concreto. Para
de
pulsandosobre
rla posteriores
con la del PC, W
el proceso dc ensamblado a la del Mientras
ejecuta la del es interesante el contenido de
ventanasexplicadasantesy el efecto cada una de
Es conveniente antes nada, comprobar que está cargado correctamente el
SIM, se L
a 7-4.
Los cinco comandos la se localizan dentro del
menú y se en la 7-24.
92 MICROCONTROLADORPICIóFR4.DE'RROLLO DEPROYECTOS c
m Rfrn. Modo de ejecucibn continua.Ejecuta el programa constantemente.
ventanas abiertas en el paso anterior no se actualizan hasta que no se pro
una parada. Es la fama mis rápida de simular el programa, pero no se "vi
como evoluciona la memoria ni los distintos registros. En este modo se i
seleccionando Beliijgger > R~tn
o pulsando la tecla F9, tambitn al pulsar S
el icono correspondientede la barra de herramientas(flecha azul).
Las
duce
Animate (o teclas ctrMF9). Modo de ejecucihn animada. Ejecuta el programa
de forma continua pero actualizando todas las ventanas cada vez que se
ejecuta una instrucción. Es m& Eenro que el modo "Run" pero permite ver
como van cambiando los registros. Tal vez sea d modo de ejecución más util
y rccomendablc.Se entn en este modo seleccionandoDshir~~er
> Aninia
también al pulsar sobre el icono correspondiente de la barra de herramic
(doble flechaazul).
* Hah Paro. Para la ejeciicibn del programa y actirajixa todas las ventanas. Se
consigue seleccionando D~hti~gger
> Run o pulsando la tecla E5.Tambidn se
entra en cstc modo al activar el icono correspondiente de la bam
herramientas (dos barras verticales azules).
Sfep Inro. Ejecuci6n paso a paso. Eiccuta una soJa instnicciCindel progama
cada vez actiializando los valores dc las ventanas. Es la forma mis lcnta de
simuIaciiin pero se compnieba fáci1mente como van evolucionando todos los
registros y memorias, siendo muy facil dstectar los posibles errores. En este
modo se entra seleccionando Debugger > Srep Info o piilsando la tecla F7.
Tnmbjézi pulsando sobre el icono correspondiente de la barra de herramientas.
* Resef. Equivale a un reset por activación del pin MCLR. En este modo sc
entra selcccionarido Dehiigger > Re-re!o pulsando la tecla F6. También si se
pulsa sobre el icwo correspondientede la barra de herramientas.
A-MA
Pan1
aemho tic
Seleccionn
donde Iia i
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
i
t~
t
.
.
.
<nome>
icuentre,
fine (
mblador:
:to. I
I :
continuación
PORTB
:]Ni?LED s
e i
:
n Iine
LED
(Dflnen :D~P
lnes (genmlmentc ~ D F F
-DFF
i
d
bs
D P
(
tl O,
i1 Rznm
sc conccia 3
:n
m
.
;
o:
LER
ACCCW 1.
Confrgum csla línea
i1
: L
hcccw :
:Encicndi
#DEFINE ANSI simbolos
mCtodo disponiblesDara mr
15. este valor ARIO
cuwrior
numero binario natural formato hcu
largo
ion opcracianes progamas microcontrolador merece !;
eiemplo expresado binario natm1 I
.
.
01 1 1 11 BCD separas Fas
qudando: 0010 figura txplica cl:diagmma resolver
.4. coni~crsihn. irnplernenta. descrito continuaci9n
,epttede Iri figura 9-6.
s
***si
nienzo
RAM 4
.,-1 h e ,
s valores
de
--m - A
:dcm
;
u m m hinario 8 bitscs curivcnido El erultadri gl~qrrl
em~irins
ilamadasCcntcna~. L'nirladcs Admis tiiial 1
c bajo repsmi W y dcccnas cn cl nlbhlc Insdidas
calida visuaii7arán !
a
sdmenas la* L
a e n m p
unidade
LEDs cane
sicioncs
sestaráti
ctados
;
:
p
: pr
:ejem
ocediniientr
pln quc trai;
2 1
" A
. l* ,
-
,
s
.
.
.
la figura9-4 que
. . -
Estadir que
e
una Dondle quiera
Ejemplo
A se
conecta cstn
...
bsf
BLOCK
marcada entre las
bc
icof
Ranw
1.
: El
; al Banco
; como salida.
Banco O.
el diodo
;
Esta directiva emula del C standard. Los definidos con
este no están ser usados el MPLAB.
anterior ejemplo).
Si no 9.9 CONVERS NATURAL A BCD
al: de la
La conversión de un expresado en a es una
si a lo del
de variables, de las más utilizadasen los con y que ser
analizada en detalle. Por el valor 124 en seria
00, para expresarlo en hay que centenas, decenas y unidades
0001 0100. La 9-5 de flujo para esta
definida
Un programa ejemplo que lo seria el a y
comprobar sobre el circuitode
que
lo
a datos.
.Un n
nihhl
de 3 RCD. se
Docenas y al
del las alto. En
o de se y
las en el
al
El m
niuni
valorque
El utilizado
MICROCO~OLAWR
PIC16F84.
DESARROLLODE PROYECTOS OWMA
{Decenas)
movlw
subwf
btfi~;
Foto
NO, I
H
NO, m!
NO,mi
NO. resi
NO,m
i
NO, m
NO.m
c
a lo
NO. reSra 10
NO, Festa 1
0
NO,resr fn
NO. m
t
Incremcn
NO. hcrt
...
. .
S).
cenas).
NO. lncmcnta (Uc
NO. Incremonta (ae
NO.Incremnta (De
NQ.Incrementa(De
cenas).
cenas).
cmia~).
cenas).
NO. Incrt
NO. Incrt
NO. lncrt
hln lnm.
:menta (Dc
menta(De
:mcn ta (De
.
.
-
.
.
M
+
- Ir%*
cmiaii).
cenas).
cenas).
r * n n r l
,*v.iii~ibiiibiira
(r,c
Si. @ecenari)=O, y al
incrementa (Cenfe
NO.Inemnenta (De
bCil02,J.
demb
w )
cenas)
NO,resta 1
0
sí,s
e
te 'Numero".
r- 1 l
UDE <PI(
CSLGLAIB(UL
Cente
Decer
Unida
ENüí
:u
izona ac memona ac usuanocomicnz.. .
.
..
.
..
;dirrccii h a R h M de datos.
;Pmició
;Pmici8
nas
)
a
y
Numero EQU
ORG ;El pmg
inicio
bsf ;Acceso
clrf :l
a
s lini
bcf :Acceso
m
n
u
p
a
r
clrf Centenas :Carga 10s qismr
clrf Decenas ;Enprincipio(Ceni
movlw Numero
moru :Se carga el n
ú
m
mbinano a convertir.
Bm-Restui 1
0
movh ;Alahu
1
subwt :pa-da. (WJ==(Untdades)-lo.
STAT
TRlSE
STAT
b al Banco 1
z del F
u
e
b al Banco I
rio R secontigamwmo sdicta.
1.
"BCD-lncr
;con el res1
tenaspoy i
~ltado
inici:
[Dcce:enas)=
les va restai
. .
ndo 10en c
, . . <
?, i(W) Vi!
menorde 1
BCD
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
RAO ABOff N f
R41 RB1
RA2 RB2
RA3 R53
R M O C K I RR4
R 8 5
RB6
:Lns salidaise ohtii
: RR5 (SI;'i, m
4(53:
'E DATOS
; ZONA D
Fignrn 9-6 Circttitoparo compmharel programa RCD_Ol.mm
novlw P
iioluri 3
1cf S
EI salto indexado es una tknica que pemiite resolver problemas que puedan ser
representado mediante tina tabla de verdad, En el PICI6F84 se basa en la utilización de la
instniccihn addyf PCI,,F, de este modo, la direccihn del saIto se consigue sumando a[
contador de programa (PCL) un valor de desplazamiento almacenado en el regiswo de
trabajo W.
aovf- P
ndlw h
ddwf P
oto C
oto C'
oto C
En el salto indexado, ladirección del saltose co~sigue
sumandoa un registrobase
(el PCL) un valor de desplazamientoalrnrlcenadoen un registro índice que es el registro
de trabajo W.A cste valorde dcsplazamientose le denomina tambiénqfl~et.
Al ejecutar la
instmccihn c
r
d
w PCL,F el registro base TCL) debe estar cargado wn la p r i ~ m
direccion de Fa tabla, apuntadode esta manera al origende b
t
a
. >!o C
nnO
ovlw h'
..-
En el siguiente ejempto se asimila f5cilmwite la utilidad de salto indexado
hardware utilizado s d el esquemade la figura 9-7.
IlCl i 4
.mt
ovlw h'l
,tn h.
id
ovlw h'l
itn A'
1717
:tmp11
;Por q
a tabla dc I
:
abla seri d
i verdad m
i
e 3 enmb
iancja dc te
s tal como I
:matar un:
jtmpto,la I
C ' M ~ U L O SALTOS 135
1 1 1 I;(cd*I-6nl).
1 1 1 1 i;(-hz).
r i 1 1 1 I;@orSi@&tf).
1 1 O O;wgumidn4).
1 1 1 O i 1 l;(CdgumcibnS)-
1 [ O 1 1 l;(Conftguracibnó).
1 1 1 1 i 1 i 1 1 l;(Wguraciún7).
;imenbndw mectai.mi llneasdelpuerto RA2 M
1 (B) RAU
;Lassalidasse~enenelpuertnB:
;RBS(S5),lU34 (M),
M 3 (S3). (521, M
1 (Sl) RBO
;ZONADEDATOS ***SH***l*%'****W'****SI************5*1II*L*I***************h****U*****
CONFIG CP-OFF & -ri'DT-QFF &-PWRTEEON & XT-OSC
EST P=16F84A
INCLüDE 4'16F84A.lNG
;ZONADEC~D~GOS**'*******************Q"'*L******~****#********S:*****~***++***********
pmgrama conireriza h direaibn0.
bsf STATWSH'O d Banco
clrf TMSB : heas hiato se confipmu saiida.
movlw blOOO1 1 1' : líneasdet se eukada.
mowf TRISA
bcf STATUS,RPO ; al
s
i utilizxiiin la movf PORTA,W ; el valor lasvariables e n e .
andlw b'00000t1i' ; quedac
m a
e
c bits enaada.
;igue configuracibn&macla.
de
C o n f 1 ~ 0 i i O
gota Configuracion1
Co~guracion2
Corhgumcicin3
registro goto Conñguraciod
;fr. goto ConfiguracionS
I goto Cdguraciaaó
goto Configmcion7
rnovlw b'0000101Ot ;Confipuracibn
indexado. goto Activasalida
configuracibn
'.CL*******I*
movlw b'OO1OOO1li :Cun-ih
movb b'0000111~' C 0 n ñ ~ i S o
gota ActívaSaW
C d g u m í o n 4
9: 

o o a o o o
o o o o o
o o o 1
O O ] O O O
O O O
1 O 0 1
C, B. A se a las A: (
C
)
, y 
 {A).
RB2 y (SO).
ORG O ; El en
; Acceso l .
Las 
 del B 
 como
11 Las5 PuertoA configurancomo
Acceso BancoO.
que puedan ser
Leo 
 de 
 de
de Se los de
sumando al ;Saltaa la
en el registro
goto
goto
un registro base goto
que es el
Al ejecutar la
con la primera
;
O.
Ito El
l.
2,
; 3.
136 MICROCONTROLADOR PrC1bFM. DESARROLLODE PRUYECTOS FRA-MA
mvIw
8 0
C ~ i d
mvlw
C o n f ~ i i o t i 6
mwh
soto
Cwfigmcion7
mvlw
ActivaSalida
m
Y
w
f ;Vidiza porel pueFto desalida
En las soluciones de los ejercicios facilitadas en el CD-ROM que acompaña a este
libro, se describe otra forma de implemmitacibn más eficaz mediante el p r o v a
indexado-O1B.acai.
Figura 9-7 Cit.~liliio
paru comprnhurios programasde tablade ivrdac3
9.11SALTO INDEXADO DESCONTROLADO
Como ya se explicb en el tema 4, los 13 bitscontenidosen el coniador de programa
y que direccionan la memoria de código estan guardados en dos registros específicos
(figura9-8):
El reg
un reg
Los bi
puede
PCLA
El PCLl
bits son transfe
tiznen por dcsti
Cuando !
instnicciiin .ad
es así, cl salto e
que el registro
prueba de un sa
; P r o w a para cor
;Se debe comproba
9
; ZONA DE DATO
INCLUO
LIST
;ZONA DE C ~ D I
ORG
Inicio
goto
c h
ORG
Principal
niovlw
addwf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
i
¿R A - V A CAP~TULO SUBRL'ITNAS DE RETARDO 173
;ta iiistniccion
cnstal
R..ContA can R-ContB con
"K"
contador R-ConlA
"K*
Pequerio tiempo
urrido
Decrementa R-CoiitA
:S
;
SUBRUTINA
:0nseguir el retardo R-ContB
rucción
:I R-Corrr.4,
ijerite
12-4(A) SUBRUTINA
Esfruchci-ade Iw sub~4tjna~
d(9r~~tnrdo
d
deducir el
~iiicialmente -ContA sigiiientc
viene ps:
:
Ziempo=5+4K K =
;miquina.
<=249).
12:
tarda
de cuarzo de
resulta necesario
intervalos pueden
simple de algunas
es conocido
registro
ibtenw el tiempo de
fragmento de
la figura se
máquina.
valorde"6".
cm (al saltar).
Carga contador Carga contador
valor inicial "M"
valor inicial
Carga con
valor inicial
de espera
A). ESTRUCTURA DE UNA
DE RETARDO CON UN LAZO SIMPLE.
Oecrementa
B). ESTRUCTURA DE UNA DE 

RETARDO CON DOS LAZOS ANIDADOS 

Figura12-4
Es fácil que el valor de la constante "K" con que se ha cargado
el contador R vendrá dado por la ecuación, donde el tiempo
expresado en
EJEMPLO: Calcular el valor de la constante K,para obtener una subrutina de
retardode 500 pscon la estructurade de lafigura 12-qA).
Soluci6n:Aplicando la ecuación se obtiene:
Tiempo-5 - 500-5
K=- - = 123,7
4 4
Así pues se elige K=123, obteniSndciseun tiempo de retardo real de:
Tiempo=5+4K=5+4+123=497ps
El ajuste fino para Ios 500 ps exactos se consegurta añadietido3 instrucciones nop
al principio de la subrutinaderetardo.
12.5 RETARDOS MEDIANTE LAZOS ANlDADOS
Para lo genecic18nde retardos de niayor duración deber1 ulilizarse lazos aiiidados,
poniendo un lm dc retardo dcntrv cli: otro. La forma de liacerlo se explica en Ins
subrutinas "Retardo-200ms" y "Retardo-100ms" del siguiente programa ejcinplo,donde
a partir de la csmictura de 1 ms conseguido en la sccciiin anterior se obtienen rctardos
mayores mediante la redlizaciónde lazos anidados, figura 12-4(B). Este programa es una
i~til
aplicacionde un LED intenriitcntepara cl circiiitode la figura 12-5.
D1
RBO R1
;apaga durante
;ZONA DEDA
1
#DEFINE LED (
;ZONA DE C O
ORG
inicio
bsf
hcf
bff
Principal
bsf
cal1
d
bcf
caii
catl
gom
Figura 17-5 Internaitenle
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
W
318 MlCKIX:OKTROLAWR PIS lriF84,DESARRULW DE PROYWTLiS c ~ 4 . ~ 4 O RA-MA
i
20.9 PROGRAMA EJEMPLO
Escribir por el teclado de un ordenador y que esta infomacibn se -¡sualice en la
pantalla del módulo LCD de un sistema con microcontroladores un ejemplo inmediato de
las aplicaciones que la conexión entrc microcontroladory puerto RS232 cle un ordcnddor
puede ofrecer. Para cl cvmcto fiincionamiento del siguiente programa ejemplo hay que
cutnplir los tres requisitos fundamentales de este tipo de comunicaciones:
Hardware: Se ejecuta sobre el circuito di: la figura 20-13, no se ha de olvidar
conectarlcial pumo COM 1 o COhl2 dcl ordenadora través del cable RS232.
Un programa de coniunicaciones quc se debe abrir en el ordenador, como el
evper-Tertninalu otro siinilar.
Programa de control del rnicrocontrolador que se debe ejecutar en el
rriiccocontrolador.
Un programa de control grabado en el rnicrocontrolador podría scr el siguiente
cjcinpliisuficientemente documentado:
;Enel m&lo LCD se visualizanloscaracteres que seescribanen el tecladodel ordenador
;y se mnsmitena h v e sde su puerto serie. E
m
s &?tosv o l v e a serenviados porel
;microcontroladora1ordenador, por lo que tambikn se visualizxia en su moiútor.
;Se utilizani unprograma de comunicaciunesparaque el ordenadorpueda enviar datos
;a travésde rupuerto serie,como el HyperTminal de Windowso alguno similar.
;Concluyendo, lo que re escriba cn el tecladodel ordenador aparecer6enla pantalla de'
; mduto LCD y cn el monitor del HyperTemind.
7
:~~NADE~AT~S**********5*5******C*C*****Qdii**OiPiP*****CC******~~*~****L**************
ORG O
In1c10
c
a
l
1 LCD_Lnicializa ;Ini~dLCUyIaslúiwiaiquese
1 RS232-lnicializa :van a utiIizar enla cmwiwihc me
l puzrto
Ptincipd ;SerieñS232.
d i RS232-LeeDato ;Esperamibirunmhctm.
mwwf GtmdaLMo ;Guardael daui mibi&.
d WD-Cmter ;Lov i s u d k
Figura ;
Una aplicacii
hacia el ordenador.
RS232-MEN.MC, 1
"RS232-M(
cl microcon
"RS232 LU
del ordenad
.+~**L**L.*%***4**.*
J
I
?
j mbrutinaa
;
-
a tmds del1
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
1,. 440 MICROCC1NTKCIL:IDOR PICIGFSJ.DESARROLLO DE PROYECTOS E m-MA
NCLUDE <RE;TARDoS.INO
MCLUDE <BZNBCD.[
N
O
I MCLUI)E -UD-4BIT.iYO
I INCLUDE <LCD-MENS.iNC>
END
~: Para probar este circuito se puede utilizar la tensiiin variable que se obtiene del
11, divisor de tensión formado por R7 y R8.
i
Este voltimetro puede medir una tensión entre O y 2,5 V. Para conseguir otros
valores de escalas Iiabria que añadirle a la entrada circuitos atenuadores y amplificadores.
11
Sr anima al lector a desarrollarlo como proyecto.
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
454 MCROCONTROLADORPIC16FW.
DESARRULI.0 DE O M.MA
- -
MOC3041 A6
7
7
m
52
DS1820
(V~sto debalo)
d1
230
53
1500W
28-8 Esqucmd termostafodigira)dr'precisihn
i*b8**i*C********+**i*******S*+C+SDSi82U 'T-osm,irsm*********************
hgrama &conmlp
m tmómeim termostato digital.U t d k censor temperatura
DSl82O inform~lcion tnvks tiw deima sola lhea
: del fibricwtr:de semiconductormWaHas Semiwnduciors.
El la te111peratura l
a se mediante puisadores:
; "iNCREMEWAR", conectan pines PuertoB funciondentoce basa eii
;intmnqxión p cambio m del Puerta
; I'nrms:
- sbto cano tennhemi. Aparece latmpmrura rn
Y de1niMulu LCB. salida termostatoestá
; - h tmpmtura m&te elpuldm
; - Vuelve B pulsar se eltemw>stato. la n a d a
Ittd m d a mcimde carga, caiefactm. bemperaturamedida
nuiyor M a h ,
; pulsar apagala carga funcionarF
6
L
ocomo t e r r n h m .
: c ~ D
ORG
gota
ORG
guiu
rrddwf
Mewijchibliciwic
DT
PROYECTOS
SALIDA
MODO
por
REO
V-
CARGA
Figura de un
,
; un y el de
; que transmite la via seriea deun segúnun
protocolo
; ajustede a que conmuta el termostato logra dos
"MODO"e que se a del y cuyo
la línea B.
Se manejade la siguiente
; En estado dereposo funciona pantalla
La del apagada
Pulsa"MODO" y s
e ajusta deseada "INCREMENTAR''
'MODO". activa Si temperatura es menorque
la que puedeserun Si la es
que la apaga lacarga.
- Si se vuelvea "MODO", y pesa a
ZONA DE
Mensajes
,
"ES.
-
J3
i5W'N
,SI (:AP~K~LO l . r N ~
L~NE.A 455
;Así se ms mdos funcionamiento
; flag:
A) 'TemiostatotoOFF",donde termbniew temiostato.
reconwepore1 FTemostato-OFF.
;B) Mado "TennosMo-Ajuste", temperatura deseada
termostato. flagF-Termostato-Ajuste.
"Tmmtatc-ON", funciona temrórnetroniirrnal tmrnosraw.Se
reconoce F-Temiostato-ON.
progama que esti activdo uno solo flags antenores.
: sistema la e1
priixíma
CONFIG -0-OFF & -WDT-OFF &_PWRTE-ON -_XT-OSC
LIST P=16F84A
MCLUDE XPIGF84A.iNC>
10s incrementoscada
; 10s flags establmer
m&s
la
;EEPROM Aqui se
:
#DEFIN SalidaTemostato PORTl3,I :Cargd controlada
#DEFINE Zumbador PORTJ3,2 Aqui conecta
MvdoPulsador PORTB,7 pulsadms conectan
#DEFINE Incmenta~pulsador PORTB,6 ; del puwo B.
F-Termostato-ON FlapMdos.2 ; FIagsutilimdoscn
@DEFINEF-Temio~tato~Aji~te FlagsMdos,1 ;temperahira temiostato.
#DEFINE: F-Termostato-OFF FlagsModos,O
TMROCargaSOms -d'195'
cargas eQU df4O'
;P m conseguirintemipción 50m.
;k e r i d a x 50ms = 2000ms.
RA-MA 28: BUS DE
A-MA
pues, enelcircuito distinguen de que se identifican
mediantetres
; Modo funciona como normal sin Se
flag
dondese ajustala cuando funcione
coma Se reconoceporel
; C) Modo
por el flag
donde como con
;El consigue de los
Alapagar el debe conservar el valor de temperatura deseadaen termostato
;para la vezque se encienda.
&
;Guarda 50 m
s
.
Guarda para los
; de trabaja
; Correspondea dirección O da la zona
de datos. va a guardar e1
la temperaturadeseada.En principio24 "C.
CARGA
E por el termostato.
; se el zumbador.
#DEFINE ;Los se aestos
pines
#DEFINE elajustede la
del
EQU cada
2s = 40
7
456 MCKOCONTROLADUR PIC16F84.DESARROI-LO % K ~ M A CR4.W
MensajeTemmtato-ON c h
DT ",OxOB call
Mt~l~ajeTermnstato~Ajuste illoy
"Tenqm. QiiBO m
v
M e n s ~ w m t i m mov
DT '
T
",OxOO ;EjlpmuaLCD:'mC "
; seccidn"P
;Nogepitede~
Prmcipal
- Pregara mbdulo
%oto
monsaje
1
i - "DSI
- Inicializa
-
tnterrupciones.
intemipciones.
Dit7grntna flujo temostafodigifnl
d U = D U = D ~ i z a
i d STA'EUSW
mwhu b W 1 1 1 ' ;Aeacalerde255~d~Oyhab~3ita
m 0 4 r n N - R E G ; ~ k a d c ~ I ~ d e l a i f a t o B
bsf lddomwm ;s%cúdñpmacomaataada
bsf L
-
bcf W T c m # W S e ~ c o m o ~ .
bcf zuulhbx
Bef STAWSJUW
caii L C D C D ~ l ; S e ~ i t & a l ~ i & h ~ ~
mwlw Mensajehrblicie
d i LCD-Mensaje Fipru 2
C& DS1azo-~nicia~iza ;~omieripla~0nwónde1term6metroyporie
cal1 ModDTemomt~~OFF &te nada de f u n e i d m . ;S
u
&
TMRDL€arga50ms TMRO comp1emento
mwwf m 0
9
;
m
a
c
t
a
q
i
a
e
h
a
d w Carga2s e l r e g i s t r o n r y o ~ t ~ w n t a d l o s 2 s .
movwf RegistroSOms servicio^
DE PROYECTOS
"Termostato:
DT deseada",
La
LCD.
- Configura entradas y salidas
- Visualiza publicitario
820-Inicializa", comienza
inicial de funcionamiento.
todos los registros.
Recupera la última temperatura
deseada del termostato.
- Habilita las
Espera las
Figura 28-9 de
Inicio

;
; "Ser
movlw ;Carga el en a 2.
; Y
principal del
á' RA-hL4
-
CAPITL~LU
18: ~ N A
LjNEA
c h h pica611QxOO m a m i ~
EEPROM
c d l EEPRW-LeeDsto ;donde k t e m p e r a t u r a e d e h61m-m
m o d T
- v e z q w 9 e ~ .
movh b'lOIU1W Activa inmmp5bn del-0 (m), m b i o
movwf D
T
T
C
U
N ;l
i
n
wdd Puerto B (R3B)y l
a (GIE)
; L a 6 a x i & ~ e s m a n w ~ t o . w o ~ ~ ~ .
No se modo c o ~ w ~ o
porque inimumi6n"deep7'
ddene Timer
m
p
a
l
Priocipl
"Serviciolnterrupcion"
Q
I I"Termomsim" terrnbmetro
termoslalo.
I I
¿Han
1 1 "CarnbiarModo": mDdo 1 L-.-.
'(NO 1
¿E& puisaso
"INCREMENTAWJ
"IncrementarTempOeseada":
ternpsralura
Limpia flags
J
Retorno de la intempcion
-
Figura 28-10 Diagramu d'rqfliqo subrutina de intewlkpciones
BUS DE 457
,Lee de de datos
se guarda
;
; por de
general
interrumpidolas
pulsadores?
cambia el
de funcionamiento.
de reconocimiento de
las interrupciones.
; puede poneren debajo la el O.
gato
pasado 50 ms?
Lee y
actualiza el
Ajusta la deseada.
de la atención a
458 MICROCONTROLAWR PlC16F84.DES4RROLLO PROYE C M S 2 R4-w t R A - ~ , 4
btfsc
call
btfss
pob
btfcs
a
l
¡
btfss
cal1
Fininterrupcion
bcf
bcf
retfie
INTCON,TUF interrupcionproducida Timer
Tennometro ; el termómetm actualiza
NCON,RB[F intemipcion RBI
Fin[nternipcion
MdoPulsador &stá "AJUSTE"?
CambiarMdo
IncrementarPulsador;¿Pulsado
IncrcmcntarTempDcseada ;
MTCON,RBF remnocimiento.
iNTCON,TOIF
"DS1820-Inicializa":
conversion
- "ModoTermostato-ON".
carga.
- SI"ModoTemostato-ON",
coiisecuencia
I
I I 1 " ~ i s u a ~ i z a ~
el forniato I I
Return
3
Figura 11 flujo la subrutina Te~mometro
I
; subrutina
; peticiba
temporizaciini
;TarnbiCn so&
Termomebu
movlw '
m 0 4 '
decfsz
goto 1
4
mowf
cau 1
call
cal¡ -
d i 1
m
Visualiza temp
'Temper. c
DE
;Si es una por el O 

lee y termostato.
;Si esuna lee los pulsadores. Esta leey
debido a la
; presionadoel.pulsadorde ; de2
;Sí. Ajusta la temperaturadeseadaen el termostato.
"INCREMENTAR"? actúa
Si, pasa a incrementar la temperaturadeseada.
; Limpia los flngs de
,
movlw
Prepara para que se produzca la
próxima interrupción dentro de 50 ms
Coniienza la 

para la siguiente 

"Termostato" 

NO 

se desea ajustar
apaga la
compara la temperatura medida 

con la deseada y actua en 

activandoo 

apagando la carga 

eii
28- Diagrama de de
la
1
1
Q RA-MA c . ~ P ~ W L O L ~ A
- S&mth "T-om-" --------.
---
! *
i ; subnitina lee visualiza tennbmeko
I!
: peticihde Tmer c& m.Parawnseguir
m ;temporizacibn S, repetir S0 (40~5(hrrY=7000ms=2s).
Tarnbih actiia dei termostatoposicimbndofa
Termmietro
movlw
movwf
decfsz
movliv
monvt'
l
cau
cal1
cal1
return
;Decrcinenta cmt~dor.
: lian segundos, canto
Repow este
temperablra.
; conversión 1ectm.
Actha sobre termostab.
esn subniha caribe ri
esta dosinstniccionrs a
h
m
;tarnbien
"Visualiza"
0
en
aiustar
" ~ e m ~ e r .
25OC "
I
temperalura
y
25OC"
1 24.5% "
Figura de$ujo subrutina I~'isimliza
28: BUS DE UNA 459 

Esta y el cada 2 segundosaproximadamente.Se ejecuta
debidoa la interrupcióndei O, 50 una 

de 2 habrá que 40 veces el lazo de ms
; sobre la salida adecuadamente.
,
goto
cal
formato:
;Recarga el TMRO.
el
No pasado2 por sale
: contador nuevamente.
;Lee la
Comienza para lasiguiente
. el
;Como se continuación
;seahorra y
espacio en la pila.
se desea en formato:
Visualiza la medida
la deseada en formato:
'Termostato:
deseada"
28-12 Diagrama de l
a
; V i s u a ü z a d t ~ e a ~ f ~ p o s i b l e s :
;A) kmos@ hacth-ado,m& "Temmkto-OFP. ejernpb:
' ~ , ~ P d "
pmuaW)
'' 24.5% " (Segundau). -
~ e n l a p r i m c r a ~ s e ~ z a u n m e m j e p u b - l i c ~ a y e n I a
$ SegUadsttneahoemparaturaaedrBa~tual.
B) Ajuste&1 termostato, Tmmebfa-A&e". PM e j 4 o : -
* 'Trroper.~"~~~
" 25% "(k@náalinea).
D o n d e m l a s c ~ ~ v i d i z a l a ~ a t t í r a q i r e ~ d c s e a a ~ .
C) &va&, ' T m m - O W , ejenrpQo:
Tcmroststo: m"
wntmun#)
'
I 23.5% "f-dalmea).
~ e n l a p r i m e m l i n e a s e ~ l a ~ ~ q i i e s e d f s a
i
i
;Enmdax (
T
-
e
&
) temprr#ra Imi suhuthabmmmtar.
t
I
i
Visuai~Term~atato~Ajuste
cdl LCDLineal ; sihia di ha
! mvk MensajeTemstato-Ajuste Visualizamen6s.e hm.
call LCD-Mensaje
movlw -6 Se coloca centtarvisudhcih mia
cal1 LCD-PosicionLinea2 segunda Uaen.
VWT- . .
. .
-, -
; .
1. M.-
. T w W . , -. . . . - . . - , .
i "VisdizaTermom
' 9
laprimeraha
;temperaturam&b
9
i
;Enldas: -
*
I I
7
- 1 ;VidizaTemonm
caH
call
VisuaiizeT~tur
movlw
d
b t f ~
g m '
T e m m - w
movhv '
cal1
Con el Pm
; modo
; Cone
l modo Por
t
ajustada en
, Se al principio l
a primera
; en laprimera
; para
;
. .
. . , . .
;
;En
movlw
1
s i h principio h ha.
;Se al de primera
1
162 MJCRC~COhTROL~R
PtC16FM. PRCiYEC'TOS O R4-MA
sobre h
@S1820_S&io), registrocori aig1-10 t
-
b tmpmm m
i
t
i
r
a todossw bits son " ",
- funcionamiento:
9 apgada, temperatura medida k i e n d e
deseada salida
I t m m dcseada
salida ce apagará.
- temperahiras deswidason qu&
está má
- Mtemperaturanegativas salida aictivar
Temostam
FTemostato~ON ; t m o ~ t o está
goto Apagacarga
Msc 182OLTemperaturaSipo.7 Con bmperatum activar
EnciendeCarga ;
btfvv SalidaTmvstato ; estado h
gotd SalidaEstabaApagada en cnnsecuencia.
idaEstaMctivada coinprcibar
rnovf D 1820-Temperatura.
TeniperdrurdDeseadn,W :(W)=(TemperaturtiDcslada)-(DS
I820-Tanpe~tura).
b i k STATUS,C ;~(Teniperahml3escada)QDS
1820_Ternperanira)?
goto FinTmostato : por
cal1 conmuta la
ApagrtCarga
SalidaTcrtiiostato Apaga
goto FinTwmostato
SalidaEutabaApagada Pam qiie
rnovf TmperatmDesctul&
DS1820-TempcraturqW w)=(DS182O-Teinpera~)1Tempm~eseariii).
btfsc STATUS,C ;¿@S 182~Teinpcraturar(TemperaturaDeseada)?
FinTermostato ; apagada
Enciendecarga
cal1 ; c& activa
SalidaTcmostato
FinTemostato
Retum
Subm- "Camb;arM&" v "M&Tm ustatri O F P
-
;Subrutina a la intcmipcionpducida canibia m
&
; vcz pulsa pasa "Tennostato_Ajusie",
"Temio~tato~ON,
;"Termostatc-OFF" vuelta
; ajusic termostato
; "1NCREMENTARU
c o n d a s pines del
aparecmá s61o tcrmbmetroy desactivado:
"Termoritato-0Wt
;Para comprender fwicionamie;ito subnitina, hay registroFlagsModos
flap permitendiferem.iar las funcharniento:
:Así
Euncionarnie
;- (FlagsMd
(F!apMod
; (Flags&ld
; dan
; - Qu
(fl
; - *
P
DESARROLLO DE
decisiones salida.
- el de la medida. Si es cero
es y 1 es negativa
;Salida Su
- Estando si la por debajo de la
temperatura la se activará.
- Estandoencendida,si la medida supera la la
Si las medidasy igualesse enestado
anterior,tantosi encendidawmo si apagada.
la sedebe siempre.
btfss Si el no activadosaltaa
;apagar la carga.
DS ; negativaspasaa
goto lacarga.
Comprueba el actual de salida para
;actuar
Sal ;Pavaa si tiene que apagarla carga.
S W
subwf
Si, tanto, lo deja encendido y sale.
Pitido ;Pitido cada vez que carga.
bcf ; la saliday sale.
; a comprobar si tiene encender la carga
W
subwf :
gota Si,ladeja y sale.
Pitido Pitido vez que la carga.
bsf
dc atención pore
1pulsador"MODO" que el.
de funcionamiento.Cada que porlos modos
y repetir.
El de la temperaturadeseadaen el se logramediante dos pulsadores:"MODO"
e a Puerto B.
;Al principio el el termostato estará modo
;
el de esta que saberqueel
;contiene 3 que cadaunode modosde
pues, el
;
;-
-
Pueden
'Ti
B RA-MA c . ~ P ~ U L ~
28 BCrS LMEA
I
"PitidoCorto"
- "ModoTerrnostato-OFF"
"ModoTermostato-Ajuste".
- es& "MadoTermostato~Ajucte"
"ModoTermostato-ON". "ModoTemostato-OFF".
>
ll
"LCD-Borra":
11
1 l
Return
c3
"TermostatqOFF", como tmnúrnetra normal termostato.
por F-Temosiato-OFF, que ~gisftn
FlagsMhs.
B) " T ~ r m o s t a t ~ A j u ~ t
dondesc ajusta ternperahiradewda
F-Tmostam-Ajuste, que
registro FlagsMdou.
C) "TemostatqON,&nd< tiuiciona termómetro a d e d ,
Se m o n m rl tliie F-Termostato-ON, quc registro FlagsModos.
j
del regism(Flas~Md<i~) los
:
; (FIsgsModos)=b'0000000l'. Esta modo "Terntosratci-CjFF".
;- (FlagsModos)=b'O~lOi.
Esth "Tennostato-Ajute".
;- ~FlagsMdos)=b'00a00100'.F A "Tcmotitato-ONU.
I
1 ;

; - e& m
&
,
N (FlagsMdos)=b'00000 100'.
"Termostato-OFF" (FlagsMdos)=b'00000001'.
mollos,
DE UNA 463
en el zumbador.
SI esta en
pasa a
Si en
paca a - Pasa a
ON",
Borra la pantalla.
"Visualiza": Segun el formato de
cada modo.
- Espera deje de pulsar.
; A) Modo donde funciona sin Se
reconoce el flag es el bit O del
; Modo e'', la cuandofuncione
como termostato. Se reconocepor el flag es el bit 1 del
; Modo como normal y, como termostato.
por es el bit 2 del
; Así pues,el contenido identifica siguientesmodos de
Funcionamiento:
- en el
en el modo
en el modo
Puedendarse doscasos:
Quepulse "AJUSTE" en el modo alto, "Termostato-ON",
En este caso debepasaral modo inicial
poniendo
- - Quepulse"AJUSTE"estado yaencualquierade los otros dos m cuyo caso &be
Jh4 MICROCONTROLACKIRPIC16F84. DESAIZROLLO
ejemplo, si esata m
& "Teimasq,OFF",(Flag~Udm)=b'mI',
pmud
(FiagsModw)=b'~1
O' idedifica m& "Temocta~i~psUste".
d haf&-2(hns
btfsc M
&
- ; es mrebote, fuera
goto FinCambiarMh
cal1 P i t i M o m ; oye
btfs PPT~ostatotoON ;DeectasidmeliUtinrom&.
goio Modosiguiente pasa siguide.
Modo'Tert-r~ostato~OFF
dl Pitido c
o
n
m
m
bcf SaiiditTemost~io ;
rnovlw b'0000a001' :ActuaIizae1registroFlagsModospsmdo
movwf F l a g s M h ; "Temiostato-OFF".
gow Borrapantaita
; "1" izquierda
;FlagsModosp m secuenciatmente
; urio Ios fiutcionamienio.
cail LCD--Borra ; pantaik anteríor.
FinCambiarModo
cdl Visualiza
btfss ModoPuisador etipera &
FinCambiarModo
INCI
END
pr-al d o r desaparaca dhentacih Este n
TmperamaMinima .?O
28-6.
TeinperaWaxima EQU i
trabaj;
I n c r e m e n ~ T a o p ~
4 Retardo2hs ; estabilim nj~elcs
btfsc incremen&Mr; si reboted e
goto Finlncrementar
b
& FTem~tatD~Ajuste est6 mDdo"Termostib-Ajuste"sale
goto FinIncrementar
c d PitidoCofto
incf Temperammhmdaf I m t a htempmba
movlw Temperatumhhh ;¿Ha h maxima ajuste?.
subwf T a r p m ~ e a d a , W ;IW) ( T e m p m W a d a ) -Tmpmatar&kim
b& STATUS,C ¿(T-eadaPTemperaW-7
goto Visual~cremenb: pasa rvimdhrIo.
movlw TempemmMinima ;S
í
,eatmcesinicializae
lregism.
movwf T~~
DEPROYECTOS
antes e5 a
que al
Si sale
Cadavez que pulsase un pitido.
;Si no. almodo
Pitido ; cada vezque lacarga.
Apaga la carga.
al
modo inicial
Desplazaun a la del registro
ajustar
cada de modosde
Borra la
; Ahora a que deje pulsar.
goto
; su en caso que la
EQW
que res
.36 pulsadores,
estará
necesidad de
Esperaa quese de tensión.
es un fuera.
:Si no en
; el valor de deseada.
llegado a temperatura de
=
;
No,
I
PJ M-MA cRA-VA CM~TIJLO28: RliS L ~ F A
Visual-ito
caU Vkualim :Visualiza mienmiespm que dqe
cnU Retad-200ms puisar.
btfss Inmmntddaador; Mima pnmnezc~
pulsado,
g* IncremenierTempea$8 incmmta el dlgiio.
cfrw ;Saiva tl valor tempemmra
m
v
w
f EEADR ; 0% EEPROM daros. consewa
m
v
f Ternperatm&w&,W ;aimqiie la dimentacibn.
call EEPROM-Em'beDm
Fidnmmentar
r
e
m
Pitidohgo
c d Retardo_SOOms
bsf Zumbador
call Retardo-200ms
PitidoCorto
bJf
caU ReW020ms
renim
LNCLUDE <BUS- LlN.INCí, ;Subnitinac del 1 Ihea.
WCLUDE <DSk820.INCr Subrutinas termómetrodigatl.
INCLUDE <RETARDOS.INC>
INCLVDE <Brn-BCD.rNC>
JNCLUaE SC7D_4BlT2INC>
INCLCTDE <LCl-MENS.TNC>
INCLüDE <EEPROM.ZND
END
Estc servir p m termomctro digiial coino i 1
28-6, esqucma del haii ,,
piilsadores, zunlbador Eii programa !
estará "Termostato+OFF" termómetro,
DE UNA 465
;de
;
a
de la deseadae
nla
posición de la de Se 

se apague
bsf Zumbador
Pitido
Zumbador
bcf Zumbador
i
1 de control busde
; de controldel
mismo programa puede un el de la figura 

que resulta serel mismo del termostato, 
 cual se eliminadotodos los
e interface con la carga de 230 V. ,
consecuencia, el

trabajando siempre en el modo 
 como simple sin
necesidad de alterar nadadel programa del termostato.
CAPITULO 29
CONTJNUA
Et cotiíicirniento motores comerits C.C. (i)
DC) dt: fundamcntnl par:i cualquier aficionadri ut: rralizar
~~iicruc(intr~c~ladorcs, qiie Ic dedicamos capiiulo.
problema formri alimentar ya qiit
mrixitna quc linea PICI 6FX4A
cstá 35 mA rtii-xinio. cs pobrc
motor ciirectarnente. Por se de trarisistorcs
ir coiitigurados difei-eiites e1
79-1).
VCC- 5
0
I
&
-
Figura 1 Puente H trc~lisistore.~
MOTORES DE CORRIENTE 

dc los sistemas control de dc continua
pequeña potcncin es y quiera
proyectos con por lo este
El primer
corriente
limitada a
un DC
pueden
(figura
pue
como
en
a c
de
onsiderar es la
proporcionar cualquier
Esta corriente
ello, hace necesar
disposiciones,sie
de el motor.
de salida de u
demasiado
io la utilización
ndo la más utilizada
n
para alimentar
Puen
la
que
te en H
29- en con
46% MICROCONTROLAWR PICi6F84. RROLLC) ~ R A - M A
el sentido giro motor corriente
terminales, en gro
del cambiar
-
-
29-1 Fitncionarnicnrucon 11 l2 a ani~vl
bajo
vcc- 5v
L293R enc
Figura 29-3 Fu~cionnmienfo 11 ~tiilel
allo r cr nivel b4do
conirolar
gro, comiiutación electrónica
con nottibre
1.
DESA DE PROYECTOS
29.1 PUENTE EN H
Es conocido que de de un de continuadependede la
polaridad que se aplica a sus consecuencia para cambiar el es
necesario intercambiar los terminales motor o bien la polaridad de la
alimentación.
Figura a nivel alto e
y el
con a 12
La forma más sencilla de un motor de corriente continua de baja
potencia, en velocidad y sentido de es mediante la de unos
circuitos realizados básicamente transistoresque reciben el de Puente en H,
como se describeen la figura29-
:nde
I
iad
Ja
ica
7
2 RA-M< CAP~TUXI CORRENTE CWNTITMUA
fomdo trabajati conmutacioit
coniportan por llega 11 12.
11 alto entrada los
43 4
2
Q1 Q4 ser contrario
Eri motor
agujas ).
satiiran I Q4, micntm entran
4 2 43. motor conkario
problenia
L
?
problemas utilizar LM193
L293B
L293B i
m cap:= proporcionar
carial. es scñales conipatibles
las salidas
L293B de
'
i
OUTPUTI
GND
OUTPUT2
vs
Fipm Pufi
l
l
u
j
c
ldel L2938
79: MOTORES DE 469
Este circuito está por cuatro transistoresque en y se
como interruptorescontrolados la señal que les a las entradas e
de la Su funcionamientoes el siguiente:
giro es
Cuando se activa la entrada a nivel y la 12 a nivel bajo
de la
transistores y (NPN y PNP) entran en saturación simultáneamente,
mientras que y están en corte por de signo (PNP y NPN
respectivamente). estas condiciones el gira en un sentido, por ejemplo
en el contrario a las del reloj (figura29-2
Cuando se invierten las señales de entrada, es decir 11 a nivel bajo e 12 a nivel
alto, los transistores que se son Q y que los que en
estado de corte son y Esto hace que el gire en sentido
(figura29-3).
El de este tipo de circuitos es la caída dc tensión real que hay en los
transistores y que habrá que compensarlacon tensión de alimentación.Para evitar estos
se puede circuito integrado como el B.
29.2 DRIVER
El es driver de 4 canales de una corriente de salida
de hasta 1 A por Cada canal controlado por de entrada TTL
y cada pareja de canales dispone de una señal de habilitación que desconecta
de los mismos.La figura 29-4 describe cada una de las patillas de las que dispone el
y el encapsulado 16 pines.
CHIP
ENABLE 1
INPUT
GND
INPUT 2
de baja 

de unos
 29-4 Driver
iente en H,
MlCROCONTROLADORPIC IhF84. RA-ht4
Tensicin entmda
Tensidn
alimentacibn que GfF
(Vs) que alinientacibn indepcndjente 16gica
figu
fiyum representa dt. L293B. seiial coritrol cotitinua que g
pai.qa canalcs di-i.zrs EN2
Ia salirlas OUTn asocian corresporidicntt.~
INn. figura cl funcionainieritoparri drivers.
detien
+VSS
= "1"
- bajo
Z
VS
Figurrr 29-5 Biirgrma bloqirP.Sdel L2938 tahlu funcionumiento k
los ttiáximos
Fier
Tabla 29-1 Rnngo.s absolutos del driver L293B
Tabi
L793D,
L293B que comente mixirna de 1 1 ~ 4 .
iiidispi
motores
Veamos seguidameiite coticctar motorcs contraelectromo
este conmutücián.
1 .
470 DESARROLLO DE PROYECTOS O
de
de habilitación
Dispone de una patilla para la de las cargas se están controlando 29.3
de manera dicha es dc la de control.
La
La 29-5 el diagrama bloques del La de
EN1 activa o desactiva la de formada por los 1 y 2. La señal
controla pareja dc drivers 3 y 4. Las se con las
El mo
La tabla de dicha detalla cada uno de los
El mo
dciien
H Nivel alto
L Nivel " O
= Alta impedancia
de y de
La tabla 29-1 informa sobre valores admisibles.
La Tabla
También se fabrica el modelo cuya principal diferencia respecto del
es proporciona una 600 Es
tal coi
algunas formas de los de corriente
continua a driver.
6: RA-M,+ CAP~TULO
79. CORRIENTECONTTNUA
:c(>~~trol
ñal
~ndientes
?ecto
GIRO ÚNICO
figura mucstra corrieiite
en im Uriico lri Vinh V:
m 1 marcha a1 3 niwl cntnda y
uii
El nintor hI2 eri nivel etikada dc control q
e
deticnc un
Fipra Cunei mofvre.r por "1"
Tiibla mucstra modo dc iuncionamicnru
Tuhia Modo de,func.ionumit!n~o
(I(/I r.ir.c-zríto lu$gira
indisperisableconecta los diodos los
tnotorcs ficnte 3
contraelectromotnz itiductiva
MOTORES DE 471
29.3 EN UN SENTIDO
La 29-6 el modo de funcionamiento de dos motores de
continua que giran sentido, suponiendo que = 5
EN2 El motor M sc pone en poner bajo la de control A se
detiene con nivel alto de entrada.
:s.
se pone marcha al poner a alto la B y
con nivel bajo de entrada.
29-6 ion de dos DC. MI activo por "O"y M2
La 29-2 el del circuito.
del
corriente
29-2 de 29-6
Es D1 y D2 en paralelo con devanadosde los
tal como muestra la figura, como protección los picos de fuerza
producidos por la carga de la bobina en el momento dc la
conmutación.
~ C R O C O ~ O L ~ t t
PIC16F8-4. DE PROlTCTOS ORA-MA
GIRO SENTlDOS
circuito pemiite
C estíi D alto,
sentido.
nivel cambia de
Figura 29-7 dr controlparu el doble uli motor C.C.
diodos cotiectar se figura 29-8.
de diodos protección d de 1aJ;guro29-7
(
MotorDC-01
marcha
giro!
29-
472 DESARROLLO
29.4 EN LOS DOS
El de la figura29-7 controlar el doble sentido de giro del motor:
Cuando la entrada a nivel bajo y la a nivel el motor gira en un
Cambiando la entrada C a nivel atto y la D a bajo se el sentido
giro del motor al contrario.
Circuito giro de de
Los de protección se pueden segun muestra en la
Figura 29-8 Conexión de circuito
La Tabla 29-3 muestra el modo de funcionamientodel circuito.
Para
.a
del mo
La posición de
depende de la
motor los
en la figura
el
rra
ORA-M4 CAPÍT~ZO CXIhTWUA 173
i . I
',S,
Tobh29-3 de~firncionnmiepriv
dc.1cirruiio d~Iu.fip4r'rr 29-
CONEXIÓN C.C. PICl6F84
$ -
LI
figwa 79-9 iiiueslra conzxih tipica corriente rin
microcontroladorPIC16F84A traves dnver pin Vs
alir~ientacihn
del este
Figuru PO/ motores c.c dnverL2933 P1CI 6FMA :li
b
1
I progrania
McltornC-Ol .asm, bivcr dcl motor. linea RAO curilrula
' de1 RAO niotor se pone RAO "1" si:
RA4 controla por
Ia conexidti intercambian
I serrin programa
h
i
del motor:
or gira en un
. sentido de
29-7
29: MOTORES DE CORRIENTE
Modo 7
29.5 DE MOTOR Y
una de un motor de continua a
a de un L293 B. La tensión aplicada al
es la de motor, en ejemplose utiliza un motorde 12 V.
29-9 Con de conel y el
Para comprobar su funcionamiento se puede cargar el
que controla el La la puesta en
marcha motor, si es"O" el en marcha y si es detiene,
La posición del interruptor conectado a el sentido de giro que supuesto
, depende de polaridad de del motor. si se los terminales del
motor los giros en sentido contrario. El organigrama de este se muestra
en figura 29-10.
MICRCK'ONTROLADORPlC lhFñ4 .ARRULLO
"MotorDC-0 1.asrnm
lineas
RB4=1, RBI=l, RBO=D
Fi_qum29-I O Orgunigrt-rniodel pruguma MotorDC-0 1.mm
; & comente funcionmienio
;gim. RAeO. niarcha y <u dependerá
; RA4.
CONFIG -CP-OFF & -WDT-OFF &-PWRTE-ON & -XT-OSC
LIST P=16F84A
WCLUDE <PIbFMA.iNO
#DEFINE EntredaMarcha PORTA,O Ititemrpiondepmsh
Entmddhtido PORTA,4 ;Intemiptor
; Z O N A D E C ~ D ] ~ S
I+b*L**L"**W******V***#******************************************** La ~CXIS
con
ci
sumjnistra rr
Configura Iineas& enkda.
h
f Entradakitido
clrf PORTE3 L a h a s Puerto conñguradas
bcf STATUSRPO
cornbinacibn motm.
;Comprueba Uitmqtm funcionamiento.
alimentacihi di
474 DES DE PROYECTOS
Configura de
Entrada y Salida.
Gira a la DERECHA: Motor PARADO:
Programade control para un motor continua en y sentidode
Con el motor se pone en sentido de giro del valor
que tenga
; en marcha.
#DEFINE de sentido de giro.
frecuencia
variando el
al
; las
: del B como salida.
;Con esta se detiene el
el estado del de
,ou-VA CAP~WLO
29: MOTORES 475
goto ActivaSSda
movlw b'm0100iO' Girti sentido.
btfic Ent~~daFentido Cornpnieba el sentidoGe giro
movhv bfOOOI0001' ; satrido.
Activ&lida
movwf PORTB
goto Plimipal
velocjdad un corriente
tensi6n
uti1i;tado la DC'
potencia aricho pulso WhI Widdi~
Modulufion)
1.
nivcl
O% (Motor
- -
rnAxirna)
27-11 nutur PIIffid
mcdia inotor
constarite, la
(duty cycM. Así, cs 50?.1ó
5098, sólo
tensibn tthima suminjstrada
de1 otro conllevarii disminucion motor.
regulacian iin utilizacion
digital carrictaisticas In
entrada EN1 medio seíial
varie, qiie cstC linea RB4
DE CORRIENTE CONTINUA
; en un 

; deseado.
Giraen el otro
29.6 CONTROL DE VELOCIDAD
La de motor de continua depende del valor medio de la
aplicada en susextremos.
El sistema más para controlar velocidad de un motor de pequeña
es mediante la modulacion por de P (Pulse
de una señal cuadrada TTL, como muestra la figura 29-1 Bajo el control PWM. el
motor gira a una velocidad determinada por la media del de la señal cuadrada.
parado)
100% (Velocidad
Figura Control velocidadde un c.
c. mediante
La tensión continua presentada al se controla manteniendo la
frecuencia y variando el tiempo que señal permanece en alto, es decir.
variando el ciclo de trabajo si el ciclo de trabajo del se
suministra al motor una tensión media del con un ciclo de trabajo del 20% una 

quinta parte de la es a la carga. Cambiar de un ciclo de
trabajo 50% a del 20% una de la velocidad del
La PWM proporciona eficaz método mediante la de una
simple señal de control. Si se utiliza una señal de estas para atacar
del montaje de la figura 29-9 se consigue que el valor de la de
alimentación del motor de tal manera cuanto más tiempo la a
476 MICROCONTROLADOR PICIúF84. PROYELTOS Q RA-MA U RA-M4
motor. Ldgicamente
grande
'MatorüC-a2.asm" . * # * ~ * * * * * d
llneas entrada
de anchura^
RB4=0. RBI=O, RBO=O
(RA3:RAO)-r
ID- (RA3 RAD) +(Ciclos-OFF)
ON: R84=1, R 8 i=l.
W O = O ;ZONA I
-C
ps
INC
(Ctclos-ON) - 1 +(CiclosON)
Cicl
Gua
EM
Maximenwr
RB4=0, RBI=O, RBO=O
; C
OR(
ps I
d
mov
mw
- 1 4 ckf
W p a l
mOY
a
¿
K
l
h
m
b t h
m
'
Figura 12 pr-opnnia AhtorDC-02. arm srPbh
DESARROLLO DE
nivel alto más deprisa girará el si la duración del impulso a nivel
bajo es muy el motor se parará.
Configura de y salida
Motor Parado:
(Ciclos-ON)
Motor en DE
Retardo de 100
LIS
CBI
Cici
Motor en OFF:
ZONA DE
inicio
Retardode 100
(Ciclos-OFF) (Ciclo-
FF)
29- Organigrama del
liso MotorDC-02.asm velocid-id de iin
C.C. comeiitarios
. * * + V V * + * + * * C * 8 8 * * * * * * * * * * * * * I M O t o r ~ M,-****Y*W***V***********..*..****..
9
Programa de regulación & & corriente modhciiin
anchura pulso(PN'M). línea genera kmewia
;wnstmte 1O0 Hz @ocio ms) trabod a b l e 0% XW h ,dqmdicndii
; dar entrsda tiempo maito (0%)
;ms(1 00%) a c u d o
(Ciclm-Or) (Ciclos-UFF)
DC (YO) SEMiPWODO SEMIPERIODO
-CONFIG -CP-OFF 8: --FF &_PWRTE-ON -XT-OSC
P=IFiF84A
INCLUDE e l bF84A.INO
MaximaEnaada -10
ORG
bsf
m
v
w
f
M
M
Prhcipal
mMrf
d w
m
*
btfsc
STATUS,RW
b'00001111' ;RA3:RAOcano mmdas.
r n A
TiUSB ; iáieas 0 aonfigtuanwmo didas.
STATUS,WO
. -
El programa es un ejemplo de gobierno de la
motor de
a nivel
mediante control PWM. Su funcionamiento se explica en los y
en su diagrama de flujode la figura 29-12.
; velocidad un motorde continuamediante Ia
;de de Por la de salida se unaondacuadradade
a de 1
0 y ciclode desde a
de1 de la delPuertoA.Esdecir, el varia entre O ms y 10
de conla siguiente tabla:
Entrada ALTO BAJO
&
LIST
EQU
Inicio
movlw
Las del s
e
,
MICROCONTROLADOR PIC1hF84. PROYECMS rEi RAMA
btfsc STATUS,Z
gow m-IDDPoiCietito
btfss STATUSC
goto IX:-CeroPaCim
movwf
movf GuardaEnwada,W
movwf
Motor-ON
moviw btOM)lOO
movd PORTB
caU Retardo-lms
decfsi Ciclos_ON,F
gota Moto-0N-t-2
Motor-OFF
clrf PORT3
cau ~ o 0 l m s
decfsz Ciclos-OFF,F
@m MotorLOFF+l
g* Fin
DC-CemPotCiento
clrf PORTB
gota
K-1M)PorCiento
movlw b'0001001Ot
movwf PORTB
goto Pnncipd
,i,C=l?,i(W) L(PORTA%=~
07
; (PORTA>
~O-(PORTA)--~~~C~S-OW).
; RA3:RAO (Ciclos-ON).
drivers un sentido g h .
(Ciclos-ON)=O salta
Inhabilita drivers.
; (Ciclos-OFF)=O
;Inhabilita dnvers. p&.
BabiIitalosdrivers
tambien puede
Timer sc cxplico cjcrcicio
18.
: mntroI velocihd im iiiotor dc crirricntccoiitinw mediante modulacihn
; wchim pulw (PWM) M~iiorD-O?.asm
iniempcionrs dwhrdaniirnto Tiincr
: de fuiicion del dc lina RA4.
lineas realizi+ direcciunamiento
l
a
siimiccionrs "bsf'y "bcf'.
CBLOCK O
x
W
CicloTrabajo de habajod e d .
DESARROLLO DE
478
Ciclos-OFF
Ciclos-ON
10'
Fin 

Fin 

; positivo?,
Haresultado
;
10)
Carga en
;Habilital
o
s y de
;Si a Motor-OFF.
; los Motor parado.
Si saltaa Principal.
los Motor

; y un sentidode giro. 

La generación de la onda cuadrada PWM se realizar mediante
interrupciones por desbordamiento del O, tal como cn un del
capitulo El siguiente programa es un ejetnplode ello.
Programa de de de la
de de similaral donde el control de tiemposse realiza
; mediante por del O.
El sentido giro del motor se decide en valor la
; El control de las de salida se mediante por bit con
;
;Ciclo
nediante
b Rn-MA
CAP~TULO CORRIEKTE C:CNlT?JUh
GuardaEntrada
Tirnd-ContadorA Contdor
ENIX
TMRO-Cqa EQU 4745' expcrimentahente
1
MaxirnaEnrrada EQU .10
#DEFINE SalidaSmtidoO PORTB,O determinan giro.
#DEFiNE SalidaSemidol PORTl3,l
#DEFINE %lidaMarcRa WRTB,4 ; de <ti marcl~ paro del
#DEFlNE EntradaSentido PÜK'i'A,4 ;Interru~br gim.
; ~ O N A W E C ~ ~ D ] G O S * * ~ * * * V + L C * * * * * S * * * ~ * * * * I C * U ~ * * U ~ ~ ~ C ~ * * * * * * V * * * * * * ~ V V * * ~ * * * * * * * * ~ * * * ~
ORG 0
.4
goto TimerOrOlntemipcion
Iaicic!
bsf STATUS,RPO
bcf SdidaMamha ; 1Inea.sse dida.
h
f SalidaSmtidoO
bcf SalidaSentidol
movlw b'00011111' ;Aierto confipradocomo eneada.
movlw b'0000000I' ThlRO cun p~iscaler
movwf OFTIONLREG
STATüS,RFQ
SalidaMarcha ;Al yiriiicipio
btfsc !%baddenti& ; sentidu &
OtroSentido
SalidaSentidoO un sentidó.
hcf Salid9Stntidoi
TesteaVebcidad
Otrosentido
SalidaSrniido0 ;Gira eii
SalidaSwtidn!
Trsteavclocidad
movf PORTA,Mf ;h e entrada
andlw b'00UOllll'
movwf GuarciaEntrda :Guarda v~lor.
btfsc STATUS,Z
DC_CeroPorCiento
sublw MaximaEutmda :(W)- I )
btfsc STATUSL
E - 1OOPoKiento
& STATUS-C :iC=l'?, ¿(FORTA)<=I
goto DC-CeroPorCiento H
a PORTA>10.
GuardaEntrada.W
mmwf CiclaTraba~a
moviw 1010000iJ
29: MOTORESDE 474 

; auxiliar.
;Valorobtenido con la ventana
;Stopwatchpara un tiempode ms.
;Salidas el sentido de
Salida puesta o motor.
de sentidode
goto i
n
i
c
i
o
ORG
Estas configurancomo
A
movwf PORTA
, de 4.
bcf
bcf el motor parado.
cicio del Principal
Compruebael giro deseado.
goto
bsf ;Gira en
goto
bcf el sentido opuesto.
bsf
el puertode
e1
goto
O-(PORTA
goto
positivo?, O?
; resultado
movf
b'
MICROCONTROLADOR PIC16F84. PRUYLCTUS O M-MA
m m - f -
N A u t h inferrupcibnTOT la-1 (GIE).
DC-CeroPurCiento
bcf SalidaMarcba Pwe l
a salidasiempre
MiabilitaInternrpciun
m-1OOPorCiento
bsf SaLdaMArcha ;Pone La alto.
lnhabilitalntemrpcion
clrf INTCON W i t a iiitffnrpcionm.
hincipal
Subnitina "Tked Intemipcicm"
;Mantienela &da tiempo i g d (CicloTrabajo)
en iui 1 m6 (10-CicloTrabjo).
CBLKK
--W
M - S T A T U S
ENDC
TimerO-intempcion
m
o
w
f G d - W
mapf STATiJS,W
movwE
bcf STArnS,RW
TMRO-Carga
movwf TMRO
decfsz Thd-CmtadorAS
gota Fin_TimerO-iniemipcion
kfs Salid&mha
g m EstabaAlto
EstabaBaj
S h W h a
m
& CicloTrabajo,W
mwwf Tiind-ContadorA
Fin-TimerOerOIn~pcion
EstabaAlto
SalidaMarcb
movf CicloTrribajo,W
sublw .lO
mwwf TUnaO-ContadmA
Fin_TmerOerOh~ion
swapf M - S T A T U S , W
movwf
swapf Guarda-WF
swspf C ~ - W , W
bcf mc0NJwIF
bcf INTCON,TOiF
Fetfie
; los valcm de ttnian
;ProgramaP
&
*
.
; que ai
;h m m t a
;Testead salida
: alto.
; nwammtecrin tiempo
alto.
; B t & a d ~ y l o p a b r i j o .
Repwe c m t a hnuevmnitecon
Restaurs regidros
1
ra
rr
iin proyecto.
m01
COI
disqiieteras
obsenra
continu
rnicrocoiimladc
carsa mecánii
niétodos
motc
i
480 DESARROLLO DE
; y
goto Fin
goto
: enbajo.
salidasiempreen
Fin goto
;
- -
-
-
- - u -
- -
- -
-
-
-
- -
-
- -
- -
-
-
- -
-
-
-
-
- -
-
-
-
-
-
;y bajo
en alto un
tiempoigual a x
a 1 msx
Guarda W y STATUSen el
movlw
Guarda-STATUS
Garantiza trabaja el Banco O.
el contador.
anterior estado de la
o
bsf
goto
Estababajo y lo pasa a
Reponeel contador
;
el en
; e1
;enbajo.
el tiempo
STATUS
; W y STATUS.
No es
conseguir un
de
Los
dispositivos
papel de una ir
de
que en
por el eje del m
Los mot
comente contin
hacerlo
dentro de una
control de pos
revolucionespc
y
por ser
Un
devanados.El
Cada pulso pro
cAPÍTULO 30
desguace
alguna
coi~io
(Stepper ,Ilotorj muy
digitales.
[os que cl rvbot gii-mlas
disqueteriis de ordcnador
conml pr~ciso seguir
dcl
rliotores i
i
t
u sobre
eje niotor reguiares
ocurre
rnicrocontrolador, mvtures puden pasicionarnientos
autornatización
posicionanuentu. motor
(yni) tensicin el motor
e . .
j; j
Uri hición
i
gira I E
rotacion mtor ciel increttiento ánguio ,/&
MOTORES PASO A PASO 

No es raro qiie un aficionado a la electrónica una vieja impresora para
conseguir un motor paso a paso y poder realizar tarea de posicionamiento dentro
de un proyecto. En este capitulo se explica trabajar con estos utiles motores.
30.1 MOTORES PASO A PASO (PAP)
Los motores paso a paso o PAP son utilizados en los
dispositivos controlados por sistemas Por ejemplo los mecanismos que arrastran
papel de una impresora, mueven brazo de un o los que hacen
un dependen de motores PAP para su funcionamiento. Se
observa que en estas situaciones se requiere un de la trayectoria a
por el eje motor
Los PAP proporcionan considerable ventaja los motores de
corriente continua o DC. El de un PAP gira a intervalos en lugar de
hacerlo continuamente, como con los motores de continua. Bajo el control de un
los PAP ser usados para precisos
dentro de una amplia gama de aplicaciones, incluyendo robótica, y
control de La velocidad de un de DC viene expresada en
revoluciones por minuto y es función de la aplicada, corriente por
y carga mecánica del mismo. Un posicionamiento preciso de un motor DC no es posible
por mhodos sencillos.
motor PAP gira en de una secuencia de pulsos aplicados a sus
devanados. El eje del motor un determinado ángulo por cada impulso de entrada.
Cada pulso provoca la del motor en un de preciso,
MICROCDNTROLAWR PIC16F84. O
inovúniento,
pasos posici~namiento.
miden cl paramemo
iin PM. Tarnbien piicdc cspresar de
paso girar número
de
0,72" por
360°;0,72" 500 360°/22,5" 16).
comerc~alimdo 7,5" paso
poteiicia.
esti resuclto los
1
niotores P.4P
PIC16F84, pero antcs liay sus pnticipios
fcnhmeno dc los
continila, niotores son sencilos, que
funciunarnicrito Supotiernos
L1 hicrro iniaiitarsc
scan rccotridas corricntc cl6cttica, denoil-iinadoestatur.
imán eje
Inicialmente, corrieilte (que recibe11
imári im:i posiciiin cualquieraocl i d n liermanecerá
rcposo fuerza tihteiria.
hacc comenie figiiia I(a),
crcaran imán
se desplazah
polaridad que 1 obten&
cn la 30-1(b) se
Lnviríienc
situaci6n
inwriimos de
grados.
2
pulso aplic
482 DESARROLLO DE PROYECTOS RA-MA
denominado paso, de ahi el nombre de motor "paso a paso". El resultado de este
fijo y repetible, es un posicionamientopreciso y fiable. Los incrementos de
de la rotación del rotor se traducen en un alto grado de control de
Los incrementos de rotación o pasos se en grados y es
fundamental de motor se en números pasos por
rcvolucion de 360 grados. Un motor paso a puede un exacto de grados
en ambos sentidos.
Los motores PAP se comercializan dentro dc una gran variedad grados de
rotación por paso, desde a 22.5". correspondientes a 500 y 16 pasos revolución,
respectivamente (efectivamente, = y = El motor PAP más
es el de por o 48 pasos por revolución.
El principal problema que presentan los motores PAP es su limitada Sin
embargo, este problema siendo por iiuevos diseños, con los que se ha
logrado potenciassuperioresa CV.
En este capitulo se va a explicar como realizar el control de mediante
un microcontrolador que examinar de
funcionamiento.
30.2 PRINCIPIO DE FUNCIONAMIENTO
Aún basados en el mismo que el principio funcionamiento de
motores de corriente los paso a paso mis si cabe,
cualquier otro tipo dc motor eléctrico.
La figura 30-1 ilustra el modo dc de un motor PAP.
que las bobinas como L2 poseen un núcleo de dulce capaz de cuando
dichas bobinas por una esto es el
Por otra parte, el M puede girar libremente sobre el dc sujeción central,este es cl
rotor.
sin aplicar ninguna a las bobinas también el
nombre de fases) y con el M cn en
si no se somete a una
Si se circular por ambas fases, como se muestra en la 30-
se dos polos magnéticos NORTE en la parte interna, bajo cuya influencia el
M hasta L
a posiciúnindicada en dicha figura.
Si invertimos la de la corriente circula por la bobina L se
la situación magnética indicada figura y el imán M vera desplazado hasta
la de
n
grados y se hab
Si se m
corrientes son
cada
menios
iarniento.
parámetro
I grados
kmdos
rvoliiribn,
:P.4P
tencia.
yuc
'
icipios
dc
;iipclincmos
rse cL I : ~ ~ O
1, Aie c.1
mecerá
m
:
i
a
seiitido
apjas
I I 1 1 (b)
lnvirticndo ahora polaridlid la llcga
fik~1t.a30-1 (c) imán
invertiiiim cl sentido dc Ll iman
y sc. habra abienido una revolucidn imán
grados.
se secuencia cxcilacion L1 y y
lo de este
de
pasos por
de
de
mas
Sin
se ha
mediante
de
nto los
cabe, que
lo estator.
es
reciben el
en
30-](a),
el imán
la nueva posición de equilibrio. Es decir, ha girado 90 grados en contrario a las
de1reloj.
(a) Paso 1 Paso 2
la de corriente que atraviesa la bobina L2, sc a
habiendo girado el M otros 90 grados. Si
la situación de la
de nuevo la corriente en la bobina el M girara otros 90
grados completa de dicho en cuatro pasos de 90
Si mantiene la de expuesta para L2 dichas
MICR0CONTROLALK)RP1C16F84. PROYECTOS o M-MA
podeiiios
elecbicos
finito
paso de
ya secueticia requiew
~iolaridades, hora
riiotor.
BIPOLARES
tipo eshtur
Mobr
biwlar
F i p m de uri niolor bipolur
De salzri
intemptores electrbnicos pemitm
alimentacion desactivacion
interruptores las ttiotor
carifigurados pi~ente
sristititidos driverL293B taj el aiiterior,
P
M L293B muestra la
el
Full Step HoVStep.
484 DESARROLLO DE
Analizando lo expuesto decir que un motor paso a paso es un dispositivo
electromecánicoque convierte impulsos en un movimientorotacional constante
y dependiendo de las características propias del motor.
El modelo de motor paso a que hemos analizado?recibe el nombre bipolar
que para obtener la completa, se disponer de corrientes de dos
presentando tal circunstancia un inconveniente importante a la de
diseñar el circuitoque controle cl
30.3 MOTORES PAP
En este de motores las bobinas del se conectan formando dos grupos,
tal y como se muestra en la figura 30-2.
paso a paso
30-2 Circuitode Control
este motor cuatro hilos conectados al circuito de control, que realiza la
función de cuatro dobles que variar la polaridad de la
de las bobinas. Con la activacion y adecuada de dichos
dobles, se puede obtener secuencias correctas para que el gire en
un sentido o en otro. Estos transistores como en H pueden ser
par el como se estudió en capitulo la conexión de
un motor bipolar y el driver se en figura 30-13. En la figura 30-3,
puede analizarse como debe ser la secuencia de excitación para que motor gire en un
sentido.
Tiene dos modosde funcionamiento: y
t,
i
ial
s
mtes
dos
que
slaridad
la
i
iconexibn
RA-MA CAP~TULO 43
modo
Full Stcp rotor PAP piilso
+ -
1 1 1
1' I I I 4
1 1 ! 1 1 1 1 -
I ' l l l h l l l l l l
-
1 L 1 1
I I I I I I
1 1 1
I I I u I I I I I I I I
- 1 1
N I N
1 1 S
-
+ t
Figunr 30-3 d~In excirucion motor bipolar
los rrwvimientos eii
horario (Clnckwise) CCW (Counf~rc.lor;hui~e)
términos rclatjvizar
obseivador de posicion por
coritrario.
Tublu Sec.iic,ncia de ccopih-ol hb~ulur modo
Motor modo HaH
cle (Harf Sfep) rotor medio
RA-MA O 30: MOTORESPASO A PASO 5
realiza la
de la
de dichos
motor gire en
pueden ser
de
a figura 30-3,
:or gire en un
dispositivo
constante
de bipolar
de dos
la hora de
grupos,
30.3.1 Motor PAP bipolar en Full Step
En el modo el del motor avanza un paso par cada de
excitación.
1
Reloj
Terminal
Terminal 1'
Terminal 2
t
u 1 t
Secuencia señal de del PAP
La tabla 30-1 muestra las secuencia para generar sentido
CW y antihorasio de un motor bipolar. Los
"horario" y "antihorario" se deben ya que dependen del punto de
mira del y la del motor, tanto, solo se deben tomar como una
forma de indicar que gira en un sentido o en el
30-1 de un motor PAP para Full Step
30.3.2 PAP bipolar en Step
En el modo medio paso el avanza paso por cada pulso
JMb MICROCOhTRUWR PIC !6FW Ut PROYbCTOS D R%.%I~
angulw nlitad qiie e! modode pasa completol. conseguir
alternativamenk
ima sida fllas, se rnucstra airibus seritiiicis
fibwra 70-1 consccutivas esvalor
sitnuitaneamente. rotor bisectriz ambos campos magndticos.
desaparece extjnguiendose cminipo magnitico
rotnr queda hico cxisteilte, daildu
desplazai~iientuinitad.
UNIPOLARES
supone
de generar del
cntre las bobinas, figum obtiene uti
PAP circuIa
unhico
1
incitores unipolares, tíidas del conectadas
I
y sobre dos
I'
estalores tal 30-4. saIen
dos tres comh scjs
tetminales parten
electronicos desactivados
dz grupos
funcionamicilto trabajan como I
all los
sent
tabla 3 4 para i
n
priiicip
al
DESARROLLO
disminuye el avance (la en Para
tal cometido, el modo de excitación consiste en hacerlo sobre dos
bobinas y sobre de según en la tabla 30-2 para
de giro.
Según la al excitar dos bobina del
el se alinea con la de
Cuando la excitación de una de ellas, el
inducido por dicha bobina, el bajo la acción del Campo
lugara un
30.4 MOTORES PAP
Una forma de paliar cl inconveniente que la necesidad de dos polaridades
la corriente para la secuencia motor, si este dispone de una toma media
es realizar el montaje que se representa en la 30-4.Se
motor unipolar de cuatro fases (o bobinas), donde la corriente por las
bobinas en sentido.
En los PAP las bobinas estator están
formando cuatro grupos. Estos, a su vez, se conectan dos a dos se montan
diferentes, como se aprecia en la figura Del motor paso a paso
grupos de cables, uno de los cuales es a dos bobinados. Los
que del motor se conectan al circuito de control, el cual, se comporia
corno cuatro conmutadores que al ser activados o producen la
alimentación los cuatro de bobinas. Generando una secuencia adecuada de
de los transistores que interruptores, se pueden producir
de un paso en el número y sentido deseado.
En este c
control del
Su
inicialmente se
RA-MA
h" ~ n - t . ~ CM~TULO hiO'CORES 487
1
s
:1 estator
agneticos.
!de.
&rkiades
ima
coiiechdac
..
i compcitta
~rducen
lecuada dc
:n prodiicir
I
este bobinas
para FUI/Step
HalfStep.
Tubla de molar Un@olarparumudo Fzrll S t q ~
Tublu conrrn/de t
o
imotor Unipolar Half Step
principio funcionamiento figura 30-5.
corrizntc: I
30: PASO A PASO
O
conseguir
sobre dos
sentidos
magnético
dando
Dispositivo de control
y de potencia
En caso la tabla de la secuencia que debe introducirse en las para el
control del sentido de giro es la mostrada en la tabla 30-3 modo y en la
tabla 3-4 para modo
FULL STEP
30-3 Secuenciade control un PAP
30-4 Secuencia de PAP para modo
Su de se representa gráficamente en la Si
inicialmente se aplica la a las bobinas L y L3 cerrando los interruptores S1 y
media
obtiene un
ila por las
sobre dos
paso salen
Los seis
ta
4$8 MLCRM30NTROLADORPIC'lhFM. DE O RA-m
polos jni;úi
arnbos vcrse ?O-5(a). se
posteriotmente cl uitemiptor S1 S2, dislrjbucion
situaciónreprtsentada 30-5(b)
30-5 Princhipio hhrjsico de unipolur fasw
Sigmendo In 30-5(c) 30-5(d) ta
del 90 consepiida,
bipolar ai7ance Icis
& movirnicnto
eii coiitrario de
en Podemos
dcducu paso ss
excitacibn tanto, u
número según
intemptores NPN figura
dentro L293B el
iin unipolar el L293B se figura 30-14.
I
E
1
1
I anguiarts.
fomu ~
el número rle bbbi
1 p8rdiheis
Hmh &ore p
m 1
nricles8 de bc
micropslesmgnl
mpktieea con n
motora c
h hmh
i.ssurpii& s ~ t a
di~
DESARROLLO PROYECTOS
S3, se generarán dos NORTE que atraerán al polo SUR del M hasta encontrar
la posición de equilibrio entre como puede en la figura Si abre
y se cierra por la nueva de polos
magnéticos,M evolucionahasta la en la figura
Figura un motor. de cuatro
la secuencia representada en figuras y de misma
forma se obtienen avances rotor dc grados habiendo como cn el motor
de dos fases, hacer que el rotor pasos dc 90 grados por la acción de
impulsos eléctricos de excitaciónde cada una las bobinas. El obtenido ha
sido sentido al las agujas del reloj. Ahora bien, si las secuencias de
excitación se generan orden inverso, el rotor girará en sentido contrario.
que el sentido de giro en los motores paso a reversible en función de la
secuencia de y, por se piiede hacer avanzar retroceder al motor un
determinadode pasos las necesidades.
La función de los sera ejecutada por los transistores de la
304 que se incluyen del driver estudiado en capitulo anterior, la
conexiónde motor PAP y driver muestra en la
30.5 CON
modelo
mayor atractivo
Una
y a muy
l
u
ORA-MA CAP~TUM
30: MOTQMS
;ta 1
). I
jn !
fases
iiiisma
motor
acciiin de
;ecuencias dc
riii.
funciiin
- motor
CONSTITUCI~N MOTOR
motor tsnidisdo, pw didhctico,
vista pdctico avances
L J
(Mbvll)
Umfama metores BAP gam n
& mdueido esnsiste m amentw
nilanero c
b bobiaee erihtor, llevada un aumento del coste volumen
gddirla~m y eonddaablea en rendimiento $el motor; por que a i vi~biblo,
Hri~ta&ora pwa eon~eguir salucidn rds i d h a M r e e m ai 1
8 rneemi%arcibn
Be loi
nuclm~de lae bobinrie mtsr foma de hendidura d i ~ n h ,
e d n d o ~ eMI
mjoropoloa m@tico~, t
m
t
g
f
i come diente8 @i~ablaeienQ
1
m ~lWione8
dc
mapdtiee~
c
m avmeer~mgulms muohe mmoia. bita f o m e
m piiblo conaegulr
metome h
u
t
a 500 pasos e inelmo m h , En k figura 30-6 se m u e m f o m
raaumiheeta dhpodoibng munmotor BAP 22,S0,
figura
PASO A PASO 489
encontrar
Si se abre
de polos
de la
o en el
los
D obtenido ha
Podemos
de la
al un
30.5 INTERNA DE UN PAP
E
l modelo de paso a paso salvo su valor no ofrece
mayor atractivo desde el punto de debido a la amplitud da sus
angulares.
ESTATOR
ROTOR
de conseguir de
el del pero ello a y del
y a el lo no
la
y el en O
y equilibrio
Be
de de de
do
N de la
o anterior, la
4W iíiCROCONTRQLAI)ORPIC hFR4. G M-MA
fotografias dc figuras piieclen estator mientl
un bipolar desguazado. cst:
1
dini
dinhmica
pi
estator )
velocidaa
generadni
i
Fip~ra
30-8 Esfatordel paro moror
PIISPOSICIÓN
] bri
varios bobiirndos cstator
f m a s agrupar quc sean 1-
+vcc +vm
dgimen d
Muraa Blpolar Mator uniplar Mlos (c)M o r Umpdar hlhs Id) M&nr Unlpdar 8 mayor qiri
posicibn
Figura Di.~pu~~ic~
NSn d~k
m bobinar de motorm paso pn.70
Númemd
IOS motore5 ;laso unipolares cinm pam iz
~miaales que aderntis los Iiay otros terminales qui
compondcn tornas intermedias conecta1
alimentación para
figuras 30-9@), 30-9(c) 30-9(d) describen están NP
teminalec tipvs krecuenci
Úmerci
qiie c:ieiita qde [notores uriipolares de lecuadarr
hacerse como rnotom rr pso bipolares utili7m
E DESARROLLO DE PROYECTOS
En las las 30-7 y 30-8 apreciarse un y un rotor centrales,
de motor de 48 pasos en el interior
30.7
Desde cl
de algunas de las
Par
perder
t
motor a paso po
30.6 DE LAS BOBINAS
La existencia de en el de los motores paso a paso da lugar
a varias de dichos bobinados para alimentados adecuadamente.
Par de m
(a) (b) 6 5 hilas
e
30-9 a
En el caso de a paso se pueden encontrar con real
seis u ocho ya de bobinados
con las de las bobinas, los cuales se
directamentea positivode la fuente dc su correcto funcionamiento.La
y como conectados internamente lo donde
de estos de motores.
d
Hay tener en los PAP seis u ocho hilos,
pueden funcionar paso si no se las tomas
iLX RA-MA
cir
l
nR4-h4A ~ A P h l 0
30:AiOTORES PASO 1
! no podrán mmo bipolares porque
interior
PARÁMETRO
~iiincipales parametros PAP:
(Workifig Torque). de caracteristicas
sin
algún de excitacibn
velocidad f.c.e.m. 61
generada los
del eHo,
Ángulo (Step Atrgle e1
por impulso
estándar
'
,
Tablri 30-5Atigu10.v íIe comirnes rn motorrs
Toque.).
regin~cn excitrición, el
fimo mantener roior
esbble
I;i pasos
pam
a
de arigulo
(,Wavimtarn pull-in/out).
número motor
!
A PASO 49
y un rotor centrales, mientras que las de cinco hilas usarse jamás
en el estánconectadoslos dos cables centrales.
30.7 DE LOS MOTORES PAP
Desde el punto de vista mecánico y eléctrico es conveniente conocer el significado
dc algunas de las característicasy que definen un motor
Par dinámico de trabajo Depende sus
dinámicas y es el momento máximo que el motor es capaz de desarrollar
perder paso, es decir, sin dejar de responder a impulso del
estator y dependiendo de la carga. Hay que tener en cuenta que cuando la
de giro del motor aumenta, se produce un aumenta de la en 

y, por tanto, una disminucion de la corriente absorbida por
bobinados estator. Como consecuencia de todo disminuye el par motor.
de paso J . Se define como el avance angular producido en
motor cada de excitación. Se mide en grados, siendo el número de
pasos más empleados los mostrados en L
a tabla30-5.
paso mas los P.4P
Par de mantenimiento(Holding Es el par requerido para desviar, en
de un paso rotor cuando la posición anterior es estable. Es
mayor que el par dinámico y actúa como para el en una
posición dada.
Número de pasos por vuelta. Es cantidad de que ha de efectuar el rotor
realizar una revolución completa. Evidentementesu ecuación es:
donde NP es el número pasos y a el de paso.
Frecuencia de paso máximo Se define como el máximo
de pasos por segundo que puede ejecutar el funcionando
adecuadamente.
MICROCONTROLADOR PIC16FS4. B m-MA
i
1
LOS resistencit
# . . m i
ohrmos.
N , parej
I:I
1,. enrsegar corriente La
conml un
PAP,
Potencla
Mee6nlw
Figura conlrol motorpaso
microcontrolador 16F84A, microcontralador
drivers
I L293B
I
EJEMPLO:E
l c h i t o conhl gobiema PAF 7,5O pam,
pmiucc ei s m c a de I 1 prsoi motor s frecuencia de 200 ~ z ,
¿suintos grados
1
se desprecia la inercia ronmientos mechicos, ¿cuánto tarda en I
movimiento?. 1
Soluclbn: el gira 7,5O pulso, d t&
eje del motor 82,5". I31 priodo & señal es 5
1
I
tardadSS ms I
IDENTIFICACI~NDE !
I
Para Iti rcalizaeibn vamos ri plantear, utilizar
paso, uno bipolar otra unipolwr, recuperiidos miquinas desguace,
como duros,impresoms similar.
1
(1-1')
antih
La eei la ideatificacidn dc las internas tras teminales
1I
motor, Es eenvmimte en cuenta cl niliiiem de hilos diripone el
i
i
identificar su i m a con alguno modetm desrritoi I i 1 cwlquiem dis
figura 30-9,
¡ (:
I niide
Oenertilrnente deduce el color los cribler en cmo de d h , 1
convaniante mdir resietencia bobina ohmem, Asi, por plrm 1
nicitrir hipolar qiie tiene cuatro hilm utilizame uii polimetro en posirihn de
correspo
I
l
492 DESARROLLO DE PROYECTOS O RA-MA
30.8 CONTROL DE MOTORES PASO A PASO de
Pararealizarel control de los motores paso a paso es necesario, como hemos visto,
generar una secuencia determinada de impulsos. Además, estos impulsos deben ser
capaces de la necesaria para que las bobinas del motor se exciten.
figura 30-10 muestra el diagrama de bloques general de un sistema de para
hilos que
de
dos a la
E
motor
de
Mando Control
30-10 Diagramade bloquesde un sistemade para apaso
Vamos a centrarnos en el control de los motores paso a paso utilizando el 

PIC Como el no es capaz de generar la 

A-B
corriente suficiente para excitar las bobinas del motor PAP utilizaremos los
contenidosen el integrado (figuras30-13 y 30-14)
sentido
de la bobina
de que un motor de por
una 

gira? si y los tiempo
realizardicho
Como motor por de aplicar los 11pulsos,
el habrá girado: 7,5 x 11 la de 
 ms,por
tanto,el motor en realizareste movimiento.
30.9 UN MOTOR PAP
de los ejercicios que se van a dos
!
motores paso a y de de 

discos 
 o
primera dificultad bobinas con
del tener que motor PAP,
Se mide
para intentar estructura de las en 

bobinas y los
central se
se por de pero, es
medida de 150
le de la con un ejemplo, un 
 mitad
debe medida
2' y 3'- 4'.
O
10
isos
:oneol
*paso
10s driver9
:7 , 5 O
,
&
l
b
s @O8
impo
U 10s 11 @OB,
a m,
n
despace,
n
:
dcsct.itos cn
I
O k4-M.4 CAPITULO 30. a93
I
mas
ohmos. terminales
Figirm 1 Motor nposo de hi1o.c
no coriocer con bobuia
(2-29, siis terminales, una
gire
antihorario, solo cambiar
motorcs
procedcrernos siguien manera:
F'igrra 30-12 de ula tiItorrivpaso uyuso hilos
rnidan
tres
pcrtetiecerán juego Pim terminal
ubtsriiendopara
S1, otros SZ, el que el
tigura
MOTORES PASO A PASO
de resistenciaspara detectar las dos bobi independientes. Para ello, hay que buscar dos
hilos que midaniin valor cualquiera que no sea infinito, generalmente pocas decenas
hemos visto, de Estos dos hilos pertenecen a los de una de las bobinas y los otras
deben ser dos a la pareja opuesta.
se exciten. La 

para un 
 nas
a paso
utilizando el
de generar la
los
por paso,
tarda en 

de 5 por
a utilizar dos
as de
los terminales
el motor PAB,
la
30-1 puso 4
En este caso es importante el devanado que corresponde la
A-B (1 -1') o a la C-D ni identificar porque vez conectados los
cables al circuito de control si el motor gira en sentido horario y queremos que en
sentido tendremos que las conexiones de la bobina A-B por los
de la bobina C-D.
Para los de 6 hilos si queremos identificarlos con los del motor dc la
figura 30-4, de la te
Fofo de 6 

Se mide con el ohmetro para buscar los tres hilos que entre si
 un valor
cualquiera distinto de infinito. Estos hilos pertenecerán a uno de los juegos de
bobinas y los otros tres al otro de bobinas. averiguar el
central se mide la resistencia entre dos cables, 
 nuestro caso concreto la 

medida de 150 midiendo los dos resulta 300 por lo tanto, tiene valor
mitad corresponde con la toma central de la bobina, numerados en la 
 304 con 1'-
1
irnos
m1 1
apaso
tilimdo
dnven
5
"
r pitso,
ntos
cn
IS 11 aulsos,
o
r
Ic
s tminalcs
motor
ssi-itor; IR
dudn, CR
plo, pnni iin
1 ric ntcdictn
0M-M CAP~TUKJ MOTORES
p a s decenas
ohmios. los otros
1 ~Uotorpaso hilos
corresponde bobina
(1-1 o (2-27, tminnles, 10s
cables
antihorario, s61o quc las conexiones
bobina
motores
f i p procederemos simiente
Figtra Fato zrn pa~o t
í
mide olimetm cntrc midan valor
Estos tres
otro
central mide la
medida t R, o- Q,
central de !a bobina, numerados la
2-
30: PASO A PASO 493
de resistencias para detectarlas dosbobinasindependientes. Para ello, hay que buscardos
hilos que midan un valor cualquiera que no sea infinito,generalmenteunas
visto, de Estos dos hitos pertenecen a los terminales de una de las bobinas y
deben ser dos a la pareja opuesta.
exciten. La
para
so
el
generar la
los
prados
po tarda
utilizar dos
desguace,
PAP,
en 

de
Figura 30-1 a paso de 4
En este caso no es importante conocer el devanado que con la
A-B ') a F
a C-D ni identificarsus porque una vez conectados
al circuito de control si el motor gira en sentida horario y queremos que gire en
sentido tendremos cambiar de la bobina A-B por los
de la C-D.
Para los de 6 hilos si queremos identificarlos con los del motor de la
30-4, de la manera:
30-12 de motor pasoa de hilos
Se con el para buscar los tres hilos que si un 

cualquiera distinto de infinita. hilos pertenecerán a uno de los juegos de 

bobinas y los otros tres pertenecerán al juego de bobinas. Para averiguar el terminal 

se la resistencia entre dos cables, obteniendo para nuestro caso concreto
de 50 midiendo los dos resulta 300 por lo tanto, el que tiene el valor
mitad corresponde con la toma en figura 304 con 1'-
y 3'- 4'.
MlCROCOiriTaDLAüOR PIC16F84. OR.-MI
o procedemos
forma, tendremos
normalmente serigrafiaclo carcasa.
contmrio, mayoria
consb~iidos por
Ias
cl conecta
hilo nurnmrá 2011
tomamos uio jucgo
terminal
l
terminal
tmnina
i
1
10s bipoiar del unipolar.
siguientesepigrafes
I
CONEXIÓN BIPOLAR PICI6F84
1
El bipolar muestsa 30-
! drivers de1
las
ejeniplo
~ i
dichos
res
sej
moi
bipdar.
1
ejern~
Cottcxihn P,4P bipolur PICl6F84.A L2 B
494 DESARROLLO DE PROYECTOS
Para identificar cual de los hilos corresponde a las bobinas 1, 2, 3 4,
de la siguiente que alimentar el motor, el valor de la tensión de
alimentación suele ir indicado por una etiqueta o en la
En caso deberemos de tener cn cuenta que la de los motores paso a
paso están para trabajar a 4, 5, 6, 12 y 24 voltios. Probamos con 5 V,
precaución, conectando esta alimentación a la patilla central de dos bobinas.
Seguidamente se toma uno de los dos hilos, se numera con número 1 y se a
masa y el otro del mismo juego de bobinas se el número 2 y se deja sin
conectar. A continuación de las terminales del otro de bobinas y se
conecta a masa, si el motor gira un paso en sentido horario se numera el con el
número 3 y el otro con el 4. Si por el contrario lo hace en sentido contrarioa las
agujas del reloj se numera con 4 y el último con el número 3.
Una vez identificados terminales del motor y cn los
veremos los circuitos que vamos a montar para cadauno de ellos.
!
30.10 MOTOR PAP Y
montaje que vamos a realizar para el motor se cn la figura
13, en el que se ha realizado la conexión del motor PAP a través de los
activar e
las bobi
se u
Las
pines
cerrados,
del motor
El
En e
alimentación
terminales 3
centrales de
eneste
Figura 30-13 del motor u y driver 93
o
s
i
y
tenninal e1
i
diipolar,
lo
dnvers
Las ljncas RBO, RR1, M 2 genemr
rictivaci@~.ii que KB4 RB5 se ponen siempre "1"
tensidn Vs del
RA5:RAO concctado
pines "1" "O",
perrnitira
cstos
CONEXIÓN PIC16F84
muesm
alimtrntación, drivers L293B
tensión
UNIPOLAR
Conexih motor P urlipolur PICI 6F84A L293B
4, procedemos
la tension de
en la carcasa.
motores paso a
con 5 V, por
; dos bobinas.
y se conecta a
2 y sc deja sin
le bobinas se
con
contrario a las
en los
de ellos.
en la figura 30-
los del
y RB3 serán las encargadas de la secuencia de
del motor paso a paso, mientras y a para
activar las entradas de habilitación de los drivers. Las salidas de los drivers se conectan a
las bobinas del motor para conseguir la corriente suficiente que permita su
funcionamiento. La aplicada al pin es la de alimentación motor, eii este
ejemplo se utiliza un motor de 12 V.
Las lineas se han a unos interruptoresque pueden entregar a
dichos un nivel alto o un nivel bajo dependiendo de que estén abiertos o
cerrados, respectivamente. Esto controlar las condiciones de funcionamiento
del motor según el estado dc intcrruptorcs.
30.11 MOTOR PAP UNIPOLAR Y
El montaje se en la figura 30-14 y es muy similar al del motor paco a paso
bipolar. En este caso se ha conectado la toma intermedia de los bobinados a la tension de
e1 terminal 1 y 2 a las salidas de un par de del y los
terminales 3 y 4 a las salidas del otro par de drivers. La tension aplicada a la tomas
centrales de los devanadosdel motor debe ser igual a su nominal dc alimentación.
en este ejemplo se utiliza un motorde 12 V.
MOTOR PAP
Figura 30-14 del PA a y driver
MICROCONi'ROLADOR lbFB4.
Utilizan&
MotorPAP_Ol.asm, g
i
r
a
r
este R A O
& linea RA4 girará
micmcontrolador.
Figtra MotorPriP-01.
asm
m
hido
w
beE
w ;
M
Pdiscipltf
L . . - w.
'.' - gBOO
ctñ
- 1 : -
G
.
& - .
.
*
.
:#M
-
-
,:
...--:..
496 PIC DESARROLLODE PROYECTOS
30.72 CONTROL DE MOTOR PAP EN MODO FULL STEP
cualquiera de los montajes de las figuras 30-13 6 30-14, vamos a
analizar el programa que es un programa que hace el motor
siempre que cerrado el interruptor conectado a la linea y dependiendo del
estado la en un sentido o en el contrario. El programa para los dos
tipos de motoreses el mismoy su organigrama es el que se muestra en la figura30-15.
30-15 Organigramadel programa
, .
.&-
m-
a
*
-
, , .
. al-
*.
:
-.:.-::-* - -
.
Q RAMA 30:
-14,
$rar
mdiendo
i
m
ri
#DEFiNEEni&&khci PORTA,O htemptor p
u
t
s
b
#DEFiNü~ s n d d o PORTA,4 Inkmpbr & sentido giro.
; ~ A ~ & I ~ * * W . * * ~ ~ * * * * * * ~ * * * * * ~ L * W W W ~ ~ ~ ~ ~ * * + + * * * * O * + * * * ~ * * * * - * *
- ORG o -
W STAWS&W
bef l%m&Mmb ;Ema hms crmfipmcona0
bef.
M - FWITB, ; l b &l hiena configurada8 como
bcf SAWSJtM
-
- - .
:
, m. .. - - .- ;--en marcka?
;s.
- ,
drf: - 'PURTE N
o
,p
a
r
a rt líaea
-'..sw:.,;:Fm- . . #e Wlitzzidn
&::; .-a-
.:,-
" .&
.. - .
- Cgqmcba sertiido
-
- : d --. ;Gimen unmtido.
,
:
*
. -*:/
- , . - -
--:
@ i w%mi&
~ 0 0 ~ 0 .
. . , :-.,. .-
CAPITULO MOTORES PASO A PASO 497
,STEP
vamos a
el motor
del
para los dos
30-15.
, parado
; de enmarcha.
; de
Inicio
.
se entrada.
Las B salidas.
, .
; el motor, poniendo cero la
;
. . . .
; el de giro deseado.
,
. .
. .
498 MICROC'I)NTROLADOR PiC16FL14. DESARKOL[.O PRI)YFCTOS c RA-MA
movwf PORTB
cail Retardo-lOms ;Temporkción siguiente
NCLUDE mARDOS.MC>
podía realizado mediante
plaiiteados res~~cltos
eri
inodificar &te el
descrito en el .asrn.
30.1 REALIZACI~N SECUENCIAS
Eri es secucncia dc moviinientos los
motores continiiacihn tambjQ
conlpmbar
tiene puede
Así, kinpc.irización Iriayor
subrutina Retardo-5Oms lugar Retardo-IOms, denm silbnitina
"ActivaSaljda", podenios fkilmente cuántos para
unipolar necesita 48,
excitaciiin 7,5", urio comerciales
30-5.
progranla MotorPAP-02.asm Iiacc motor wia iuelta
ejccute 8Ob
Suhtina "Gire
GiroIiqukh
realiza en saitidoc o n m o ufizaodo el Full Step.
call
KtoYlu
call
CONFIG -CP-OF'F t -WDTTOFF &-PWRTE_ON & -XT-OSC mmlv
LIST P=16FS4A call
N C W E 816F84A.INC> movh
cal1
CBLOCK OxOC m
Cich denementarli
Vue1tasHdo ;slhltina"Gk
VwhasAnatihorario
ENüC Girokmha
movlv
NumeroCjclos EQU -12 ; & p o s son gradasp m
I
DE 

antesdel paso.
Este control también se haber tablas de datos, de forma
similar a los juegos de luces y el capitulo 12. Se anima al lector a
y los próximos ejercicios resolviéndolos mediante procedimiento
ejercicio Retardo-08
3 DE DE MOVIMIENTOS
muchos proyectos necesario realizar una con 

PAP. A se muestra un ejemplo que nos pude servir para 

correcto funcionamiento. 

Si no se conoce el nutnero de pasos que nuestro motor ahora ser un
buen momento para saberlo. si se hace la llamando por
ejemplo a la en de de la
contar pasos necesita dar una vuelta
completa. El motor que hemos utilizado nosotros por lo que cada
impulso de recorre que corresponde a de los valores
recogidos en la Tabla
El que el ejecute completa en
el ángulo de paso del motor o, lo que es igual, el número de pasos a recorrer para que el
eje del motor una vueltacompleta.
:
; Elmotor PAP unavueltaen sentido y dos modo movlv
;Se cada ciclode 4 pasos.
Unciclo 4 30 unPAP
O RA-M: Q RA-MA CAPII'YI.CI 10: PASO
75' Half-Slcp.
;mplctar
ciclas
;ZONADEC~DIGOS***********+~~~*****Q~~~~*****QQ"*********X*#************V**
forma
-ocedimient
:ritos
.e para
lamando
subrutina
quc
~ri
:ne
!r
i PAP
inicio
STATüS,WO
clrf
bcf STATUS3PO
movwf VueltasHorarío
OtraVueltakr&a
mvlw Numdiclos
m 0 4
OtmCicloMha
cal1 GiroDerecha
kfsz Ciclos,F
goto ~ ~ 1 0 ~
decfsz VueltasIIorario,F
goto OmVueltaDaeCha
Las lineas Puerto coniu salidas.
;
OxOl
mwwf Vue1tasAntihomrio
OtraVueltalzqurerda
NumeroCiElos
movwf
OtmCicloiqtiierda
cal1 Girohquierda
decfsz CiclosF
OtroCicloIzquierda
d& VueltasAnti~o,F
goto CbVueMzquierda
goto
;UM antihorririo.
;AL wt soh
deja lectot k e r i
a
q
pniebas oportunascanibiando
(VueltaAntiliorario}.
GiroIzqirierda
catI
ira11
movh
cal1
mvlw
c
d
retum
Wmer
; paso.
iiltimop
m
S
.
0
pam daecha.
MOTORES PASO A 499
;de en modo Por tantopara
una vuelta de 3W.se requieren 12
; de 4paso, cadauno.
ORG O 

bsf
os, de
WRTB ; del B configuradas
na al lector a
o Principal
movlw 0x02 Dos vueltas en sentido horario.
Ciclos
,
movlw 

vueltaen sentido

una vueltano haria falta el contador.
movlw ;Pero se para que el pueda
C
i
c
l
o
s ; que crea l
a carga
;
goto 

Principal
con los
servir
puede ser un
por
la
ir una vuelta
lo cada
comerciales
completa
en cuenta
para que el
movlw ; paso.
movlw ;Segundo paso.
Tercer
;Cuarto y
;Primer paso el girohacia la
l
5W MCROCOhTROLADOR PIC16FM. DESARROLLO F RA-MA
i
Aaivasalids
m
v
w
f WRT3
caü ;Tempimibn antesdel siguien&
rmm
10s
cl modo HurStep. esre utilizar de
muesba 30-7 coinprobarse
MotorPm3.asm, progmacion rnisino.
aplicacibn progma HcilfStep.
I
; motorPAPrdim wlía m&do dos sentrdoconbajoutihdo
;~(nmdoWalfStep)paraobtcneraias~isiBa
;ZQ~ADEDA~****h+***I*******+***.L***V********~*****+****UW************************
EQU .i2 ;Uncichde8~son30griidwparamPAP
;dt 73"mm& w-Step. tanto para
I ;co@etar vuelta 3W, quieri:n
ciclogde pagos c&
. ~ N A D ~ C ~ D ~ C ~ ~ S ~ * L ~ * * * * ~ + ~ Q * * * * ~ * * ~ ~ L Y ~ * I * * U U ~ * * * * ~ V * + * + ~ *
ORG
kucio -
b
d STATüS,RW
DE PROYECTOS
paso.
30.14 CONTROL DE MOTOR PAP EN MODO HALF STEP
Una de las posibilidades que tienen motores paso a paso es la de utilizarlos en
medio paso u En caso hay que una secuencia 8 estados,
como la que se en las Tablas y 30-4, corno puede en el
programa el proceso de es el Como ejemplo
de se va a repetir el de la secciónanteriorpero en modo
El una en y en medios
Par
una de se 12
; 8 uno.
O
ORA-MA M-MA C~P~TULO
tilizarlos
bme
'alfStep.
;Frimsrpo.
;Se&
;Tercupaso,
Gurirtop o .
i Q u i a ~ g ~ e o *
;soxw p o .
;-
P
O
.
;mwyrilthnopa
e 30: MOTORESPASO A PASO 501
STEP
en
e 8 estados,
en el
no ejemplo
paso.
;
MICROCON't'ROLADCiRP1ClhF84 DESARROLLO DC PROYFLTOS 3 KA-m
r
l 2,
RA-MA
movlw b
'
0
01 Sepimdo CBLa
ActivaSalida VeloeY
movlw b'00i 11010' ; EMX
cal1 ActivaSalida
movlw U001 Ciiarto #DEFINE Entra¿
cal1 ActimSaIida
mor~lw WíMI 10110' topas^. C ~
.4ctivaSalida
b'00110100' ; ORG
ActivaSaf
movlw b'0011010lt Skptimo
cal1 - Activasalida
rnovlw b'00 &cavo p w . movwf
cail ActivaSa1ida
movf
andlw
mowf PORTB
cal! Retardo-jOms :Temporizaciiin p
s
o
.
m M
lNCLUDE <RETARWS.iNO
L
velociilad determinad21 qiie se PamMotvr
secuciicia direccihn qiiz se
secueiicia. coii~al posiciijn
rcalimentacion. Sdnititte "Seiwx:
1 MotrirPAP-04.asni :hlkrando valc
E1 hardware SeIeccionaVeIocidE
cuatro del qiie addwf
una del
rctardo m& dcspacio niotor.
Subrutina"Girola
:Programa connl un PAP. motoresta4 g&m&
; cuatro líneas Puerto
; funcibn IineaRA4.
CONFIG -CP-OFF & -_wDT-OFF &-PWRTE-ON &-XTXTOSC
~ S T P=IóFS.IA
movlu-
[NCLUDE -+16F84A,i?VO
retum
502
11000' ; paso.
cal
Tercer paso.
10010' ; paso.
;ZONA DE
call
movlw Sextopaso.
call ida
; paso.
movlw
110001' ; y ultimo
antes del siguiente
30.15 CONTROL DE VELOCIDAD
La del motor queda por la frecuencia a la ejecutan
los pasos de la y la de giro depende del sentido en aplique
dicha Esto proporciona un excelente de velocidad y sin
;
los
E programa describe un procedimiento para controlar la
velocidad. utilizado será el de las figuras 30-13 6 30-14.La lectura de las

lineas bajas 
 Puerto A determina el tiempo de retardo hay entre la
aplicacion de nueva combinacion a los devanados motor. Cuanto mayor sea este
girara el
:
de de velocidadde motor La velocidad del

porel valorde las bajasdel A. El sentidode giro de motorsedecide

en 
 del valor de la
movlw
movlw
:apliquc
ición
trolar
ra
#DEFmE EnWaitido PORTA4 Interruptor giro.
I
! ORG
Inicio
:
1 b ~ f
! inoviw
1 movwf
4 CM
bc
1 b i p a i
movf
andiw
btfx
cal
movwf
m
s
c
&Oto
gafo
call
ParaMotor
irf
' goto
b*WM11111' Rierto conñguram w
WRT5 L8Slinw del mierto m6guradas corrm
STATüS,RPO
Lee de
b
Y
I
O
O
O
I 1I I' ; biis bajm.
STATUS.7.
P&otur pwado.
SelmcionaVelocidad ; Pasa seleccimarei factm se va
VeIocidxd ; ixtafikipakhn.
EntradaSmtida Comprueba &seado.
AA*&
Girohecha
PORTB ; ci rnutor,piniendo linea
Pnncipai ;habiliwción.
Seieix~ona
addwf PCL,F
0,675',
d17ú',dr6S',d'G0', i1'55',d'5íY, 64T, b40'
837,
d'30t.d'25'. dt20',d'15', dlOf,d'5'
m o v : ~ HMJIOIOI' primerF.
cdl ActivaSaiida ; esth cone~hdo P,4P.
movhv b'00110110' ; Sogundo
cd1 AchvaSalida
movhv blOO1llO1O' Terw paso.
call Ac~vrtSalida
niovlw b l W1 ; ÚItimo
ejecutan
sin
la
de las
entre la
sea este
; desentidode
f
d
i
A-Izquierda
goto
c
Fin
STATUS
;El A se entrada.
PORTA
; B salidas.
PORTA,W ; el puerto entrada
Se quedacon los cuatro
;Si es cero se mantiene
a el que
a multiplicarel
; el sentido de giro
Para a cero la de
;Alterandolos valoresde esta tabla se puedenconseguirdiferentesretardos.
Velocidad
DT
DT
GiroIzquierda
;
Lo envía a la salida donde el motor
paso.
;
11001' Cuarto v vaso
7
PIC16F84.DESARROLIB
;SulaP1IisiQhDasha"-
d
1 Actimwdri
-kv- ~001~11014
ActiyaSW -, . -
m l w buXf1lOIIOt~: -
4 Aotiddidn
Paca
servomotort~,
c
odl ~ ~ l m a
(figura 31-1).
d
m
f
s
z Cmadnr,F de rtiodelismu a
tirnbn uii barc
3 . SERVi
Un servomc
ruedas: deritadas qu
una tiirjet;
figura inuesk
504 MICROCONTROLADOR DE PROYECTOS
,
, .
.
la
PO
dc
pequeña
31-2
renlizacibn rnicrorobotq es
semornotores, pequedos utili7ados radicxonwol
(figura 3 1-1 Pnpulamcnte d nonlbre "servos" control
modelismo cobre acelerador cornbuaihn, el
dc direccián etc.
consumo, adcmás de precisión, los
para !a constnicción microrobots.
31.
lSERVOMOXORES MICRORO'B~TICA
momotor esih crinsiirnido por pequeno
niedac dentadas corno reductoras, 10 comiderablc, y
pcquefia tarjcta
fipra muestra dc
Para la de experimentales frecuente utilizar
que son dispositivos tradicionalmente en
). reciben de y suelen usarse para el
de a distancia,actuando el deun motorde en
timón un barco o de un avión, en el control de de un coche, Su pequeño
tamaño, bajo una buena robustez y notable hacen
ideales de los
PARA
Un un motor de corriente continua, unas
que trabajan que le da una potencia
una de circuito impreso can la electrónica necesaria para su control. L
a
31-2 el despiece un sewo
5íkÍ MICIROMNTROLiZWR PIC16F84. Q R ~ M A
Torrejon dr
exponc
supue
Intm
sto, taml
siemp
Ln tcnsir
El con!
una scfial cua
Moh~lnrion).
pnea eie dcl
(1
retroalimen
m o esiándar
11 Otro servo utilizado el -a auracia
Futaba S3083,www.fiitaba-rc-com. f i ~ t a14.
1 dcf pu
smos mecanicamctite r!
1:
IT
componentes eIectr6nicos modelismo smvomotorutili;~
II~ matcnal para radiocontrol coches, etc. TambiCn pucdc entnr es&n
I
f!, pagina de Mdel Import S.A, rns indicaría la PG
DESARROLLO DEPROYECTOS
en
donde
ct,
voltios,
L
el
eje del motor
una
constante y
proporcional a la carga. compatible w
n el anterior y muy es
3 Cada
el ancho
Si el lector tiene dificultades para comprar estos en su proveedor habitual de
puede adquirirlos en tiendas de donde vendan
de aviones, barcos, en entre 0.3 y
ww.itl.rnodejirnport.com,que es la Web empresa con sede
i1
uM-MA (:AP~TLJLO SERVOMOTORES RADIOCONTROL
Tomejon Ardoz servos
relacion
Internet,
alimentacián servos
S limih
7
seiial mgdulada (Pube
Mudulationj. nivcl
ejc al
31-3) cixuito
tzqtierda
3
3rns
t b
- 900
- - -
Posición
-
r
1,2rns
ms
- -
BOD
Dereda
-
2,lme
Figura Tren impwlso.s de radiocontrolFutubu S3003
estándar
~tilizado dwaciiin
figura 1-4.
del máximo que
ior varían del
iede 0,3
Jresa
31: DE 507
en de (Madrid), distribuidora oficial para España de los Futaba,
donde expone una completa de tiendas ordenadas por comunidades. Y, por
supuesto, también puede adquirirlos en alguna de las múltiples tiendas que hay en
siempre comprobando que trabaja con las necesarias garantías.
31.2 FUNCIONAMIENTO DEL SERVOMOTOR
La tensión de de los suele estar comprendida entre los 4 y 8
voltios.El control de un servo a indicar en qué posición se debe situar, mediante
una cuadrada TTL en anchura de impulsos 	 PWM Width
La duracion del alto dc la señal indica la posición donde queremos
poner el del motor. El potenciómetroque el servomotor tiene unido solidariamente
eje del motor (ver figura indica al electrónico de control interno mediante
una retroalimentación,si éste ha llegadoa la posiciondeseada.
servomotor
Extremo
20 ms
Central
A 20 

1
Extremo
31-4 de pava control un servo de
servo
d constante y
es el 	 La de los impulsos indica el ángulo de giro del motor, como muestra la
3 Cada servomotor tiene sus márgenes de operación, que se corresponden con
el ancho pulso y mínimo el servo cntiendc y que, 	en principio,
habitual de mecánicamente no puede sobrepasar. Estos valores dependiendo modelo de
donde vendan servomotor utilizado. Para el servomotor Futaba S3003 los valores de la señal a nivel alto
entrar en están entre y 2,1 ms, que dejarían al motor en ambos extremos de giro. El valor 1,2
con sede ms indicaría la posición central, mientras que otros valores de anchura del pulso lo dejan
508 MICROCONTROLADORPIClbF84. PROYFCTOS RA-MA
intermedias la iinpulsos.
servo, coinmzará einitir
cntrc:
frecuenciadc Hz.
mínimo la iemporizaciiin
servo zumbido
servo donnido
pequefíos
scm'o mdntenga posicibn,
constante.
existe posiciiin intentari
ititervalo pcmitido,
sernomotor mantener
podría desplazarlo.
servoniotor elkctrico sblo sc piiede rnover
arigulo (tio wcltas cbmo
sen~omotores
Positivodealimentaci6nunidoalcabledr:coIorrojo.
casi rin cablc
+ dotide entmda cablc surle dc
naranja.
inuestra relación Jc servoniotorcs,
tcrmiriales neplla
Hitec ten
í
microcontrolnd
u
r
fui
piu
siguie
i
1-1 Ident$caciÓn los tic I0.f servos,st'gzin rJiversosf~h~.icantes
DESARROLLO DE A
en posiciones que son proporcionales a anchura de los Si se
sobrepasan tos limites de movimiento del éste vibrar o a un
zumbido, denunciando un cambio en la anchura del pulso.
El periodo entre pulso y pulso no es critico. Sc suelen emplear valores 10 ms
y 30 ms, aunque lo habitual es utilizar 20 ms, que implica una 50 Si el
intervalo entre pulso y pulso es inferior al puede interferir con
interna del causando un a vibración del brazo de salida. Si es mayor
que el máximo, entonces el entre pulsos provocando que
se mueva a intervalos.
Es importante destacar qiie para que un se en la misma
es necesario enviarle continuamente un pulso de una anchura De este modo si
alguna fuerza que le obligue a abandonar esta resistirse. Si se
deja de enviar pulsos, o el entre pulsos es mayor del máximo
entonces el perderá fuerza y dejará de intentar su posiciiin, de triodo
que cualquier fuerza externa
31.3 TERMINALES
Un es básicamente un motor que cn un
de aproximadamente 180 grados dan complet los motores de
comente continua). Los disponen de tres terminales:
Masa o negativo,que siempre es de color negro.
Señal por se aplica la de impulsos y cuyo ser color 

blanco, amarilloo 

La Tabla 31-1 una fabricantes de con la
descripción de cada uno de los destacándose en los fabricantes Futaba
y que son los más importantes. Los
alimentación
las dos fuentes
se construye
utilizar dos
energía a los
presupuesto
El
ejemplo, el eje
Tabla 3 de terminales
as
npulsos.
einitir u11
cntre m s
Hz.
tcmpori7aion
i. rnayor
nvocando
isnia
c
esistirse.
icibn,
niovcr
scr
otores,
ricantes
piedcn concctrires
Red (*)
11ack Wkila *Brown f.)
Qrrngr(Slgnil)
ind I-)
a r i Ihc
i'rrwso s l Futdba.
Figwru Conecforcs cubkes us'udo,s aPrgunosfubricun~es
de semornolores
CONEXI~N PlC16F84
En 1-6 iin scrvomotor Futaba
uii microcontro1adorPIC16FS4A.
tcrminatcs alimrritacibii senwmotor una
alimeritaciári 5V Ia
masas
las fueiites alüiientación, pasa tsnsion
mecanismo servamotores,
fueritcs dc cnergía distirios, una otra
energia servomotores. pero
aq-iidarj la pmgramaciiin.
m ejemplo, eje servomotorgirar6 dc 80" 0"
Si se En la figura 31-5 identificarse los de algunos de estos
o a fabricantes.
es 10
le 50 Si el
Si es 

que 

posición,
este modo si
Si se
mo permitido.
dc modo
e en un
ar
,
Ios motores de
:le de color
con la
Futaha
fabricantes
31-5 y por
31.4 DE UN SERVOMOTOR A UN
la figura 3 se muestra ejemplo de conexión de un
S3003a
Los de del se conectan a fuente de
a que puede ser misma que se utilice para alimentar al
rnicrocontrolador.En caso de utilizar dos fuentes distintas debemos conectar las dc
dos de que tengan la misma de referencia. Cuando
se construye un o un rnicrorobot con es siempre recomendable
utilizar dos para la "electrónica" y la para dar
a los desgraciadamente no siempre hay espacio ni
presupuestopara ello.
El siguiente programa a comprender técnica de En este
el del O a 1 y de 180 a indefinidamente.
Figz~m Cone~.ibn PfCI6F84.4 parn contrtr/de1servomotor
. I ~ * * i r * * * * * r ( i + * t * * * * ñ * * * ~ * ~ * i I * * * * ~ t S e r Y a S
O].-++I*****+15*8***0**0******I+****C**#L
9 -
P r o p conbol m servornotorFutaba S3003. @do
;mediantcuna d a 1cuadmdaFWM 111s perimhquz Iinea cnnml.
; gngulo seAal O" 0,3 ms
;de tiempo hasta tiempo 2,l m).
progmma servomotor 09 90". 180", W cicio.
Permanece cadaposiciiin&te 1 E1
ha tiempa p t d n 100ps (O,] conseguidiismedrante
; desb0rdamit:nto Timer
Titnipu A
l
h Timipo 3ajo Anguio
FactorAlto 1.FactorAllo O,](200-FxiorAlto) (Grdm)
-
.
-
m
+
-
- M
*
-
-
-
.
-
.
-
-
-
- m-------+--------.
3 ms rns
9 1
,
; m~ 18.8m~ qO0
2,l ms 17,9ms
1J ms 18,8ms 9P
L
;ZONADEDAMS * * * * * V * * C * * * * * * * * * * e * * * * * * C I * * * b * V
-CONFtG -CP-OF'F & -WDT-OFF Br -FWRTi-ON & -XT-OSC
LIST P16F84A
LBLOCK OxOC
Contador
FaccwAlm
ENDC
por vaa multipiicare1tiempo
patrbn 100p.s obtener tiempo
Pl'wipl
Subnrtina'Ti
; la
lWpx(2C
CBI
Gw
Tim
ENI
31-6 del
; de rielposicionamientode Controla el
de 20 de se aplica a su de
El es gobernado porel tiempoen altode la cuadrada desde (para
en alto). 180"(paraun en alto de
; Eneste el s
eposicionaen vuelvea y repite el
; en s. funcionamientose explicaen la siguientetabla,
;donde se tomado como ms) interrupciones
por del O.
O,
-----
O,! 19.7 o"
12
21 180"
12
; Factor el que se
; de para el enatto.
Inicio
;
Mantiene a
; a
RA-MA
Anguio
90"
90"
c R ~ - L ~ A CAPITULO 1 SFRVOMOTORES RADIOCONTROL 5 1 I
TMRO-Carga 4
'
9
0
' ;Vator experirnmtaimente
Stopwatcb para un 100 s.
#DEFINE Saiidn PORTB,O ;Lfnea WO conecta servornotar.
O
gota
.4
gob TUnerO_Inknupcion
f STATUS,RW
bcf línea cmfigwaw m
blOOOO1OOO' TM prescder.
OPTION-REG
bcf STATLrS,RW
movIw bt1O10000(r
movwf N C O N intemipibn TOI (GiE).
clrf
Principal
movf Contador,W
andlw b'OOOOOO1li
caü SeleccionaFxtorAlto
monvf FactorAlto
cait Retardo1s
incf Coutador,F
gob Pciticipd
SeleccionaFactmAlto
M
w
f =S*
dT3',
d'l2*,
d'21'.d112' ; s e ~ l
Futaba
Msnrime ts lODps (FlictorAlto)
; 1@s (2WFactorAlbo). @o& stAal lo rnantrene ms.
auxiliat.
Tirad-htmpcion ' I
mowif Guarda-W ; las tenianW STATüS h I
swapf STATUS,W ;P
P
-
P
*
@
.
m o d Ouarda-STATUS
[ '
bcf STATUS,RPO ;Garantiza
rnovlw TMRO-Cqa
TMRO 'l
i',
decfsz TimerOerOContadorA,F Decremeritaeicwtadar.
goto Fin_TierOrOhtempcion
I l '
lempo
btfsc S
a
W Testea mtaioresiado
1 alto.
3 : DE
EQU obtenido con la ventana
; tiempode
del B dondese el
ORG
Inicio
ORG 

Inicio
bs
Salida ; Esta se salida.
movlw ; ROsin
movwf
; Autoriza y lageneral
Contador
DT 
 Tablapara el S3003
; salidaen alto untiempoigual a x y en bajo un tiempoigual
a x El de la cuadrada en 20
(Grados)
-
-
e
-
-

@'
;Contador
180"
,
Guarda valoresde y en el
quetrabajaenel Banco O.
movwf
;
; el de la salida
en
MICROC'OKTROLADORPIC 16F84.UE5ARRVLLO DE i3iS O ~ 4 - M A
g m EstabaAlto
EstabaBajo
bsf Saiida
m
v
f FactwAlto,W
mowf T M - C m ~ A
goto Fm-T~merD~Intemrpcion
Estabdlto
b d
movf FmAltn.W
s
u
b
l
w ,200
movwf T m d - C ~ ~ r A
Fin4TimdemInteqxion
M - S T A T U S , W
movwf STATUS
swapf Gw&-W,F
mf --w,w
bcf iNTCON,RBF
bcf LNTCON,TOIF
re&
; paM aito
Repone cunhdornumente m
;Estaha pasa
m n e nuevamcnrc t i m ~ p o
E
1 sera 100ps.2W21iOOOps=2Oims.
registros
~1
de claborar el progranla eri
servomotores cnctc suclcn eclrkhs.
heclio wi servo misma es tenga
reconidos. Luegi*ttio debe extraiiarsc
cstos
ai-igulo senJumotor í*s ~onbolxh
por el
de
Asi sj posiciona en O". vale [ en lo0:si vale 2 20"; ...,
vale e111
9
iProgramade ~untml
h
l uri servomotorFutaba S3003.Conirola k l o
;m d m t e mMíalcuabtodaJ
'
W
M m
s p i d o línea
hgulo gokmda tiempo da h seiíal O" @ara 0,3ms
; tiempo enalto) 180"@m tiempo 2,1ms)
l
3e& pro- lineasdel Pueao conbrolan ingulo
;mlwiún 1
Paegh losval- en siguiente conm
; patr6n 1M)ps {0,1 ms)mseguidosmedian& del
;Timer
;.Enaada F~ A i t o Tiempo AIto An@O
RA4:RAO (31-htda) 0,lxFactorAlio O,lx(2OC-FactorAito) (
-
S
}
' -
-
-
m
- -
-
*
e
-
-
.
.
-
-
- -+------*- --------+----<------- -+-----+
; 0 0,3 my ms 0"
; 1 ms 19,6ms 1
P
; 2 O,5 m6 70"
ORG
Boto
ORG
soto
l
n
i
c
i
o
bsf
bcf
I ; paitir
512 PROYEC
Estababajo y lo a
; el el tiempo en
; alto.
A de una
Salida altoy lo a bajo.
; e
l contador conel
;enbajo.
; periodo de 

;Restaura W y STATUS.
ENDC
A la hora de control, hay que tener cuenta que las
especificaciones de estos dc pequeño no ser muy De
si cambia por otro de la marca y modelo no raro que que
reajustar el centrado e incluso los si necesitara
reajustar ligeramente las constantesde programas, para s
u caso particular.
En el siguiente programa ejemplo el del
valor de entrada fijado por los interruptores conectados al Puerto A con una resolución
10". la entrada vale O se si en y si
18 SO0
.
posicionamientode el
de 20 de que se aplica asu de control.
;El es porel enalto cuadrada desde
de hasta u
n
 en alto de
; la A el de posicionamientocon una
de que se indican l
a
 tabla,tornando
tiempo interrupcionespordesbordamiento
O.
Tiempo Bajo
;
19.7
4 0,4
3
19.5 ms
5
las
:tas.
iga quc
cesitara
-i
ición
...,
7
.
,
? ~U-V4 ,3w-vA CA~~TL'LO
31: S~.'IIVTJMOTOKESDF.R,UIO(:O'I'TROL
20 2,O ms 18,O
2I 2,l 1
7
.
9 180"
; pariir entmda 18d m
F
r
i
v i h 4 .
;~~ADEDA~)S*********************************v************************t**********
-
CONFLG -CP-OFF & -WI)T-OFF & -PWRTE-ON &-XT-OSC
P-16F84A
INCLUDE 'P16F84A.INO
CBLOCK OxOC
FactorAlto FactOr multiplicar tiempo
ENDC ;patriin 100p
c obtener eii
TMRO-Cnrga EQU 490' ;Valor eqerimentalmcntcw
n
Smwatcli para ticinp de 100 ps.
:L
a conshnte variarla se@ tipo Servomotorutilizado
AltoCeroGrados EQU d'3W ;Tiempo ;lita Futriba p.
TiernpoPatron 6 1#'
FactwMinmio AlroCeroüddTizmpoPatron
#DEFINE ; dcl dondeseconecta servomotm.
ORG O
.4
Pro Timero-Intempcim
bsf STArnS,RPO
bcf línea coafigura comu snlida.
movlw b'OOO1lllli ;h
i
a
t
o
mwwf
movh b'00001D0(1' : prescaler.
OPRON-REG
bcf STATUS,ñPO
mwlw M 0 Carga
movwf MO- ; Timer
movhv btl0100000'
movwf W C O N ; inhmpcióa TOI general (GI
Rincipai
PORTA,W ;Lee el puerto entrnda
andhv b'000Illll' ; quede lmbitsdidos.
d w Factorhimo ; timp mínimo correspiindientt: O".
mowvf FíictorAlto ; eniregado la subtutina
513
; 17 ms 170"
; 18 ms 
 ms 

7
A de una superiora
LIST
; porel que se va a el
de para el tiempo alto.
obtenido la ventana
; un 

próxima hayque el de
que
en 
 para O".Para el S3003.300

De EQU
EQU
Salida Línea Puerto B el
por el
de
y si
goto inicio
ORG
Inicio
Salida ;Esta se 

A configuradocomo entrada.

PORTA . .
TMRO sin
movwf
Carga el O. 

Autoriza y la E).
de
Se con
Para conseguir el a
Valor a de
513 hIICROCONTR(3LADORPICI bFg4. DESARROLLC PROYECTCX RA-WA
p m Pruicipai
/
; laintcmrpcibn.
Mantim aabda m igual 1 0 0 ~ s (FactorAlto) igual
; 1 0 0 ~ s
x (2WFactorAlto). periodo s&l adrada mantieneen m.
TirnerOerOIntemipcion
movwf m - W
swapf STATtlS,W
movwf Gwd-STATUS
bcf STATIIS&PO
rnovlw TMRO-Carga
movwf m 0
decfsz ThnerO-ContadorAJ?
goto Fin_TimcrO_Intmpcion
btfsc
gotD E s w t o
E s W a j o
rnovf FactorAlto,W
rnovwf TimeiO-ContdorA
goto F~TimerOerOintemrpcion
EmbaAlto
bLf
movf FactorAlto,W
sublw .200
momf TirnerQ-ContadorA
FuiTUnaI)-íntampcion
Gd-STATUS,W
movwf
swapf Gia-wJ
Guarda
bd INTCD~,RBIF
bcf N K O N,TOIF
mfie
:Contador
; detenfan
pmpma principal
G;uantiZa W j a Bancg
;Derrerncntmielcontador.
Testm anteriorestado salid&
pasa
el ccmtadoi con riaapoen
dto.
;Estabaalto lopasaabajo.
Repone con- nuevammte c m tiempo
100fis-2W20000pa=2hs.
;Restauraregistros
DE O
atencióna
; la en alto tiempo a x y enbajoun tiempo
a El de la lo 20
Salida
bsf Salida
Salida
swapf
STATUS
swapf W,W
auxiliar.
Guarda los valores W y STATUSen el
;
. ; que en el O.

; el de la
;Estababajo y lo a alto.
;Repone nuevamente el
;
y
; el el
;en bajo.
;El periodoseráde
Wy STATUS.
7
-
C~QPITULO
SENSORES MICROROBÓTICA
MICROROB~TICA
iiiia basc guía
seiisorcs inicrocontrolador para aplicacicines
10s niicrorobots proyectos
sensores
piisivo luz. Sc detectar
CNY70, serisor cjptico salida
blailco negro.
OPB7031415,
H21A1, sznsor barrera. lndicado medir mi~tores.
GP2Dxx, sensores uifrarrojos
1S471 obsthculos infratrojos.
B~tmper,
fial mechico
SRFM, sensnr obstaculus
iiecesario ima forma acoridicionar sedalcs dipitales
inversoresTrigger Schmitt.
TRIGGER SCHMlTT
sefiales digitales
seiial sc muestrrt en
1.
A-MA
32 

PARA 

32.1 SENSORES PARA
El presente capitulo es de datos o de referencia sobre algunos
y de cómo conectarlos al realizar
especialmentedirigidas a yero adaptable a muchos industriales.
Los que se van a estudiar son:
LDR,detector de utiliza para ausencia o presencia de luz.
reflexivo por infrarrojo con a transistor. Diferencia
colores y
sensor óptico reflexivo por infrarrojo.
óptico de para velocidad de
para medición de distancia.
F, censor detector de proximidad de por
de carrera para detección de obstáculos
de y medidor de distancias por ultrasonido.
Pero antes es conocer de no
mediante
32.2 INVERSOR 40106
Algunos sensores no proporcionan puras y es necesarioconformar
dicha antes de aplicarla al microcontrolador,como en cl ejemplo que
la figura 32-
;
Figiir.u 32-1 .L)ñ~r/c:s
ric ~tirrcrcitr
y .~ulir
lrt tic ciwu Srhrnitf
IJiia Ioi~i::~
3c.i rcllla 1.l~: cutifr,ri-nar seha1 e
1
1 digital mediante
Schmitt, ccitno qiic ticnc cl iiitegrado 06.
in>crsorcs J.ri:;;cr Sr!iiiiiii cncrips~iladi>s
scgúii inilict? figiira 32-2.
Estos disposili*osticneii Lina c;iracteristica
1Tgii1~
32-3. Fn csta cuma aprccia tensibn de aumenta
nivel ,ilio traiicicicín prtiducc b
V I' dcnoininnrlo amhral cI contrano, esti
disininuyc Iiiistü 01'.
I
,
I tranciciiiii sc prodiice sigiirendo 13 curva
dcnoniiiiadci taoibr:il ieihrioi ,-. I,o.; y V,-
depeiidcri tc.r~~~iiiiiiilinieritnciiin piicdcn tomar Icis t-bla
Eli !; ciirva d,: i:;!ti~f~rc:i~ia dcl iiivcrsor Schrnitt cs iniportante observar
tmiisicioridc salid:: dc iito -3Brijri cs dc Unjo-+Alto. estc fenbmeno
Ic coni3i'c coino Xliaii'esis.
KA.kl.
vi
*
funcional:
una
(
st
señait
1
digital. Ci
106,
un ifo Trigger
utio es puertas Trigger
Iris circuito 401 Este dispositivo contiene 6
se en la
de transferencia como la que se muestra
en la se que si la entrada desde O V
hasta un la se siguiendo curva A y conmuta para el valor
. superior. Por si la entrada a un nivel alto y
B cuando se alcanza el
V valores de de para el caso del 40106
de la dc y valores de la 32-1,
que la
distinta que la A se
El
mane
añadir el
Tal
E
con
32- se m
i
vuelve a ti
consideni
40 la
1 RA-MA
-
Trigger
:
esde
i
)el
lcanza
.l.
5meno
FIguru Curvade truisv/;~i.c~~?r'ina
r.lor117 ini)ojnt Triggcr ,S~,hrnift
Tnggcr Srhmitt, Icis disposiii~os cor, ~ q i r : iipo ric
funciominicnto, sirnholo figiiia pai:i iridici~i
qiic pucdcii rcspciririci dc
striales qiie cambi:iii Icrititud. Ilsta s~rt-il~oI~gi;i
sc h x i cii
pifica histcresis ciitr:id;i corrvsprindici~l~.
1 I"rrinresclk t
T y 1 T ~ I A W o1 401/16(tr)~Ii>.~
k)r il:,r{:i. i ~:o/tio.s)
~ a i ~
utilid;id sc clrscn c(:nii-{il:ii. 1111 r*it-L-iiito
digiVal
so11 digitalcs coil una srii:il dc i-iidi: ,iriniar;ln.En 1;i íiglir;i
1 circuito invcrcoi-lfenlc iitia s;:i-i;tlrliic ri;i cs ~ i i
ii-aiiicritc
digital. la V I 21 V.,' I;i sal¡da V, hncciil:~:I ~ i i i
iiil:cI al11
i y rir!
hasta 1
;
i ciiirada Ilcgilc n  ', l:,~ la tigul-i~ 1 sc 1
1
;
i
inversor mis, ficil cxplicricicin. I'nia iin iiivcr;c>i. ~otiio
cl
106, la cstado invertida reYIiEicici dc 1;i ti~,iiin
ntiene 6
muestra
O V
el valor
alto y
el
el 40106
a que la
se
32-3 ir.
El inversor y todos.
utiliza el de la 32-3
una manera fiable ante con
añadir el dibujo de la de en la
Tabla 32-
Estos circuitos son de cuando
con señales que no lo o señales i
32- se muestracomo actúa un no a
Cuando señal alcanza valor ,
vuelve a tomar un nivel bajo que 32-
considerado un no para una
40 señal de salida hubiera
no
5IX UICRoCOUTROWR PICI6F84.DPSARROLLQDE QROYECrOS 8M
-
M
A C
-
Trigger Schmitt transiciones calida
la 10 Et rnimonkolador P
T
CI6F84A posee Ia
línea Trigger Scmitt
~eoecidad 106.
I
LDR R7
337
aight Dependertr Rcsistor)
fotmistencias, son varían rmisíencia funci6n
supwficie. mayor ssea
fabricacibn
fotosensibIes. a w n fisicn sUnbologia mLr.~ cn figum 32-4.
8
-
L
-
:S-.
.: ..
-
i
; +
:
:
- .
.
.. -
- - ,
F o m fisica Shbofo común 3
n LDR I
* .CL YUL I
Figz~ro miidu
:b
a
s
t
a 99
nominal luz externa. Así,
LDR m, tendri dicho tapa
superficie, 60
a.
:
Las componentes cnntroles
circuitos selb, a l m q , etc.
mcurwc
ilii vc
'E
forma sencd1a sensores rnicrocontmlador
mlizando LDR potmi0metm, ?jurzar
salida'del Trigger I i
Schmitt para tambikn puede m a t e tip como
RA4 PICláF84A mucstaa figura 32-5.
1
I
p r o p m Senso-DR-Ol.acm menta número es c o d o
LDR.
DRG
R A M A
En conclusión, un dispositivo produce de
limpias y rápidas, aunque entrada no sea. 

RA4 con entrada (figura 5-7) que se puede utilizar para este fin sin
de intercalarun40
32.3 

o
Las resistencias dependientes de la luz, LDR
dispositivosque su en 
 de la luzque incide
sobre su Cuanto la intensidad luminosaque incide sobre ella menor
será la resistencia entre extremos de la misma. Para su se utilizan materiales
Su 
 y 
 común semuestra la
.
.
, . .
..
,
. LDR LDR
..
eléctrico más de
32-4 LDR
Su valor se especifica sin que incida la por ejemplo, una
de valor nominal 50 como la de la figura, valor si se de
manera que no incida la luz sobre su si se la acerca a una bombilla de W
puede bajarhasta unos30
principales aplicaciones de estos son de iluminación,
control de con en
La
la del
nivel de lu
más de conectar estos
un divisor de tensión con la y un
z a detectar, A la divisorde tensión
conformar la señal, hacerse
tal la
de luz a un
que permite
se le coloca una puerta
una entrada de
es
e
l
El el de veces que un
haz de luz que incide sobre la
;del
ZONA D
e
LCD
DATOS
Inicia
O
t M-MA CAPITI~U) PAR.4 MI~ROROBOTICA 519
ies
-a fin
t Resistor)
uz
lre
an
ura 32-4.
LDR
:
cs
mite
Tngger
:ste con10
- Incide sobre LUR --> RA4= 'O
- Corla ha2 --> RA4="1'
(Flanm Aspendenle)
- Incldir sobro -> Enirada RA4= "0"
(Flanai
Figuru Cvn~xion
de la mlruda TriggerSrhniirr de un P1CI 6F84A
9
aei
e laentradaTriggerSchrniaRA.t/TOCKI impulsos d Timw Eada
; seos cure^ al intmpnetseua-i objeto W htz LDR
;del d u l o LCD se visualiza e1númao que hkmmpe haz & dlgiios
(
h
a * o ) .
ORG
inicio
4 1 LCD-inicializa
STATUS,RPO ;AoocsodSanm
rnovlw b'00101W TMROminocontador por flan00 scendenre
mowf OPTION-REG ;R A W K 1 . .Prescaierasi& d Watchdog.
b
E
f STATLiSJWO
c t f TMaO ;lnicializacontador.
La seccih"PrincipPes mantmhiento. So10 se visualizar Timer cuya
32: SENSORES
de salida
84A posee la
este sin
luz Entrada
de luz cobre LDR Entrada
Vuetue a luz LDR
o
que incide
ella menor
materiales
Descendente)
ejemplo, una
si se tapa de
billa de 60 W
iluminación,
controlador
ajustar el
puerta
tipo
es cortado un
32-5 una LDR a RA4
;
vez que
Una LDR a aplicando O
la de y la En lapantalla
de veces se el luz en dos
; 99
O
bsf l.
; de
; Acceso al BancoO
.
; de 
 dedicaa el 0,
;cuenh sc increinentacoii bs ascendente prucedente Iri cntmda TriggcrSchriiitt
RA4iTOCKI donde ba LDR.
cal1 LCD-Lineal de lhm 1.
niovf TMR0.W ;kelTuner
cal! Bm-a-BCD debe visualiznr BCD.
cal1 1,CD-Byte Visudiza, las dxenss ca~o q~ie
sean
goto hiricipal
programa pertnite contrir dc corrccta 99. deja
mejora para ~iridcr ejemplo, coinputüción
ob,jcios cinta trarisportadora,pcrscitiasquc por uria puerta. etc. Estc
niisrno l~iiede que sc dcscrihcn
qjcmplo para cotitar iiiutierci dc objctos delante dc iin sensor
circuilu figiiia jiiilto prograina Sorisor .ILDR_-fll.asm
constituye
aplicacihri crepiiscular, cs
cricender Iimpara prirncros raycis
RE1.E e
+***I**bC*ir4*$******,***i******L4* ScnSoILDR ~ * * * * * L m * * * * * ~ * * * * * * * * * * C * * * * * * I * ~ * Y *
- -
1 interruptorcrepuscuIat:una bpara inatendrh mientras wa
Uria detectarh arnbicnte Heme Ihpm quc
;pretende conu.olar) estad la8ntrada Ttigger Scbrnirt RA4.
;C d LDR
;
Inicio
b
s
bif
bcf
k
bcf
PrUicipd
btfss
Boto
EacierideLw
caii
btfss
soto
bsf
4
%
-
caU
b t k
g*
bcf
cal1
goto
INcLLrn
END
I
:
flancos de
: se conectadola
Principal.
;Se pone al principio la
O.
;Se en
: apagando en de 0.
Este solo forma hasta Se al lector su
aumentar la cuenta y utilizarlo. por en la de los
que están en una pasan
programa se utilizar para otros censores mas adelante, por
el que pasan por dc
iiltrasonidos.
El de la 32-6 con cl
otra típica. Se trata de un interruptor que un circuito para
una cuando llega la noche y apagarla con los del sol.
REO
Y
;Programa de un se encendida
;de noche. LDR la luz (sin que le la l
u
zde la
y conectadaa
la
ZONADEDA
f
f
Fin
Este tipo
LED, y un recep
defineel tipo ya
LDR osmidad sistema ima kmpara:
LDRihuninada3 Enb& P
I
C="0"-ALhpm
; - L D R a i o ~ ~ ~ i d a d - >
EneadaPIC="l"ALbmpani-ida.
i
lacion de
:rtri.
idelante,
11 serisor
constittiye
:ircuito
s sil.
#DEFRIE LmpmPORTB,I Lhm conecta calida.
#DEFINE LDR PORTA,4 E
n
- Trigger Schmi~
delPICdon& conecta
b LDR.
:ZQNADEC~D~~S**********+*I***********I****~****I****~******~******W********
ORG
hiciti
f
bsf
bcf
bc
bcf
Principal
btfs9
gow
E n c i d -
cal1
btfss
baf
goto
APasaLampara
cal1
Mfsc
bcf
cal1
soto
A p a W p a r a
Lampara
L a m P
~ 0 ~ 2 0 s
Principal
Bataco 1.
A
- Bmco
; principioIhparaupapda.
J?ntrada=l?, &DR &?.
; LDR i!imhdapor sol.Apga la Idmpm.
; E s p f f a e s i e t i m p p m n b u ~ I o a a t & $
:&nmda=l?,¿LDR oscuridad?
; sale
; mciendc lamparrt
tiempop m conñrmar mi.
¿EnW=O?, iLDR sigticihiiaimdapor~ U Z
; hem.
;si,a
p
wIgmpara.
Permaneceenelesardo~n~~lmtriosestetiemp~.
INCLWDE 4U5TARDOS.MC>
END
sensores de luz, nonnahente
que fototransistor, situacirjn
estudiará continuacicín.
;Cuandola detecte el activará
;- apagada.
; donde se la
; se

al lector su
los
;
etc. Este
por

de 

bs ;Accesoal
ni f ; al O. 

para 
 En 

del
LDR ; en 

No, 
 el
Retad-20s
sigueen
W R 

No, fuera.
SI, la
Fin
F
i
n

Retado-20s ;Esperaeste la luzde1
LDR ; delsol?
No.sale

Fm
;
Fin
32.4 FOTOSENSORES ACTIVOS
Este tipo de consta de un emisor que es un diodo
LED, y un receptor. suele ser un fotodiodo o un la de ambos
define el tipo ya sea reflexióno por barrera como se a
:
pei
F
i
i
vcc:
M I C R O C O ~ O L A W R
PIClh%M. PROYECTOS 0RA-VA
Sti aplicacjbn. om, detecciiin prcscncja medida
cisdigos etc. microrob6tica suelc
itectar marca línea (normalmente negra
Los mis comunes sensorcs
las material
claros luz infranoja l
o
s Al
2;:
importante
optico CNY7Q
sensor optico transistor
Vishqk. TeIej~nkenSemlcondttctors (www.vishay.cum).
constmcciOn receptor se colocan
un rcffe x i h
idmmoja (Infraredl tongjtud onda habajo es #
m. infrarr~~io zin fototmnsistor.
del dcbe entre
del diodoIr= m4 y IC= inA.
circuitr
arnplrfi
canectado cr
potcnciól
pati1Iaje
pr-a32- Sensor cipiico relferivo salida n fransisfni.
CW70
polariz;rrlos, fiinci~n I
n
q
fipura mt!esiran
según alto
invmor Trigger Schmitt intcrcata pam corifomras
valora msiciiin VTt
V
; 1,9 alimenlacion f
rnctro
522 DESARROLLO DE
entre suele ser la de la de objetos,
de distancias inuy cortas, lectura de de barras, En
para dc
..
una
problemas
o seguir una sobre fondo
que suelen darse con este tipo de son que la
reflexión depende características del y del color;en principio los colores mis
reflejan el haz de mis que oscuros. La luz ambiente es una
fuente de mido a tener en cuenta.
or
es un reflexivo con salida a (figura 32-7)
Tiene una
compacta donde el emisor de luz y el en la misma
dirección para detectar la presencia de objeto por medio del empleo de la del
haz de luz IR sobre el objeto. La de de 950
El emisor es un diodo LED y el detector consiste en La
distancia objeto reflectante estar los 5 y 10 mm de distancia. La corriente
directa 50 la intensidad del colectores de 50
El
Utiliza un
ha
Sens
qui
Vista desde arriba
As
.
cto y Diagrama interno
7 con 

ara conectar estos dispositivos hay que ésa es la de
resistencias del circuito de la 32-8, donde se las dos posibles formas de
conexión. se quiera la salida para color blanca o negra. 

El
 40106 se las tensiones a
lógicos. Hay que tener en cuenta que los valores de de la puerta son
= 2.9 V y = V para una tensión de de 5V y no podemosvariarlos.
medih
rica
bre fonclo
dores
ite
riene
flesion
ia.10 cs
insistor.
- --r Salurado --r E n h d a "U--> VC
- -> a) "1"-r al VG
P RA-MA CAPITULO32: SENSDRFSP,WA MICROROB~JTICA 523
VCC=SV vcc=5v
- Detacta --rTrans151or --> "O"--> pC
Figflru3.2-8 Cirtrritu tr;tlzcosde conexiupr CM70
figiira CNY70.
oper~cional, tensiiin,
rtitnda cl sensor inversora iin
potencibmetro traja
VCC'W
1'70
ción
S
erta VT
ariarlo Fi<yura Conexibndel CNY70 truvés cwi~~ar~rlor
is,
Funcionamientodel Circuito (A):
suele Detecta Blanco Transistor Entrada al "1"
Detecta Negro Transistor en Cone --.Entrada
al inversor
inversor Entrada 'O"
Negro en Corte Entrada al inversor Entrada al "1"
son que la
más
es una
32-7)
una
la misma
del
950
La
.a corriente
del
El circuito de la 32-9 permite ajustar la tensión de disparo del
Utiliza un amplificador que trabaja como comparador de al que se le
ha conectado en la no inversora y a la entrada
que como un divisor de tensión.
de las
formas de
tensiones a
son
S. 32-9 u de un
524 MICROCOWROLAWR P1ClbFR4.DPSARROLLO'
I
I
E E m S '13un-M
si inversora
tensiOn Irt amplicador
'"1" tensibn inversom es qiie la cn
entrada invasora, toma nivcl recomendable que
del circuito potenciómetro rnultiwelta, ya dc csta forma más
h
c senaores OPB703, OPB704 QPB705 Optek Technolom
(www.op~ekinc,coni) tarnbidn t i p como
LED infiarrojos fototransistor(fipia tarso
est5n convegentesalqiadx carcasa n e p
sensm el superficie (247'70.
De aqui tratados, OPR703 OPB704
azul polisdfuro e! OPB705 pemiite desp~azamiento
corregir Q ~ P ~ . plisulfuro gnn
interfmncias por
/
n;lpl-lci y patillaje Patilt
Figura 32-1O Sensores Opiicosrgflaivos OP703/4/5
reff e n k mm 10 mm
comente mhirna lF 40 mA
Tc d.
sedn 10s se figuras
que modificar plarhcibn tcniendo
máxima soportan
c
c
OP703
siiperficicblz
hará que
enfrenta
aparcct
PROY 

Su funcionamiento es el siguiente: la tensión en la entrada no es mayor
que la presente en la entrada inversom, salida del operacional toma
el valor y si, por el contrario, la en la no menor existente
la la salida un "O'. Es la resistencia
variable sea un que es
sencillo el ajuste.
y de E
a empresa
son del reflexivo y utilizan emisor un diodo
emisor de y como receptor un 32-10). En este
montados sobre unas lentes en la y la forma del
permite que haz refleje en una más concreta que el
los tresmodelos el no dispone de lente?el tiene
una lente de y 
 un de la lente para
el En estos dispositivos la lente de elimina parte de las
producidas la luz ambiente.
SuperficieReflexiva
Para
y los
circuito con
en 

a un;
LCD
as y cabezal
La distancia del objeto ectantedebe estar los 4 y de distancia,
L
a directa del diodo = y la intensidad del colector máxima es
de = 30
Los circuitosde aplicación que han mostrado en las 32-8 y 32-9
pero habrá las resistencias de en cuenta la corriente
que estosdispositivos.
c RA-MA c~rinrto SFNSOWS PAKA
- MKROROB~TICA 525
2s
I
chnologv
Tamia
Funcionamienlo.
GZ Blanco ->Transistor Sauraao .--Enbada --> RA3;
1 22P - en C m e Enmda invsrsor --> M = - D .
- -
rte
aplicacion
corriprobar dispusjtivos analizado CNY70
OP703104105 Sensor-CNY70-01 .asm
sensnr 32-1 cl enciimtra
refle-ja entrada
rnensajc inhrrojo
tio
aparece
;E
a
i
m
b
l
l
aL.CD visualiza e& sensor CNY70,
se& b corrrspiindimie.
- B h c o --> sahuado 3 abada --b ="1".
- Negro -> 2 enhda inversor " "-a
KA3 "0".
náxima
7-8 y
3
; Líneas conecrad sensor.
32:
mayor
es mas
un diodo
este caso
del
. inversor " 0 '1'
Negro --Transistor --, "1"
704 tiene
ente para
de las
32.4.3 Ejemplo de
Para el funcionamiento de los que tiernos
y los se puede cargar el programa y montar el
circuito con el de la figura l. Cuando sensor se frente a una
superficie blanca el haz infrarrojo y en la RA3 aparece un nivel alto que
hará que en el LCD visualice el "Color BLANCO". Si el haz sc
enfrenta a una superficie de color negro o encuentra superficie,el haz no refleja y en el
LCD el mensaje"Color NEGRO".
se el color"Blanco"o "Negro" que detectandoel
; configuracióndelesquema Si:
; Color transistor al inversor"O" RA3
; Color transistoren corte al 1 =
distancia,
es
32-9
corriente
donde se
MICRWONTROLADOR PIC1hF&l.DESARROLLO OM-M.4
; Z Q ~ ~ A D E C ~ D ~ ~ O S
* * ~ * * ~ * v + w * * * * * * * * * * * ~ * * ~ ~ * * * v ~ * * + b * * * ~ * * ~ * * ~ ~ * * u ~ ~ * * * ~ * * m e * * * ~ * * * m m + ~
ORG
4 1 LCD-hiciaiiza
MensajeCiilor
call LCDMemaje
STATVS,rn
; del senwr corno
h f STATCiS.RPO
call LCD-Lind
movlw MensajeNegro negro.
b t k Sensor Lae sensor.
rnovlw MmajeBlanco ;
cal1 LCDMensajc Visualira msultado.
goto
DT " BLANCO".0x00
DT " Negra ",0x00
WCLmE <RETARDOS.IND
WCLUDE Sc&4Brr.ENcii.
INCLUDE a - m s . I N 0
Sensor H21AI
populw sensores H2 1 32-12) cl infrarrt
Isocom Componetirs (www.isocorn.com) Faiwhild
Semiconductors (www.fairchildsemin~j.
infrmojos
fototransistor. rcceptor estjti enhitados luz eii
mrn pueda
romper irifrarroja. SE
aplicacibn 1 1F
)as conientc sensibilii
IF mA por lc siiperior mA. C:orpornt
pmeba 32-2. cn
526 DF PROYECTOS
O
movlw
bsf
Linea se configura entrada.
; En principioconsideraque es
; el
No,es blanco.
; el
Principal
32.4.4 óptico de barrera
haz
El representante más de este tipo de es el 1A (figura
fabricado entre otros por y
y Como que pasan po
Estos sensores también tienen como emisor un diodo de
la unid
receptor un En este caso el etnisor y el a una
distancia de 3 y entre ellos existe un espacio para que un objeto introducirse y
la barrera 32.5
El circiiito de para este tipo dispositivos es similar al de la figura 32-8. Los
Los valores de resistencias de polarización deben limitar la por el diodo alta
emisor a 60 y el colector del transistor a una comente no a 20 ion
El fabricante facilita los valores de indicadoseri la tabla muestran 1
v
B F M A ORA-MA
-. -- CAP~TL;LO PARn M I C R O R O ~ J ~ C A
727
patillaje rcccptar
Fi,qura Sensor Upfico hmera H2IAJ
comu
3ducirse
pr
l . ' ,
:picden
Para comprobar sc utilizar
sustitu cimito
sensor hptico. e-icmpl pro_mrnas rn~in-i.asrn, 1n-nt-02.asm o
Semor-LDR-Ol .asm, prcsentarin un e1 n h e r o dc interrumpe
ha;?infrarrojo senwr.
dc
a
1 cncodcr, quc una Eimitia ranuras
por centro m o r artes
sed !avelucidad dcl
SENSORES INFRARROJOS GP2DXX
Los IR Sharp GP2DXX sensotec infrarrojos
IR deteccibn medida dc Sharp
Corporarion &np://sham-wor1d.m) encontramos dc
muestran tabla 32-3.
32. SENSORES
Aspectoy Posición del emisor y del en el dispositivo
31-12 de
3 y
dos a una
y
yendo
el funcionamiento de estos muchos de
los programas propuestos en temas anteriores por el con
el Por las
que en LCD veces que se
el del
Una aplicacióntípica estoscensoresesmedir la velocidad de un motor. Para ello
se acopla eje del motor un es circularcon una serie de
que pasan el del y cortan el haz de luz, el número de del haz de
luz en la unidad de tiempo proporcionara motor.
32.5
son una familia de de compactos de
alta sensibilidad para y de distancia. En la página Web
algunos los modelos que se
en la
524 MICROCOWRCIL4DORPIC16F84. PCTOS c
. .w
distancia.
Sen,cor4es
de serie GP.2D.u
esa
triangulo as pequeAo
Bngulo B gran&
mudo func
refle?
esa lejos,el
hnwlo pequefío
bi@qulo
Figirra 13 Concepto de trimgiiducion
1
el triangulación,
Sensor (m,
Position Sensitive determina
senso
micmontroIad
ci
dto dcite
z
DESARROLLO DE PROY R 4
ndiendo de l
a
Tabla 32-3 l
a
El objeto cerca, el
y el
distancia o la
de
transmite a trí
contrario, no
lectura que se
obstáculo el h
punto de
Seguida
Elobjeto
es
es alargado y el
32- medida por
32.5.1 Principio de funcionamiento
Estos dispositivos emplean método de utilizando un pequeño
Detector de Posición lineal Detector) para la
El
la entrada de
no ha
alcance al que
Ia angufo
es estA cerca, iriángulo pequeiío ángulo es
ta f j p
BRR-m CAP~WLO SENSORES MICROROB~TICA
S 3
presencia los deniro campa Rhsicamente
modo consiste luz infrarroja, quc sc
v
i
s
i
6
1
4que abjcto p r
2
0 ennientra ninpiin luz
o'bstaculo infrarroja trihngulo formado
reflexiiin el
Seguidamente el m 4 0
Sharp GP2DOS sensor i n h j o s
lbgica preahblecido
(figura 32-14), entre una
propio ficil
Patendornmo pai
sensor u
t
i
t
i
7
a sblo una línea
niimontroladot.
entrada (Vi), esperar en* rns V,,
obskiculo,
La información de distancia se extrae midiendo el ángulo recibido. Si el
grande, entonces el objeto el es y ancho. Si el
pequeño, quiere decir que el objeto está lejos, el triángulo es largo y delgado. En
32-13 podemos veruna representación de estos conceptos.
32: PARA
distancia o la de objetos de su de visión. su
de funcionamiento en la emisión de un pulso de
transmite a través de su campo de se refleja contra un o que, el
contrario, no hace. Si no obstáculo el haz de no refleja y en la
lectura que se hace indica que no hay ningún obstáculo. En el caso de encontrar un
el haz de luz se refleja creando un por el emisor, el
punto de (obstáculo) y detector.
describiremos de manejode algunosdeestosdispositivos.
El es un capaz de medir distancias por e indica
mediante una salida (O ó 1) si hay algún objetodentrode un alcance
El rango se ajusta 10 y 80 cm con la ayuda de resistencia
variableque incluye el dispositivo,que es deregular.
---
a
ajuste de distancia
El de entrada y otra de salida para comunicarse con el
Su utilización es tan sencilla como mandar un impulso a nivel bajo en
la de control 28 y 56 y leer el estado de si esta a nivel
alto no ha detectado si está a nivel bajo ha detectado un obstáculo dentro del
alcanceal que se ha ajustado.
530 MICROCONTROLAWR PlC16FM.DESARROLM PñOYE
- RA-MA
'" qP2P15
Sharp GP2D15 por infmojos
digjtal menos 24+3
detcccibn ningtin
control temporización externo. aplicartensihn para
este disponibte 50 ms. utiliza Unica línea de:
con micmntmlador.
Sharp al
mercado GP2YOD2 YK.
ktas tcn GP2DJ l
vcc
GND
vo
El S h r p G P 2 v l ~ sensor mae inrmrrojos. El
una salida annlhgica medida sobrc el refleja
Za tensibn foma se
10 y ital aprecia
eski foma n
i
esta entmda analhgico digital,
cual convierte número binario utifi~ado micmontrolador.
ia tambikn directamente m analbgico. utiliza
h e a salida con mimontroladot.
esde 10a80cm.
D
e caracterÍsticas dispositivo,
GP2YOA21YK.
infram,ja n
negro
p m p l
DE 6 

32 

El es un sensor medidor de distancias que indica
mediante una salida si hay un objeto a de cm (figura 32-15). La
se hace de forma continua, esto significa que no es necesario tipo de
circuito de
el
ni
cada El sensor
Basta con
una
que la medida
salida para comunicarse
De car
el
acterísti
1
cas similares a este dispositivo, ha sacado recientemente
El SI
de
esta c
es un que distancias por dispositivo
indica mediante la distancia al objeto que el
haz de luz. de salida varía de no lineal cuando detecta un objeto en
una distancia entre 80 cm, y como se en la curva de la figura 32-16. LA
salida disponible de continua y valor es actualizado cada 32 ms.
Normalmente se conecta salida a la de un convertidor el
la distancia en un que es por el
salida puede ser usada un circuito El sensor
sólo una dc para comunicarse el Su margen de medida
un
paso banda.
Este
similares a este Sharp ha sacado recientemente al
mercadoel
holadiir.
p o r
&&
Figura fiansferencirs GP2D12
SFHSI.10
SFHS TR (infi-are4 utilizado un
irdiarroja moduIada telemando eoior
estA disehado filtro
VCC
J - - .-
* - 1
-
17 Vida patillaje del SFHSI O
al nm,
preamplificador, demodulador
como puede figura
sensor la hcuencia
comprobarse
utiliza
medida
32-16 Funciónde del
32.6 RECEPTOR PARA CONTROL REMOTO
32.6.1 Descripción
El 110 es un receptor de para detectar haz de luz
en sistemas de {figura 32-17). Su encapsulado en
negro con un decorte para la luz del día.
- GND
Figura 32- y 1
Este circuito integrado incluye un fotodiodo sensible haz infrarrojo de 940
un un control de ganancia automático, un y varios filtros
paso banda, apreciarse en el diagramade bloques de la 32-18.
Se comercializandistintos modelos de este dependiendode de
'laportadoraa utilizar, como puede en la tabla 32-4.
MICROCOM'ROLADORPIC'l nF84. DE t. HA-MA
Cit
f
i
g
h
Auiomdtico -paso banda 4
Demdulador
Ganaricia
circ~
tra
initad
32- Diagruuiri de3 del circuito SFH5 I I integ
ajusta frecc
i cl
TubZu Frt~mencia porfadora de los djstlntns nzodelos dtl setrsure.7
o Vcc=+SV vcc= O
7 -XX
Microconfmlador
infrarrojos
n iina (
DarlingtonBE
(") R1 cdlo periubaciones fuente alimentacibn
Figuru tJ receptor inftnvrojo moúulario
SE1
iS47
(
I
532 DESARROLLO PROYECTOS
32.6.2 

La
detecta una
de
El
un ciclo de
otra a n
O circuito
Figura 18 bloques
la
realizar ajus
32-4 de
5V
SFH 551 

de
GND señal a
y C l son necesariaspara eliminarlas de la de
32.7
32-1 Circuito de haz
E1
que es capaz
GND
GND
L
.
'
, RA-uA MICR~ROBPTITA 5.1)
detector
iiiuestra c l circiiito aplicacihn
infrtirruja frecuencia
V,,
Circuito emisor
uiin olida scr
50%, mitad In sena1 e
s
t
L
w
h tiivel
alto. El astable realizado
5 5 32-201. potencibmetrocori
fi.ecusricia del
cl cle mis
-
! - THR 5
- 1
~7
DIS
Q '
K
2N2222
- q
R2 D I
VCC=5V 0
-
1
3 w
1 lnfrarmjo
TIO
UF
Figzcr-rr32-20 Cir~-l
I ~ I O
t3rnisor kH.2
disiniiiuye R3 diodo
infi-arrojos 10/SFH iina mA,
serial 2N2222
BD135 BC547 cn cl32-6).
IS471F
IS471 Sharp Corpoiatioires iin ubst&ulos
que dc dctcctar emite
CAPITULO32: SENSORES PARA
CV
-3 
TR
U 

R3
47 

15K 4K7
32.6.2 Circuito
vcc
La figura 32-19 de que proponemos. Cuando se
detecta una haz de luz modulada a la del sensor, pone un nivel bajo
en la patilla en ausencia del haz modulado la salida es un nivel alto.
Salida
32.6.3
El circuito emisor debe de ser capaz de generar cuadrada a posible con
un ciclo dc trabajo del es decir, la del periodo a bajo y la
otra mitad a nivel circuito propuesto es un multivibrador 	 con un
circuito integrado de uso muy corriente(figura El el que se
ajusta la multivibrador es recomendable qiie sea multivuelta, para poder
realizar ajuste La frecuenciade manera cómoda.
INT
- T . .
C2 Emisor
de haz infrarrojo modulado 36-40
Si se el valor dc la resistencia hasta hacer pasar por un emisor
de SFH 45 4515 corriente de 500 se puede llegar a recibir la
a una distancia de 30 m. El transistor se puede sustituir por un par
Darlington y utilizado en otros esquemas(por cjcmplo
32.7 	 SENSOR DE PROXIMIDAD
El F fabricado por detector de infrarrojo
es capaz cuando se refleja sobre uii objeto el haz que un fotodiodo
MICROC'ONTROI. m R PlC16FX4 DF.SARROT.1I ) PRí-)YECITOS O*
emisur infrarrojos di: figura
o
a vo
0
@ GLout
dispwitivos inmunes
quc prvpio &ver
~111150~ shcronismo, puede cn figura
margeri dc
16V.
Figitrcl32-22 Dingrum~i
[le hkuqires del 1.94
nbti
uti
detei
vanos
nive
convcn
buml
comutador qui
meta1 qiic
que
la
534 DE RA-MA
dc que se le conecta tal y como se muestra en el circuito la 32-
23.
vcc
GND
Estos son a las perturbaciones de luces externas debido al
sistema de modulación de luz llevan incorporado. El circuito incluye el
de y como verse el diagrama de bloques de la 32-22.
El circuito detector y emisur tiene un amplio tensión de alimentación que va
desde 4,5a
71F
salida se
En este
conectar con
32.8 BUN
Los
uno o
mecánicos com
control de
robatica
Los
hace
dispone de
longitudes de
prácticn figura c l
se distmcia mm siii quc
fisico los puede disniinuir
reflecta tiaz iiiírarrojo. aliriienta SV,
nive1 tcnsiiin 5V no ningi~n
objeto
objcto eri dispositivo,
salida por nivcl
:bid0
:l
3
va
1S471
Fiswra 32-23 hasico ~~plicación
rfd
estabilizar teilsibn alimcntrición es recomeiidable
concctar iiltt-o20.33pF.cntre Vcc GND cerca de1
abrcn o ciemi
elictticos. mercado
controI iiivel tratareriios
micicirobótica bumpers
burnpers diagrama su represcntaciiin
presiiin
liacc u
1
1
miielle recuperacih. burnpcrs
El circuito de aplicación que proponemos es el de la 32-23, con
que pueden delectar objetos situados a una máxima de 70 haya
contacto con mismos, la distancia dependiendo del color del
objeto sobre el que el Cuando se el circuito a en la
patilla de salida (V,) aparece un alto con una de si hay
próximo. Si se coloca un el radio de acción del en la patilla de
se obtienen O V y lo tanto un bajo.
al F
driver
32-22.
Circuito de IS471F
. que
En este circuito para la de
un condensador de y dispositivo.
32.8 BUMPERS
Los detectores de obstáculos mecánicos son unos dispositivos que
uno o varios circuitos En el existen innumerables detectores
mecáriicos como pueden ser pulsadores, interruptores: sensores dc presión, boyas para
de de agua, etc. Nosotros de los finales de carrera que en la
robótica convencional y reciben el nombre de {figura 3-23).
Los como puede verse en el de eléctrica. es un
conmutador que cambia de posición al realizar la necesaria sobre la lámina de
metal que de brazo de una palanca de primer orden que a su vez activa pulsador
que dispone de un de Se comercializan con diferentes
C.....
MiCROCOmOLArXIR P1ClbFS4. PROYECTOS O
O
-
Figura tipo Bumpq
AI el palanca, temhal C elktrico
tminal no estñ contacto
e1tminal
anthbote softwaTe
antirrebote hardware fgum m
t
a
flip M las Ql unas seiiales
4 2 bajo e!
canera Q
1 pasará mi-? 42 pasad
nive1
Figirro Conrxióndelfinal trm&$E un antimebofe
urtrasoni ci
fsecuencia
dctcc:
dispos,
algUn ob-jeto. ri tni
tiempo quc 6
objete P
S1
Ltd ( w ~ ~ . T o ~
[w.sul>en
encuerim
y g
r
32-26,
sensor
medicibn.
piilso 1
scnsor SR1
emitidos z
íil
cs emitir
S36 
 DESARROLLODE RAMA
Activado (A)
Los
pero dc
humanas. Los
mediante un
tardan
Final de carrera Representación de un final de carrera
sobre el que
EL
32-24 Final de carrerade
activar brazo de la el común realiza un contacto se
con el activado A. Cuando se activa la palanca el terminal C en
dc reposoR.
su bajo consumo
con
En temas anteriores se ha utilizado siempre sistemas para los
pulsadores. Un sistema se muestra en la 32-25, se de un
flop que presenta en salida y Q2 complementarias. En el
estado de reposo la salida Q E tiene un nivel alto y la salida un nivel y al activar
final de la salida a tenerun nivel bajo que la salida a
alto.
Este fui
hacer la SI
anchura del de
El
viajan a la
32-25 de carreraa circuito reflejado y captado
incorporado
i eléctrico
1
ias.
ULTRASONIDOSRFO4
Loi;ultrasonidos aire mislila naturaleza
pena superior H-k audibles m
detectores obszacuIos ultrasonidos
mediantc ondas ultrascinicas
algún
volvcr piilsos
objeto
SW04 sensom ultrasmidos,desrtrro!lado Deiwrrrech
Lrd (~w.mbot-electronics.co~uk) comerciali;rsido Espaiia Intpluc S.L
(www.su~mohotica.~~),
que capaz detectar
encuentra cn 3 M pequciío el SRF04
s
u consiirno gran fisico muestran en figum
Canexlones
SRFW
t .5llrnanlsd4n ?
N
Z -Salldn
-E111rada Disparo
fisico Cencxiones postcriol
sensor hncinnn
medicion, la
pulso muestra figura
SW04 fiinciona uftrasonidos,
la hasta alcanzar objeto. sonido es
ultrasonidos. que cl controlador
impulsos, continuacibn contar d
32.9 DETECTOR POR
son vibraciones del de la que el sonido,
de frecuencia a l
o
s 20 por lo que no son por los
humanos. Los de por emiten pulsos de ultrasonido
un dispositivo transmisor, cuando las se reflejara sobre
objeto, a tmvés de una cápsula sensible se captan los pulsos reflejados. El
tiempo que tardan en los reflejados es proporcional a la distancia del
sobre el que se reflejan.
EL es un módulode por por
y en por
es de objetos y calcularla distancia a la que
se un rango de 3 a cm.De muy tamaño, destaca por
contacto bajo y precisión. Su aspecto y conexiones se la
32-26.
e para los
del
rata de un
En el
activare
1
2 pasad a
Eca
3
y vista
Aspecto
Este por ultrasonidos y contiene toda la electrónica encargada de
hacer la Su uso es tan sencillo como enviar el pulso dc arranque y medir
anchura del de retorno tal como se en la 32-27.
El sensor emitiendo impulsos de Los impulsos
emitidos viajan a velocidad del sonido un entonces el
reflejado y captado de nuevo por el receptor de Lo hace
incorporado es emitir una ráfaga de a empieza a tiempo
MlCRKONTltOLADOR PIC1hFM, PROYELTOS un-MA
aiie lle~ar tiemm un nulso michura J;.-,.-+~I n*
3 - - -- -- --- ---=" -- - - -. ---- --'
- - - - - - --- -
distancia encueiitra
uS
ds
U
I IPermita
'1
1 1 ultra<anicos mS desde l 1
d~crla
01 cancni
COmlEriZG ! I I
-----u. u-,
[/ I
ds d >
u
- Iidr
Pulsu
Z E
-
-
-
Diagramar de iiempos SRFO4, (c¿~rfe~..iLi
www.srtp~rrohof
ica.com)
la medida tigura
incrementa p,
siendo de medida ihlida 11sy 18 correspondientes cni 1
respectivama
i
.**************
1
- - - - - - - *
- .L
------.-
Para
I
;lhea RA3
;sensor r
uitemrpcionespo
;Seguidama
I
I
;centirnms.
0,lO 0,18 0,24 030 18,00 36.110tPULS0 (ms)
MlNiMo I
_nniurn n~ ~ ~ n i n a q
--A
MAXlMO D
.
,
- A-A- .
,
-
L
.
IF' I l -
-- I I
I V I L-Ua b
.
G
I
l
U
L
W
i
distaticio »tedida unchuua pulso :ZONA DATi
I
típica puede medidor el 32-
I
-rnM
29, se distancia censor LIST
I iNCLUI
Sen~or~Ultrasonido~O1.asm,
piiede utilizarse d C8UIC
sensor. I Distancii
minirna ps pin SRFO4 ENDC
538 DESARROLLODE
tarda en el eco. Ente . se traduce en de eco de
proporcional a la a la que se el objeto.
Pulso de Disparo 

10
 Mínimo
Entrada Pulso
Disparo
Figura 32-27 del de
La relación entre distancia y el ancho del pulso se muestra en la
32-28. Por cada centímetro de distancia la anchura del pulso se en 60
el rango entre 180 m, a 3 y 300
te.
3 4 5 6 258 259 300
DISTANCIA (cm)
ANCHURA
0.36 17.68 17.94
.".
,
.
.
,- ...--.-,
Figura 32-28 Relación entre la y la de
Una aplicación ser un de distancias, como de la figura
dondeen el display visualiza la desde el a un objeto.
El programa para comprobar
funcionamiento del La técnica de programación consiste en mandar un impulso a
nivel alto de disparo con una duración de 10 al 3 del (entrada
un retardo de
10
Impulsos
el final
del Pul-o de Eco y el
del Pulso de
Rafaga sónica
Disparo
U
Nota E l Pulso Eco
NC
de Salida de Eco
; el control
que
se ponga
;
se
.
,
;Eneste programa
DE
Rh-MA
:
retardo
sl 6nal
le1
.
i
ps,
300
sale
prcipiircional
.*kli**O*iT~U**L***O#*******i**,**SeIISM uaoniJo + * * * * * ~ " + C * ~ * * * , V U * * I * * ~
- -
;Programa un medidor & dismclas objeta utilizaridoL.erisoíporuhmonido SRF04.
; semar primer iugar un us mveialtopor
:línea que Ia entrada di~paro m
s
m
. que m
;aensor ponga nive1 conecta liea Ips
interrupciones desbordamiento&I Timcr medir alto
;Segudmente v i d i z a módulo LCD Ia okqeto e x p r d m
;centimfms.
; m
t
ú
r
&
u el SRF04 ps pulso.
distanciaminina mixima
OxOC
m i
anchura
de
le
e Eca y el
Pulso de
la figura
en 60
y cm
disparo). Después se lee el pulso que por la patilla de ECO pin 2 y se mide su
longitud. que es al eco recibido.
para hasta un
Parael controldel en segenera pulso de 10 a la
se conecta a de del Seguidamentese espera a el
se un alto en la salida ECOque se a la RA4y se utilizan
; por O para el tiempo que estáen elpulso.
se en el el valor de distanciahasta al
Porcada de distanciaal objeto aumenta 60 laanchuradel
; En este programa la es 3 ctny la 250 cm.
CBLOCK
Distancia
hIICRKONTROLAWR PIC1hF84. UESARROLI.0DE PRO'rT.C'TUS
#DEFINE Diqm PORTA,3 Disparo
#DEFINE PORTA4 Pulso
MinimaDis!ancia EQU .3
MaxbDistaacia EQU ,250
TMROCarga~crm EQU 4'27' obten experimenttilmente
; Stopwatch
Timer cuda M) p. correctzmciittpir tolemcias componentesM d
hacer a j e fúio este vator, wbre Ias
ORG O
goto
ORG
goto Serviciointemipcim
M-jeDistaracia
DT " Distancia:",OxOO
MensajeCentimetro
DT" 0x00
I
V i s W
hfmsajjeDisranciaMenor ;visualizmrrm
'mist. 0x00 ;Ycuandom
McnsajeDistanciaMayor
"fist. 0x00 ; distancis
4 1 LCD-Inicializa
bsf STATWS,RPO
kf moy
bsf Eoo subu
mwlw b ' m ' Prescaler TMRO. bth
movwf OPTION REG
bcf STATL'S~PO ~ D
:úticializa sub1
btfsr
clrf Dic(arrcia ;Iniciztli !
m
bsf Comierw guiso disparo.
cal1 Reiardc-70micros ;Duraciúnde1 DisrauciaMayt
bcf Dispara disparo. mov
m = x ~ E o o l mov
btfss E C M , el flanw be h &al mov
@tu ESpera-Ec0-l ;de del
movlw TMROOCargadOmicros
m M W O Timer
rnoviw b'10100000' ;Auton~a
iriterrupcibn TMRO (TOIE). m
v
movwf M C O N mov
mOY
E s p s d a i
gota S W . D
i
s
l
~
n
c
i
a
F
i
a
b
i
clrf N C O N ; pducido d h c o Prohlbe intemp. m
cdl VisuaIiza Visualiza VisurilizaDim
540
; para iniciar la medida.
Eco ; cuya anchurahay quemedir.
;Valor ido con la
ventana para una interrupción del
; O Si no mide las de los
;que un de comprobándolo condicionesreales.
Inicio 

4
; la d
cm",
DT MENORde:",
Si la
DT 
 MAYOR de:",
Disparo
; de 2 parael
línea de disparo en bajo.
el registro.
Disparo ; el de
pulso.
;Final del pulso de
Eco ;Si espera subida de
salida censor.
;Yaseha producidoel flanco de subida
;Carga el O. 

del
; flancode bajadadela de lasalida
Espera-Eco-O ;del
Se ha de bajada.
; la distancia.
call
gota Principal
tiempo huta pr6ximamedid&
- Subrutina"S&cioIntmppioa" -------. - -
ejecuta l
a peticibn Timer cada 60ps 8s mCmento
;& anchura por centímetro distancia
valor distanciaespresada
ServicioIntmpcion
movlw TMRO-Carga60micros ;Cwga Timero.
TMRO
movlw .i insmicciim "addwf", "incf'
&lwf Distancia,F para posicionar flag
mvlw MaximaDisimcia En c m desbordamientocarga máximo
btfk STATüS,C
Distancia
f MTCON,TOF
rdie
Visualiza centimetros. t i x e niando
visiialitar nírmero dwenas vimialicen aunque sean
Iasdecenas vidicen =o.
; eu
Visualita
can
subwf
btfss
movf
sriblw
btfs
goto
DistanciaMenor
niov1w
mowf
DistanciaFiable
VisuatizaDisimcia
tnayor apmcc emir.
pantrillaantsrior.
comprobar mInimo 8drnisblc.
:TW)+istancia)-Minimaatancia
;C=l?, ¿(W) i@istancia)rMinimaDi~ia?
; menw. error.
: comprobar máximosdmisible.
(W)rMaximaDistancia-(Distaricia)
¿CeO",¿(W) &laximaDistancia~istancia)?
; entra dentro del
MaximaDistancia distancia rnayw &o
MensajeDistanciaMayor
VisusiizdXstancia
MinimaDistmcia
MensajeDiutanciaMenor
~ i i s u a l ~ D i s ~ c ~ ~
ir~enor
del minimofisble.
Reíardo-2s ;Espera un la
Fin
;Se debidoa de interrupcióndel O que 
el
la de pulso de medido.La variable"Distancia"contiene el
del
; de la en centímetros.
el
movwf
;Seutiliza en lugar de
; deCarry.
; de su valor.
movwf
bc
; la distanciaexpresada en Se demaneraque hayaque
; un mayorde 99 las siemprese cero. 

;Y cuandoseamenor de 99 no se si es
Si la distancia menor de 3 cm o de 250 cm un mensaje de
;Borra la 

movlw 
 ; Vaa si es menordel
; positivo?.
goto No ha resultado y saltaal mensaje de
Va a si es mayordel
;
; negativo?,
No,lamedida de la distancia rango.

goto
; La es que el 

movwf Distancia 

movlw 

;L
a distancia
Distancia
movlw
movlw
MICR(K0NTROLADOR PlC16F84. UESARKOLI.U PROYEflOS 0 KA-MA
!
',
caIl LCD-Mmje
rnovlw :Centre de m llnea
cal1 LCDLPosicionL~ ;& pantalla.
DistancikW
4 1 Bi'Na-BCD :im
mvf BCD-Centem~W ;Primerolai
btfss STATiJS,Z m vislializa las
gota VisdmCentenas
mcst-f DistanciqW ;
d i BIN-a-BCD :Liopass aBCD.
d i LCD-Byte ;Visualiza decenas
gota Visuali~a-cm
VisdizaCentmas
cail LCD .NitibIe ;Viwalim
movf Distancia,W reci~perar vaior.
d BIN-a-BCD ;Lo
cal1 LCi-ByteCornpleto ;Visualiza detenasr a q u e ¡
:unidades.
movlw MensajeCentim-
csll LCD-Mumaje
r e m
INCLUDE <REtARM)S.INU I
INCLUDE <LCI3-4BR.lNO
INCLUDE-=T.CT)-MENS.IND eleckbnica.
el SRFO8. niedidor
ultrasonidos robots con conexion I2C. Tiene 6 ul
mA 3mA Imta 1h
s8lo entrnda permitiendu cxperimental,
perimetral Únicamente pjnes valor dadido,
iin scnsor traves tamhikn del ‘-trasto",
IZC. aproxiinadamente del SRFW. hitolir
rnicrombot. E:
a Nivel
542 DE
.S la metida la distancia lasegunda
la 

movf 

pasa a BCD.
centenas.
;Si c
e
r
a no 
 centenas.
Vuelve a recuperareste valor.
las y unidades.
las centenas.
; Vuelve a este
pasa aBCD.
C
las sea cero) y
La mb
H
Un sensor con mejor resolución es Se trata dc un de distancias
por para un alcancede m y un consumo de Para
35 activo y de sólo en reposo. Gracias a su bus 12C se pueden conectar sobre una
unidadescon dos líneas de y salida, montar un completo sonar
en cualquier robot con dos libres, Como conocimientos
incorpora fotoeléctricoque indica el nivel de iluminación a el le
bus Su precioes el.dobleque el como
33.1 INT
niveles, cada
único
capac
a
l h
3r
consiuno
lnectar h a ? a 1
:ompleto
es
CONSTRUCCIÓN
apasionantes
había adentrarse
día, imparable microelectrónica,tio
denoniinado microbot,
investigacibn nonnalrnente microcontrolador esd
desarrollar
conssucción
micromhot experimental llamaren~os
l i s
Unico limite imaginacion
constniccion
la Microbotica, pionera? campo Espaiia.
basada TorreBot
cuales el
física,
-A
DE UN MICROROBOT 

La robótica es una de las aplicaciones m
á
s de la electranica. Hasta
hace poco tiempo que ser todo un experto para poder en esa rama de la
electrónica. Hoy en gracias al avance de la es dificil
construir un microrobot, también qiie es un pequeño robot de
que se controla con un y que diseñado
para realizartareas concretas.
Para un solido aprendizaje, sc van a las explicaciones de este capitulo
sobre una aplicación real. Vamos a detallar la de un microrobot
experimental,a partir del cual, el lector pueda desarrollar toda sus habilidadesmanuales y
conocimientos de mecánica y electrónica. A este le
"Trasto", el lector puede introducir todas mejoras que sea capaz de idear, poniendo
como su (y presupuesto).
Al plantear la de un microbot es interesante conocer la clasificación
que hace empresa una de las en este en Esta
clasificación esta en la Torre de Bot o (figura 33-11, que tiene seis
niveles, cada uno de los diferencia un paso en diseño y construcción del
microrobot.Estos niveles son:
Nivel físico.Comprende la estructura las unidades motoras, y las etapasde
potencia.Es posibleencontrar desde sistemas sumamente sencillos basados en un
único motor hasta estructuras sumamente complejas que buscan emular las
capacidadesmecánicas de algunos insectos.
segunda
de distancias
un de
6
sonar
valor añadido,
también del
1
1
1
534 MICROCOW.I1'ROLA~CiR
PIC1hF84 DF. PKUYE(:TílS
-
-
<, IL-MA 4% KA-.UA

Nivel reaccihn. Está cl ccinjunto scnscrrrs sistema? Nive
básicos sensurcs margei I con11
podenios bumpcrs de cono
microcaii~arasdigitales sistcitias rcconociiniento. microbot coop
cn coilstnicriiin cl fisicn de PnPU
reaccibn, se Estas cuiiipl
"acci6n-reaccioii". estc sensores estc
contr»ladores iinidadcs irlotoras,
Inklgencia
Nivel
1 ~ i v e l
~lslco
I 1 1
Iricluye d s quc i'elacionan salidas de
sensoriis Con unidades. y
potentes microcoritroladorrs
procesiu infonnaciói~
ribtenida serisorcs coino
una las uiiidndcs motoras.
$ir1ificaci6n pluo. csie nivel
cibjetivcis dcl qrie indepei-idenciri
1
sensores. cl iiiteligcnciaquc
l corno una iridividuat
I hiicionatniento un
dentro iiti de forma ximultliiea
I conocimientos explicitoq existencia otros eii
entornci. rccintos sc dtmomina granjas. Los invcstigacibn
1 s granjas conio entomiis
- .
pucden contar con sufisticados quc u
1
1
operario monitorilx coinpcirtarniento comiinidad
externas dcl sistema (agregar terriperatiira.
p
mcrcatlo.
S
p
~n los
posibilida
redirctorcs. qu
cnn
algunos
radiociititrol.
en
S
constmcción
cibjei
muttitud dc a(
DESARROLLO
de formado por de y los 

para su manejo. Estos cubren un amplio 
 dc
posibilidades, así encontrar desde simples (finales carrera),
hasta con de Un que
haya superado cuanto a su tanto nivel como el

denomina microbot reactivo. 
 unidades trabajan iendo la
premisa, En caso los son los propios En
de las sin ningún tipo de control intermedio.
Nivel 6
Nivel 5 un motor
Nivel de
4
Nivel 3
Nivel
Nivel de control. los circuitos básicos las 

los 
 las restantes Partiendo de una simple lógica digital
llegando hasta buscan dotar al rnicrobot de la
capacidad para L
a por los asi actuar
de manera controlada sobre
Nivel de inteligencia. Abarca la a largo En se
introducen los microbot tienen relativa de los
Este es nivel más alto dc puede alcanzar un inicrobot
utiidad .
Nivel de comunidad. Se trata de la puesta en de más de
microbot de tnismo entorno y sin que ninguno dc
ellos tenga dc la de su mismo
A estos los centros de 

utilizan 
 de observación de los microbot. Dichos
establecimientos sistemas permitan a
el dc la asi como alterar las
condiciones obstáculos, cambiar la 

etc.) 

son los que
revoluciones
apropiados
o la
microbot
de dc
En mic
estudiado e
Estos
trasladar
histemas
3rgc:cn
:
qiie
mo
~iliendo
dio.
digital y
lot
nio
i
de
nguno de
inismo
~stigacioii
tan
.Iterar
ipcratura,
de doildz iiii cle
programati Icis microtiut quc icngan
Q ewistcncia de inarizra cqacidad
coopera1para huzii Deiitro dc pip
fútbol constitliidcis rnicrcirubots.
capítiilo cunstruir quc 1leg:ira hasta
F~S~CO.
dcI fjsico comenzarelnos 13 dc
microbiitica, cucnta cxistcn
hctorcs 1
3 el niodo ccintrol.
cot.iientc coiitinua cxisten
Denti.0 de aricdad existentes mcrcado tilis economicos
sc alguncls Ticneti niimero
revoluciones nimuto clei*ado sil cs quc hnctl
la ccin5mcciiin nitcrubot no be iitilizan rediictoras adicionales
electrbnico.
Eri juguetcs ,tl(~c.rrno I,cp podemos cncuntrar rccluctoras
o dc constniirlus. TarnbiCn encontrar cn cl mercado inotijres
rcdiictoies, que adernas disminuir 1;i lzlocidad dati mo tir e1
con cstructiira y quc pruporcionalmente pcsa muclio. fotagi-afias
dc cstos rnucstran iabla 33-1.
Servomotores
micrnbótica suclcn n~isnicisservoiiiotorcs inodclismo
radiwontrcil. trata motorcs iin circuitci ccinio que si: Iiail
cl l.
senuinotores cumlilen Iiacen ~~S~IIL'US
coiistrucción conici bucn par suficiente para
hcitcría, baja I
; incliiyrn
de
carrera),
robot
el de
la
propios
salidas de
.
de la
actuar
nivel se
:ia los
microbot
.as de un
u
. Dichos
a un
las
Nivel cooperación. Comprende los sistemas a partir dc nivel
comunidad se planifican o para
conocimiento la otros, dc que posean la de
el desarrollo de uria tarea. este estarian los
popularesequipo:, de por
En este vamos a un robot el nivel dc control.
33.2 NIVEL MOTORES
Dentro nivel a hablar de los motores. A hora elegir
un motor para aplicaciones dc debemos tener en que varios
como son velocidad, el par, frenado. la inercia y el de Si lo
que queremos es utilizar un motor de varias posibilidadesen el
mercado.
33.2.1 Motores de corriente continua de pequeña potencia
la gran de tipos en el los
son los que utilizan en juguetes. el inconvenientedc que su de
por es muy y par pequeño, lo no los rnuy
apropiados para de un si o
un sistema dc regulación
33.2.2 Motores de corriente continua con reductoras
los como y motores con
la posibilidad podemos con
de le más par, lo que permite
microbot su batería Las
algunos dc motores se en las figuras de la
33.2.3
En se utilizar los que en y
Sc de unos con electronico. los
estudiado en capitulo 3
Estos las características que los para la
dc nuestro microbot, un de salida, potencia
trasladar objetos o uno inercia, capacidad de niovcr 3,5 Kg cm,
*2 . -
l
-.
:.-M
reductor relaciciri 194:1 doble relacihn 17:1 can
bi2,4x6 mm,tensirjn h b a j o 1,5V-12V 44x20 rnm, tensión
13-t2Y
I
..+--. -
-
L
.
.
rcductor reiacicíti 1 doble 4 ~~o~
mludor
de reIaicj6n10:1 con doble
tensibn de mbaio V d mm,tensi6n trabalo 1,SV-
s66 MICROCONTROLAWR @M. PROYFCTOS Q m-MA CRA-MA
esñuctura ir carca- plástico rectangular mw p d e s para
rornillos. mstmcci6n
microbot ha servomotores motnccs.
TabFn Tipos d~mororc~ C.C. comevciu~es
conredtcroras
pder apIimci0r1, servomotor "mcado"p
quc e
l cjc dc3 girar 30s " ó
270".
1 Madifiicacidn servomator
""tmcar" servomotores hará
tipicas radiocontrol, quc comiente con
reductorrt, p m ningún problema
miiestran psos pan convertir scrvomotores
motores iina reductora.
servomotorcs similares, modelo HS300B m a
Hitec es Fiitaba S3003.
!
1
~icos
quo
cleclrcc
h s S
conici
es reqlicr
estin
mwh
circliit
In
DC
c1tornit
me&?mcton
eskiao
sacda despub.
tos CM
Ii
clcctrt
esti
extrae7
potenciam
engranajes
quc hemos ahie
En
la
la ~ifelo
potcncia (
c
PIC1 DESARROLLO DE
t
plana al dentro de una de fijar
los De hecho la opción que hemos elegido para la de nuestro
"Trasto" sido utilizar estos como elementos de girar
como
las que
restricción vic
por tanto,
motor de
Motor dc con eje Motor con reductor dc Quitar
de doble eje de de trabajo
que es
.
Motor de 23: crin eje Sacar
4x40 mm, 1,5 a 12 V eje de 2x20 de posterior. Al
4,s v circuito
metido a
hay que
del
Pata
33-1 de
utilizarlo en nuestra un debe ser que
motor pueda 360 ya que normalmente giran entre hasta 180"
dependiendo de los fabricantes.
33.2.4 de un
.
es
El los los inservibles para su use en las aplicaciones de
dc ya se convertirá en un motor de continua una reducir
caja perodesde luego nuestro fin no tiene y par
Seguidamente se los a seguir los en
de corriente continua con caja La mayor parte de los
,
son nosotros vamos a modificar el de la
que muy similar al
o
tes
i
3
.
ihjo 1,5V-
ricado"
iasta ii
iplicaciones
rtc los
le marca
- "
ie
limi
A
irnos con!
to,
-
irnillo
- 1
mr
180"
3
1
orte con
n m
L
m serv~mtom oigal 3VU ~ ~ p c c s - - - -
entre 180" 27W,
apbcaciones -
Ií~qque riensados Esta
' ~
restriceitjn lpuesta F t o v s :
-K
gil '
circuito elscmnico. las
pode segiir 1 60" Y. I
10
motor DL ducti.,
b
-
P- - - -
w
!
t
c sujeta soporte
rueda tractosa uniaa
F
sacarla dccptiks
' "'
S
I
- - - .
- - -
cuatro Ia
circuito eIectaónico nuestro
está presjiin, para pdcr
extraer EomilEo eje
del potencihmetro por 1
3 partc
enmnaies muesta la
ql
1
l
m
. . . - . -
.
a h
la reductora cuya CY;
velocidad motor
potencia arnnqiie
para fijar
de nuestro
con doble
para
180"
ua con una
motores en
dc
la
hemos
que
.
que
.
qii
unos
m a
giro de
de . .. . . . . . .
de girar como mucho y
como es requerido en las para
están inicialmente.
mecánicos tan el y un
Si eliminamos dos .
cosas el
por lo tan sc comp un
de con caja
Quitar el e el de la
solidariamente al eje,
.
que es estriado,
a pr
Sacar los tomillos de tapa
posterior. Al levantarla, se puede ver un .
que en caso
metido a quitarlo
hay que el que sujeta el
de los
que están en la cara a
abierto.
En esta figura se aprecian los engranajes
de etapa misión
reducir l
a del y dar mayor ..
y parde al sistema
-54% MlCROCONTaOLADOR PlCIóF84. DE PROYECTW RA-MA
[ rniicho pcrder ningina [ -Y
cllas. atencion pequefio
hay niedas intcrniedias, cn
algunos servornolores es
mtivil.
carcasa. ayuda
piinta tlicrca
1 poinci6rnetro.
l -
circuito
-
potcncibnietm ayudandose
destornillador
i
impreco. mn
gi~c exterior
poder reiitilizarlos.
Seyidamcntc rijo
roio otra. cl
iitiliza.
Ahora lirnitadot
pestal'ia
unos
corte tal y figura.
peqiieña
algunos restos dc miicho
romper mcda porque
' scniomotrosc volveria
..
.
supeior
1-0
1 - E-- h .
-
moi
confundirr
fomqr ni1
manen niic
tapa
ias
está t
-
At~nriiiar iiiu
1
dcl rr
para
dc tira
-
todo c
meda dentadc
ocurrc
meda. pu
conveniente inl
cri tien
bic
hacc
tijñi
prbximo apnrtai
nosoM
util
mostrado li
carca= rednnd:
tubo in
DESARROLLO
cuidado de no de
prestar al eje que
entre las
modelos de
en nuestro caso está fijado a la
Con de unos alicates de
plana quitar ahora la que
sujeta el
Proceder a desmontar la placa del
impreso y e
l
con un para hacer un poco
de palanca.
al motor para desprenderlo del circuito
Hacer lo mismo los cables
conectan el a la placa del
circuito impreso para
conectar e
l al terminal
con el punto y el negro al
tercercable no sc
eliminar el mecánico, que
consiste en una de la rueda
dentada. para ello utilizar alicates de
como se muestra en la
Usar una lima si hay que eliminar
la pestaña. Tener
cuidado para no la el
inservible.
Y- -
.
caso
Volver a
caja reductor
no
no
nnest
eje de ru
aconsejable
cables
interior
cl caso
En
la
muy frec
la sc
separado
Pues
deberemos
Para
hacerlas
Si se
han
el dc las
a medas de la
reductor% In tigira
mucho de
fomar de en_majes,
tapa debed
nuesm cuict~do
ruedas infcrior
estA propia
1
n tapa inrenor, es
acorasejablc niido
=Mes dejar
proteja
fimr cable.
-
Tahln Secuencicl rransJomas .rwvomotoi.en mo,
mis delicado Ia elitninaciiin pestafia
meda con sumo mcda quc
ocurre abn todos Iw avjsos quc r o m v
nida, pucde es
informar medas dentadas se conipmr
modeIisrno radiocontrol.
Pues tenemos uno motorcs pwa niimm mimbot.
deberemos para tener
estructura
Para fijar cl csmtcttira microbot, describiremos
priiximo apanado, tan sÓIo tendremos ~orisegir escuadrasc m
hacerlas mismos trola aytida dc
otros dc comientc continua
pucdc mis compleja. el motor
cascasa se puede lac utilizadas fijar
cléetricas supcfieie, miicstm figura 33-2.
Volver montar las dentadas
caja fijándose en para ,
no confundirse, y tener cuidado
no ninguno los de
manera que no puedan deteriorarse. La
superior entrar sin forzarla. en
caso hay que tener con el
eje de las superior e que
en la
A-
Atornillar nuevamenre
hacer antes un en los
del motor y el nudo en el
interior para que las soldaduras en
el caso de del
33-2 paro un
En todo este procesa, el momento es de la de
la dentada ya que si no se hace ciiidado la se ptiede partir, caso
muy frecuentemente. Si con se le estarnos dando.
la se intentar pegar con un pegamento de contacto. En cstc punto.
conveniente de que estas también pueden por
separadoen tiendas de y
bien, ya de los preparados
hacer lo mismocon el otro la pareja necesaria.
33.2.5 Fijación del motor a la
motor a Ia de nuestro que en el
que unas unos taladros, o
nosotros con un de aluminio y la de un tornillo banco.
Si se utiliza cualquiera de los tipos motores de que se
han mostrado la fijación al chasis ser o menos Si tiene una
redonda, que es lo normal. utilizar una grapa de para
el tubo de las instalaciones de tal como se en la
w
55O MICRDCONTROLADOR PIc'l hFP4. PROYEcrOS
ana
Para la cunsiru~xi0n tlurñirrv microbot piemos rnucl~os
estructuras, dependerhn fi~nci0n
que quminos
rbot bípedoquc ~ i n
mstreador hexiipdo.
33.3.7
las estructurac más utibzadas
construcci0n ~Mccano Eifech,intmsantes
poco mrjs pprreden utilizar ntructum los Fi.~cherTechnik
k o n disefiadas aplicaciones corno de
micas (figura
eje
empu
pvdem
P
alqada b:
microbot expt
por ejemplo
Un 

1 de la
donde
impreso de
una 

DESARROLLODE
de utilizar tipos de
que de la realizar, noes lo mismo diseñar
un 
 a un
Estr
Unas de es la de los juegos educacionales de
tipo Lego, o por su flexibilidad.Para un diseño
un profesional se las de que
originariamente para técnicas tanto estáticas
33-3). Para el
con movimiento
incluso pucdc
io disefiar
ejempb estnrcturarealizada Mecano microrobot Pivot-
1 empresa Microgsdazs Engineering. foto qne se
sus disefiadares han
mnhE estructura mecánica jiistrtmente él encuentra
una batm'a 12? 0.8 mA%.
33,3.2 rnicrarobot
corno
mlcmbot, salvar absdciilos
rnicrobot. expetirnental d e m o s utilizar estructura más
p r un trozo metacrilato, poliestireno, de
puede i
m Coinpact Diycs.
Figi~ro Estructirra rnicrohot "Trasto"
I
Un de con un es el caso del
de la En la muestra en la Figura 334,
donde podemos ver cómo integrado hábilmente la placa de circuito
impreso de en la y debajo de se
alojada de plomo de y
tipos de
Estructura del experimental "Trasto"
de
Para el caso de nuestro que no debe y que sed un
de bajo coste, una sencilla, como
ejemplo de PVC, placa circuito impreso o
incluso servirnos lacaja de plástico de
33-5 del
Eri nucstro H placas poliestireno 13,5
piieden otras mcdidas. poner
batctías piso motores scnsores esi
(figura
NIVEL F~SICO.
Estructuras
Los microbots Jus de niedas:
irioiiices dc traccibn, qiie cstán corizctadas inoior cjc
&en adaptarsr: Los terreno.
de liiwtar
sc piieden alguna estsucturas cil
33-6 configuracion adoptada iiuestro microrobot experimental
corrcspondientc 1;i figiirn permite mis del
d i r e c c i b n MICROBOT
I
Fipim Es!n4ct~ira c:oclrc Figitm Paru rnict.nhot Truslo
DIRECCI~
rue
moviniisnto li
p
c
ciptado
pacias :
fem
caso vamos utilizar dos de blanco dc 180 x
mm, pero utilizarse Se utilizan dos placas para poder las
en el inferior y el circuito de control de los y el superior
33-5).
33.4 RUEDAS
33.4.1 segun la colocación de las ruedas
utilizan tipos
Ruedas o
ser Capacesde a obst
Ruedas"locas". que deben ser capaces
áculosdel
rodar y
al mediante un
sobre si mismas.
y
La ruedas colocar según de las indicadas las
figuras a 33-9. La para ha
sido la a 33-7 que un control sencillo sistema.
E S T R U C T U R A D E COCHE ESTRUCTURA DE
Tracción y en NUESTRO
d a s ruedas
Rueda Loca
33-7
33-6 tipo
Ruedas de
Las
contrario es
Las sol
por la
a una
cualquier
180 x 13,5
?r
1
.nteun
:adas las
crimental tia
*1
DIRECCI~N
TRIC1CLO
Figwra 33-8 direccirin difirencid Fipm E.striictrrndp triciclo
Las ruedas "locas" deben scr sobrc misr
tnás suavc pam (' -
-
contrario bhtoqucc
Fig-um33-11) Ruehs "Iocrzr"cwr r mrlmlentos
nas I
tipo pueden Nosotros hemos
figura 33-1 que niedas eje
gracias peqiiciia plataforma rodamientos,Jaspdcmos cnconimr
ferretería, ademhs _san mrnañcis, Otra
el superior
poner las DIFERENCIAL ESTRUCTURA DE
Ruedas de tracción
eje y
mas.
en 

33-9
Con
sistema.
33.4.2 Ruedas "locas"
si con
capaces de d a r y pivotar
movimiento lo posible no dificultar la rotación
es posible que se y patine.
Las soluciones para este de d a s ser muchas.
optada por las de la 0. son que giran libremente sobre su
a una con fácilmente en
cualquier hay un surtido de ellas en lo referente a
5?d MICROCONTROLAWR PlC16FR4. r un-VA
i
opcibn podn'a mil-on se
terminal pam estnictrim.
Er
mcivimie;
L
i
einr
DESARROLLO DEPROYECTOS r
ser utilizar la bola de un de desodorante, a la que le adapta un eje
acabadoen un fijarla a la
hacen
los
c jug~etc
enconw,ir
:undaria
ichci de uri
hay que
ruedas,
iiie de S!ípcr
3ara fijar
t> R4-!iA
C'APITUIO (:O'IS-~RL~C'C'ION MICRUROBVT
d p t a F~SICO. I
cstruct~iraque clegido iiiici-obot pemiitiIá
i
hacia ñtrris, giro la N
I
1
I
1
!
1
i
8 ,
F i ~ ~ k m
33- i~intierrtuhucia delunte Figura Moilir~lit'rito atru.~
tigura mucstra wi ttiovimiento
haceti girar los dirección hacia
rectilíneo, siiponiendo exacLm.icnte
figura reliresenta forma mor,irniento
girar iiiotores uii
I
-
-
-
1
-
-
~ectilineo,
supiitiicndo scm exactaiiziite
Figum 33-1J Giro en,spnti& hora,.io F~LU~U Giro LJ /U iqzkierd~l
Por forma moviniiento
K4-MA 33: DE UN 555
un eje 33.5 NIVEL MOVILIDAD
La hemos para nuestro nos realizar
tnovimientos hacia delante, a la derecha, a izquierda y sobresi mismo.
un
en
para
o
ntcs
para
las
12 Mo 33-13 hacia
En la 33-12 se como se realiza hacia delante. Se
dos motores en la misma delante, esto provoca un
movimiento que los dos motores sean iguales.
La 33-13 la de realizar el hacia atrás. Se hacen
los dos en la misma dirección hacia atrás, esto provoca movimiento
que los dos motores iguales.
Giro a la izquierda
Giro a la derecha
33-15
su parte la figura 33-14 muestra la de realizar un de giro a
h4ICROCOYTROLADORP1C16F84. PROYECTUS c RA-t.44  r: D.-hiA
-4
cbmo movimieiltn izqiiimda.
atrA.5 y delantc,
niovimicnto izquierda
.Movimientode SObre propio c . j ~
sii tina i~iuy
hace estructum. isuy
(figura comopodrín scr cl dc tiiiciilvs e11pruebas
REACCI~N
decimos principio de formado 10s
realizar
seguidamente de pam microbot reactivo,
rnicroconwolador PIC16F84h, sca Unea niigr;i
microbots
m i s introducirse e! riiicrorobiitica.
muestra quc sensores
infmrrojos descritos capíhilo anterior.
niotoresutilizmios L293B 79.
fi
adyuicicion
1
i~üc
roco~itro
la
556 DESARROLLO DF
La figura 33-15 indica realizar un de giro hacia la Se
hace girar el motor izquierda hacia el motor de la derecha hacia esto
provoca un de giro a la de la estructura.
Figura 33-16 giro su
El movimiento de giro completo sobre propio eje abarca superficie
grande que no la adecuada para moverse en recintos muy pequeños
33-16) caso 
 movi de laberintos.
33.6 NIVEL DE
Como al este capitulo. este nivel esta por
sistemas electrónicos y sensoriales básicos para su control. Vamos a
un sistema control construir un gobernado por el
qiie capaz de seguir una sobre un fondo
blanco. A este tipo de se los denomina rastreadores y probablemente son los
sencillos para cn mundo de la Para
e
La figura 33-17 el circuito eléctrico donde se aprecia los
utilizados son reflexivos del tipo CNY70, en el Para
Para controlar los el driver explicado en el capitulo
ventaja d
<RA-MA
los
do por
:
nte
sensores
:quierda.
elante, esto
:rficie miiv
s.
REO G@A SENTi30 HORARIC.
RüO = "Y.hlOTORG ñ A SENTOO ANTIHORARIO
RB1 ="O'.IhHABILITADRlVER M T O R I
RB2 = '1" H481LtTAORIKR P
Y". G R . SENTW HORARIC,.
R83 D". W R 4 DO AFIllHOPARIO.
- BWNCO --r
TRPNSISTOR SATURAD3 d INWRSUHW' --> HA " 1-.
- -> TRAVSISTOR a AL IhVERSDR '
1
" -->RA =
51 RAO t Rkl "?'ESTA FUEW LAClflEA W" DENTRO LIHEA.
Figwu i Ca'rclri/o
t'I4ciricti hficrobot "
Para tijar sensores heuios utitiaado adhcsivn !S de
adquisicibn cn
I senscires C m 7 0 a la eiitrada del
niicrocontrutirdor inversoras Trigger Schmtt, ademh,
qiie cl 40106 encoiitramos seis inversores.
RA-M.4
Se
= "1" MOTOR 	 EN
EN
1 Y 2 PARADO
3 Y
RB3 = MOTOR EN
= MOTOR EN SENT
y pequeños
do por DETECTA ENTRADA AL =
DETECTA NEGRO ENCORTE ENTRADA "O*
a realizar EN HAY UN M Y CON DE LA
el
un fondo
33-1 del "TRASTO
son los
los una cinta por dos caras. fácil
una ferretería.En la Figura 33-18 se aprecia la forma de fijarlos.
S
3 anterior.
Para poder conformar las señales de los
9.
hemos utilizado puertas que tienen
la ventaja de en mismo chip nos con El
icionamento descripcibn os dispsitivm el
erior. apiwcinrsc dc figura 1
r i e r a 33-10 ryac
* sensor linca al
está conectado "1".
indo sensor sobre linca nem, Ja línea EII
-
Ilega 'V. ii
nresmta cl
k
Antes d
d
i
micmbot, ya S{
fiincion. Dc cst;
pnnci
hr;ide diseñar
Figura Vistolaretnl de! rnicrolior Trcritu
L29I1R niotures cl rnicrobot: 1
los Cil
de~echn encuentn mcctado los dtivm 1 est5n c o mpi
nicrocontrolador. cnciieiit
y la de se explicaron en capitulo
Como puede en el circuito la 33- 7:
Cuando un detecta el fondo blanco, a la entrada de la del PORTA
que F
e llegaun
un está la a la entradade del PORTA al casa
está conectado F
e un que hacer es
que
33.7.1 Est
En
33-19
Primer
Al le hemos conectado los dos que necesita que el
€1 motor se a y 2 que
--
- --
-.< - -
< ' nd->A C ' A P ~ U L ~ )
33; CONS1-KUCC'IOY MCI1C)KOBC)T
Iln-hl).
- -. -
r El izquierdri se enciientra cunectado drivm 1,qire
itlilili
pur lineas Rl33 micmcontrolador.
modo dt fiiiiciiiiiainiento lo5rnotriires niuestra 135 334.
Tabla 33-3 roitrrol dcl inotvr,de~ttclao
Tabh 33-4 Conlroldel m u : ~
que 3
1 montar10 cl en contrario. In iinico ticrie
hacer inveitii siis cuncxicincs. iorografía la miiestiu el
quc prcscnia microbot cebo cl implernentado.
NWEt
33.7,l rnicrribot rastreadór
rcalizar cl dcbzmos estrategia
inicrobut, ya sea lima qiie cornportc com robo1 rristreador 0 pala
hinciiin esta riuiierti podren-iosfiar al~oriimci conixol.
€11 razonable peitsar en cualqiiiera siguierites la
discfiar- algorítnici dc hiii~cioriamiento:
.4ignritma. Depcndjcrido de sensores hacer
micrrihcit tome dccisiunes ~nostradas
en la f i w a 33-20,
~uacirados dc derrclia lectura sciwr
corresporidic~tte: blaiico
encueiipa de lirica nzga.
.
7
DE UN 559
motor a los 3 y a su vez están
controlados las KB2 y del
El de se en tablas 33-3 y
izquierdo
En caso motor le gire sentido que
que es La de figura 33-19 aspecto
el ''Trasto" circuito
33.7 DE CONTROL
Estrategia a seguir para un
Antes dc programa fijar la que Jebe seguir el
se un cualquier otra
De el de
principio parece de las estrategias a
hora de el
Primer la posición de los podemos
que el las En este dibujo
los la e Izquierda indican del
si cs indica que detecta fondo blanco y si es negro que
encima la
izquardo. ra
d3aite
bueno. seguiiniento dcpende
imprecisibn seguirlo
ocasicitiar cabeceus dcscndos
11egue
dc
b seguir urio eri
negro-blaiico
sensores
se
borde
tinea
EstA la
derecho.Seguir a la izquierda
1 Decisio~res
r7 irirrinr seghi sepndo algoritnru
Robot Raslreador
0
Configuracibn
RA0 ->
por
¿RAO=I?
la
RB3=1, R02=1 RB3=1. RB2=1
RB1=1, RBO=O RBi-1, RBO=I
3-?2 Diagratnu ri'rflujo dd prugrama del micvnrnhof ru~trmdor
El P
continuació
cntiende (
bianco
- sensor
lndependi
; -Sielmi
hastaque w
sedal
; 40106
+ Blancr
; (No estienci
; -CoIwNegm
; (Estiencima
;
: C ~
ORG
lnicio
bsf
bs
clrf
bcf
h c i p a l
movlw
bcEsi
soto
movlw
b&
Salida por el borde Permanece sobre la Salida por el borde Está fuera de la línea
Realizar linea n Seguir derecho. Realizar girar a la derecha o
giro a la derecha hacia giro a la izquierda a la izquierda
el
Analizando este algoritmo detenidamente se puede comprobar que no es lo 

suficientemente 
 puesto que el de la linea de la
del camino por el microbot, es decir, depende de la anchura 

de la pista. Esto puede retrasos en el recorrido, no o 

incluso que 
 a perderse.
Segundo Algoritmo. En este caso, dependiendo la posición donde se ; si
encuentra el microbot sobre ; SI el
;
Iínea, decidimos de los bordes,
nuestro caso el borde derecho, es decir, la detección de
respectivamente por los colocados a la derecha y a la izquierda tal y
como muestra en la figura 33-21.
;
;La de los
inversor
; Color
Salida por el borde Permanece sobre la Salida por el fuera de Iínea
izquierdo.Realizar negraRealizar hacia girar
giro a la derecha giro a la derecha delante
ZONA DEDA
Figura 33-2 el
Puertos:
RA4 Entradas
ZONA DE
NO
Ha salido
la derecha? por la izquierda' bsf
f
Gira a la derecha: Sigue camino recto: Gira a izquierda.
Figura 3
-
3
!rda
1
w.4 ~ I A a
3 RA.MA CAP~TLLO
37: <'C)~~STRUCCI~N
D f I1N RIICKOROROT 561
-
rastreador
linea quc scpndo algoritino rastrcador
ia
hernril; los i-azoriarnientos
rigiirri 33-22
-
Programa control micnibut cm1 desplaza lhea
k la ;marcada ~oii~c malo & pi.;ta.
:Iiiira ; sensoresiipticuu reflexibna y 7 0 situados Ia p a delantera
dos U mimbot: sensor esti conwbdo ü RAO sensor M.1.
; programa linea híirde
- derecta esti d m ~ h o :
smsor
IC ; blanco
C: en : - sensor Ia derecha detecia liiiea gim daecha buscando
lanco ; como estk sensor
- microbot dossensoresfuera Iínra. hace itquierda
y c n c o n ~ I d ~ .
sena1 los sensores CNY70 h
s
:
entrddas micrmontroIador baves
;invavor m a n a color:
: - --I -->e
n
- -->RAx
: <Noesti ia Iúiea negra, pihta)
; - -+i
@amistar cortc--> inverwr "1 " -2 -
; (Esti la linca wta La
-CONFIG -CPOFF -WDT-OFF & -PWRTI-ON &- X u S C
P=6FS4A
INCLUDE <P16FX4A MC;.
#DEFINE SensorDcrecha PORl'&O ;Scnsor Dcrccho.
C e ~ ~ l ~ u i e r d a I ;Sensorbptico Izquierdo.
OKG
Inicio
bsf STATUS,RFO Banco 1 registros.
bsf SeusorDerecha : coiifigurancomo entra&
SensorIquierda
clrf PORTB Liiu líneas Puerh
bci' STATUS.RP0 regish-m.
Principal
b'OMK!i110' ;P m girar
SensorDerccba ¿Ha krecha?, ¿detecta
goto ActivaSalida ; c
s
d cncirna lima
n
e
m
movlw b'00000111' : girar izquierda.
btfss Sensorlzqiiierria :¿Ha saldo
33.7.2 Programa del
El programa realiza el del se muestra a
o
continuación, es fácil deducir su funcionamiento si seguido y se
entiende el organigrama de la
; de para el TRASTO,el se siguiendo una negra
fondo blanco a
Los de están en inferiordel
; El de la derecha y el de la izquierda a
El adopta la estrategiade seguir la por el derecho:
; Si que en el borde izquierdo sobre negro y derecho sobre
se sigue en hacia delante.
Si el de negra hacia la el borde,
independientementede el de la izquierda.
; Si el tiene los de la se le girar a la
tal ; hasta que vuelva a 

; La
 de se aplicana del a de un
40106 de tal,que para
Color Blanco transistorsaturado al inversor"O" = "1"
encima de se ha salido de la
linea " O . 

Calor Negro en entrada al
encima de negra. dentrode pista)
&
LIST 1
optico
#DEFINE PORTA,
o
;Selecciona de
Estas líneasse
bsf
, del B se configurancomo salidas.
; SeleccionaBanco O de
movlw a la derecha.
bffis ; salido por la blanco?
No,el detectorderecho de la
; gira a laderecha.
Para a la

tambiénpor laizquierda?
S AIICROCONI'K0LAI)OR PIC'I6F84. UESARRCJI DE G lb M
kovlw b'00001 ;No,estaen bde.derecho.Sigiiz
Activasalida
movwf PORTB
goto Prbcipal
EN¡
Nuestro rnicrobot cn detcc~ar infi-arroja
38 kHz emitc uti 32) y
b
r
1 ,
Fipra i~iict-ubot
TTCLTEO lus sensor-esde i~frarrojo,~
DERECM
R1 R*
IW loa
5v
RESEi
S
: OUT+
IC T
1
PICIBFMA
4011-
- -
5v 5v 5V
IZQUIEROO
DERELUH
- -
- -
ci
SFH511(
c
c
33.7.4
h,
p~
; oonh
;una sena1infmrroj
.LO PROYECTOS A
111' el recto.
Para
tipo
figura 32-19,
El esquema
33.7.3 Estrategia a seguir para un robot detector de baliza
"Trasto" este caso debed una señal
modulada a que circuito como el de la figura 32-20 (capitulo
dirigirse hacia ella.
M1
M2
IZQUIERDA
O
tN2
1
5v
C
Pro
Si se
SENSOR fácilmente el
SENSOR
Programade
33-73 Esquemadel con
1
1
pirulo 32)
rojos
eil
tipo SFH5110-38 sefial infrarmja, se@
~ensor~erichoScnsorIzquierdo, tivamcnk.
sensores
dcbcrá desplazarse por 1
0
sentido contiarici coiii~~izieba
ScnsorIzquierdo sefial infrarroja, Caso niicrobot dehwá
SensorDerecha yiie nieda
c
m de Por coiitrario,
Sensorlzquierdo conipnieha hacc
SensorDerecho, derecha. haciendo rueda
retroceso,
Sensorlzquierda fonna
cl
Sensorlzquierda
senwrlmuierda
~snsor~erscna SensorDerpcha
Figrrn Estraregiu s e ~ ~ i i r
p~im
Ikt~gnr
n Id
seguidu antetior
im-O 1.abm.
Programa contml Micmbot mial
seRal infratmjii kHz.
Para conseguirlo añadiremos el frontal de nuestro microbut dos sensores del
montados como detector de se indicaba en la
figura 32-19, y que denominaremos y rcspcc
El esquemacompleto es el que se muestra en la figura 33-23.
La estrategia que vamos a seguir es la siguiente. Si los dos detectan la
señal de la baliza el rnicrobot cn línea recta y tanto, las dos
ruedas deberán de girar en de avance. En caso se si sólo el
detecta la en afirmativo el girar a
infrarroja
la izquierda hasta que el detecte la señal, por lo la derecha
y
girará sentido avance y la izquierda en sentido de retroceso. el si
no detecta el haz infrarrojo modulado se si lo el
en caso afirmativo el robot gira a la girar la
izquierda en sentido de avance y la derecha en sentido de h
a
s
t
a que
detecte la señal infrarroja. Se repite el ciclo de continua. La figura
33-24 aclara los movimientos que seguid microbot.
22-24 u 
 baliza
33.7.4 Programa de robot detector de baliza
Si se han los razonamientos del apartado se comprenderá
CENSOR fácilmente el programa Robot-Bal
IZQUIERDO
; de para TRASTO el detecta unabalizaquegenera
;una moduladaa 38
; swiswesfipticosSFHSI situados parte h t a l del microbot
El saisor daecha eh2á cconmrln RA2 &ensor
de 1
s lzquicrda RA3.
Cuardo smsor SFHS infranojainodulada,propiirciona bajo
;línea sdida.
progrnma sguiente:
- detecta por ningúnsemiir el niicrnhntgiw ri~mpre dcrecnn.
msores dztectlnprtdora microbot Eacia adelante.
; - se porbdora el msor ia derecha el
; lmicrobot s
m
s
o
r
e
sdetecten baliza.
: - sc e[sensor y DO izq~ierda
el
; g~ra la d w h a basa quc 10s sensores la
I
ZC)NXVkUA['us ***X***************&***W******C***'U"L'*"'****+**********************+*Q***Q*
#DEFINE SzrwrDzrccha POKI'A,Z ;Sensor
SensorIzquierda PORTA,3 ;Senwr Izquierdo.
ORG
Inicio
bsf
b6
bsf
lrf
bcf
btfsc
g
o
u
brfsc
&Oto
mavlw
goto
brfvc
gota
Girohquierda
movlw
got@
GiroDer~ha
moviw
AdvaSalida
movwf
iwo
SensorDerecha
Senuo~lzquicrda
GiroDmc
bilWOO1 1 1'
AcrivaSalida
Banco & regisbus.
; lineas coniigiran enlmda.
; líneas Puerto didas.
registros.
;i,Ha detectadosekí hecha?
mibepor
; Ltarnbitnxid pui izquierda?
; solosella1 derecha, del-&a.
; sensores.
; ia derecha r ~ j k .
,Y por I
sizquierda?
:Tampoco, por inquisirla.
;
;
m
i 1nsti-u
i da
Dispon
m
Dispr
O
O
O
O
Los 10 están en fa
; de la a y el a
; el 110 detecta luz un nivel ensu
de
;El adopta laestrategia
; Si no se la baliza a la
; -Si los dos el avanza
Si detecta en de la izquierda y no en el de
giraa la izquierdahastaque losdos la
S: detectaportadora en de la derecha en el de la
microbot a dos detecten baliza.
Derecho.
#DEFINE
f
c
Principal
Ver-Izquierda
Ver-Izquierda
ha
1
;Selecciona 1
E
s
t
a
s se como
Las del B se configurancomo
;SeleccionaBanco O de
la
; No la derecha.
Si, la
No, por la gira a
Sí, recibe por los dos Sigue recto.
Por no
nipor la derecha ni la
Gira a la izquierda.
Gira a la derecha.
El sct
LOS
m
La pila
deshab
salidas.
I
j :
:I
t
APENDICE
I
CARACTER~STICAS
TÉCNICAS DEI, 1
PIC16F84A 1.
1 <:*HAC.IKKÍS~ I C * SDE L* <:w
msc l
i 1
0 1
1 CPU Haward. I I
i 8 1
irisiiiii;ciriiies rieiic 3
3
5 instr-uccioncs una wla paliibra.
Todiis iiistrucciiincs ciclo dc duran
opcracion:
D c MHz, frecuencia reloj de
o ns, duncibn inaquina.
Frcctiericia rnáxitria dc funcior~irnientci MHz (PIClbF84A-04) 20 MHL
(PICL 6FK4A-201.
príqrama iipn pusiciuncs.
Menioria RAM datos de bytes.
Meinoria dc 64 byfes.
i Instriiccioncs una longitud bits.
ticiien longinid de bytc
Di.;pne de
1 nivelcs
m Dispot~c cuatro fuerires iiiterrupcion, 1
s pueden O
j deshabilitadas sofrware:
Extenia RBOANT.
dcsbortlamientu Timer
eri liiieas PORTR <7:4>
o Por finalizacion de cscntiira Iii
A 

La arquitectura de la es del tipo 

El set de 
 de 

las duran un 
 máquina, excepto las salto que dos.
Velocidad de
o 
 20 para la del entrada.
DC - 200 para la del ciclo
de 4 6
Memoria de Flash de 1024 

dc 
 68 

EEPROM de datos 

con 
 dc 14

Los datos 
 una 1 (8 bits)
15 registros de funciones especiales. 

La pila tiene 8 
 de profundidad.
de de cuales ser habilitadas
independientemente por
o por el pin 

U Por del 
 O.
o Por cambio las
de memoria EEPROM de datos.
1
ENCAPSULADO
A-1 Microcon~o/udor
P KI 6FMA
CAR~CTER~STICAS PERIFÉRICOS
Disponz 1 liricas entrad$ controlindividiial dirccción.
terminal. para
gobernar iin
mA csta bdjo.
mii pin csbi n
Tcrnporkador/Contador bits
programable.
admite escritura.
EEPROM admite 1.001).000
escriblra.
Ciwantiza retenciiin mcmoria EEPROM
40
puedc pines, ICSP (In Circ.uil
Serzul Progrunrii?in~)
Puwer-On Re.wr wer-C'p ( Oscilla~urSturt-Up Titner
(OSTI
temporirador oscilador RC
Priltec.cicin códigodc proparno mcdinntc activa~irjii
de un proteccihn.
SLEEP.
dc oscilüdor seleccionable.
Tensii
(excep
Tmcii
Tensic
/
DIL-18

Figura
DE LOS
de 3 de salida con de
Alta capacidad dc corriente por Proporciona suficiente corriente
LED:
o Consume 25 por pin cuando a nivel
o Proporciona 20 por cuando nivel alto.
Dispone de un de S (TMRO) con división de frecuencia
La memoria Flash d
e programas hasta 1.000ciclos de borrado y
La memoria de datos hasta de ciclos dc borrado y
una de datos para la de datos superior a los
años.
Se programar en el circuito vía sene mediante dos
(PON
)
, Po Timer PWRT),
CARACTEI
Dispone de un Watchdog{WDT) con su propio para un
funcionamiento fiable.
de la bit de
Mudo de bajo consumo
Tipo
1.
:ntiua.
mior
(ln Circtdi~
- 0 p
I
:RI-MA APENDICI; CARACTF.R~STIC~IS'TÉC~'~C~S
nEL PlclIiFX4A 567
-4RQUITECTURA
(SRAMI
RA
-
.
R . 4
,
-
J
.
-
-
-
- --- 181hli
DBh, EEDbTA EECONI
-
e
u
09h EECON2 8% &
C 1.-
OOOhl
-
/*t.-.
- -1 BUS D E I
BUS INSTRUCCIONES 11
3€n CPU j r PILA
VSS
r---- - - N -- -
I
p - , k - " ; " " " ~ ~ l M +
1 F
E
E
y 1
Fipnr .4-2 ipr/~<r-ncr
(le/PICI 6Fb41
CARACTER~
STICASELECITRICAS
MÁX I
Tensirjn pin Vss
V,,, RA4) ..
Tcnsion en VD, dc Vs, -0,3 +7,5V
riente para
borrado y
a los
Timer
A:
INTERNA
MEMORIA M DATOS MEMORIA DE
PROGRAMA CON
1024 POSICIONES
1
PCL
RA3
a
.
.
.
EEAOR
DATOS
EEPROM
(FLASH)
RESET
DE
DATOS
NIVEL 5
MCLR
Arquitectura
MAS ADMISIBLES
de cualquier respecto de
(excepto MCLR y ....................... ........................-0.3 V a (VD,+-0. 3V)
rcspccto ........................................................... a
Tcnsiiin Vss ...................................................... -O,> +X,5V
disipaciiin tnkl ................... .
.
....................................... 8 mW
Máxirna c l pin Vss ................................................................. 1 50 mA
pin VDD................................. .
.
.
.
.............. 1 m.4
Máxima dc eii halo 1IU mA
Mixima zti pin I/O............................ 20i r i A
corrieiite de conjtinto dcl ............. ,.S0 inA
corrienic dcl ................. rnA
corrietiie baio conjuntodcl Piiertri 8.............. 1 mA
Máxiinn cl dcl A-.............. 00 mA
PIClt
instrucciones.
chdigo o p e
Tabla
Eii in
I
W.
i
del
t
Eii
qu
in:
RISC, so1
c
d
insti
i salto, (
inst
ci
en RA4 rcspectn de a
. . .
Potencia de
corrientepor
. .
Maxima corriente por el
............................
corriente salida por cualquier pin 25
corriente de salida alto por cualquier
Máxima salida eti bajo por el Puerto A.
Máxima de salida en alto por el conjunto Puerto A 50
Maxima dc salida en por el 50
corriente dc salida en alto por conjunto Puerto 1
El
E
de
instrucciones de
la B-l.
La nomen
las
O Si
o Si
En las in
bit d
siempre
las ir
literal
Las 35
que no
instrucciones
Las
tiempo de
de
Las
utilizar
APENDICE
PIC16FR4 csti compuesto una LPU RlSC jucgo
instruccicincs. bits instnicciones se
operacibn propiamente hchu o p e d o s ,
insmiccionzs quc cste microconlrolador las
Tabla
ntimenclntiira qiie ritiliziin cs si~iicnte:
d representa
dc
ci "1" cl misino
Eii iiismiccic!nzs bits. b (0.7)
C
instrucciunes Ií reprzsenia
Ios 1 1 bits.
instrucciones PIC16FX4 las caracteristicas proccsador
RiSC, sOlo iui instnicciones
instrucciona cuniplen
Las
máqiiina
dc ejecuci6n
operai-ido.
B
REPERTORIO DE INSTRUCCIONES 

El por de tipo con un de 35
En los 14 que forman las máquina del PTC incluyen el
código de y los en caso de que haya. Las 35
de consta son que se muestran clasificadasen
la B-t.
La estas instrucciones la
En las instrucciones la letra f representa un registro y el destino:
o Si d es "O" el resultado la operación se sitúa en el registro de trabajo
W. 

Si d es el resultado se sitia en registro f. 

las que manejan representa en binario la posición
del bit deseado dentro del byte, representa el byte o registro. El bit O es
sietripre el bit de tnenor peso.
En las con literales y de control una constante o
literal que según casos puede ser de 8 u
Las 35 del cumplen de un
que no supone tener juego de reducido sino que, además, sus
las siguientescaracteristicas:
instrucciones son simples y rápidas. Todas las instnicciones tienen un
tiempo de ejecución de un ciclo (4 ciclos de reloj) a excepción de las
salto, que tienen un tiempo de de 2 ciclos máquina.
Las instrucciones son ortogonales. Casi todas las instrucciones pueden
utilizar cualquier
MICKOCONTROLADORPIC16FIW ECl'CiS D RA-MA
T
m Tcidns
longitiid dc 1
1f registro( 0x00hristu Ox7F)
d l i s t r o dc
Liteial, etiqueta
que puede "1"
= sc
de dcfccto
) 1 Power Down 1
1
[I 1 -
(1 Conteni -
3 clc
de registro I
PlCIóFS4
Instrucciones
clrf f 003 (t) oooi Ifff t~
clnv 00 +(W 0000010xxxxxxx z
(f) + 1 dmfVf Z
OOxx kkkk
movwf f (W) + 00 0000 1ml ~ f f
1 dc
Pone O 'b' rcg, 01 OObbbfffffff
Ponc 'b' reg. bflT mf Ningiino
570 DESARROLLO DE PROY
La longitud de las instrucciones y los datos es constante. las
instrucciones tienen una dc 14 bits y los datos una longitud byte.
Dirección del de
Posición de un bit dentro Y bits
dato constante o
ser"0" o
si d O, el resultado guarda en W, si d
resultado la operación se guarda en el registro f. El valor por es
Bit de
Opcional
do
Sentido la transferencia
Campo del bit un
SET DE INTRUCCIONES DEL
de CARGA
no z
movf f,d (destino) 00 000
movlw k k 3(W) 1 1 kkkk Ninguno
(f) Ninguno
Instrucciones BIT
a el bit del 'f.
a 1 el bit del 'f. 0
1 Olbb
:.
$1
IiU dtEfW
00001I dfffffff
00 1010dmfm
I 1 Ilnxkkkkkm
dmm
O
01 ffff
1000kkkk
00 o100 m m
+
Todas las
d de 1 byte.
Ninguno
U111
00 0101
00 1 dfff
11 kkkk
del Carry (destino)
r 7
I
hfiCROCONTROLADOR PICIAFM. DESARROLLO PROYCCTOS ~1
K A - ~ I A c,~ 4 . 4 ~ 4
I
addlw el k
arldlw
Operandos: 5 I
Opeiacihn: +(W)
~ l a p
OP m r K m
Descripciiin: W litcral 'k '
W. "1 ".
0x15 ;(W)+Ox157(W)
instrucción: (W)=OxiO, C = ¿?
instniccibn; (W) .=0x10 5
(W)=b'00010000' +b'~O10101'=b'0010
i' addwf el f
I
:
Siiitaxis: addwf
0565127
d E [Q,11
Operacion: (W)t(t)+(destinol andb
Z
Códigodr'OP: [ 0114dfff Imf 1
Descripciori: registro '
f
d -
C "1".
addwf Registro,O (Regisiro)+.(W)+(W)
instniccibn: (W)=O?c17, OxC2, C =¿?
instniccion: (W} OxD9, OxC2, C
k
- - -
I
O5k5255
(M:)AND (k) (W) (.&VD wilh ?+y
Z
CódigodeOP: 1 100-
liigica dcl registru
l
I
'k'.
i
r
m
u
insl
Operandos:
Operación:
i
n
s
m
inst
Sintaxis:
Dcscripcion:
i
n
s
m
insb
~
!
572 DE
con w Ejemplo:
Suma literal
Antes
Después
Sintaxis: k
O 
k 
255
(W)+ k
afectados: C, DC, Z
Códigode :
Suma el contenido del registro al y almaccna el resultado en
Si se produce acarreo el flag C se pone a
Ejemplo1: addlw
Antes y 

Después + 0x1 = 0x25 y C= O.
0101'
Suma w con registro
f,d
Operandos:
!
(Add W
Flags afectados:C, DC,
00
Suma el contenido del registro W al contenido del y
almaccna el resultado en W si = O, y en el registro f si d l. Si se
produceacarreo el flag se pone a
Ejemplo: ;
Antes (Registro)= y
Después = (Registro)= y = O.
andlw w AND Literal
Sintaxis: andlw k
Operandos:
Operación: Literal
Flags afectados:
11
Descripción: Efectúa la operación AND entre el contenido W y el
literal el resultadose almaccna en W.
Sintaxis:
Flags afectar
Código de O
Descripción:
Ejemplo:
Antes
Después
bcf
Operandos:
Operación:
Flags afectad
Código de O
Ejemplo:
Antes
Después
bsf
Sintaxis:
Operandos:
-
L', M-h4A APFNDIC'E 0: KEPERTORIO í7?
ruidtw b'01011111' (W) AND b'0101111~' +
Antes instnicción: W) b'l01000ll' z=¿?
instnicción: 0= b'00000011' 0.
YUI 10 W) andwf W
cn
Operaiidos: I 5
d E [O,]]
(AND W withd
Flags
CÓdigodeOP: 0 0 1 0 1 0l)dffT 1 ffK 1
lógica entre registro
contcnido 'f aimxetia 'f
d = l .
andwf Registro,l (W) AND (Registro)3
instruccidn: jW)=b'0010111', (Registro)=b'11000010' Z = i ?
instniccion: (W) blOO1O 11 (Regrstro) b'000000 Z 0
.
bcf
bcf
5 < 137
Ci<b57
3 <b>}
uno
Ciidigo OP m
f
f
f
m
l
i~íimero
bc FlagReg,7 +CFlrigReg,7)
Anks instnicción: (FlagReg) b'11000111'.
(FlagReg)=b'0 1'
bsf
I 5127
O I b 1 7
Operacióil: 1 3 (f<b>)
DE INSTRUCCIONES
:on W 	 Ejemplo: ; 	 (W).
= 	 y
Después y Z =
AND f
ultado Sintaxis: 	 andwf f,d
O f 127
Operación: (W) AND (f) (destino)
afectados: Z
Descripción: Efectúa la operación AND el contenido del W y cl
del registro y el resultado en W si d = O,y en
si
Ejemplo: ; (Registro)
Antes y
Después = 1 ', = 10' y =
Borra un bit de f
Sintaxis: f,b
Operandos: O f
Operación: O (f
Flags afectados: Nin
de : 

Descripcióri: Pone a cero el bit 'b' del registro 'f. 

Ejemplo: f ;O
=
Despuésinstrucción: 100011 .
Activa un bit de f
Sintaxis: bsf f,b
Operandos: O f
T
MICROCTJNTROLADORPIClbFX4.DESARROI.1.O DE PROYCC-I'OS d Ri-Mi
Código OP: 1 01 1 ] bmTrtt~1
Descihipcion: iiumero 'h' del rcgisíro
FlagReg,7 ;l i (FlagReg,7)
Instniccion; (FlagReg) b'01000 11'
Instnrcci6n: (FlagReg) ti' 11OOO1 '
instr
Despuks
btfsc cal1
Operandos: 5 5
O < b < 7 Sintaxis:
(f<b>)
Nin
Cbdiga OP *
m
f
m
'
]
Qcración
el nimero instrucciun cliie sc
"nop". cste caso, s81o FLags afect
h$rc ejeciitarsc. COdigo
Descripciii
Aqui btfsc Flag,] Si 1
Falso ProcesoX
... ; cetci. instr
Despuks in
instmcción: (PC) "Aqui".
Despues instrucci6n: <1> P C )= "Verdad".
<í> 1 clrf
Operandos: 5 5 afect
OSb57
(f<b>) = (Sil Te3l.J;Skip I f Si.) Descripció~
Flags
OP [ 1 1 1 lhb 1 1 ffff 1 l
Descripcióii: niimero imo instnicción quc
iginra se "nop". esrc sdlo instr
instniccibn Iitfss Despiih
I
574
Flags afectados: Ninguno Ejemplo:
de
V
Olbh A
Pone a unoel bit 'f. F
bsf
Antes = 1 .
Después = 11 .
Antes
ir
Test de bit de f y salta si es cero
Sintaxis: f,b
O f 127
Operación: Salta si = O Operandos
Flags afectados:
de :
bit b del registro f es cero la sigue a ésta
ignora y se trata como un
Descripción: Si
En y en este caso, la
instrucción precisa dos ciclos para de
; el bit del registro Flag es cero salta.
goto ;Ha sido uno. Ejemplo:
Verdad Ha sido Antes
...
=Direcciónde 

Si el bit Flag

Antes
= O Dirección de 

Si el bit Flag
 = (PC) = Dirección de"Falso".
Test de bit de f y salta si es uno Sintaxis:
O f 127 Flags
Codigode
Operación: Salta si 1
afectados:Ninguno
Código de : 0 bfff
Si el bit
y
b del registro f es la
trata como un En caso, y
precisa dos ciclos para ejecutarse.
sigue a esta se
en este caso, la Antes
in
2 IJ..,I, ,S: RA-M* INSTKLIC'L'IONES
!ue
:ste caso.
ie
;te
Aqui btfss Flag,l 1
goto ProcesoX ; cero.
...
=Djreccibn "Aqui".
ins~cción: <1> = (PC)
el <I > 1, Direcci6n
cal1
cal1
Openndos: 5 5
Opcraciun; (PC'}+I + (Crr//Subroictine)
k i (PC~lO:O>),
(PLLATli<4:3>)i (PC< 1>)
Flap uno
Cbdigo OP b]~dd<w
Dcscripcihri: direcciiín despiiés
siibrutina situada cn PC.
cn
cal1 Alli
instnicción: "Aqui".
= Direccibn "Alli".
+
C M
Siiitaxis: clrf
Operandos: 5 1 1
Opcraciiin: OOh +(0 (CiearJ
I+Z
CMigodeOP: ~ O D
]UMI1 IR lmfl
'f y
L G 1".
clrf FlagReg (FlagReg).
inctnicción: (FlagReg) = L? = ¿?
instmcciCin: (FlagReg) 2 1.
APMDICE B: REPERTORIO DE 575
Ejemplo:
; Si el bit del registro"Flag"es uno salta.
Falso Ha sido
Verdad ;Ha sido uno.
Antes instrucción: (PC) de
Después Si el bit Flag O, = Direcciónde"Falso".
es cero Si bit Flag = (PC) = de"Verdad".
Llamada a Subrutina
Sintaxis: k
O k 2047
TOS
a ésta se 12:1
la afectados:Nin
de :
Salvaguarda la de vuelta en la Pila y llama a la
la dirección cargada ea el Tarda dos ciclos
salta. máquina ejecutarse.
Ejemplo: Aqui
Antes (PC)= Dirección de
Después instrucción: (PC) de
(TOS)= Direcciónde"Aqui" 1.
Borra f
es uno f
O f 37
Descripción: Se borra el contenido del registro el flag Z se activa poniéndose a
; O
a ésta se Ejemplo:
y Z
caso, la	 Antes
Después = 0x00 y =
Flags afectados: Z
-
MICROCONTROLADOR 16F84.DEShRKOLLO v ~ .  - h 4 ~
C ~ W
clnv
Operandos:
O
O
h + (Cllear W)
1+z
afe~tados:
Z
1 00 1 O001 1 Oxxx 1x x u 1
trabajo OOh. Z "1".
clnv ;0 +(w)
instrucción: (W)=¿? Z=i?
m
l
i
! insmcción: =
b
:!
,] c h ~ d t
.i
'1
clrwdt
II
'1
Operandos:
OpcraciGn: OOh + (C'leur Wmclidog Timer)
WDT prescalei-
l + P D
- -
PD
CiidigodeOP: 1 00 ~0000(0110~0100~
del (WDT). 5 rcgistro
"I".
,?
instnicciiin: WDT) 0x00
5=
=
5 f 5 1t
d 6 [0,1]
(7
) + (Cumplt.rnent$
Operandi
Operaciiii
afe<
Codigo
Descripci
576 PIC DE PROYECTOS
Borra el registró W
Sintaxis:
Ninguno
Operación: (W)
Flags
Código de OP:
Descripción: El registro de W se carga con El flag se pone a
Ejemplo:
Antes y
Después (W) 0x00 y Z l. 

Sintaxis: 

Borra el Timer del Watchdog
Sintaxis:
Ninguno Código
WDT
O 3
Flags afectados: TO ,
del
de estado se ponen a
Sintaxis:
(Timer WDT) =
Operandc
Después (Timer
Descripción: Se borra el Tirner Watchdog Los bits y
=
bit de estado 1 Flags
bit de estado 1 di
Complementa f
Ejemplo:
7
Operandos: O
Operación: (destino)
n W Flags Z
Descripciiin: complemento del 'f r.esultado
eii registro 'f dlO, 
casci 'f
twi. 113 comf Regl (Real1
3CW)
Antes instnicción: b'00010011', ¿'? -
instmciiún: (Reg1) b'00010011', (W) =hvl 1 6 3
Y Z O.
ita
Sintax1s:
Operandos: tl<f5127
d~ 10,11
Operacibn: 1l +
Flaes afeciados:Z
almaccna f d=O, eti 'f
dec 1 1+
irtstniccibn; Z i?
instniccióii: 1.
dccfsz f,d I
0 5 5127
E [O911
(f) 1 + salta resultado "0". (Decrc!mcnt,f;
L'3iiji if0)
'f d-1 W ti*, estc 'f e1
decrcinento siguieritc instrucción eti
instnicci8n ticric u
t
u dwaciiin
t
decfsz 1
1
afectados:
Hace el contenido del registro bit a bit. El
se almacena cl si d=l y cn cl registro W si en este
no varía.
Ejemplo: ,O :
(Regl)= (W)
=
Después = 1101 (invertidounos y
ceros') =
f
decf f
(f- (destino)
en si d=l y en W si este caso no varía.
Ejemplo: f Contador, ;(Contador)- (Contador).
Antes (Contador)= 0x01 y =
Después (Contador) = 0x00 y Z =
Sintaxis:
Operandos: f
Operación: - (destino); si el es
Ejemplo:
almacena en si y en si en caso, no varia. Si
resultado del es cero se ignora la y
ese caso la de dos ciclos.
Aqui Contador,
MlCROCONTROLADOR PIC16384. i_" m-MA
(PC)
instruccián:
Despds instnicciiin: = I además:
(PC)
= "EsCero".
+ Direcci6n& +
g0t0
Operandos: I 5
k+(PC<lO:O> (UnconditionalBranchj
(PCLATH<4:3>)+ (PC4 11>)
OP: 1 1 1 1 1
m
+
instnrcciim: (PC) ¿?
insbuccibn: (PC) Direcciiin "Pri~~cipai".
incf lncrernenta
Operandos: 5 5
d~ CO,ll
Operacibn: (f)+l + (lnerernentj
CbdigodeOP: 1 1101OIdfW IPfff 1
'f
'f, alrnaccna en
'f
: incf 1 + l +
instrucción: = OxFF ¿?
instniccio~~: Z 1.
incfsz 1
Operandos:
Flap afcctadc
C:ódigu
Descripcihn
ins
iorfw
4
OP
instmcci
instni
578 DESARROLLO DE PROYECTOS
= Direcciónde"Aqui".

(Contador)

Antes
(Contador)- y
Sintaxis:
- Si (Contador)= O, Direcciónde
- Si (Contador) O,(PC)= "Aqui" 1.
Operación:
Salto incondicional
de OP
:
Sintaxis: 	 goto k
O k 2047
Operación:
2:
Flags afectados: Ninguno Ejemplo:
Códigode 10 kkk kkkk kkkk 

Descripción: Salto incondicional.Carga bits O al 10 de la constante'k'
 cl(PC)y los

bits 3 y 4 del registro PCLATH en los 11 y 12 del PC. Esta instrucción 

se ejecuta en dos ciclos máquina. 

Ejemplo: goto Principal 	 ;Principal (PC)
Después
Antes =
= apuntada por la etiqueta
Después
f
Sintaxis: 	 incf f
127 	 Sintaxis:
O f
Opcrandos:
Operación:
(destino)
Flags afectados: Z 	 Flags afectado:
Códigode
00
Descripción: El contenido del registro se incrementa en una unidad, si d=l el Descripción:
resultado se almacena en si d=O el resultado se W, en
este caso el resultadode no vana. 	 Ejemplo:
;(Contador) (Contador}. Antes
Después
Contador,
Ejemplo1
Antes 	 (Contador) y Z =
Despds (Contador)=0x00 y =
hlA APFNDIC'L B RFPFK 1OKIO INSTRL1CCI(IUES 570
¡ ~ C ~ S Z 1
incfsz f;d
Operaiidos. I5
d [0,1]
{f'i~1~(destino);siiltasiclrcsultadocsO. (Jn~.remmtt
I,'Skip ipjtl)
(PCJ
instruccibn
d-l el
:na
Deccripcioii: Incrementa cl registro 'f uniclüd. rcsiiliado
cii 'f d-1 d=O, cstc 'f varía.
resultado incrcinento ccro siguiente jns(riicciÓn cn
inslrucciónticne dcis miquitia.
I
incfsz 1 I!
goto
....
..,. I
"Aqui".
Dcspués instmccjon: !Contador) + además:
(2561, - de
# O, Direccion "Aquí"+
¡ O ~ W OR filteral
iorlw
Operandos: I
f 5
Operaciiin: (W)CiK(k)+(Mr)
Flagsaolctíuios: Z
dc : p f l m k k k m
Efcctua opcraciiin entrc c l dcl registro W
literal 'k'. almaceila cil ZI
iorlw b'00110101'. :(W)ORb'00110101'+(W)
jnsrnicciiin: (W) = b't0011010' Z-¿?
instniccion: (W) b'10111111' 0.
R4 
 DE
lncrementa f y salta si el resultado es O
Sintaxis:
O f 127
E
Operación:
almacena
del
ese caso, la
contenido del en una
si y en W si en caso
es se ignora la
una duración de ciclos
El
no
se
Si el
y,
el
a
y los
Ejemplo:
Aqui
Continua
Contador,
Bucle
Antes instrucción: (PC)= Dirección de
(Contador)=
- Si Contador= O
- Si Contador
1 y
(PC) Dirección "Continua".
(PC)= de l.
entre W y el k
Sintaxis: k
O 
 255
Código OP
Descripción: la lógica OR contenido y cl
El resultado se
id, si
registro W.
cn W, en
Ejemplo: 

Antes 
 y
Después = y Z =
T
58U MICROCONTRCILADOR PIC16F84. EC'JOS h.m-MA
!
iorwf
Operandos: C) 5 l I
d E [O,11
(W) OR (f) (destulo) OR withj
Flags Z
CódigodeOP: 1 00 IOIOllldftT l f t f f 1
Dcscripcion: Efectka operación OK entre del rcgstro
ccititztiido 'f
d=O. iI
iorwf Resdtado,O (W) +(W)
instrucción: (Resuhado)=b'00010011', (W)=b'10010001' Z=¿?
= b'00010011' (W) b'100 0.
i
riiovlw
Operandos: 5 f 5755
+( (Move Liferalfo W)
Flags
1 11 10 0 u 1 kkkk 1 kkkk 1
Descripcibn: W bits
movluj Ox5A ;SAh+IW)
Despuks instrucción: (W) OxSA
I
Operandos: 5 5
d f [O,ll i
(f) +
Z
1 1 10001 dfff 1 fKf ]
'f eii
'd'. destino el
'f. jnstniccion i
1
ins
Despues
Siniaxis:
Operandc
afet
Descripci
Antes insi
Operaciór
Ciidigodt
Uescripcic
Operac
Flags
Ciidigo
I
DESARROLLO DE PROY 

OR entre W y f Ejemplo:
Antes
Sintaxis: f,d
f 127
Operación: 3 
 (Inclusive W 

afectados:
la lógica el contenido W y el Operacioi
del registro 'f. Almacena el resultado en si d=l y en W si Flags
Código di
; OR (Resultado)
Antes y Ejemplo:
Después instrucción: (Resultado) , = 10011' y Z =
Después i
Mover literal a W
Sintaxis: k
O Sintaxis:
Operación: k W) Operando
afectados:N
i
n
g
u
n
o
Código dc OP : Flags afec
El registro se carga con el valor de 8 del literal'k'.
= Ejemplo:
Mover f retfie
Sintaxis:
O f 127 Operando.
ion
Operación: (destino)
Flags afectados: afec
Codigode OP : 00 de
Descripción: El contenido del registro se carga el registro destino dependiendo Dcscnpcii
del valor de Si d=U el es el registro W, si d=l destino es el
propio registro Esta permite verificar dicho registro, ya
que el flag Z queda afectado.
.r? RA-MA APENDITF R: REPERTORIC) DE INSTRrlCCIciNLS 581
niovf ;PORTA) +W
insbuccibn: 1 (W)=¿? Z = L ?
1 (W)=OxlA Z = 0
m 0 w f
Sititaxis: ~riowff'
Operatidos: 5 5
(W) +(f) (Move W ro,f]
no
OP : *~~fl
Descripcióil: registro regisrro
movwf ;m
'
)i
(
P
O
R
m
)
instrucción: (PORTB)=¿? (W)=Ox.CF.
Despuks instruccion: Ox4F (W) Ox4F.
noP
[o
3 dependiendo
i
1 destinu
io
tioli
Niriguno
Operacióti: (;%'o
0 ~ ) ~ ~ ~ ~ u f i u ~ )
afectados: uno
rhdipo OP r o 0 1 ~ m
Drscripción:
noP
retFie
retfie
Operandcis:
Clpcracion: 3
I +CiIE
Ningiria
de OP : r o o 0000 1 0000 1 1M) I 1
Carga PC en aha
vuelta intermpcibn. Potie 1 firi
iiuzvo ciienta
PORTA, O
ntre W y f 	 Ejemplo:
Antes 	 (PORTA) = Ox A, y
y
Despuésinstrucción: (PORTA)= Ox A,
Mover W a f
O f 1.27
Operación:
Flags afectados:Nin
Código de
Mueve el contenido del W al 'f. 

Ejemplo: PORTB
Antes y
(PORTB)= y =
literal a W
No Operación
Sintaxis:
e Literal Operandos:
No operar
Flags
de :
Nin
No realiza operación alguna. Consume un ciclo de instrucción sin hacer
nada.
Ejemplo:
Mover f Retorno de Interrupción
Sintaxis:
Ninguno
TOS (PC)
Flagsafectados: 

Código 

el con el valor que se encuentra la parte de la pila.
es el asegurando así la
Descripcion:
de la a el bit GIE con el
registro, ya 	 de autorizar de que se tengan en las interrupciones.Tarda
dos ciclos máquina.
retfie inteinpcion.
instniccion: (pC)=i4? y GIE=O
instnicción: (PC)= y GIE =
retlw Mera1
I) 5 2
Opecición: +(W)
3 (PC)
afeciados: Nin ino
Cbciigo dc o p $1 0lxx 1 LLI<J<
1 kkkk
Carga 'k' carga PC ctiri el
- -
cncuetitra pila, efechiando¿)si
uri rctorno
subrutiiis. inlqiiina.
cal1 el
;
addd PCL,I ;!PC) = (W)
k0
rctlw kl
k2
retlw kn ; de
instnicciiin: (W)=
instntcci6n: (W) k2.
return
Siritaxis: rcturn
Optraiidos: Ninbwno
(PC)
aikctados: .uno
dc OP ~ 0 0 ~ ~
Descripcibn: enciitiiitra supcrior
risi retorno de miquiria.
Operandos:
Fla~s
afec
Descripciiin:
instru
ins
i
0
1
Ejemplo:
1
insfmc
Despuis i
n
s
t
r
retum ; subnitina.
(PC)= L'?
Despues instniccibn: (PC)
Ejemplo: ;Retornade la
Antes
Después (TOS) 1
Retorno con un en W
Sintaxis: rctlw
Opcrandos: k 
 255
k 

TOS 

Flags
:
Descripción: el registro W con el literal y después el valor
que se en la parte superior de la
de Tarda dos ciclos
Ejemplo: Tabla ; W contiene valor de offset de tabla
.... ....
Tabla Comienza la tabla
(PC)+
retlw
retlw
Fin 
 tabla
Antes 0x02
Después = Toma el valorde
Retorno de subrutina
Operación: TOS 3
Flags
Código :
Nin
Carga el PC con el valor que se en la parte de la pila.
efectuando un subrutina. Tarda dos ciclos
Ejemplo: Retornade la
Antes instrucción:
= (TOS)
Sintaxis:
Operacion:
Códigode
Ejemplo:
Antes
Después
Sintaxis:
Operandos:
Flags afectad
Códigode
Descripción:
Antes
cl
i retonio
jet
ibrutina
rlf
Sintaxis: rlf f,d
Openindos: I
5
d € [O,11
Operacibn:
(RotateLrfiftlir augh C,'arry)
-
1
Flags ayectados;C
CódigndeOP: 1 I I I D ~ ] ~ ~
(ffff 1
DescripciGn: Rowión del conteiiidt) 'f pasando
d-l 'tl, d-0
almacma
Reg1
instrucci6n: (Reg1)-b'lltO0110', W = i ? C=0.
instniccibn: (Regl) b
' 01lo', (W) 1 C
rrf
rrf f,d
I 5127
d~ [O,lI
7 6 5 4 3 2 1 0
(RorureKight rhrough C h q )
C
CódigodeOP: r60 1 1 0 0 d f f f Iffff 1
Descripcion: bit la del 'f prir
dc resultado almacci~aeti 'f, d=O cl
alriiacenacn
rrí Reg1,O
insmcción: (Regl)=b'11100110', (W)=i? C=0.
Despdsinstniccj6n: (Regl)=b'l1100110',(W)=b'01Il0011'yC=0.
Rota a la izquierda con el Carry
O f 127
7 6 5 4 3 2 1 0
Registro f
00
de un bit a la izquierda del registro
por el bit de acarreo C. Si el resultado sc almacena en si el
:on 
 valor resultado se en W.
un
Ejemplo: rlf ,O
Antes y
de tabla Después = 1110 = b' 1100 100' y = 1.
Rota a la derechacon el Carry
Sintaxis:
Operandos: O f
Operación:
f 

Registro f
Flags afectarlos:
Rotación dc un a derecha contenido del registro pasando
el bit acarreo C. Si d=l el se si
resultado se W.
Ejemplo:
Antes y
r de la pila,
na.
1
1
p
MICKOCONTKOLADOK lhF84. PKOYECI E H,'i.L1,2 mi?Rn-btt
deep Standby subwf
slccp
Operandos: ngutio
OOh +
+ prcscalcr
l + r O
O +
- -
k'lags PD
CódigodeOP: 1 00 1000010110100111
Sleep parada dcl
capitiilo
Activacion pin /MCLR
Watchdog
rcposo.
Gcncración no quc sc
desactiva xlcep.
sleep
S U ~ ~ W
O I k I 2 5 5
- + (Subtract W,fi.omLztc=mI)
COdigo OP 1 1 1lOx 1 1 1
Kcsta mitodo 'k'
sublw (W)
instrucción: (W)=OxOI, C=¿? Z=L?
= Z
sublw ;02h-(W) +(W)
instnicci6n: (W>=Ox02, C=;? Z = i ?
Desputs C (el
0x02 ;02h-(W) +CW)
(W} i? Z L .
-9
(W) OxFF, (-1 C = 0.
Descripción:
Antes instnicciim:
instrucciii
imtsucciiin:
instnicció
sw
5
<
(f<
Nir
w
instrucción:
instnicción
584 	 PIC DESARROLLO DE OS
Pasa a o modo de bajo consumo
Sintaxis:
Ni
Operación: WDT
O WDT
PB
afcctados:TO,
Descripción: 	 Pone cl circuito en modo (bajo consumo) con oscilador
y Timer O. (Ver 16 para inás detalles). Se puede salir de este
estado por:
del para provocar un reset
Desbordamiento del si quedó operativo en el modo
de una interrupción que sea TMRO, ya Csta
con la instrucción
Ejemplo: 	 ; Pasa a "standby"o modode bajo consumo.
Resta el literal k a W
Sintaxis: sublw k
Operandos:
Operación: k (W) (W)
Flags afectados:C, DC, Z
de : 11 kkkk kkkk
Descripción: por el de complemento a 2 al literal el contenido del
registro W. Almacena el resultadoen W.
Ejemplo 1: 0x03 ;03h- (W)
Antes y
Después instrucción: (W) = 0x02, C 1 (el resultadoes positivo) y = 0.
Ejemplo 2: 0x02
Antes y 

instrucción: (W) = 0x00, 
 = 1 y Z = 1 resultado es cero).
Ejemplo 3: sublw
Antes instrucción: = 0x03,(+3 en decimal}, C= y =
Después instnicción: = en decimal), O (resultado negativo)y Z =
Sintaxis:
Operandos:
Código de OP:
en
Ejemplo 1:
Después
Ejemplo2:
Ejemplo3:
Antes
Después
4
swapf
Sintaxis:
Operandos: O
d E
Operación: (f
Flags afectados: 

Código de OP : 

Descripción: Lo
de
,
Ejemplo1:
Antes
Después
iscilador
*
1 Literal)
:nido
S U ~ W ~
subwt'
Operandos: I 5
d~ [O,lI
Operacicin: (f'~ +(dcstinti) brracr WfrcimJ
Flags DC,
CbdigodeOP: 1 00 )00101dfff lffff /
Resia el método complen~ento 'f
merios contenido y
d=l.
subwlf Regl,l ;(Re@]) (W) j (Regl)
(Regl)=0x03, (W)=Ox02, e=¿?) =¿?
Despues 1) (W) 0x02, C 1 (posj Z 0.
Reggl,l ;(Re@)- (W) 3 (Regl)
(Regl) IW) i? Z =i?
inshccion: (Regl) 1 Z
'I
subwj Regl,l ;@egl)- (W) +m%[)
instniccjbn: (Regl) (+1 decimaI), (W}= =¿? = i?
Despuhs insmiccih: 1) OxFF, (-1 (W) = C =O (neg.) 2 =
swapf nibbles f
Siritaxis:
5 í
d~ [O,]]
Operacion: <3 .U>) 1
7
:
4
,
) (&y' h'ibbles inJ
<7:4>)3 <3:0>)
Dcscripci6ri: cuatro m& 'f inter
Si d=O
d21 resultadn
I
-cambian
1 Regl,O 1
Resta el registro f a W
Sintaxis: f,d
O f 127
- (W) (Su
afectados: C, Z
por de a 2 el conteriido del registro
el del registro W. Almacena el resultado en W si d=O
en 'f si
Descripción:
de este Ejemplo 1: -
Antes instrucción: y Z
instrucción: (Reg =0x01
, = = tivo) y =
t
Ejemplo 2: subwf 

Antes instrucción: 
 = 0x02, =0x02, C= y
Después y = 1 (resultadocm).
= 0x00, (W) = 0x02, C=
Ejemplo 3: 

Antes 
 = 0x0 1, 0x02,C y Z
(Reg = decimal), 0x022, 
 y 0. 

lntercambia de
swapf f,d
Operandos: O f 127
(f (d
del (f (d
Los bits de peso del registra se con los 4 bits
de menos peso del mismo registro. el resultado se almacena en
W, si el se almacena en 'f.
Ejemplo : swapf ,
586 MICRCII'ONTROLADOR P
1
1
: l hF84. UESARROI.LO DL PROY :<HAF.IA
X O ~ ~ W W
lrorlw
Operandos: 5 5
Operacióti: ( W ) X O R k + ( W j {Erclusive OR Litt7rul
with W)
OP.: 1 11 1 1010)-kkkkm
cntre contenido
'k' fe alniacena
xodw b'10101111' (W) XOR b'10101111' +(W)
(W)= b'10110101' Z = i ?
instnicció~i: (W)- b'00011010'
x0rWf
- xorwf
Ii 177
d~ [O,lI
( XOR (f) +(destino)
Flaes Z
"
CódigodeOP: 111 )0110diTf w,
Rediza fiincibn registro cl
del A h c e n a el ccsultado 't' d=l U'
d=O.
xorwf 1 ; XOR (Reg) +(Reg)
instmcción: (Reg)= b'lOlOII11'. (W)=b'lOllOlOL' Z = i ?
instniccion: b'000110IO', (W) b'lO110101' Z
ESTOS
OR-Exclusivadel literal k con
Sintaxis: k 

O k 
355
Flags afectados:Z
Código de
Descripción: Realiza la función OR-Exclusiva el del registro W y la
constante dc 8 bits. El resultado en W.
Ejemplo: ;
Antes instrucción: y
Después y Z =0
OR-Exclusiva de W con el registro f
Sintaxis: f,d
Operandos: O f
Operación: W)
afectados:
Descripción: la OR-Exclusiva entre el contenido del W y
contenido registro'f. en si y en si

Ejemplo: Reg, (W)
Antes y
Después (Reg) = = y = 0.
M-U
I
:gistro
;1=1
movIw D'l09'
d'109'
h'6D'
B'<cantidad>' B'01101101'
TablaC-/ 1~1.yconstunfe.~
al k con W
CONSTANTES Y OPERADORES
registro f
W y el
yen W si
movlw
movlw
movlw
DT "Estudia DPE"
Formato de
MICROCCiN'rROLADUR PIC lbF84 I)EShRROI.I.O ': N ,-M,
C-1 dc csprciticar nuriieracibn ctidigoc
affaniini~flcos, cl cnsaniblador iin ejct~~plo Hay
corniencen iina letra deben
urin
naovliv OFAh.
i pucdzti opcionalinrnte ~irecedidas sigrio "+"
"-" asunie quc
soii caractercs debcn estar cricerrados ci1ti.e
o Ejcmplo: moimlw 'G'
.
el cnsamblador utilizar
opemdores cn 1
3
"IWASAI.USER GUIDE gratuitrimetitz cil pagina dcl
www.inicrochip.cotn. tabla C-7 se
Príncipule'i.oprradot+rs
uribrpiéfiros del ensurnhladi-ir
soti
resulte
"WASiZI
www.mic
588 DE PROYECTOS
La tabla representa la forma el sistcina de o
para MPASM, con por caso. que tener cn
cuenta:
Las constantes hexadeciinalcs que por (A-F) ir
precedidas de un cero para que no sean confundidas con etiqueta. Ejemplo:
Las constantes ser por un (valores
positivos) o (valores negativos). Si no sc antepone nada se el
valor es positivo.
Cuando los operandos ASCI1,
apóstrofes comillas simples.
Para facilitar la tarea de programación MPASM permite
múltiples aritméticos detallados en la ayuda del MPLAB y guía
'S " que sc puede obtener la Web
fabricante En la detallan los principales:
Tabla C-2 MPASM
La:
qiie u
m
!
En
ensamblai
:
dchci~
' (valores
ie
te
i p í a
Wcb ENSAMBLADOR
3 codigos
tcncr eti
ir
Ejemplo:
que el
utilizar PRINCIPALES DIRECTIVAS DEL
la
MPASM
del
1
o RA-WA
i
Tablu I Direriiva~ ensarablador MPASAI
rcsumen
Sintaxis: 1
noni
d
INT
cs
utilizacion
U- del
A continuación se expone un dc las principales.
propósito
finaliza c
Si no se
variable
Ejemplo:
CBL
En
asignar
lista qued
APENOICE PRIN(:IPALiiS UIREC'TIVAS ENSAMBLADCIR 591
a, IL4-MA
CBLOCK
Silitalis: [cciiprr]
< l a b ~ B [ : ~
incremcnt~][,<label>[:<incremen~]1
(Dejine o
f Cora~tan~s)
cl 9. Dcfine de
~lahel.d> asigna i
m valor antcrior <ibd>.
csta direcciones n L
;
i etiqiietas
cuando encuentra
valor almique primer
no asigna expresion,
variablc fitial fiiente
<cl?rpr> valorcs empiczan cero.
< i t i c . r ~ w ~ ~ u P
cspccifica. prcixima .;ldbcb
L int.remt.rif> supcrior atitenor <Iubel>.
Pucdcn ini~ltiples iina separada coti-ias.
C B m K 0x20
nombre-1
primeniariable a s i p
; se 1.
valor 23.
la aplicaciotics cl propbsito dt
cs (genemlrnente rriemoria
lista qucdsi directivas
utiliracihn:
C B m K OxOC posicionan csta RAM.
Cen- variable ocupala posiciiin OxOC & RAM.
variable Decenas hOD W.
OxOE &
D: DEL MPASM
Define un bloque de constantes
C'RLOCK 

1
ENDC
Descripción: a Block
Esta directiva se explica en capitulo una lista constantes. A cada
sc le inmediatamente superior que a la El
propósito de directiva cs asignar muchas etiquetas. lista de
finaliza sc la directivo ENDC. 

indica el
 de para el nombre del bloque de etiquetas.
Si se en la la primem variable recibirá un valor superior al de la
del CBLOCK anterior. Si el primer CBLOCK en el archivo no tiene
ningún los asignados con el 

Si se 
 entonces a la se le asigna el valor
de a la
darse notnbres en línea, por las
Ejemplo:
,nombre­
2
nombre-3,nombre-4
ENDC
; A la se le
nombre-2, le asignael valor 2
;nombre-4 se le asignael
el valor20
En mayoría dc las
asignar direcciones de
las directivas CHLOCK y ENDC
RAM de datos) a muchas etiquetas. La
enmarcada entre las CBLOCK y ENDC. Un ejemplo típico de
; Las variablesse a partirde posiciónde
,La Centenas
Decenas ,La ocupa laposición de
Unidades .La variable Unidadesocupa la posición RAM.
ENDC
I
592 M1CRCiCONTRDLAI)DR ?1C16FM.DESARRC)LLtl IVRA-MA
configuracibn
--CONFIG <expr>
(Ser Pror-e.~,sor
Coi~/igrt~.#íi~irl
Birsj
deiinicibn los cuiifigwacion
cn <~vpt.>.
indica configuracjiin para dc grabacióti dcl
CCP-OFF).
c1 CWU 1'-OFt ).
reset mediant? Timer CPWRTE-ON).
-CONFIG7' coii
bajos), irno kecuentc diseñadores
DE
[<label>] <expr>[,<expr>,. ,<expr>]
palabras memoria bjts J
a meriiciria EFPROM
bits. exprcsión se
posicion separa&.
ORG Wl00 Corresponde ta zora
:
''Programa EEPROM-M. Versibn2.5. 15-08-2003'' ,kO
método
#DESME
# D r n
DE PROYECTOS
Define la palabra de
Sintaxis:
Descripción:
Directiva para la de bit de la palabra de del
rnicrocontroladorcon el valor descrito
Ejemplo:
Esta directiva la
microcontrolador. En estecaso:
elegida cl proceso
No hay protección de código
N o se habilita Watchdog
Se habilita el Powcr-Up
Se utiliza el osciladorpor cristal de cuarzo.
Es importante resaltar que
no con (esteerror es muy
se inicia
en los
dos subrayados (guiones
noveles).
Define datos en la EEPROM
Sintaxis: DE ..
Reserva de de 8 cn de datos. Cada
expresión reserva un valor de 8 Cada carácter de una guarda e
n una E
Ejempli
; a dirección O de la EEPROM
de datos.
DE 

Ejempli
#DEFINE
IDICE PRINC~PALESDIRECTIVAS Eh'SAMBLAüOK hlP.4SM 593
de la 210011.
de i~~uestra
D-1, que comspoi~de veiitana IA dc usuiujo.
3s
latos.
INCLCTCE -FliFaiA.Iix ; bzf:#>#,-~mm:>
mlv r - 2 : ~ -l , > ‘
LEL'J,:V O::ll,.
:vt=,'J?:
BEID<
qpr, i i ~ : l d a C O L , eipoiirl., A 1, , i l I e,-,. n J.. 1- rr.r.h EFJIDn
rle mlitos.
Ft,i:ania PBFRUM 04. Version 2.5. , O x C I i
1
1 DO@@ 50 71 6F 61 7 2 "1 6D 20 45 4F 4D E E P R O K /Vd
Figura I Memoria EEPR(2iZ.Ide U . S U J ~ ~ C I
c~~J.T~u&,T
<nam& [c.string>]
(Dc$ne TextSirli,~titir
l¿onLoliell
define una cadcna substituci8n Doridequiera que
<numt'> cnciientre etis:~rnbl;idor <stritag>.
directiva eiiiiila el ANSI ' estándar #deJne.
método esti disponible ser iisado
PORTI39 sc conecta linea.
Enciende LED.
#DEFIN Banco0 STATUS,WO ; Banco
#DEFNE B m o1 STATUSJ1PO ; al Baiico 1.
D. DEL
1
Como en este caso el origen directiva está en la dirección que
coincide con el inicio de la EEPROM usuario, se obtiene el resultado que se
en la figura con la de memoria EEPROM
1
.
.
15-08-2003" 

61 45 50 52 5 F Programa
D-
 de la directiva DE
(guiones
#DEFINE Define una etiqueta de sustitución de texto
EPROM
Sintaxis: #DEFINE
Descripción: a
Esta directiva de de texto.
sc en el se sustituirá por
Cada
rda en una Esta 'C como Definir símbolos con este
no 
 para por el MPLAB.
Ejemplo 1:

#DEFINE LED ; El LED 
 en esta
'ROM ...
bsf LED ; el
Ejemplo 2: 

E 
 Accesoal O.

bcf
bsf Acceso
594 MICRVL'ONTROLAOOR PIC 1hF84. PRC)'EC?OS m I < ~ - M A
Banco0
bcf línea
Banco1
bsf LED
[<labe]>] <expr> <expr>, ..<eqir>]
(Dqfim Tubku)
dircctiba duraritz fase cit. instnicciories rr,thi4
ciipihilo
DT 0x .15
insirucciones:
rctlw Ox6D :('m' en
retlw ;
Ox6E ASClI)
0
1
; :('S' ASCII)
wtlw ;
0x6A ;(:i' ASCTT)
rctln 0x65
0x10
OxOF ;
IF
ELSE
Descripcibn: (BrgiriAlternotive A . ~ s e m b ~
Block fo IFI
1F para camiiio
a1 ciitidición ELSE deritro bloque
» inacrti.
iF.
Sintr
Dpsc
Sint
1
Sinta
DESARROLLO DE
LED ;Configuraesta como salida
LED ;Enciendeel diodo
Definetabla
Sintaxis: DT [, ...
Esta genera la ensamblado tantas
como caracteresu octetos la acompañen.Se explica cn 1l.
"mensaje". 1
0
,
Esta directiva genera los códigosde operación de Iris siguientes
ASCII)
0x65 ('e' en ASCII)
retlw ;('n' en
rctlw 73
0x61 ('a'
en
en ASCII)
para
retlw en
;('e' en ASCII)
retlw
retlw (15 en decimal)
Empieza bloque alternativo de un
Sintaxis:
Usada junto con la directiva proporcionar un alternativo de
ensamblado si evaluar la es falsa. puede usarse de un de
programa en una 

Ver directiva
!fine
ilternativo
:
END
(EndPYOLTU~I
B1oc.k)
fin di:
producc error.
línea
STATUS,RPO programa ejecutabie
;
ENDC
Descripcihn: {Eiirl C'OIM'ILIIIIBIoc-k)
ENDC firial 1
fin lisla.
klii-rii- dii+ectivn
ENDlF 1
ENDlF
{End Condicinnd Assembly
Esta ciircctiva niarca c1 cxtrcmo
puede usrine dsritrci ~iti
hlirar directiva LF.
Fin de bloque de programa
Sintaxis: END
Descripción:
tabla
Esta dircctiva indica el final del programa y es obligatoria. Si se detecta el
fichero y no se ha encontrado la directiva END sc Todas las líneas
posterioresa la en la que se encuentraesta directiva se ignoran y no se ensamblan.
Ejemplo:
Inicio bsf ;Comienzael
... ...
END Fin del programa
Fin de un bloque de constantes
Sintaxis: ENDC
sc cscribc al
para indicar el de la
de una lista de constantes CBLOCK. Debe escribirse
Ejemplo: la CBLOCK.
Fin de un bloque de ensamblado condicional
Sintaxis: 

Descripción: 
 Block)
de un bloque condicional de ensamblado. ENDIF
de 
 bloque de programao en una macro. 

de Ejemplo: 
 la
un bloque dc
5% MICR0CC)NTROLADOR PIC16F84. DESARROLLO PRCWEC'iOS v IRA-MA
ENDM
Descripcihn: (Etlci' Macro Dejiriition)
Tcrmina tina coinenzada MACKO.
inacros capitulo
<label> <expr>
(l3gfine ciii A.~.teria
blw Ciinstanr)
Esta dircctiva asigna ain identificadcii ~Iube/>.
valor expresiijn compuesta
crimplcja sc desee.
el identificador dcscribe de niaticra
significatirva proganiador. Sucle cotistantes dircccioiies
Asi, fácil "ValorCarga" vaIor
tle niemoria, quc
e1 nmerico etiqueta"ValorCarga".
"c-text-string>"
(Issuea
p
l Error Afe,s.sage)
emir idintjco dcl
ensamblador el psuceso de ejecuta aparcct:
cliííica El dcl eiitrecornitlado tcner
80 caracteres.
1
La
1ogi
cero i
cxprcsib
fals
d
Ejemplo:
DE
Fin de la definición de una macro
Sintaxis:
a
defiición del macro con la directiva Las
se explican en el 16.
Mirar la directiva MACKO.
Define una constante para el ensamblador
Sintaxis: EQU
Descripción:
pemiite el valor de a Su
puedc ser el resultado de una por otros identificadores tan
como
Generalmente, es un nombre que el valor más
para el utilizarse para definir y de
memoria. es más recordar que recordar el 147 o, en el caso
dc una dirección PORTA 0x05.
;Asigna valor de 147 a la
Emite un mensaje de error
Sintaxis: ERROR
Descripción:
Esta directiva genera un mensaje dc A cualquier error
MPASM. Si ensamblado esta directiva la
pantalla de error. texto mensaje debe ir y puedc hasta
Sintaxis:
de la
se
falsa
Ejemplo
Ejemplo
En
memoria
p".
?
1
C M-.Mi
,  R A - ~ I A APENDICE D:PRTNCIPAI,ESDIREC:TIVAS ENS!L~ULAUOR
rnacro
C'hequeoError MACRO 1
Argumento1 % SS :
ERROR "emir-c hrckhg-Ol argumento fuera
efinrlion)
CRO. Liis 1 ejemplci directiva 1F.
IF
iblador IF <expr>
kn,~fa~rfl (Begin ConditionallyAssemhled C'oJeBlvck)
I
'uhr~l,. C'umienzo cjecucihn de bloque cnsarnblado. .;t:tpr;-
-irlores ciidigu ii~inediato iF msariiblara. tas itistnicciories
siguientes sc saltoii ELSE 0 ENDIF.
anc.r;t tiiis evaliiación coi-isidcradesde vista
:cioncc lógica evaluaci8n exprcsjon
M
1 c1caso i se IF cipcra
expresiiin ( h e ) devolver
ralsa @se) cl
1
Verjinn 100 ;
rnovlw h O A
rnovwf io-l
ELSE
:rror del
[a
,ner
movwf io-l
ENDF
Eri e1 ejemplo "FinTahla" di:
tiicmona OxFF encambiador emitiri
FinTabla
IF (FinTabla>OxFF)
"iCLilD.4DO!: superado tam;iiru de pigina &
h4ESSG byks funcioiiarb
ENDF
DEL MPASM 597
Ejemplo:
Argumento
IF Si el argumentoestá fuera de rango
el está de rango"
ENDIF
ENDM
Otro se describe en la
Comienza un bloque de código condicional
Sintaxis:
... ....
ENDIF
Descripción:
un condicional dc Si es
Su dc 

verdadera el
 al sc En caso contrario,
tan
hasta encontrar una directiva una directiva
La de una expresión que sea cero se el punto de
de dc la falsa. La de una que resulte cualquier valor distinto de
cero considera como verdadera. La directiva con el valor lógico dc una
expresión: una verdadera garantiza un valor distinto de cero, y
valor cero.
Ejemplo :
JF = Compruebala versión actual
error
rnovlw 0x01
Ejemplo 2:
parece
hasta
siguiente si la etiqueta
de programa mayor de el
......
se localiza en una dirección
un mensajedc error.
ERROR Latablaha el la los"
"primeros256 dememoria ROM. NO correctamente."
598 MlCROCCiNI~ROLACiOK
PIClbF81.DESAMOLLO PROY $2 R A - ~ I A
INCLUDE I
MCLUDE <<include-filv>
INCLTDE "<i nclude-tile>"
(lncludt.ridditionul Soutce Filc.)
código efectci igi~al
del archiko ínclude escrito direciva
INCLUDE. Sc perniitcn rlivdesdc anidamicnto.
<inclzrJeJile> cntre (" ") o simbolris
y, "menor >). ficheru
includc canino.
21 fiiente
11
directorio eii cripitiilo 10.
by
1 ; INCLUDE <P16F84A.iNO archivo estan definídostodos
regisiros &l 16FWA.
INCLLDE "P16FY4A.INC'" ;Tambih se defmir fomia.
INCLLDE "c:sysisysdefi.inc" ;Defie "sydefs"con kaywtoria.
INCLUDE <regs.h> :Dafme "rcgs.h"
L I S
[~listoption~,
..., [<listuption>]
4 ,
I
>
(Lisding ilpliuns)
/ '
m i LlST tiene sobrc proccso sobre MES%
del listable scgiin de
"MFASM L'SER GUJDE" De más
procesador scgúti siguientecieniplo.
I
I
I Descripcihi
1
f
i P-P16F81A ; PIC16FMA cdmoprocesador I Ect;
i el
4
caractcrcs.
1
y
1 1
DE FCTOS
-
-
-
Incluye ficheros fuentes adicionales
Sintaxis: o
Descripción:
El archivo especificado se lee como fuente. El es que si el texto
entero se pusiera cn el lugar donde se ha la
seis
El puede escribirse comillas entre los de
"mayor que" que" Si se especifica totalmente el camino del
solo sc buscara en ese Si no se indica caminoel orden dc la búsqueda es:
el directorio activo actual, en segundo lugar directorio del archivo y por último
cn el ejecutable de MPASM. Sc explica el
Ejemplo:
; Define el donde
;los PIC
puede de esta
su
sin trayectoria.
Opciones de listado
, , Sintaxis: LIST
,
Descripción:
La directiva efecto al de ensamblado y el formato
fichero de salida una larga lista opciones que se detallan en el
manual 'S y en la ayuda del MPASM. todas la Sintaxis:
importante es la que indica el utilizado detalla el
Ejemplo:
i
LIST El utilizado. t finalizar
!
que
:rito la dimiva
sirnbolos
i n o fichero
: biisqiieda
S
;obre forniato
:
todas
d o .
I ~ A - M , ~ APENDIC.~
L) I)IRECTTVAS DEI- AUOR MP.4SM
Macro
<labe12 MACRO [<arg>, ..., <arg>]
inacro iin cuiijunto instniccioncs asigna
fiietite uswRo nombre
y to&s instnicciones quc coinponm insertadas el
cl pa~te pruprna. explica zti eii
16.
rnacro siiiede sigwentc:
NombreMm
Instniccibn- 1
insenicci61i-2
Dotide "Nombrehíacro" inacro quc
cmpleará cn las instnicQcines estén definidas
cste noinhrc. forman cucrpo ciial
c s ~ h todas instniccioncs
C'adri que se eniplea "NoinbrehIacro" cn propania irnplicii
insertcn tiidas instruccion~
l SCi "<rnessage-tcxu"
Esta pm~iite dcfmidos usuariii aparcccn
finaiizür cl eri listablc *.list. Puede tener
PRINCIPALES ENSAMRI
adicionales MACRO Declara la definición de
Sintaxis:
al si el texto
os dc
del
la es:
nte y por ultimo
de listado
el
detallan en el
e la mas
e ejeniplo.
Una define dc a las que se les un
nombre. Posteriormente, el programa del puede incluir el de una
rnacro las la quedan en momento de
realizar ensamblado formando del Sc detalle el capitulo
Ejemplo:
Una estructura ser la
MACRO
indica el nornbrc de la posteriormente se
el programa fiientc para incluir todas que
bajo Las directivas MACRO y ENDM el dentro del
incluidas las deseadas.
vez el fuente, que se
las que conllevedicho nombre en el programa
MESSG Crea mensajes definidos por el usuario
Sintaxis: MES
directiva crear mensajes por el que al
proceso dc ensamblado y el fichero hasta 80
bU0 MICROCONTKOLADCiR PIC 16384.DESARRIALO DE PRO' LC'TCiS RA-MA
MmsajeMacro M C R O
MESSG "mssgmwro-001 el "
ENDM
Hay iitrcis 1F.
ORG las
[<label';.] ORG <expr>
(Set Prog-um Originj
programa ít:rpr>
Jimctiva. especitica <labelb Ic viilor <tt~pr>.
ORG cspecifcadu gencracion c6digo dircccion cero.
;j
4 1 comienzo
goto
- -
;Vector
goTo SevicioIntcmi~ion
ht-1 ORG h 2 0
lnt-2 In'ltOx10
;Vectrir aquí.
;Vecmr a@.
E
Ejemplo:
llamada sin argumento
ejemplos descritos en la directiva
Origen de instruccionesdel programa
Sintaxis:
Descripción:
El origen del
Si se
L
a
una
'comienza la dirección indicada
se da el dc la
del comienza en la
en la de la
Si no hay ningún
Ejemplo 1:
ORG
ORG
O
Inicio
4
; Direcciónde del programa
de interrupción.
Ejemplo 2:
SO va
ORG 30 va
rograma
expr>
hay ningl~n
ESPECIALES
-..
--
04h
t
INOF 80h
OPTION 81h
-
82h 2
YI
5
-
84h
3
TRlSB
-- B7h 'E
EECONI BBh '",
€€CON2 89h
Cij
8Ah
INTCON 8Bh
IMPLEMENTADO
Figitu E-I Memorzu R4 PIC16F84
REGISTROS
de la
o
BANCO O BANCO
E
PCL
STATUS STATUS 83h
FSR FSR
PORTA TRISA 85h
86h
.
a
PCLATH
OCh
8
MAPEADO
EN
BANCO O
NO
FISICAMENTE.
(SE LEEN COMO"O").
M de datos del
6U2 hiICROCONTROLADClR PlC16F84. DE '8; ICAMA
ticr csl-rito
Rl
disp~nib
mznioria
cl re;
(T
alimcntai
PCL
PICI6FX8
corrcspot;
RAh4 O21
c
rcgistro P
alimeni
Rcgi..~h.os (Speciaibitnclinn Rcgisters)
DESARROLLO PROYECTOS
con los
con
aplicada
microcor
escritos
la
Tabla E-l del SFR.
ui rcgistro tisico)
4
fisico)
-
F
l
i lineiic Pucrtri
O
O
h
Eisicamcntc. del
determinará
cl seiíalado.
O1
(Timer Tempori7adorlcontador bits.
al KA4IlOCKi de acucrdo dcl del
microcontrtilador. capitulas
conten (TMRO) b'xxxxxxxx'.
PCL
(Progrcdm Counter byte).
PIC16F84 bits.
corrcspondcn del implementado
RAM (y Bancol} leidos
con
PCII
inicializa (PCL) b'00000000' b'00000'
PCH PCt
7
5 7 PCiAT; <4:0> '
k
AL"
ComposiciOn d ~ l
PC PCL
8
4 : 3 >
K
f i q r u Compu,~iciÓn
del PC ímtmcciones "cal1 "goto"
Banco O, 80h Banco 1
Registro para el direccionamiento indirecto de datos. Éste no es un registro
disponible Utiliza el contenido FSR para seleccionar indirectamente la
memoria de datos o RAM del usuario; la instrucción lo que se debe hacer
con rcgistro El direccionamiento indirecto se explica en el capítulo 16.
h Banco O
O). de 8 Se incrementar con una señal externa
aplicada pin o a una señal interna proveniente reloj
Se explica ampliamente en 15 y 18. Al conectar la
alimentación su ido es desconocido, =
02h Banco O, 82h Banco 1
Low Byte bajo del contador de programa, figura E-3. El
dispone de un contador de programa de 13 Sus bits de menor peso
a los 8 bits rcgistro PCL, en la posición de memoria
02h duplicado en la posición 82h del por lo que pueden ser o
un registro escritos directamente. Los cinco bits de mayor peso del PC corresponden los del
rcgistro que no pueden ser leídos ni escritos directamente (figura E-2). Al conectar
la alimentación se a = y (PCH)=
8 
 o
,
resultado
PCLATH
Figura E2 en instrucciones con como destino
PCH PCL
12 11 10 7 o
2 PCLATH
PCLATH
E-3 en " y
del A
-
-
MII'RIY~OY'I
HOLAUOR PIClbFR4 DEShRKOLLO RA-MA
-
-
1
STATUS estado
bits seleccibn cit.
registro tlags
I b'0001 lsxx'.
Regisrro de esdudo n
(Cany bitJ. de cl
actila presenla acarreo desde m i s
que
operacibn
1 1 1
:
. (25Sio), maxinlo bits.
dctalle
y quc e1
C =
: 1. sjgtiifica q i ~ z
(Digit Cany). 4" nienos peso. operaciones
aritméticas el
nibbles
Z (zero). "1" cumdu dc uperacion
IOgica
Z tlistiiitu
= l . última
+ /PD (Power Doii'n). cuiisuiiio. siilo nci
el iisiiario. cl consunirl.
slcep y
/PD 1. VD,, clvwdf.
m0 (Timar Out). temporizacibn iin
ct actj~a cl
finalizii teniporizacion.
Wuichdog Tlmer.
ITO Watchdcig.
ITO 1. VD, noitiial) ejctiitar
clrwdt sleep.
RPO (Regist~i-
Bmik Select cl direccionamiento
batico
RPO
I el
FSR 1
Scli:
direcciona
contenido 1
1.
alimentacic
Puei
c
1.
interrupcio
entrada.
(EE,
604 DE PROYECTO$.
STATUS 03h Banco O, 83h Banco
El registro de estado o indica el de la Última operación aritmética o
lógica realizada, la causa de reset y los de de banco para la memoria
datos. A los bits del de estado se les suele denominar o bandera. Al
conectar la alimentación su contenido es (STATUS) =
INDF se
Tabla E-2 STATUS
C 
 Flag acarreo en octavo bit, En instrucciones de suma 

aritméticas se 
 cuando se el bit significativo del 

resultado, lo que indica 
 el resultado ha desbordado la capacidad del registro 

sobre el que trabaja, es decir. el resultado de la 
 ha superado el valor escribirse
1111 1 que es el valor que se puede representar con 8 

En el capítulo 8 se explica en 
 Ranco
su funcionamiento:
o C = O. En la suma significa que no ha habido acarreo en la resta 

resultado ha sido negativo. 

En la suma que ha habido acarreo y cn la resta cl 

resultado ha sido positivo. 

o 

DC Flag dc acarreo en el bit de En 

se activa cuando hay un acarreo entre 
 bit 3 y 4. es decir, cuando 

hay acarreo entre los 
 de menor y de mayor peso. escribirse
Flag de cero. Se activa a (entrada o
aritmética o
e1 resultado una
es cero. Banco
o = O. El resultado de la ultima operación ha sido de cero.
o Z El resultado de la operacion ha sido cero.
Flag de bajo Es un bit de lectura, puede 

ser escrito por 
 Sirve para detectar modo de bajo
o /PD = O. Al ejecutar la instrucción entrar en reposo.
o 
 = Tras conectar la atimentación o al ejecutar 

Flag indicador de fin 
 del Watchdog. Es htt 

de sólo lectura, no puede ser escrito por 
 usuario. Se en "O" cuando 

circuito de vigilancia Watclidog 
 la Sirve para detectar s
i

una condiciónde reset fue producida por el 

= O. Al desbordar el temporizador del
o 

= Tras conectar (funcionamiento o al las 

instrucciones 

o 

o 

bit). Selección del banco para 

directo. Señala el
 de memoria de datos seleccionado. que accede
o = O. Selecciona el Banco O. (EEADR)
o RP l. Selecciona Banco 1.
1
I
>anderas.
1 1
les
lificativo
1
xdo
bits.
ra, piiede
fr.
ig.
Y' cuando
W1 (Register Bunk Select PlC16F84. 'm
1RP1. en el PIC16F84.
FSR 04h O, i
lector
INDF seleccionar
direcciunamiento
(FSR) b'xxxxxxxx'. I
I
I
O5h
entrada/salida RAO RA4). E1
tratara
1. RA41TOCKi servir de
alirnentaciiinaueda confi~urado e&da. i. 1
PORTB
1
cntrada/salida bils @ines REO RB7).
tratara
pincs TRiSB csta 886
1.
intempciones
08h
(EEPROM Data Hegister).
alirnentacion
(EEDATA)
EEADR 09h
(EEPROMAddress Register). direccion
que
bit). No utilizado en el
Banco
No utilizado
aritmética o 

memoria de 

Banco 84h Banco
Al
Se de registros para direccionarniento indirecto. En asociación con el registro
sc utiliza para indirectamente los otros registros disponibles. El
Bit O indirecto se explica en capitulo 16. Al conectar la alimentación su
contenido es desconocido, =
PORTA Banco O
de suma
del 

del registro Puerto de de 5 bits (pines 
 a puerto A puede leerse o
el valor escribirse como si se de un registro cualquiera. El registro que controla el sentido
u con 8 (entrada o salida) de sus pines se llama TRISA y esta localizado en la dirección 85h del
Banco Su pin también puede entrada al Timer O. Al conectar la
resta que el como
resta que el
06h Banco O
operaciones
ccir, cuando Puerto dc de 8 a El puerto B puede leerse o
escribirse como si se de un registro cualquiera. El registro que controla el sentido
(entrada o salida) de sus sc llama y localizado en la dirección del
Banco Algunos de sus pines tienen funciones alternas en la generación de
(ver capitulo 17). Al conectar la alimentación queda configurado como
entrada.
no
o.
EEDATA Banco O
Contiene los bytes que se van a escribir o que se han
cl leido de la EEPROM de datos. Al conectar la su contenido es desconocido,
a detectar si
Es un bit
= b'xxxxxxxx'.
Banco O
ejecutar las
Contiene la de la EEPROM de datos a la
acceder para leer o escribir. Al conectar la alimentaciónsu contenido es desconocido,
(EEADR) = b'xxxxxxxx'.
606 hf1CRUCONTKi)LAWR PIChFF6. DESAHKOLLO YROI'FL'TDS :
-
% I C ~
h$.
PCLATH o A ~ 0
(Pc Latch Hágh). toma indirecta s parte alla
progamas instrucciories, la1 iiescrihc figura
3. concctar aliinentacibn resctea (PCLATH) b'---U001)O'.
INTCON OBh 8Bh Banco
(fntc~.rupis
Cdtiriwl Regkrer). p
a
r
a coiitrol intcmpciones.
dcl de inter-pciones. í'onticiie R que se rriucstran
cuales acmn flags señafadores iiitemipcion
como auturizacicin prodiicir intcrrupciun.
conectar conteiiidu (TNTCON) b'00Ci00110.u'.
Tublu Registrode c'otiluol dt'la.<init.n.uyr1ioiws
INTCOfi
RBIF (RBport changt' Irifc.r*ruyt
Flag). de estacla 1;1 inremiipción RBI
yuc se interriipcibn por carnbiu dc
dc 3 RB7.
RBlF= R134 estarln
RBlF lineas RB7 RBI
INTF (Externa/Ifitewupr Flag hl!). Flag cxteina
s
c Iia ~iroducido
uiia iiitcrrupcibn travks pin RBO,"INT.
IhTF = iiitei-rulición externa por el RDOilNT.
INTF = iiiterni~icibn p r Iinea RHUi'lIJT.
(Debe borrarsc p o r suftwarc).
c TOIF {Th.fRO Overflort* It;lci.mpt FJng Iiir). dc cstado dr interriipcirjn
prodiicida cl qlie prodlicido lina interrupr'irjti
del Tiiner 111' (FFh)
h'00000000' (00h).
TOlF = 0.E1
TOlF = 1. ha desbordado. bcirrarsc suthvarc).
RBlE (RB Pord Changc lnteruupl Enahlci. Habilitacioil dc interrupcivn
RBI. b'iag intempcian Ins Ijneas
RBTR R4 del B.
RBLE 0.Interrupcih RBI deshabililada.
RBIE Intcmpci6n RBI habilitads.
DE
Banco
Registro qiie permite acceder de la
del contador de en algunas coma se en la E-
Al la se
Banca O. 1
Registro el de las Es el
encargado manejo las los bits en la
tabla E-2. de T
o
s unos corno del estado de la
y otros bit de permiso o pan que se pueda la Al
la alimentaciónsu es =
E-3
Flag de .
Indica ha producido una estado de
cualquiera las líneas RR4
o O. Ninguna de las entradas RR7 a ha cambiado de
o - 1 . Cualquiera de las a del Puerto B ha cambiado.
(Debe borrarse por software).
de estado de la interrupción
INT. Indica que a del
o O.No hay piri
o 1. Ha ocurrido uiia externa la
Flag la
por TMRO. Indica se ha por
desbordamiento O, es decir, que ha pasado de b'l 111 1 a
o TMRO no se ha desbordado
o El TMRO se (Debe por
la
que autoriza la por cambio de estado di:
. Puerto
=
o = l .
parte
-
inco
iiin
itadu dc
mbiadu.
[N?'.
-ri!pción
i i r i
(FFti)
r'IL$.MA APÉNDICE E: ESPEC1.4LES
(Externa1 1
.
W Enablt~bitl. Habit interrupciiin externa
que autoriza intempcihn RBOIINT.
Interi-upciiin N T
INTE 1.
TOl J Y I I ~ ~ I ' U P ~
Enahle hitj. Habilitación
desbordamiento Tirtier
ri TOIB Intempcion deshabilitada.
= 1. TOI
(EEPROM Write Intt7rrupr Enabk).
iriterrupcion EEI. intcmpcion
u11 PlC
EECON
Internipción EEI deshabilitada.
Internipción EEI
GIE Intermp~Enrrli/~>c.). permiso
intempciiin. aiitoriiaticatrietitc interrupción
cvitar prodiizca
intcrrupcihn re@e, GIE
" ".
No autoriza niilgun
GIE l . interrupcihn. "1"
aiitumaricamctitc instruccion resJit7.
OPTiON h 1
i-iiiiltiple, misión gobernar
Algunos microcotitroladores PIC ~nsmccion
denomina& option, ello. fabt.icatite Mi~~rochip
iiombrz registro. Así ficliero P16F84A.INC'
non-ibraccittio OPTION-REG. concctar
(OPTION-REG)= b'llllI111'.
Tohku OPTIONREG
PS2:PSO (Prescaler Rafe Select
Prescaler quc de segiin
1
REGISTROS 607
alta
figura E-
RBI.
ado.
primera. Al retornar de la con una instrucción
vuelve a activar poniéndose a 1
o GIE = O. interrupción de tipo.
o = Autoriza cualquier tipo de
con la
el bit
Se pone a
se
81 Banco
INTE itación de la INT.
Flag la externa a través del pin
o INTE = O. deshabilitada.
o 
 = Intempcion INT habilitada.
E (TMRO de la interrupción TOI. Flag
que autoriza la interrupción por del O.
= O. TOI

u TOIE 
 Interrupción habilitada.
EEIE Complete Habilitación de la
Flag que autoriza la por escritura completada de
byte en la EEPROM dc datos del (el flag EEIF se encuentra en el
registro 1).
o EEIE = O.
o EEIE = 1.
(Global
Se borra
para que se
habilitada. 

Flag de habilitacion global del 
 de
cuando se reconoce una
ninguna otra mientras se está atendiendo a la
Registro de configuración aunque su principal es el
externa comportamiento del TMRO. tienen una
también por el recomienda darle otro
a cstc en el de definición de etiquetas se le
Al la alimentación todos sus bits se ponen a "1",
por 

a 

E-3 Registro
bits). Bits para seleccionar los valores del
o rango con el actúa el divisor frecuencia, la tabla E-5.
(Prescaler Assignment hitj. Asignacioti El
entre ThlRO es
aplicar
frrcueticia
= divisor
(TMROSnitrr-eEdge se lec^ m
= cad;i tlaiico
RA41TOCKI.
1. cada scñal
RA41TOCiU.
(TMROClockSouvce S~lt7t.f
bii).
1. intrd~icidos pin RAWTOC'M tTMRO
(Inrrrrupf Selecr bit). flarico interrupcibn
rNT.
INTEDG RBOIINT.
RBOIINT.
IRBPU, (Rmislor Purt Pul/-Up Enclblc rcsjstencias
hll-Up
IRBPU =
/RBPU de Pull-Up Puerlo
de
pin salidii.
"1" hacc A! quc cl disponc bits.
bits potien "1", 1 1 '.
PSA del divisor de frecuencia.
Prescaler es compartido el y el WDT: su asignación
mutuamente excluyente ya que solamente a uno de ellos se puede el
divisor de frecuencia a la vez.
o PSA = O. El divisor de se asigna al TMRO.
o PSA 1. El de frecuencia se asigna al Watchdog.
TOSE bit).Selecciona flancode la seña!al TMRO.
o TOSE O. TMRO se incrementa en ascendente de la señal
aplicada al pin
o TOSE = TMRO se incrementa en flanco descendente de la
aplicada al pin
TOCS Selecciona la fuente de señal del TMRO.
o TOCS = Pulsos a traves del como
contador).
INTEDG Edge Sclector de de L
a
o = O. Interrupciónpor flanco descendente del pin
o INTEDG = L . Interrupción por flancoascendente del pin
B bit). Habilitación de las de
del Puerto B.
o O. Habilita las resistenciasde Pull-Up del Puerto R.
o = 1. Deshabilita las resistencias del B.
Bit 7
E
Registro de configuración de las líneas del Puerto A. Es el registro control para
el Puerto A. Un "O" en el bit correspondiente al lo configura como mientras
que un lo como entrada. igual Puerto A, solo de 5 Al
conectar la alimentacióntodos sus se a (TRISA)= b'--- 1 11
:' RA-MA
aplicar c l '
NRO.
la
5adiir).
4RO cutriu
r RA-MA AP~NDICE KEGIS'IROS
86h 1
Rcgistro de configmcion Ptierto registro Jc
cl Puerto Uii bit corrcspondietite
quc "1" Ici ha-c Al conectar alirnentaciiiri ponen
"l".(TRISB)-b'11111111'.
í
(EEPROM L'o~rh.01
Register 1). para coiitrol rnemr~ria
dimcntación b'--4~001)'.
Tahlu Rt.gisiro de ronlrolde dubox IWCON
(Read Controi EEPRIIM. ponerlo en
"1" lectiira Estc
"0") h~rdware
autoditicamente a[ finali7ar la Iechira de
RD lectura borra tiardware.
tWritc1 Bit coilti-o1de escritura eri prinerlo
uwi escritura uri
en "0") hardwñre autciinaticaniente vez de
tia 1'
WR inicia
Inicia hai-dware.
(EEPKOM WrifeEnuble bir).
Prohíbc iiscrjtiira EEPROLl
l . la
(EEPHOM Writt3 Error FIug Bit). cnor
posiciona "1" cuando temiria prernaturamcnte
ciialquier condiciiin de rcsct.
WRERR
l . operacibn escritura prematurariientz.
EElF Wrile Op~ratiunInlernyf Flag BIEJ. Flag dc cstado dc
iiitzrrupciijn finalizaciiisi escritura éxito
aperacion byte
E: ESPECIALES 609
Banco
de las líneas del B. Es el control para
A. "O" en el al pin lo configura como salida, mientras
un corno entrada. la todos sus bits se a
EECONI 88h Banco
Registro cl de la EEPROM
de datos. Al conectar la su contenidoes (EECONI ) =
E-6 la EEPROM de
RD Bit). Bit de control dc lectura cn la Al
se inicia la de un byte en la EEPROM de datos. bit se limpia (se 

pone a 
 por L
a posición 

EEPROM. 

o RD = O. No inicia la lectura de la EEPROM o la misma ha terminado.
o 
 = 1. Inicia la de la EEPROM. Se por
WR Control Bid). dc la EEPROM. Al 

en "1" se inicia 
 dc byte en la EEPROM de datos. Este bit se 

limpia (se pone 
 por una Ea escritura la
¤
EEPROM terminado. 

u 
 = O. No la escritura de la EEPROM o la misma ha terminado.
o WR = l. la escritura de la EEPROM. Se borra por
WREN Permiso de escritura en la EEPROM.
o WREN = O. la de la
o WREN = Permite la escriturade EEPROM.
WRERR Flag de en la escritura. Se
a la operación de escritura dehido 

a 
 .
o = O. La operación de escritura se ha completado correctamente.
o WRERR = La dc ha terminado
(EEPROM
por de en EEPROM. Señala el final con 

de la 
 de escritura de un en la EEPROM.
uencia. El
nación es
e señal
le la señal
1TMRO.
hliCRKON~CR0LADOK
PICl hF84 DLSARROLLUDE PROYEC'I'US I , R ~ - M A
escritura de
1.
software.
5, (Unimplcmentcd). implemcntados fisicatnente. Sc
{EEPROM C'untrol Register 2). registro no est5 implemeníadci fisicamente,
que intenta siis ccinio
emplca durante el
interfercncias largo prcciva desarrollo.
CONFIGURACIÓN
PIClBF84 dispotie configuracion escribe
microcontrolador modificar
dwantc
men~oria programa 2007h.
Tabla Regisbu coi$girroción (ConfigwrationWorrl)
FOSC<1:O> (Flag Oscilntor Selecdioral. Selecciiiri
-00. Oscilndor (32 kHz)
FOSC=01.Osciladorestind;lrXT( 1110kHz-4MHz)
( MHz MHz)
1 cle
(Wutclrltug EnaAle). Bit dcl Il'atchdog.
deshabilitado.
= 1.
cPori'rr-upTimerEncrhlcl. Activaciiin temporizador Power-Up.
TemporizadorPoww-Up
PWRTE= 1.TernporizadorPci~u~r-Uphahilit;ido.
~C'ode~ot~~~dionbit~BitdeprotecciÓndeciidigo.
de cstá lecmas
VPP
D
61U
o EEIF = O. La operación de la EEPROM no ha terminado o no
comenzó.
o EEIF = La operación de escritura de la EEPROM ha terminado. Debe
borrarse por
Bits 6 y 7 No leen "O".
89h Banco 1
Este
por lo es imposible leerlo (si se leer, todos bits se leen ceros). Se
como dispositivo de seguridad proceso de escritura de la EEPROM,
para evitar las en el intervalo de tiempo que su
REGISTRO DE
El de una palabra de dc 14 bits que se
durante el proceso de grabación del y que no se puede
la ejecución de un programa. Dichos bits ocupan la posición reservada de
de
E-7 de
del tipo de oscilador:
o FOSC de bajo consunio LP kH7- 200
o
o FOSC= 10. Osciladorde alta velocidad HS 4 - 20
o FOSC= 1. Oscilador bajo coste RC.
WDTE de habilitación
u WDTE = O. Watchdog
o WDTE Watchdog habilitado.
PWRTE del
o PWRTE = 9. deshabilitado.
o
CP
o CP = O. Toda la memoria programa protegida contra
indeseables.
-ainente,
Sc
T20-SE
ficar
latia
-1
.
- --
- Zocaro PIC tA Pines
VPP
D
TxD
D
'dPP
DTh
TxD TxD
I
4
-L &
2-lo PIC Ptnas - - - - -
Fi-quraF-l E~qia~nzu
elt'ritico
ros).
PROM,
lo.
GRABADOR
escribe
odi
de
.
Data 1
1
0
A
1K5
R4
k
CCK
28
de Cara
Figura F-2 Im11w.so
quc
LlSTADO
D3,DJ 1N414Y A-:.
.<. a->
-2
D5 5Vl %W 1
-
:
-
-
-
-
:
-
+
.
.
:
* :
.
;1
Zenerde L/zW 1 /
%
:
:
&
y
JI Zocalo 4
18 i
pines 1
Conector hembra 1
Ql,Q2 BC547 '
I
43 BC557 s
.
1 100Z 1
R2 IOk

F
i
g
i
r
r
u Grabador TEtO-SE
Cara componentes de pistas
Placa de Circuito
u
DE COMPONENTES:
Zénerde
--
+>m
-< . .
D6 8V2
8 pines
J2 Zócalo pines
53 Zócalo 28
P1 DB9
I
R
F-3
ASCII acrhniinci tic .4rm~rll'rltlStund~rrdCede for Iraformadion Jnb~rchange
Normalizado Arnet.iclirio liara de E1 ASCIl
sistcrna en los digitales
esquema
níiriieros. signos de
dichos dipitales, microcontroladores,
ordenadores inforrnáticosintercambien infomaci8n.
ASCIl cstá coinpiiesto
quc est;indaiízado
extetidido de L
4 Cbdiga estiindar. E
1 bkico, estandar.
para 1211 cbdigos cmctercs desde
hasta (OOh niismcis eri los
Norn~dtnentc estos
Cúdigo ASCll So1110s (8Oh FFh
uii aciierdn
que los
intercaiiihinbles
estándar.
caracieccs ASC'II cstandar
prirneros
cbdigos cotitrol coniunicaciotics 1
es el
(Código el Intercambio Información). código
cs un de rcprcsentación utilizado sistemas (incluido ordenadores)
que utiliza un de codificacion que asigna valores numéricos a las letras,
puntuación y a otros caracteres. Al normalizar los valores utilizados
para caracteres se logra que, en sistemas
y programas
Dado su origen en el sistema binario, el código por 256
valores cstan divididos a la mitad
28 valores cada uno.
en el conjunto y el conjunto
ASCII conjunto ASCII
cada codigo, lo que da como resultado
127 hasta 7Fh hexadecimal). Son los
operativo., y lenguajes de programación.
o utiliza 7 bits
de O
todos sistemas
códigos se
representan con 8 bits, poniendo el octavo bit o MSB a cero.
extwdido. caracteres del 128 hasta el 255 al
hexadecimal) y no hay respecto a ellos. Se asignan a conjuntas de
caracteres varían según fabricantes y programadores de software. Estos
códigos no son entre los diferentes programas y sistemas
digitalcscomo los caracteres ASCII
En el conjunto de se diferencian dos grupos:
Códigos de control. Los 32 valores (del O al 31) están asignados a los
de de y de impresora (caracteres no imprimibles,
014 Xi II'R( X7C)KI'ROI.AIIOK P-C:II,t$4.DESAKKOLI.0 CIE PROYFC'TOS CI K<-L~A
rctroccso, retortiu dt: ciuru tabulacion) para toma
qiiz intbnnacibn es ti-ansfcrida dcsde uii ordeiiadcir otro n iui
iinpresora.
C6digos alfanuméricos. 96 ciidigos rcstaiites (27)siir] cariictercs
ASCIl nonnalcs, asignan rnayúscuIas minus~ulas
como y empleados controlar la
en la a desde
ordenador a una
Los (del 32 al
se a letras y del alfabeto latino,
:wdctcrcs
:to Iniirici,
is
APÉNDICE
1IVTER.NET
Ka-Ma: ~ww.ra-ma.e? www.ra-ma.com
FABRJCANTES
wwn .~iiicrochip.com Microchrp Technolr~gy n fabricante
microcontroladores PIC.
-
w~w,dalsem
I .com Dal/us S c i n i c o r ~ d - M , componentes
elec~bnicos zti
www.semiconductorc.philips.co~ Philifa Semic,ond~~cfor,~,
Iihro.
uww.national.co~Nutinnd Semiconíiuctor.
ww fairchildserni.com Fairchild Seniicond~c~~~r.
h ~ : / / s h a i ~ - ~ ~ ~ o r I d . c o ~
Shiirp Corpomf
~ c w w .
futiiba-rc.corn Futabu, servomotores.
ww,v ishay.coni I/ishay Semrcondu~,tors,fabricanle L'N y otros
e www.optekinc.com 0p1t.k Tcehnnloky, sensorzs y otros.
~ww.ist>coin.co~n
Iscicom Cuqin,ients, opt~acopl~idorcs.
Devunlech L.td, para inicrorobótica.
i www.h~oi?.com Hi-Twh So@c~re, ~ii'opietarios sobre cl
compilador PICC'.
~ww.ccsinfo.comCCLYTrzc~,propie~~osdeIcoinpiladorPCW.
www.melabs.com iZ~íit~roEngitreer~rlg
Liibs, ccimpilador
PICBasic
que se
H 

DIRECCIONES DE
EDITORIAL o
Y DISTRIBUIDORES
de
fabricante de
utilizados el libro.
fabricante de
componentesutilizados en el
w.
ion.
fabricante
del Y70
componenteselectrónicos.
fabricantede ópticos
fabricante de
wwu.robot-electronicl;.co.uk componentes
de los derechos
propietarios del
Pro.
16 MlCROCONTROLADOR lhF84. PROYECTUS DRA-hIA
i www.sanitron.es
de electrbnicos.
i ww.mode1i1nport.com iina
dc ticndas
www.idm.homepa~e.ciklne~ic.htm
www-ic-prog.com S o h a r e
Las secciiin
www.ccitii~inidadele~u~ni~~s.~~n~
electriitiica.
i I~~:!:!pirrci-itial.redestb.es:!c'dstiIIoM h inforrnacion Útil.
a it~u:.piclist.com Ciiti niiiclia itifoniiación
cnlaczs (cri tis).
Soluc
?
6 PIC DESARROLLO DE
Distribuidor de microcontroladorcs PIC. También vende todo
tipo componentes
Distribuidor de servomotores para España. Ticnc
útil relación que venden productos de modelismo.
ProgramadoresJDM.
IC-Prog.
paginas Web de la anterior también tienen buenos foros sobrc
microcontroladores PIC. Otros foros:
AUTORES DE ESTE LIBRO
Mucha información útil sobre temas de
sobre microcontroladorcs PIC y
múltiples ing
Progr
vende
irmas de
:iirss PIC
sobrc
:S
APÉNDTCEI
l!
publicaciiin
necesarios
complementatins.
v.6.40.EXE
instllacibn MPLAB IDE vmibn 6.40.0.0 algutiui
MPIAB lDE
sobre ensainblador
-
1 prdgramas todos
olursicnes
Progiamas
rl 1C-Prog
rnicrocontroladorzs desarmllado Bonny Gijzen recomendado
IC-Prog
Ficherua placa dcl grabador
TE'IO-SE.
20-5
ticiiico sobre los
PDF
todo
. Tiene una
CONTENIDO DEL CD-ROM 

foros
El CD-ROM que se incluye en la presente contiene todos los
programas para realizar los proyectos desarrollados en este texto. Hay además
otros ficheros de ayuda o
Las diversossubdirectonos o ficheros que contiene son:
Contiene el archivo MPLAR que es programa de
de y archivos en
formato PDF con información el MPASM, MPLAB
y otros.
Los resueltos de los ejerciciosy proyectos.
S 

Ficheros para que es el software de grabación de
por y en el
libro.
para la realización de la de circuito impreso
TE E
e
información componentesutilizadosen el libra.
y
1
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf

Más contenido relacionado

PDF
Automatismos industriales ( PDFDrive ) (1).pdf
PDF
PLC y Electroneumática: Automatismos Industriales José Roldan Viloria.pdf
PDF
Técnico especialista PLC
 
PDF
PLC: Sistemas secuenciales programables Paraninfo por Antonio Nuevo Garcia.pdf
PDF
Control de-motores-electricos
PDF
Motores sincronos
DOCX
Reporte de practica transistores bjt diego ramirez
PDF
PLC y Electroneumática: Instalaciones eléctricas de interior, automatismo y c...
Automatismos industriales ( PDFDrive ) (1).pdf
PLC y Electroneumática: Automatismos Industriales José Roldan Viloria.pdf
Técnico especialista PLC
 
PLC: Sistemas secuenciales programables Paraninfo por Antonio Nuevo Garcia.pdf
Control de-motores-electricos
Motores sincronos
Reporte de practica transistores bjt diego ramirez
PLC y Electroneumática: Instalaciones eléctricas de interior, automatismo y c...

La actualidad más candente (20)

PDF
Manual pc simu
PDF
Resumen potencia
DOCX
Generadores sincronos
PDF
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
PDF
Electrónica: Sistema de potencia Paraninfo por Juan Manuel Escaño González
PDF
30672573 reporte-de-practica-pwm-555
PDF
Tipos de arranques de motores y esquemas
PDF
Guia de practicas s7 1200 tia portal
PDF
Fuentes conmutadas BASICO
PDF
Manual de utilización zelio
PDF
Convertidores dc-dc (Colección apuntes UJA 96/97)
DOCX
Seaparat elect pote
PDF
Circuitos de disparo con aislamiento
DOCX
Electronica modelo hibrido bjt
PPTX
El diodo como sujetador
PPTX
Sesión 6 motor dc
DOCX
Motores polifasicos de induccion
DOCX
Practica 7 Flip Flop
PPSX
Las fuentes de alimentación conmutadas (switching)
PPTX
Transductores
Manual pc simu
Resumen potencia
Generadores sincronos
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
Electrónica: Sistema de potencia Paraninfo por Juan Manuel Escaño González
30672573 reporte-de-practica-pwm-555
Tipos de arranques de motores y esquemas
Guia de practicas s7 1200 tia portal
Fuentes conmutadas BASICO
Manual de utilización zelio
Convertidores dc-dc (Colección apuntes UJA 96/97)
Seaparat elect pote
Circuitos de disparo con aislamiento
Electronica modelo hibrido bjt
El diodo como sujetador
Sesión 6 motor dc
Motores polifasicos de induccion
Practica 7 Flip Flop
Las fuentes de alimentación conmutadas (switching)
Transductores
Publicidad

Similar a Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf (20)

PDF
Microcontrolador 16f84(1)
PDF
Microcontrolador 16f84 X
PDF
Microcontrolador pic16 f84, desarrollo de proyectos ao
PDF
CLUB 067 PROGRAMACION DE MICROCONTROLADORES PIC.pdf
PDF
El computador
PDF
El computador
PDF
El computador
PDF
El computador pdf
PDF
El computador
PDF
El computador
PDF
El computador
PDF
El computador
PDF
El computador
PDF
El computador
PDF
Principios_de_Electricidad_y_Electronica (2).pdf
ODT
Historiadelosordenadoresandreav
PDF
El computador 1
PDF
El computador
PDF
Jhon f. practica en word
PDF
practica en word noviembre 9
Microcontrolador 16f84(1)
Microcontrolador 16f84 X
Microcontrolador pic16 f84, desarrollo de proyectos ao
CLUB 067 PROGRAMACION DE MICROCONTROLADORES PIC.pdf
El computador
El computador
El computador
El computador pdf
El computador
El computador
El computador
El computador
El computador
El computador
Principios_de_Electricidad_y_Electronica (2).pdf
Historiadelosordenadoresandreav
El computador 1
El computador
Jhon f. practica en word
practica en word noviembre 9
Publicidad

Más de SANTIAGO PABLO ALBERTO (20)

PDF
Electroneumatica con circuitos secueciales con logica cableada
PDF
Arduino Blocks: Programacion visual con bloques para arduino 2 Edicion por Ju...
PDF
Principios de electrónica 7 Edicion por Albert Malvino y David J. Bates
PDF
Principios digitales por Roger L. Tokheim
PDF
Solicitud de empleo para el trabajo para
DOCX
secuencia electroneumática parte 1
DOCX
secuencia electroneumática parte 2
PDF
Manual de teoría y practica electroneumática avanzada
PDF
Programacion de PLC basado en Rslogix 500 por Roni Domínguez
PDF
Programación de microcontroladores PIC en C con Fabio Pereira
PDF
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
PDF
Arduino: Arduino de cero a experto
PDF
PDF
Manual básico PLC OMRON
PDF
Programación de autómatas PLC OMRON CJ/CP1
PDF
Manual del sistema del controlador programable S7-200 SMART
PDF
Catálogo de PLC S7-200 SMART
PDF
PLC: Automatismos industriales
PDF
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...
Electroneumatica con circuitos secueciales con logica cableada
Arduino Blocks: Programacion visual con bloques para arduino 2 Edicion por Ju...
Principios de electrónica 7 Edicion por Albert Malvino y David J. Bates
Principios digitales por Roger L. Tokheim
Solicitud de empleo para el trabajo para
secuencia electroneumática parte 1
secuencia electroneumática parte 2
Manual de teoría y practica electroneumática avanzada
Programacion de PLC basado en Rslogix 500 por Roni Domínguez
Programación de microcontroladores PIC en C con Fabio Pereira
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
Arduino: Arduino de cero a experto
Manual básico PLC OMRON
Programación de autómatas PLC OMRON CJ/CP1
Manual del sistema del controlador programable S7-200 SMART
Catálogo de PLC S7-200 SMART
PLC: Automatismos industriales
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...

Último (20)

PDF
1132-2018 espectrofotometro uv visible.pdf
PDF
Módulo-de Alcance-proyectos - Definición.pdf
PDF
5 Presentación de PowerPointGENERACIÓN DESECHOS UIS 18-02-2023 (1).pdf
PPTX
Manual ISO9001_2015_IATF_16949_2016.pptx
PDF
manual-electricidad-automotriz-sistemas-electricos-bateria-alumbrado-iluminac...
PDF
Estrategias de apoyo de tecnología 2do periodo pdf
PPTX
MODULO 1.SEGURIDAD Y SALUD CONCEPTOS GENERALES.pptx
PPTX
Presentación - Taller interpretación iso 9001-Solutions consulting learning.pptx
PDF
Oficio SEC de formulación de cargos por el apagón del 25F en contra del CEN
PDF
Durabilidad del concreto en zonas costeras
PDF
Primera formulación de cargos de la SEC en contra del CEN
PDF
GUÍA PARA LA IMPLEMENTACIÓN DEL PLAN PARA LA REDUCCIÓN DEL RIESGO DE DESASTRES
PPTX
MODULO 2. METODOLOGIAS PARA ANALISIS DE RIESGOS 2da Parte.pptx
PDF
fulguracion-medicina-legal-418035-downloable-2634665.pdf lesiones por descarg...
PPT
tema DISEÑO ORGANIZACIONAL UNIDAD 1 A.ppt
PPTX
Gestion de seguridad y salud ocupacional.pptx
PPTX
Seminario de telecomunicaciones para ingeniería
PPT
Sustancias Peligrosas de empresas para su correcto manejo
PPTX
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
PDF
SEC formula cargos al Consejo Directivo del Coordinador y a ocho eléctricas p...
1132-2018 espectrofotometro uv visible.pdf
Módulo-de Alcance-proyectos - Definición.pdf
5 Presentación de PowerPointGENERACIÓN DESECHOS UIS 18-02-2023 (1).pdf
Manual ISO9001_2015_IATF_16949_2016.pptx
manual-electricidad-automotriz-sistemas-electricos-bateria-alumbrado-iluminac...
Estrategias de apoyo de tecnología 2do periodo pdf
MODULO 1.SEGURIDAD Y SALUD CONCEPTOS GENERALES.pptx
Presentación - Taller interpretación iso 9001-Solutions consulting learning.pptx
Oficio SEC de formulación de cargos por el apagón del 25F en contra del CEN
Durabilidad del concreto en zonas costeras
Primera formulación de cargos de la SEC en contra del CEN
GUÍA PARA LA IMPLEMENTACIÓN DEL PLAN PARA LA REDUCCIÓN DEL RIESGO DE DESASTRES
MODULO 2. METODOLOGIAS PARA ANALISIS DE RIESGOS 2da Parte.pptx
fulguracion-medicina-legal-418035-downloable-2634665.pdf lesiones por descarg...
tema DISEÑO ORGANIZACIONAL UNIDAD 1 A.ppt
Gestion de seguridad y salud ocupacional.pptx
Seminario de telecomunicaciones para ingeniería
Sustancias Peligrosas de empresas para su correcto manejo
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
SEC formula cargos al Consejo Directivo del Coordinador y a ocho eléctricas p...

Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf

  • 1. E n ~ l q u ePalaclos Fernando Ramlro Lucas J. López - 1 Alfaomega e~ a - ~ a " , .;Y- - - - , , . ' " 1 i I - J
  • 2. Este libro pretende intrcduciral lector en la realizacibnde proyectos de circuitos electrbnicosconstruidos con el popular mlcrocontroladorPtC16F84.Para tograrlo se muestra un elevado número de ejercicios resueltos que el lector podrh desamolarfacilmentecon medias a su alcance. 1 Tanto los aficionados sin grandes cranocirnientos de electrbnica, pero con inquietud suficientepara montar sencillostrabajos con rnicrocontroladores,como A- los estudiantes decarrerastécnicas de electrbnica y losestudiantesde Ingeniería Industrial, Telecomunicaciones o InformAtica, mcontrardn de gran utilidad esta obra para Ialrealizaci6n dB sus primeros pro~ectos. m- Él flbr~resulta eminentemente práctico ya que contiene m& de 160 ejercicios resueltos con sus programas y esquemas, siendo muchos de ellos proyectos clAsicos,como termdmetros, relojes, calendarios, cerraduras electrónicas, control de dispfays, temostatos,temporizadores, alamas, sirenas, comunicacibncon la juegos, control de motores, microrobots. etc. - El softwareutilizadoes delibredistribucióny los Circuitosemplmcomponentesque pueden adquirirsefacilmenteen cualquier tienda de pwuctlos electrbnim. Para el desarrollo de cualquiera de los proyectos planteados no se precisa de grandes medios materiales, por lo que realizados resulta sencillo, I econdmico y ameno, además, se incluye un CD-ROM que contiene el softwarenema&, las soluciones a los ejerciciosy notastécnicas.
  • 4. 1 Microcontrolador PICI6F84 1 h Desarrollo de proyectos Enrique Palacios Municio Fernando Remiro Dominguez Lucas J. Lopez Perez Alfaomega 4 ) + Ra-Ma'
  • 5. Microcontrolador PIC lbFB4. Desarrollo de proyectos Q Enriquc Palacios Muiiicici. Feraando Kemiro Dominguez y Lucas J. L6pez Pérez ISBN 84-7897-600-0, edicidn original publicada por RA-MA Editorial, MADRID. Erpaiía. Derc~hos reservxicis 0 RA-MA Editorial MARCAS COMERCIALES: RA-MA ha intentado a largo de este libro distinguir las marcas registradas de los términos descriptivos, sigiiiendo el esiilu de mayusculas que utiliza el Fabricanre, sin introci6n de infringir la marca y sólo en beneficio del propietariode la misma. Primera edición: Aliaoiiiega Grupo Editar, Mkxico. agosto 2003 8 2004 ALFAOhlEGA GRUPO EDITOR, S.A. de C.V. Pithgoras 1139, Cul. Del Valle, 03 100 México, D.F. Miembro de Id Camara Nacional de In Ind~striaEditorial Mexicana Registiw No. 23 17 ISBN 970-15-1033-X Derechos reservados. Esta obra es ptopied.d intelectual de su autor y 10s derechas de publicacicin en lengua española han sido legalmente transferidus a l editor. Prohibida su repri~ducción parcial o total por cualquier medio sin permiso por escrito del propietariode los derechus dzl copyright. NOTA IMPORTANTE - - - La inforniacirrn cnntenida en esta oliri tienc un i'iii ex~lu~ivamente diddctico y.por lo tanto, no esti previsto sil aprovcchamirnio 3 nivtl profcsirinai ti in- dustrial. Las indicaciones técnicas y programas incluidos. han cidn elahnra- dos COI] gran cuidado por el aur(ir y reproducidas bajo esirictas normas de control. ALFAOMEGA GRUPO EDITOR. S.A. i1eC.V.no será jurídicamon- te responsabte por: errores u nmi<ioner; dairos y perjuicios quc se pudieran atribuir al uso de la información comprendida en este libro, ni por la utiliza- ci6n indebida que pudiera dársele. Edición autorizdapara venraen Mkxici<iy todo el continente americano Impresoen Mdrico-PrintMin M e ~ k o
  • 6. A mi m yer. Maribrl, por- sic apqno,c.ari,ioy paciencia. .4 mi,vhijos. C'i-istNra Enrique. mi rnaymfi~cnir rk liltiyrias1'slrtis/;rcciones. A n l i ~ PUIJI-CS. Eririquey Sagr~rriu, cbtirc.c.ujiociniieritu a su sacrificio. Enrique . 1 mir pudre.^, hgo y demúsppersoncls it~~port~irirta ~k rni v i h . Lucas A mis dos mujeres, Natalia con la que decidícompurrir mi.?dius*c ,A~icinicii que me uir7gi.ucudu diu J J . ~ que narici y que a sus tre.y oños no deju de quewr rlj~tltf~irrne a escribir yprogrumor microcon~oladores y per.i/L:r.icos. Fernando
  • 9. .......................................... Capitulo 1: MICROCONTROLADORPIC16FS4 1.1 MicrricontrolarluresPIC ................................................................................... ..................................................................... 1.2 Alimentación de un PIC16F84 1.3 Puertos de entraddsalida.................................................................................. 1.4 Oscilador........................................................................................................... ..................................................................................... 1.4.1 OsciladorXT 1.4.2 OscjladorRC ..................................................................................... ............................................. 1.4.3 OsciladoresHS y LP ......................... . . 1.4.4 Utilizando una señal de reloj externa................................................ 1.5 Reset.................................................................................................................. 1.6 Montaje del entrenador..................................................................................... capitulo 2: PERTFÉFUCOS BASICOS......................................................... ........................................................................................................ 2.1 Diodo LED 2.2 Interruptoresy pulsadores.................... . . .................................................... 2.3 Entradas &@talescon optoacopladores........................................................... 2.4 Display de siete segmentos ................................ . . ......................................... 2.5 Controlandocargas a 230 V............................................................................. ................................................................................. 2.5.1 Conml con relé 2.5.2 Control con re14miniaturaen cápsula DIL ....................................... 2.5.3 Control mediante fototriac.................... . . ......................................... 2.5.4 Conml de potencia con tnac.............................................................. 2.6 Zumbador..........................................................................................................
  • 13. 9.3 Saltos en funcidn de un registro.................................... ... ...........................,.,.. .r 9.3.1 I ~ h c c i o n "decfsz f,d"... ...................................... ................... ......... 9.3.2 Instrucción "incfsz f,d"................................................ ...................... ., 9.4 Cotnparacionde registros.. ........................ ....................................................... 9.4.1 Comprobar que un registro vale O .................................... .........,......,. 9.4.2 Comprobar igualdad enlredos regismos.................... ......................... 9.4.3 Comprobarque unregistro es mayor o menorque otro.................... 9.4.4 Programaejemplo....... ... ................... ................- .. ................... ............. 9.5 Lazos o bucles........................ ...................,.,.,.., ........................... ..................... 9.5.1 Lazo de repeticihn infinita............................... . .......................... ..... 9.5.2 Lazo con condiciónde testeo................................. ............................. 9.5.3 Lazo que se repite un numero conocido de veces.............................. 9.6 Programaciony algoritmo.. ................... ...... . .....,.....................,....................... . 9.7 Diagrama de flujo................... . .. . .. . . . . ....................-. ................. .. .............. 9.8 Más directivasimportantes.............................. ........................... ..................... 9.8.1 CBLOCK y ENDC............................ .... ................................ .............. 9.8.2 #DEFINE ..................................... ........................................................ 9.9 Conversiondebinarionatural aBCD................................. ............................. 9.10 Salto indexado ......... ............................ ..........,.. ........................... ..................... 9.11 Salto indexado dcscontrolado........................ ..... . .................................... 9.12 Prácticasde labamtorio.................................................................................. Capitulo 10: SUBRUTTN.4S................ ........................................... ..................... 10.1 Subrutinas...................... . . . ......................... ........................... ..................... 10.2 Subrutinasanidadas.... ................. ...................... ...................................... ...... . 10.3 La pila ..................... . ....................................................................................... 10.4 Tnstnicciones"call"y "retuni".......... . ......... ...................... ............................. 10.5 Ejemplo de utilización de las subrutinas...................................................... 10.6 Ventajas de las subrutinac..................................... ......................................... 10.7 Lbreria de subrutinas................................................... . ....... . ......... .............. 10.8 Directiva "INCLUDE"............. .......,.. ............................................................ 10.9 Simulaciónde subnitinas en MPLAEI............. .........................................,.... ., 10.10 Programacion estructurada................................qq.....,,,-..........,q, .q,.,.............,,, 1O.11 Practicasde laboratorjo............... ... .... . ................................ ...................... . Capitulo 11: MANEJO DETABLAS..................................................... 1 1.1 Tablas de datos en memoria de programa..................................................... - ' 11 7 3 11.1.1 Insmccion retlw ............................................................................ 11-1.2 Directiva"DT' ..... ......... ... ......................... ,.,. .....,............,.,,.,....-....... 11.2 Mis directivas................................................................................................. 11.2.1 MESSG.......................................................... .................................... 11.2.2 ERROR.............................................................................................. 11.2.3 [FyENDF........................................................................................
  • 14. XIV MICRW0NTRC)tADC)R PIC'IbFB4. DCSiiRROLLODE PROYECTOS w nA-hW - $ 11.3 Gobierno de un display de 7 segmentos.................................................... 162 1 1.3 Practicas de laboratorio .................................................................................. Capítulo 12: SUBRUTINASDE RETARDO ................................................ 169 i 12.1 Ciclo miquina............................................................................................... 12.2 Medir tiemposcon WLAB .............................. . . . . .................................. 171 I .I 12.3 Instniccion'hop".......................................................................................... 171 1 12.4 Retardos mediante lazo simple ..................................................................... 172 ............................................................... 12.5 Retardos mediante lazosanidados 174 12.6 Librería con subnitinasde retardos.............................................................. 176 I 12.7 Rebotes mlos pulsadores .......................... . ................................................ 181 1 .................................................................................. 12.8 Practicas de laboratorio 184 1 Capitulo 13: LCD................................................................................................ 187 C ........................................................................................... 13.1 VisualizadorLCD 187 1 13.2 Patillaje............................................................................................................ 188 1 13.3 DDRAM ......................................................................................................... 189 1 ............................................................ 13.4 Caracteres definidos en la CGROM 191 1 13.5 Modos de funcionamiento........................ . . ................................................. 191 1 13.6 Comandos de control................................................................................. 192 1 13.7 Conexión de LCD mediante4 bits .............................................................. 13.8 Librería de subnitinas.................................................................................... 194 C 13.9 Visualizacibnde caracteres .......................................................................... 201 13.10 Visualizacj6nde valoresnuméricos 202 1' .............................................................. ?O3 1 13.11 Conexibnde LCD mediante 8 bits ................................................................ 13.12Visualización de mensajes fijos 204 1 ..................................................................... 13.13Visualizaciónde mensa-iesen mo~iniiento 208 1' ................................................... 13.14 Prkticas de laboratorio......................................................................... 209 Capítulo 14: EEPROM DE DATOS 213 1' .................................................................. 1' 14.1 Memoria EEPROM de datm .........................................................................213 1' ....................................................................................... 14.2 Registro EECON1 215 1' 14.3 Libreríade subrutinas..................................................................................... 216 1' 14.4 Lectura de la EEPROM dedatos................................................................... 217 1' ............................................................ 14.5 Escrituraen la EEPROM de datos.. 217 1' 14.6 Directiva"DE" ................... . . ..................................................................... 218 14.7 Ventana"EEPROM"en el MPLAB .......................................................... 218 C 14.8 Programaejemplo........................................................................................... . . 14.9 Bloquear un circuito.......................................................................................221 14.10Prácticas de laboratorio 227- 1I .................................................................................. 1I 11 1I 11
  • 23. iía estructura de m : del M itilizar lgramable; cómo enseñ;uiza rnpartú nuestras 317 an n r?in S ieniair el rcicesador eri siis las 13 para realimción crecieiite sobre circuit~s reales. seilcilla todo finalihd cscriio, que niedicis de qiie siicic dispuner cap= de proyecuis tiiicroprobmables C'ualqiiier estildiantc ingzriiero, con ser utili7ar PICl hF84 propios diseiios. iiibricantes Micruchip Tt'clinology inc, Phidip Sem~conducror~ Dullu,c Smiconductors, así erliprcsa Sagiiron uiilizacion producios. Querertios finalmcntc agadecer 10s sugercticias en Ghtticz, Sanz, Tempradu, G e m a Jiian Jcid Atia &irnora. Nuria Tririjatw, Loli Sergiu González-Nicolás, Javicr G m Diego Cbrdoba, Martíii, Garcia Ángel Toledo Fmando s dc sdz esquema tid do gas. Entrc 1 p r misnio itorios, m por :4 ar ; - S IS aqui ipción. rse un -es, complejcs entender los software y conocimiento porque es y el en detalle ente. la de realizadas por de un teclado, uello funcionara. la tecla y alumnos "'maleta" era este mundo el a al sistema otras, e1 y comprender.No sino que Y Ultimo, mismo el que que lo que ha años de descritas. También junto con a La teoria desarrollada va siempre dirigida a hacer prácticas, siendo imprescindible la de los proyectos de dificultad que trabajan Esperamos que la lectura de este libro le resulte y sobre que cumpla la para la que esta con los pocos técnicos los se en casa. sea desarrollar dc una forma autodidacta. aficionado, o ayuda de este libro, debe capaz de empezar a el inmediatamente en sus proyectas y Nuestro agradeciiniento a las y como a la por su constante esfuerzo en ayudar a los usuariosen la de sus prestada, Redondo, Jesús Escobosa, Eduardo F. y participac Javier Folgar. ión a todos el desarro José A. ia-Caro, y compañeros y alumnos. la ayuda llo de esta obra:Carmen Julio Gil, M. Morales, M. Sanz, Alejandro Pico, Moreno. A. Alfonso Blanco. LOS AUTORES
  • 24. CAPITULO 1 MICROCONTROLADOR PIClóFS4 1 . MICROCONTROLADORES PIC Un microcontrolador es un circuito integrado programable que contiene todos los componentes necesarios para contrc~larel funcionamiento de una tarea determinada, como el control de ma lavadora, un teclado de ordenador, una impresora, un sistema de alaril~a,ctc. Para ésto, el rnicrocontroladorutiliza muy pocos componentes asociados.Un sistema con rnicrocontrolador debe disponer de una memoria donde se almacena el programa que gobierna el funcionamiento del mismo que. ima vez programado y configurado, siilo sirve para realizar la tarea asignada. La utilizacion de un rnicrocontroladorenuncircuitoreduce notablementeel tamatlo y número de componentes y, en consecuencia, disminuye el niimero de averías y el volumen y el peso de los eqiiipos,entre otras ventajas. El microcontrolador es uno de los inventos más notables del siglo XX. En el mercado hay yan cantidadde ellos, con multitud de posibilidades y caracteristicas. Cada tipo de microconmladorsirve para una serie de casos y es el diseñador del sistema quien debe decidir cual es el micrwuntroladormás id6neo para cada uso. En lm últimos ~ í í u s han tenido un gran auge los microcmtroladoresPTC fabricados por Microchip TechnologyInc. Los PIC (PeripheralInteqace Conmllerj son una familia de microcorrtroldores que ha tenido gran acepíación y desasrollo en los Últimos afím gracias a que sus buenas c mterísticas, bajo precio, reducido consumo, pequeRo tamailo. gran calidad, fiabilidady abundancia de infomiacih, lo convierten en muy fácil, ciimodo
  • 38. 130 ipropiados donde Iéctrica 230V. is iar 1 base :ontactos, puedc :lectricamentc oportar indispcnsablc coilcclar paralclo bobina dcl rc16, tal la tigurü 2-6. coino protecciOn frente ¿i coiitraeiectromotriz inductiva bobina eri inomento de coniniitaciiin. uri cicrto núincro rclCs dcl niismo ~nicrocontrolador, piiede tititizar integrado tal coiilo LN2003, 2-7. Este rediizados I)arlingtori, quc aguaiitan tcnsión inaxii~ia alimentar 500 mA, tainbiCn indispcnsablcs diodos w7 l--NDIODE ULN2003 tipico ULN2003 reles. I I ULN2003 5.. 5 RBOIIMT 7 RBI UA2 RB2 RA3 RB3 -W4TTDCKI RB4 R55 RB6 1 3 8 g r q - Fipru Circuito ttr'yico gobierno varios reI&s ULN2003 V (bombillas. Es un diodo cn con la como muestra los picos de fuerza ica. producidos por la carga de la el la dc Para controlar dc a partir sc provocar lesiones un circuito especializado el U figura aje y revisarlo chip dispone de siete circuitos inversores internamente con circuitos las conexiones o una dc 50 V y pucdcn cargas de eléctricas, sin hasta incorpora los dc protcccion. dispositivos a ir de transistores COMMON GND CARGA Figura 2-7 Driver La figura 2-8 describe el esquema de conexión, donde el alimenta las bobinas de siete o o > 17 O 6 10 11 12 IN7 OUT7 del RB7 GND COM. to a la BOBINAS la de los contactos másde 5 2-8 de de con
  • 39. - 1 6 MICROCOWROLAWR PIC1 hFR4 T)LSARROLLODE I'KUYCCTOS -'R 4-MA I íRA-M) - 2.5.2 Control con relé miniatura en cápsula DIL de la Para cargas de hasta 10 W es riiejor utilizar reles de láminas encapsulndos en DIL, alta f que necesitan una menor inta~sidridde activacibn, aunquc sus contactos no perniitzii dar 11 activar cargas grandes. La fipra 2-9 muestra un ejemplo de apjicacitin donde s61o es necesario un tratisistur para gobernar et reli. Normalmentt estos relés llcvan incorporados dentro de la cipsula el diodo de protección, como se ~iuede apreciar en la fototr figura, para 10s modelos que tio lo llevan es necesarioconectarloen el circuito. 5v ALlMENTAClON CARGA ' l - - - CARGA R1 u 1 10k BC547 CARGA hiiAxiMA (500 mA. 1bW) Figui Fipru 2-9 Gobierno dep~qrtriln~ cargas u trai.L.rd~un rd&de láminas en cu~)sulu DIL hará i 2.5.3 Control mediante fototriac ~UZ.1 i la te En el circuito de I:i figura 2-10 los contactos del relé son siistitiiidos por un prácti fciiotriac,cuyo funcionamientoes similar al dc un iiltemiptor controlado por luz. el t r i í es ne El necesario aislamiento entre cl microcontrolador y la carga de 230V se hace cona; mediante w i opt~~oplador MOC3041, qiic es iiii circuito integ~dc) que incluye iin LED que controla al fototriac. Este dispositivo esti rspccialmente diseñado para usarse coino interface tic sistemas 1Ógic0s con equipos que tienen que alimentarse coi1 los 230 V de la apag: red clectiiila. Sus caractensticas mas significativas son: conil Incorpora un pequeño y eConíirriicoencapsulado DIP 6. corrii Su tensibn de aislamiento de 7500 V garantiza un perfecto aislamiento entre la red eléctrica y el microcontrolador. Es capaz de proporcionar hasta 1O0 niA, que le permitiría alimentar garar directamente pequeilas cargas de hasta 20 W. Su fototriac interno permite el control de la casi totalidad de los grandes tiiacs, lo que no seria posible si se iitilizara un fototransistor ordinario. de la cjrcu Cuenta con un detector de paso por cero inlenlo, lo que permite economizar un número iio despreciable de componentes externos. de rt circu El cc
  • 42. ~cia Para cstas triar: un rna forma cc refigere adecuadamente. la llora ;mdo sefialas qzie rnetiilica al temiinal T2. dcbe aislar cuidado(;aincntc triac de! rncdiante mica separadordc plishco I r a! ;u rolar '- sefial normalmente utiliza zurnbsidor piezoeléctrico miniatura comprendidas entrc y 16 consumo FO mA, por 1 0 ser directamente salida microcontrolador,tal figiim SUM&ADOR EMITE SONIDO CON SALIDA BAlO entrc olnac ei EMITE 822 Conexihnde irn aimbador ininiafirt-a microconfroJador mínima conseguir potencias, el debe ir montado sobre buen radiador de es dc calor, de que el semiconductor A de poner el en el radiador hay que la parte del componente suele conectarse . Por tanto. por lo que se el radiador una lamina de y un para el tornillo. ic, donde la de un vez, esta cargas 2.6 ZUMBADOR En muchos proyectoses necesario indicar mediante tina audible la ocurrencia de un evento. Para ello se un corno cl de la figura2-12. Un zumbador miniatura funciona con tensiones 3 V y su no supera los que puede alimentado por la de un comos e indica cn la 2-13. A NIVEL 137 (8 A) 'uctivas ZUMBADOR SONIDO CON SALIDA A NIVEL ALTO tc en para Fisura2-13 aun
  • 44. fICROCONTROLADOR PIC16F84. ~ R A - M microcontr: v ci mism - 1 GrabadorE> (TEPO-SE compatible Fjxlrra Coyf;guraci¿in par[/p b o r micrmotiri-orudorps medios redz4cilr'os grabador equipo dondc procede p h a r rnicrocantrolador l a %instnicciones prapma control. zkalo quc integrado grabas, cual orientarse uadarnente de capsula ores :rciaEes e1 pueden en .c trbnica. Microchip o k c e gmbador PICSTART ficit ihzada (fipra En las quc r miicho rncnu iiitcrcsai g~ purtAtiles soh 22 DESARROLLO DE PROYECTOS En múltiples tienda de por sí OrdenadorPersonal Programador o JDM) 3-1 con 3 . 2 GRABADORES El o programador es el físico se a la memoria del con del de Tiene un libre sobre el se inserta el circuito a el debe siguiendo la señal la del chip. Hay multitud d en mercadoque se adquirir cualquier tienda de clec grabad el PLUS, de muy utilización y fiabilidadrespaldada porel fabricante 3-2). apenas muy que estos
  • 45. ltiternct c o n microcontroladores 10s populares JDM iniiltiples versiones mejoradas, puede electriinica (figura 3-3). 1 ntarlo mismo, c1apkndjce el1 1 - . - - Iible JDM alsnas version¢s diseñrtdorJens Dyekjm, w . i d r n . h o m ~ a ~ c . d k / n e w ~ i c . 2- grabar :rol. zbc grabadores -ir(inica. CfRCUtTO Fig~rcr Esqzt~rna de 110pl1~1dor cornpnfildeJBM bO.cicocor Eir figums se describen básicas pmprnador qite reqiiicrc cornponcntes. P a es menor qiic In dcl PICSTART PLUS. construcciiin intcrcsantc para miiltiplcs Auiiqiic hay quc tina obsen~acicin p.abadores hrisicos cor~ectamente ordcnnc pottfitjlcsscihre Ademb, iina cl En pueden localizarse múltiples grabadores de bajo para PIC. Uno de más es el denominado y sus tal como el TEJO-SE que se adquirir en cualquier tienda de por un precio muy asequible Si por si cn F se proporcionainformación para amador JDM) El programador y de sus la Wcb e la Tiene un orientarse fe ES EXTERNA AL 3-4 las 3-4 y 3-5 dos versiones de este apenas Evidentemente fiabilidad de este programador mucho pero su facilidad de lo hace mriy aplicaciones. hacer v es que estos tan no funcionan en algunos todo. conexión incorrecta puede dañar ordenador.
  • 46. 1 MICROCONTROLAWRPICI6W.DF5AR PROYECTOS m~ 4 - W A r' M-h~ l - D1 TU l W i 4 n 7 funcionamiel u f i l i 7 g r cstc jq)mg.si:~ 1 x 5 iiltima I L 5 y - y- E ayudar todc ~K dc D s B m programa¡ C . - - GR Fimrvn t C Avriromri lio i r n ni.nhn/Lr rnnind;hlo IT) fiAhr;r;rn c;i? n1;montn~Mnoviornrr 1 . f i E . I L . -, -, YYYL,CI.*" M b l l r l h. L.I.C.C.", L"I.I IUY.I,I&, " Y l l . Y U i l . U , l .l.<. "I...IL..<UL.V.. - . L r ,.U I ( i n ~ n r ian rhin pn pl nrnummndnr hnv n m i p r ~ r r i n r n r c ~ que todoslos pines o desrirrciilar i X r q l r i Un,, niin +-mar sólo O C ~ S ' " ""-'."' " ' " " '-..-' r"P."""""q ""' " patilla$ disposiiivo esttn ~ien 2,,,,,. , , , , , ,LLttbm mucho porqlie pines : n t s e rompe í'iinndn CP r~nli7-nf r ~ r i i ~ n t ~ c rmrnummnrinnrr rc nrnnc&nhl~ iitili7nr iin 7iirnln """- "- '"...-"-""'-''" r"". '-..'"-"..-" --""- ""- ""."'-' ".. '*'-"" L ixiliar micmcontrolador zócalo del proprnador, tal nes 7ócalo que sufran insercioncs y los spositivo. reernplaz~r zkFo por un zócalo em dc Z F (Zgfo JnserfionForre),aunque cl de precio [figura 3-G). P ' i g 7 4 r u -,-,' * Unc IC-Pr~ges uno sohare coi microcontrnladores FIC. Permite la prpgmrnaciOn miichos esti * programadores. entre compatibles con libre elect distrihucián pigiiin Wch ~ w v . i c - ~ r o ~ c o m sc piicdc descargar toda frct infamación Com Una descargndo, jnstalaciirn estc software basta qrnmnrirnir PI firh~rriirnrriu wrniir rl n m r ~ r i i m i ~ n t n iiqii~l ~n Winrlnwc Fctp obra --- y.-....," - p . - + . - - - .-*T. J Y--.-.." ,.'-"--..".-"'Y -..... -". .-..-Y..*.* --.,-- - d~ivo consta ficliero ieprog.e.re,qiie 24 ROLLO DE de En la ver: a profundo 3.4 Una Al e del rectos y de que en el , cuidado estos se doblan y con extrema facilidad. entren material: entre el y el de modo qiie sea los del auxiliar los I r i s frecuentes no pines del Otra alternativa, es el del programador de inserción nula ticnc inconveniente su evado Figura El ac ios más populares para la grabación de 3 de dispositivos y probado Un con numerosos ellos todos los JDM. Es de y en la y recoger la o de uso. vez la de es muy sencilla. con Web 7in v .. . .. del contiene todo el código necesario para s u
  • 47. xlos los pines I4ay que Iidad. ili7ar zkrtlo que los jr zócaIo nveniente b.c.v,.w,4ndc y cstli probado )M. dc rccogcr :esario pan hncionamiento, sistma oprativo utilkar XP, e! icprog..y situarlo cavela,junto icpvog.a. las próximas piginas v rxpondfin pñra al cdición JC-Prog OSC, pretensi~n dc aquéllos enfrentan por sohare. Pasa anilisis se rcmite la tknica, prograina IC-Pro2 dc ayida permite un rápido anrendizaie. amar: S610 utilin contil material: rollar el Ir ~uación. 5~ ventajas phacihn lmente ocedimjenro S e ~ i n esquemr T o s micmntmladores PIC pcrrniten poco gasto. aqitéllos qiie ; micmontroladores, in gma pmediiniento utiFiw Figuro Cuurcy u r ~ conectar elprogru~r~uurir u rrcrvv., de puelios COMI CUML m cable ordenador pmgmmador tipo DB9 COM 3-7). conectores (hembra cable, concxionando con nUmero extremo, 1 conector terminal I etc. TE20-SE, d s adquisicihn cualqiiier apíindicc m-ROM acornpafiiia ofmen construcci,,,. * sottWm utiliz %g 1.0: ~uede librr www.ic-rmn.com. D-ROM sta pcias Iri Gijzen, IC-l 4 iC, 1 : npaiía 4 o tener un 3d0 sea o los pines del un de de su Es libre toda la cilla. basta con Windows. Este su con versiones para cualquier Windows. En caso de este software con Windows 2000 o NT,es necesario descargar archivo de F a misma Web y en la misma con el En las conocimientos básicos trabajar con la última versión, cierre de la de este libro, 1. con la ayudar a todos que se primera vez a este un profundo de todas sus posibilidades a documentación ya que el propio tiene un buen sistema qiie 3.4 GRA Una de , ocasional el pr CON MEDIOS REDUCIDO las grandes de proceso de con proyectos de el es que muy Para desarrollan basados en es suficiente con medios reducidos que se indica a 3-1, este el siguiente 3-7 los o Un ordenadorpersonal. Un de conexión entre y del serie para puerto (figura Este cable se puede adquirir en tiendas especializadas o bien fabricarlo mediante dos DR9 y macho) y preferiblemente plano, los pines el mismo en cada es decir el:terminal de un con el del otro. 2 con 2, 3 con 3, Un programador en tienda de electrónica. En F y e que a este libro se planos para su Como se bajarse la Web e incluye que acor obra, a generosidad de Bonny su autor. a el , y que que en el C mente di a
  • 79. !a línea I ~ c t u m in ieración W7:W. Tcdas la mgramaaas yra sefial las TNTCON. ienfación I I I ~ ~11and0 :ia dcl esta luede Pin RB7,R84 MÁQUINA El rnicr~ontroladores par Ios ! :unos dd sistema binario. instrucción qiie cj~cutadapor 61 rnicrocontrolador binario. rnhquina, por microcontrnlado~ leripiia,je fonnari Ins iristnicciones c6dijys Así ejemplo. cuaiido microcontrolador PlCláF84 chdigo mricluina "'1 1 1 1 1W, esti instmccion: ".rrrmn regi,v/rode trabajo W g-uurda e/ resi~lratfo esk regi~tro W". :J;? - c . r T, +-y . t lenguaje debe tndticido ceros rnicrocontrolador procesarlo. codificaciOn binaria incdrnoda para traba-jar, muchas utiliza hexadecimal códigos miquina de Asi capitujo se pracedio grabar microcontroladom que sólo del puerto y la distinta a de ser de esta de una ir, conectadaa para 5-9 muestra variación dc una la ultima le señales de o máxima está chip, exceder de LENGUAJE Único lenguaje que entienden los es el formado ceros Cualquier deba ser debe estar expresada en A este lenguaje se le denomina lenguaje ser el que comprende el Los códigos de este que se llaman máquina. por el lee cl 11 1000 1 0 recibiendo la 58 al y en mismo 't- Cualquierotro que se utilice ser a unos y para que el pueda Dicha resulta por lo que veces se la codificación para facilitar la interpretación de los y no saturar las pantallas(ni los cerebros) unos y ceros, por ejemplo, en el 3 a los
  • 80. 5H M1C'ROCC)NTROLADORP 1 C 1AF84.DESAñROLLO DF. PROYECTOS 3 RA-m utilizando el pi-ugmrna IC-Prog, que trabaja cn lenguaje máquina, pero utilizando la codificacion hexadeciinal, tal cotriose aprecia en el cjemplode la figiira6-l. 6.2 LENGUAJE ENSAMBLADOR El lenguaje máquina cs difícil de utilizar por el horiihreya que se aleja de su fonna natural de expresarse, por esto se irtiliza el lenguaje ensamblador, que es la forma de zitprwar las instrucciones de una f m a más natural al hombre y quc, siti embargo, es muy cercana al microcontrolador porque cada una c k sus instmcciones se corresponde con otra en ciidigo máquina que e1 microcontroladcirescapaz de interpretar. El leti-=aje cnsarnblador utiliza nembnicos que son grupos de canctzrcs alfaniiméricos que siinbolizan las órdenes ci tareas a realizar con cada instruccjón. Los nemonicos se corresponden con las iiiiciales dcl nombre de la insuuccion en inglés, de fom~aque "recuerdan" la operaciori quc realiza la instrucci8n, lo que facilita su mertiorizacion. Así. por ejemplo: para oriictiar al rnicrocoritrolndor PIClóF84: "sumu 58 al rrxistro rh? lt!rriliujoW y gear7i-du el resultado en este m i . ~ m ~ registro W", en leiigiajc cnsarnblador sería "addw d'5'58'"quc es mucho m i s amable qiic cl"1111100011l010" del lenguaje máquü-ia. Resumiendo con un ejemplo: Instrucción: "Srriirri 58 ul r-e,yisiimd~ ~t-ublljo W y ~ ~ C I Y I ~ U el r~~~.ulíudo en SIL' ~ni.~tno registro ". Elisamblador: uddw d'5H'. Máquina: 1 1 1110 0011 1O 1O (expresado en binanol. 3E3A (expresado eii hexadccimal). 6.3 PROGRAMA ENSAMSLADOR El programa ensamblador es un software que se encarga de traducir los nemonicos y símbolos alfanumkricos del prcgrama escrito en ensamblaclor por el usuario a código máquina, para qiic piieda ser interpretadoy ejecutado por el mjcrocontrolador. E1 programa escrito en lcnguaje ensamblador recibe la denominación de código fuente, archivo fuente o fichero fuente. Suele tener la extensión *.asm. El archivo hizntc debe ser traducido a código riiiquina, de lo cual se encarga el programa ensamblador. La mayoría de los ensambladores proporcionan a su salida un fichcro que sucle tener la extensión *.hex.Este ficheropuede ser grabado en la memoria de propma mediante la utilización de un grabador de microccintroladores.
  • 88. hli MIC'KcX'ONTROLADORPTC IGF84.DESARXCJLLO DE E RA-M h Tatill~ de ipisfrucciones PIC16 Las estudiimin 111s inás scnrillas. Las de fuerite (f! iiti utia microcoilrroladritrs PIC triemoria explicacion ernplea nomenclahita sirriplc parintesis 1 iiienioria Jircccibn d d e re@ cjcmplos: resul (W) "el conr~niLio del se truns$ere u1 w puerto B.'. Ante (2Bh) 3 dr pwíció~? 2Bk M M de m h t o s bransjere ri'c. traht-rjoHp'. 2Bh i (W): "e/ regt~trode tti-ub(?jo c~irga dato E i t a Ante ZRIi". auscncia parkntesis). w instruccioiies carga clrw regis (Cleur W). El W borrri (se cargsi b'00000000') cl Z sc " I". podria cotisiderar aritmética. Ejw -1 PROYECTOS 6-2 Repertorio del F84 instrucciones se recogen en L a tabla 6-2 y detallan cn s u totalidad en el apéndice B. En este capitulo se instrucciones 6.9 INSTRUCCIONESDE CARGA instrucciones de transferencias de datos son típicas todos los procesadores y su misión es transferir el contenido un registro a registro destino (d) o bien cargar el destino con constante. En los todos los datos residen en posiciones de la de datos y en el registrode trabajo W. En la de estas instruccionesse muchas veces una especial muy basada en y flechas. Con los paréntesis se destaca que se del trata del "contenido" de las posiciones de y la flecha la la transferenciade los datos. Algunos 3(PORTB): Significa registro W (W): Significa "el contenido la de se al registro Significa se con el (Notar la de Hay cinco de propiamente dichas: 6.9, 6.9.1 contenido del registro se con y flag activa a Esta instrucción también se como Ante 6.9
  • 89. fiR A M A Ejeir c t w Antc (W)= Despues instrucc~on: (Nr)= ~lxflfty L= l . . Z = l.'? - . Ninglino 1 Ninguno 1 Ninguno N i n m i n ~ 11 (Clemfl. El contenido de1 regrstro 'f se b o m (secarga con b'000000007 y el flag Z se adiva a uno.Esta instmccibntambiénse d n aconsiderarcomo aritmética. mo.PD Ninguno 1 m,rnD Qerr Antc npcr 6.9.3 movlw k .I totalidai (Mnve Literal to W). El re3ist-m W se carga con el valor de los 8 bits de la constanic'k'. Ningiin flag del registrode estadoes atkctado. .i3 III Ubb30 lestino (d) o bien ' todos los datos C'. 6.9.4 movf f,d (Movej.El contenido del registro 'f se carga en el registm destino dependiendo ' del valor de 'd'. Si 'd' = O el destino es el regstro W, s i Vd* = I el destino es el propio una nomenclatura se destaca que se registro 'f. El f l a ~ Z del registro S T A T U S - ~ U ~ ~ ~ afectado: Z se activa a "1" si el resuli E. Eiemn10 F: movt PORXd, 0 :(PORTAI +1w) I direcciót '..-iuni tado de la . . - i n es ccrc Ante Dcsp p O R 1 . (POR? 'A) = Ox1 'A) = 0x1 Ik (W)= i', 1 A, (W)=o: uks instn IBA & h r w !AM de el dato 1 1 & ' r p con i 2 . iem Aiizei Dcsp - > idode Ia 1 el resulta o 'f. Nirigún flag (Move W lo 1 ) . Carga el contenido del registro W al registr registro de estadoes afectado. , del I Qmplo: rnovwf PORTB :(W) -9 (PORm Antes inshcc (PORTR) = i,? Despuks iinstn (PORTB)= 0x4 I ión: iccihn:
  • 114. y Orrprtt ro File cl fichero 'indows. hito de1 : 5TbTL5 PCL - . 3 de estado ventana visualizaci6n linea proporciona infomciiin muy situacibn microcontrolador. ------- 1 inf&or ofrece infomnacion Ia simular1n.i O " . " . . . útil infamación el progama. trabajo flags I mrnaqúsculas vale "1 " si miniicc~alas Asi I flgtn Z DC =1 C=E. 2 ---+ ....... WFAQ ?u :~~~JTART ~a;l S - ; . . - - - ~ W m P 7 a h 3 - - w : ...... --+--- L . hre simb6licci usiiario. tc iso wdro dililogo ee m I I 1 , .' Fipcrn 7-iJ , A ~ , , ~ ~ wc- G,~L~LI~) infamación yJrapP~ del SIn 7,6 SIMULACI~N BASICA T m sc p d e simiilacibn programa, w simutacibn programa visualizar las comprobar m ellas. dc IPLAB tal como explicben figura m& importantes p m simulaci6n Debbuger muestran f i _ m seleccionar y salvar de la forma ya conocida en el entorno general contenido de la . . . Aunque no es una de propiamente dicha, la de estado iitil sobre la actual del Se ubica m la pane de la pantalla y en todo momento del estado de ., Es especialmente la sobre contenido del contadorde del registro de W.También indica el valorde las de STATUS.Si la letra está indica que ese flag y, es vale"O". en el ejemplo de la 7-13, =O, y duros . - . - . . . . que de supervisar los concreto. Para de pulsandosobre rla posteriores con la del PC, W el proceso dc ensamblado a la del Mientras ejecuta la del es interesante el contenido de ventanasexplicadasantesy el efecto cada una de Es conveniente antes nada, comprobar que está cargado correctamente el SIM, se L a 7-4. Los cinco comandos la se localizan dentro del menú y se en la 7-24.
  • 115. 92 MICROCONTROLADORPICIóFR4.DE'RROLLO DEPROYECTOS c m Rfrn. Modo de ejecucibn continua.Ejecuta el programa constantemente. ventanas abiertas en el paso anterior no se actualizan hasta que no se pro una parada. Es la fama mis rápida de simular el programa, pero no se "vi como evoluciona la memoria ni los distintos registros. En este modo se i seleccionando Beliijgger > R~tn o pulsando la tecla F9, tambitn al pulsar S el icono correspondientede la barra de herramientas(flecha azul). Las duce Animate (o teclas ctrMF9). Modo de ejecucihn animada. Ejecuta el programa de forma continua pero actualizando todas las ventanas cada vez que se ejecuta una instrucción. Es m& Eenro que el modo "Run" pero permite ver como van cambiando los registros. Tal vez sea d modo de ejecución más util y rccomendablc.Se entn en este modo seleccionandoDshir~~er > Aninia también al pulsar sobre el icono correspondiente de la barra de herramic (doble flechaazul). * Hah Paro. Para la ejeciicibn del programa y actirajixa todas las ventanas. Se consigue seleccionando D~hti~gger > Run o pulsando la tecla E5.Tambidn se entra en cstc modo al activar el icono correspondiente de la bam herramientas (dos barras verticales azules). Sfep Inro. Ejecuci6n paso a paso. Eiccuta una soJa instnicciCindel progama cada vez actiializando los valores dc las ventanas. Es la forma mis lcnta de simuIaciiin pero se compnieba fáci1mente como van evolucionando todos los registros y memorias, siendo muy facil dstectar los posibles errores. En este modo se entra seleccionando Debugger > Srep Info o piilsando la tecla F7. Tnmbjézi pulsando sobre el icono correspondiente de la barra de herramientas. * Resef. Equivale a un reset por activación del pin MCLR. En este modo sc entra selcccionarido Dehiigger > Re-re!o pulsando la tecla F6. También si se pulsa sobre el icwo correspondientede la barra de herramientas. A-MA Pan1 aemho tic Seleccionn donde Iia i
  • 154. i t~ t . . . <nome> icuentre, fine ( mblador: :to. I I : continuación PORTB :]Ni?LED s e i : n Iine LED (Dflnen :D~P lnes (genmlmentc ~ D F F -DFF i d bs D P ( tl O, i1 Rznm sc conccia 3 :n m . ; o: LER ACCCW 1. Confrgum csla línea i1 : L hcccw : :Encicndi #DEFINE ANSI simbolos mCtodo disponiblesDara mr 15. este valor ARIO cuwrior numero binario natural formato hcu largo ion opcracianes progamas microcontrolador merece !; eiemplo expresado binario natm1 I . . 01 1 1 11 BCD separas Fas qudando: 0010 figura txplica cl:diagmma resolver .4. coni~crsihn. irnplernenta. descrito continuaci9n ,epttede Iri figura 9-6. s ***si nienzo RAM 4 .,-1 h e , s valores de --m - A :dcm ; u m m hinario 8 bitscs curivcnido El erultadri gl~qrrl em~irins ilamadasCcntcna~. L'nirladcs Admis tiiial 1 c bajo repsmi W y dcccnas cn cl nlbhlc Insdidas calida visuaii7arán ! a sdmenas la* L a e n m p unidade LEDs cane sicioncs sestaráti ctados ; : p : pr :ejem ocediniientr pln quc trai; 2 1 " A . l* , - , s . . . la figura9-4 que . . - Estadir que e una Dondle quiera Ejemplo A se conecta cstn ... bsf BLOCK marcada entre las bc icof Ranw 1. : El ; al Banco ; como salida. Banco O. el diodo ; Esta directiva emula del C standard. Los definidos con este no están ser usados el MPLAB. anterior ejemplo). Si no 9.9 CONVERS NATURAL A BCD al: de la La conversión de un expresado en a es una si a lo del de variables, de las más utilizadasen los con y que ser analizada en detalle. Por el valor 124 en seria 00, para expresarlo en hay que centenas, decenas y unidades 0001 0100. La 9-5 de flujo para esta definida Un programa ejemplo que lo seria el a y comprobar sobre el circuitode que lo a datos. .Un n nihhl de 3 RCD. se Docenas y al del las alto. En o de se y las en el al El m niuni valorque El utilizado
  • 155. MICROCO~OLAWR PIC16F84. DESARROLLODE PROYECTOS OWMA {Decenas) movlw subwf btfi~; Foto NO, I H NO, m! NO,mi NO. resi NO,m i NO, m NO.m c a lo NO. reSra 10 NO, Festa 1 0 NO,resr fn NO. m t Incremcn NO. hcrt ... . . S). cenas). NO. lncmcnta (Uc NO. Incremonta (ae NO.Incremnta (De NQ.Incrementa(De cenas). cenas). cmia~). cenas). NO. Incrt NO. Incrt NO. lncrt hln lnm. :menta (Dc menta(De :mcn ta (De . . - . . M + - Ir%* cmiaii). cenas). cenas). r * n n r l ,*v.iii~ibiiibiira (r,c Si. @ecenari)=O, y al incrementa (Cenfe NO.Inemnenta (De bCil02,J. demb w ) cenas) NO,resta 1 0 sí,s e te 'Numero". r- 1 l UDE <PI( CSLGLAIB(UL Cente Decer Unida ENüí :u izona ac memona ac usuanocomicnz.. . . .. . .. ;dirrccii h a R h M de datos. ;Pmició ;Pmici8 nas ) a y Numero EQU ORG ;El pmg inicio bsf ;Acceso clrf :l a s lini bcf :Acceso m n u p a r clrf Centenas :Carga 10s qismr clrf Decenas ;Enprincipio(Ceni movlw Numero moru :Se carga el n ú m mbinano a convertir. Bm-Restui 1 0 movh ;Alahu 1 subwt :pa-da. (WJ==(Untdades)-lo. STAT TRlSE STAT b al Banco 1 z del F u e b al Banco I rio R secontigamwmo sdicta. 1. "BCD-lncr ;con el res1 tenaspoy i ~ltado inici: [Dcce:enas)= les va restai . . ndo 10en c , . . < ?, i(W) Vi! menorde 1 BCD
  • 157. RAO ABOff N f R41 RB1 RA2 RB2 RA3 R53 R M O C K I RR4 R 8 5 RB6 :Lns salidaise ohtii : RR5 (SI;'i, m 4(53: 'E DATOS ; ZONA D Fignrn 9-6 Circttitoparo compmharel programa RCD_Ol.mm novlw P iioluri 3 1cf S EI salto indexado es una tknica que pemiite resolver problemas que puedan ser representado mediante tina tabla de verdad, En el PICI6F84 se basa en la utilización de la instniccihn addyf PCI,,F, de este modo, la direccihn del saIto se consigue sumando a[ contador de programa (PCL) un valor de desplazamiento almacenado en el regiswo de trabajo W. aovf- P ndlw h ddwf P oto C oto C' oto C En el salto indexado, ladirección del saltose co~sigue sumandoa un registrobase (el PCL) un valor de desplazamientoalrnrlcenadoen un registro índice que es el registro de trabajo W.A cste valorde dcsplazamientose le denomina tambiénqfl~et. Al ejecutar la instmccihn c r d w PCL,F el registro base TCL) debe estar cargado wn la p r i ~ m direccion de Fa tabla, apuntadode esta manera al origende b t a . >!o C nnO ovlw h' ..- En el siguiente ejempto se asimila f5cilmwite la utilidad de salto indexado hardware utilizado s d el esquemade la figura 9-7. IlCl i 4 .mt ovlw h'l ,tn h. id ovlw h'l itn A' 1717 :tmp11 ;Por q a tabla dc I : abla seri d i verdad m i e 3 enmb iancja dc te s tal como I :matar un: jtmpto,la I
  • 158. C ' M ~ U L O SALTOS 135 1 1 1 I;(cd*I-6nl). 1 1 1 1 i;(-hz). r i 1 1 1 I;@orSi@&tf). 1 1 O O;wgumidn4). 1 1 1 O i 1 l;(CdgumcibnS)- 1 [ O 1 1 l;(Conftguracibnó). 1 1 1 1 i 1 i 1 1 l;(Wguraciún7). ;imenbndw mectai.mi llneasdelpuerto RA2 M 1 (B) RAU ;Lassalidasse~enenelpuertnB: ;RBS(S5),lU34 (M), M 3 (S3). (521, M 1 (Sl) RBO ;ZONADEDATOS ***SH***l*%'****W'****SI************5*1II*L*I***************h****U***** CONFIG CP-OFF & -ri'DT-QFF &-PWRTEEON & XT-OSC EST P=16F84A INCLüDE 4'16F84A.lNG ;ZONADEC~D~GOS**'*******************Q"'*L******~****#********S:*****~***++*********** pmgrama conireriza h direaibn0. bsf STATWSH'O d Banco clrf TMSB : heas hiato se confipmu saiida. movlw blOOO1 1 1' : líneasdet se eukada. mowf TRISA bcf STATUS,RPO ; al s i utilizxiiin la movf PORTA,W ; el valor lasvariables e n e . andlw b'00000t1i' ; quedac m a e c bits enaada. ;igue configuracibn&macla. de C o n f 1 ~ 0 i i O gota Configuracion1 Co~guracion2 Corhgumcicin3 registro goto Conñguraciod ;fr. goto ConfiguracionS I goto Cdguraciaaó goto Configmcion7 rnovlw b'0000101Ot ;Confipuracibn indexado. goto Activasalida configuracibn '.CL*******I* movlw b'OO1OOO1li :Cun-ih movb b'0000111~' C 0 n ñ ~ i S o gota ActívaSaW C d g u m í o n 4 9: o o a o o o o o o o o o o o 1 O O ] O O O O O O 1 O 0 1 C, B. A se a las A: ( C ) , y {A). RB2 y (SO). ORG O ; El en ; Acceso l . Las del B como 11 Las5 PuertoA configurancomo Acceso BancoO. que puedan ser Leo de de de Se los de sumando al ;Saltaa la en el registro goto goto un registro base goto que es el Al ejecutar la con la primera ; O. Ito El l. 2, ; 3.
  • 159. 136 MICROCONTROLADOR PrC1bFM. DESARROLLODE PRUYECTOS FRA-MA mvIw 8 0 C ~ i d mvlw C o n f ~ i i o t i 6 mwh soto Cwfigmcion7 mvlw ActivaSalida m Y w f ;Vidiza porel pueFto desalida En las soluciones de los ejercicios facilitadas en el CD-ROM que acompaña a este libro, se describe otra forma de implemmitacibn más eficaz mediante el p r o v a indexado-O1B.acai. Figura 9-7 Cit.~liliio paru comprnhurios programasde tablade ivrdac3 9.11SALTO INDEXADO DESCONTROLADO Como ya se explicb en el tema 4, los 13 bitscontenidosen el coniador de programa y que direccionan la memoria de código estan guardados en dos registros específicos (figura9-8): El reg un reg Los bi puede PCLA El PCLl bits son transfe tiznen por dcsti Cuando ! instnicciiin .ad es así, cl salto e que el registro prueba de un sa ; P r o w a para cor ;Se debe comproba 9 ; ZONA DE DATO INCLUO LIST ;ZONA DE C ~ D I ORG Inicio goto c h ORG Principal niovlw addwf
  • 196. i ¿R A - V A CAP~TULO SUBRL'ITNAS DE RETARDO 173 ;ta iiistniccion cnstal R..ContA can R-ContB con "K" contador R-ConlA "K* Pequerio tiempo urrido Decrementa R-CoiitA :S ; SUBRUTINA :0nseguir el retardo R-ContB rucción :I R-Corrr.4, ijerite 12-4(A) SUBRUTINA Esfruchci-ade Iw sub~4tjna~ d(9r~~tnrdo d deducir el ~iiicialmente -ContA sigiiientc viene ps: : Ziempo=5+4K K = ;miquina. <=249). 12: tarda de cuarzo de resulta necesario intervalos pueden simple de algunas es conocido registro ibtenw el tiempo de fragmento de la figura se máquina. valorde"6". cm (al saltar). Carga contador Carga contador valor inicial "M" valor inicial Carga con valor inicial de espera A). ESTRUCTURA DE UNA DE RETARDO CON UN LAZO SIMPLE. Oecrementa B). ESTRUCTURA DE UNA DE RETARDO CON DOS LAZOS ANIDADOS Figura12-4 Es fácil que el valor de la constante "K" con que se ha cargado el contador R vendrá dado por la ecuación, donde el tiempo expresado en
  • 197. EJEMPLO: Calcular el valor de la constante K,para obtener una subrutina de retardode 500 pscon la estructurade de lafigura 12-qA). Soluci6n:Aplicando la ecuación se obtiene: Tiempo-5 - 500-5 K=- - = 123,7 4 4 Así pues se elige K=123, obteniSndciseun tiempo de retardo real de: Tiempo=5+4K=5+4+123=497ps El ajuste fino para Ios 500 ps exactos se consegurta añadietido3 instrucciones nop al principio de la subrutinaderetardo. 12.5 RETARDOS MEDIANTE LAZOS ANlDADOS Para lo genecic18nde retardos de niayor duración deber1 ulilizarse lazos aiiidados, poniendo un lm dc retardo dcntrv cli: otro. La forma de liacerlo se explica en Ins subrutinas "Retardo-200ms" y "Retardo-100ms" del siguiente programa ejcinplo,donde a partir de la csmictura de 1 ms conseguido en la sccciiin anterior se obtienen rctardos mayores mediante la redlizaciónde lazos anidados, figura 12-4(B). Este programa es una i~til aplicacionde un LED intenriitcntepara cl circiiitode la figura 12-5. D1 RBO R1 ;apaga durante ;ZONA DEDA 1 #DEFINE LED ( ;ZONA DE C O ORG inicio bsf hcf bff Principal bsf cal1 d bcf caii catl gom Figura 17-5 Internaitenle
  • 339. W 318 MlCKIX:OKTROLAWR PIS lriF84,DESARRULW DE PROYWTLiS c ~ 4 . ~ 4 O RA-MA i 20.9 PROGRAMA EJEMPLO Escribir por el teclado de un ordenador y que esta infomacibn se -¡sualice en la pantalla del módulo LCD de un sistema con microcontroladores un ejemplo inmediato de las aplicaciones que la conexión entrc microcontroladory puerto RS232 cle un ordcnddor puede ofrecer. Para cl cvmcto fiincionamiento del siguiente programa ejemplo hay que cutnplir los tres requisitos fundamentales de este tipo de comunicaciones: Hardware: Se ejecuta sobre el circuito di: la figura 20-13, no se ha de olvidar conectarlcial pumo COM 1 o COhl2 dcl ordenadora través del cable RS232. Un programa de coniunicaciones quc se debe abrir en el ordenador, como el evper-Tertninalu otro siinilar. Programa de control del rnicrocontrolador que se debe ejecutar en el rriiccocontrolador. Un programa de control grabado en el rnicrocontrolador podría scr el siguiente cjcinpliisuficientemente documentado: ;Enel m&lo LCD se visualizanloscaracteres que seescribanen el tecladodel ordenador ;y se mnsmitena h v e sde su puerto serie. E m s &?tosv o l v e a serenviados porel ;microcontroladora1ordenador, por lo que tambikn se visualizxia en su moiútor. ;Se utilizani unprograma de comunicaciunesparaque el ordenadorpueda enviar datos ;a travésde rupuerto serie,como el HyperTminal de Windowso alguno similar. ;Concluyendo, lo que re escriba cn el tecladodel ordenador aparecer6enla pantalla de' ; mduto LCD y cn el monitor del HyperTemind. 7 :~~NADE~AT~S**********5*5******C*C*****Qdii**OiPiP*****CC******~~*~****L************** ORG O In1c10 c a l 1 LCD_Lnicializa ;Ini~dLCUyIaslúiwiaiquese 1 RS232-lnicializa :van a utiIizar enla cmwiwihc me l puzrto Ptincipd ;SerieñS232. d i RS232-LeeDato ;Esperamibirunmhctm. mwwf GtmdaLMo ;Guardael daui mibi&. d WD-Cmter ;Lov i s u d k Figura ; Una aplicacii hacia el ordenador. RS232-MEN.MC, 1 "RS232-M( cl microcon "RS232 LU del ordenad .+~**L**L.*%***4**.* J I ? j mbrutinaa ; - a tmds del1
  • 458. 1,. 440 MICROCC1NTKCIL:IDOR PICIGFSJ.DESARROLLO DE PROYECTOS E m-MA NCLUDE <RE;TARDoS.INO MCLUDE <BZNBCD.[ N O I MCLUI)E -UD-4BIT.iYO I INCLUDE <LCD-MENS.iNC> END ~: Para probar este circuito se puede utilizar la tensiiin variable que se obtiene del 11, divisor de tensión formado por R7 y R8. i Este voltimetro puede medir una tensión entre O y 2,5 V. Para conseguir otros valores de escalas Iiabria que añadirle a la entrada circuitos atenuadores y amplificadores. 11 Sr anima al lector a desarrollarlo como proyecto.
  • 471. 454 MCROCONTROLADORPIC16FW. DESARRULI.0 DE O M.MA - - MOC3041 A6 7 7 m 52 DS1820 (V~sto debalo) d1 230 53 1500W 28-8 Esqucmd termostafodigira)dr'precisihn i*b8**i*C********+**i*******S*+C+SDSi82U 'T-osm,irsm********************* hgrama &conmlp m tmómeim termostato digital.U t d k censor temperatura DSl82O inform~lcion tnvks tiw deima sola lhea : del fibricwtr:de semiconductormWaHas Semiwnduciors. El la te111peratura l a se mediante puisadores: ; "iNCREMEWAR", conectan pines PuertoB funciondentoce basa eii ;intmnqxión p cambio m del Puerta ; I'nrms: - sbto cano tennhemi. Aparece latmpmrura rn Y de1niMulu LCB. salida termostatoestá ; - h tmpmtura m&te elpuldm ; - Vuelve B pulsar se eltemw>stato. la n a d a Ittd m d a mcimde carga, caiefactm. bemperaturamedida nuiyor M a h , ; pulsar apagala carga funcionarF 6 L ocomo t e r r n h m . : c ~ D ORG gota ORG guiu rrddwf Mewijchibliciwic DT PROYECTOS SALIDA MODO por REO V- CARGA Figura de un , ; un y el de ; que transmite la via seriea deun segúnun protocolo ; ajustede a que conmuta el termostato logra dos "MODO"e que se a del y cuyo la línea B. Se manejade la siguiente ; En estado dereposo funciona pantalla La del apagada Pulsa"MODO" y s e ajusta deseada "INCREMENTAR'' 'MODO". activa Si temperatura es menorque la que puedeserun Si la es que la apaga lacarga. - Si se vuelvea "MODO", y pesa a ZONA DE Mensajes , "ES.
  • 472. - J3 i5W'N ,SI (:AP~K~LO l . r N ~ L~NE.A 455 ;Así se ms mdos funcionamiento ; flag: A) 'TemiostatotoOFF",donde termbniew temiostato. reconwepore1 FTemostato-OFF. ;B) Mado "TennosMo-Ajuste", temperatura deseada termostato. flagF-Termostato-Ajuste. "Tmmtatc-ON", funciona temrórnetroniirrnal tmrnosraw.Se reconoce F-Temiostato-ON. progama que esti activdo uno solo flags antenores. : sistema la e1 priixíma CONFIG -0-OFF & -WDT-OFF &_PWRTE-ON -_XT-OSC LIST P=16F84A MCLUDE XPIGF84A.iNC> 10s incrementoscada ; 10s flags establmer m&s la ;EEPROM Aqui se : #DEFIN SalidaTemostato PORTl3,I :Cargd controlada #DEFINE Zumbador PORTJ3,2 Aqui conecta MvdoPulsador PORTB,7 pulsadms conectan #DEFINE Incmenta~pulsador PORTB,6 ; del puwo B. F-Termostato-ON FlapMdos.2 ; FIagsutilimdoscn @DEFINEF-Temio~tato~Aji~te FlagsMdos,1 ;temperahira temiostato. #DEFINE: F-Termostato-OFF FlagsModos,O TMROCargaSOms -d'195' cargas eQU df4O' ;P m conseguirintemipción 50m. ;k e r i d a x 50ms = 2000ms. RA-MA 28: BUS DE A-MA pues, enelcircuito distinguen de que se identifican mediantetres ; Modo funciona como normal sin Se flag dondese ajustala cuando funcione coma Se reconoceporel ; C) Modo por el flag donde como con ;El consigue de los Alapagar el debe conservar el valor de temperatura deseadaen termostato ;para la vezque se encienda. & ;Guarda 50 m s . Guarda para los ; de trabaja ; Correspondea dirección O da la zona de datos. va a guardar e1 la temperaturadeseada.En principio24 "C. CARGA E por el termostato. ; se el zumbador. #DEFINE ;Los se aestos pines #DEFINE elajustede la del EQU cada 2s = 40
  • 473. 7 456 MCKOCONTROLADUR PIC16F84.DESARROI-LO % K ~ M A CR4.W MensajeTemmtato-ON c h DT ",OxOB call Mt~l~ajeTermnstato~Ajuste illoy "Tenqm. QiiBO m v M e n s ~ w m t i m mov DT ' T ",OxOO ;EjlpmuaLCD:'mC " ; seccidn"P ;Nogepitede~ Prmcipal - Pregara mbdulo %oto monsaje 1 i - "DSI - Inicializa - tnterrupciones. intemipciones. Dit7grntna flujo temostafodigifnl d U = D U = D ~ i z a i d STA'EUSW mwhu b W 1 1 1 ' ;Aeacalerde255~d~Oyhab~3ita m 0 4 r n N - R E G ; ~ k a d c ~ I ~ d e l a i f a t o B bsf lddomwm ;s%cúdñpmacomaataada bsf L - bcf W T c m # W S e ~ c o m o ~ . bcf zuulhbx Bef STAWSJUW caii L C D C D ~ l ; S e ~ i t & a l ~ i & h ~ ~ mwlw Mensajehrblicie d i LCD-Mensaje Fipru 2 C& DS1azo-~nicia~iza ;~omieripla~0nwónde1term6metroyporie cal1 ModDTemomt~~OFF &te nada de f u n e i d m . ;S u & TMRDL€arga50ms TMRO comp1emento mwwf m 0 9 ; m a c t a q i a e h a d w Carga2s e l r e g i s t r o n r y o ~ t ~ w n t a d l o s 2 s . movwf RegistroSOms servicio^ DE PROYECTOS "Termostato: DT deseada", La LCD. - Configura entradas y salidas - Visualiza publicitario 820-Inicializa", comienza inicial de funcionamiento. todos los registros. Recupera la última temperatura deseada del termostato. - Habilita las Espera las Figura 28-9 de Inicio ; ; "Ser movlw ;Carga el en a 2. ; Y principal del
  • 474. á' RA-hL4 - CAPITL~LU 18: ~ N A LjNEA c h h pica611QxOO m a m i ~ EEPROM c d l EEPRW-LeeDsto ;donde k t e m p e r a t u r a e d e h61m-m m o d T - v e z q w 9 e ~ . movh b'lOIU1W Activa inmmp5bn del-0 (m), m b i o movwf D T T C U N ;l i n wdd Puerto B (R3B)y l a (GIE) ; L a 6 a x i & ~ e s m a n w ~ t o . w o ~ ~ ~ . No se modo c o ~ w ~ o porque inimumi6n"deep7' ddene Timer m p a l Priocipl "Serviciolnterrupcion" Q I I"Termomsim" terrnbmetro termoslalo. I I ¿Han 1 1 "CarnbiarModo": mDdo 1 L-.-. '(NO 1 ¿E& puisaso "INCREMENTAWJ "IncrementarTempOeseada": ternpsralura Limpia flags J Retorno de la intempcion - Figura 28-10 Diagramu d'rqfliqo subrutina de intewlkpciones BUS DE 457 ,Lee de de datos se guarda ; ; por de general interrumpidolas pulsadores? cambia el de funcionamiento. de reconocimiento de las interrupciones. ; puede poneren debajo la el O. gato pasado 50 ms? Lee y actualiza el Ajusta la deseada. de la atención a
  • 475. 458 MICROCONTROLAWR PlC16F84.DES4RROLLO PROYE C M S 2 R4-w t R A - ~ , 4 btfsc call btfss pob btfcs a l ¡ btfss cal1 Fininterrupcion bcf bcf retfie INTCON,TUF interrupcionproducida Timer Tennometro ; el termómetm actualiza NCON,RB[F intemipcion RBI Fin[nternipcion MdoPulsador &stá "AJUSTE"? CambiarMdo IncrementarPulsador;¿Pulsado IncrcmcntarTempDcseada ; MTCON,RBF remnocimiento. iNTCON,TOIF "DS1820-Inicializa": conversion - "ModoTermostato-ON". carga. - SI"ModoTemostato-ON", coiisecuencia I I I 1 " ~ i s u a ~ i z a ~ el forniato I I Return 3 Figura 11 flujo la subrutina Te~mometro I ; subrutina ; peticiba temporizaciini ;TarnbiCn so& Termomebu movlw ' m 0 4 ' decfsz goto 1 4 mowf cau 1 call cal¡ - d i 1 m Visualiza temp 'Temper. c DE ;Si es una por el O lee y termostato. ;Si esuna lee los pulsadores. Esta leey debido a la ; presionadoel.pulsadorde ; de2 ;Sí. Ajusta la temperaturadeseadaen el termostato. "INCREMENTAR"? actúa Si, pasa a incrementar la temperaturadeseada. ; Limpia los flngs de , movlw Prepara para que se produzca la próxima interrupción dentro de 50 ms Coniienza la para la siguiente "Termostato" NO se desea ajustar apaga la compara la temperatura medida con la deseada y actua en activandoo apagando la carga eii 28- Diagrama de de la 1 1
  • 476. Q RA-MA c . ~ P ~ W L O L ~ A - S&mth "T-om-" --------. --- ! * i ; subnitina lee visualiza tennbmeko I! : peticihde Tmer c& m.Parawnseguir m ;temporizacibn S, repetir S0 (40~5(hrrY=7000ms=2s). Tarnbih actiia dei termostatoposicimbndofa Termmietro movlw movwf decfsz movliv monvt' l cau cal1 cal1 return ;Decrcinenta cmt~dor. : lian segundos, canto Repow este temperablra. ; conversión 1ectm. Actha sobre termostab. esn subniha caribe ri esta dosinstniccionrs a h m ;tarnbien "Visualiza" 0 en aiustar " ~ e m ~ e r . 25OC " I temperalura y 25OC" 1 24.5% " Figura de$ujo subrutina I~'isimliza 28: BUS DE UNA 459 Esta y el cada 2 segundosaproximadamente.Se ejecuta debidoa la interrupcióndei O, 50 una de 2 habrá que 40 veces el lazo de ms ; sobre la salida adecuadamente. , goto cal formato: ;Recarga el TMRO. el No pasado2 por sale : contador nuevamente. ;Lee la Comienza para lasiguiente . el ;Como se continuación ;seahorra y espacio en la pila. se desea en formato: Visualiza la medida la deseada en formato: 'Termostato: deseada" 28-12 Diagrama de l a
  • 477. ; V i s u a ü z a d t ~ e a ~ f ~ p o s i b l e s : ;A) kmos@ hacth-ado,m& "Temmkto-OFP. ejernpb: ' ~ , ~ P d " pmuaW) '' 24.5% " (Segundau). - ~ e n l a p r i m c r a ~ s e ~ z a u n m e m j e p u b - l i c ~ a y e n I a $ SegUadsttneahoemparaturaaedrBa~tual. B) Ajuste&1 termostato, Tmmebfa-A&e". PM e j 4 o : - * 'Trroper.~"~~~ " 25% "(k@náalinea). D o n d e m l a s c ~ ~ v i d i z a l a ~ a t t í r a q i r e ~ d c s e a a ~ . C) &va&, ' T m m - O W , ejenrpQo: Tcmroststo: m" wntmun#) ' I 23.5% "f-dalmea). ~ e n l a p r i m e m l i n e a s e ~ l a ~ ~ q i i e s e d f s a i i ;Enmdax ( T - e & ) temprr#ra Imi suhuthabmmmtar. t I i Visuai~Term~atato~Ajuste cdl LCDLineal ; sihia di ha ! mvk MensajeTemstato-Ajuste Visualizamen6s.e hm. call LCD-Mensaje movlw -6 Se coloca centtarvisudhcih mia cal1 LCD-PosicionLinea2 segunda Uaen. VWT- . . . . -, - ; . 1. M.- . T w W . , -. . . . - . . - , . i "VisdizaTermom ' 9 laprimeraha ;temperaturam&b 9 i ;Enldas: - * I I 7 - 1 ;VidizaTemonm caH call VisuaiizeT~tur movlw d b t f ~ g m ' T e m m - w movhv ' cal1 Con el Pm ; modo ; Cone l modo Por t ajustada en , Se al principio l a primera ; en laprimera ; para ; . . . . , . . ; ;En movlw 1
  • 478. s i h principio h ha. ;Se al de primera
  • 479. 1 162 MJCRC~COhTROL~R PtC16FM. PRCiYEC'TOS O R4-MA sobre h @S1820_S&io), registrocori aig1-10 t - b tmpmm m i t i r a todossw bits son " ", - funcionamiento: 9 apgada, temperatura medida k i e n d e deseada salida I t m m dcseada salida ce apagará. - temperahiras deswidason qu& está má - Mtemperaturanegativas salida aictivar Temostam FTemostato~ON ; t m o ~ t o está goto Apagacarga Msc 182OLTemperaturaSipo.7 Con bmperatum activar EnciendeCarga ; btfvv SalidaTmvstato ; estado h gotd SalidaEstabaApagada en cnnsecuencia. idaEstaMctivada coinprcibar rnovf D 1820-Temperatura. TeniperdrurdDeseadn,W :(W)=(TemperaturtiDcslada)-(DS I820-Tanpe~tura). b i k STATUS,C ;~(Teniperahml3escada)QDS 1820_Ternperanira)? goto FinTmostato : por cal1 conmuta la ApagrtCarga SalidaTcrtiiostato Apaga goto FinTwmostato SalidaEutabaApagada Pam qiie rnovf TmperatmDesctul& DS1820-TempcraturqW w)=(DS182O-Teinpera~)1Tempm~eseariii). btfsc STATUS,C ;¿@S 182~Teinpcraturar(TemperaturaDeseada)? FinTermostato ; apagada Enciendecarga cal1 ; c& activa SalidaTcmostato FinTemostato Retum Subm- "Camb;arM&" v "M&Tm ustatri O F P - ;Subrutina a la intcmipcionpducida canibia m & ; vcz pulsa pasa "Tennostato_Ajusie", "Temio~tato~ON, ;"Termostatc-OFF" vuelta ; ajusic termostato ; "1NCREMENTARU c o n d a s pines del aparecmá s61o tcrmbmetroy desactivado: "Termoritato-0Wt ;Para comprender fwicionamie;ito subnitina, hay registroFlagsModos flap permitendiferem.iar las funcharniento: :Así Euncionarnie ;- (FlagsMd (F!apMod ; (Flags&ld ; dan ; - Qu (fl ; - * P DESARROLLO DE decisiones salida. - el de la medida. Si es cero es y 1 es negativa ;Salida Su - Estando si la por debajo de la temperatura la se activará. - Estandoencendida,si la medida supera la la Si las medidasy igualesse enestado anterior,tantosi encendidawmo si apagada. la sedebe siempre. btfss Si el no activadosaltaa ;apagar la carga. DS ; negativaspasaa goto lacarga. Comprueba el actual de salida para ;actuar Sal ;Pavaa si tiene que apagarla carga. S W subwf Si, tanto, lo deja encendido y sale. Pitido ;Pitido cada vez que carga. bcf ; la saliday sale. ; a comprobar si tiene encender la carga W subwf : gota Si,ladeja y sale. Pitido Pitido vez que la carga. bsf dc atención pore 1pulsador"MODO" que el. de funcionamiento.Cada que porlos modos y repetir. El de la temperaturadeseadaen el se logramediante dos pulsadores:"MODO" e a Puerto B. ;Al principio el el termostato estará modo ; el de esta que saberqueel ;contiene 3 que cadaunode modosde pues, el ; ;- - Pueden 'Ti
  • 480. B RA-MA c . ~ P ~ U L ~ 28 BCrS LMEA I "PitidoCorto" - "ModoTerrnostato-OFF" "ModoTermostato-Ajuste". - es& "MadoTermostato~Ajucte" "ModoTermostato-ON". "ModoTemostato-OFF". > ll "LCD-Borra": 11 1 l Return c3 "TermostatqOFF", como tmnúrnetra normal termostato. por F-Temosiato-OFF, que ~gisftn FlagsMhs. B) " T ~ r m o s t a t ~ A j u ~ t dondesc ajusta ternperahiradewda F-Tmostam-Ajuste, que registro FlagsMdou. C) "TemostatqON,&nd< tiuiciona termómetro a d e d , Se m o n m rl tliie F-Termostato-ON, quc registro FlagsModos. j del regism(Flas~Md<i~) los : ; (FIsgsModos)=b'0000000l'. Esta modo "Terntosratci-CjFF". ;- (FlagsModos)=b'O~lOi. Esth "Tennostato-Ajute". ;- ~FlagsMdos)=b'00a00100'.F A "Tcmotitato-ONU. I 1 ; ; - e& m & , N (FlagsMdos)=b'00000 100'. "Termostato-OFF" (FlagsMdos)=b'00000001'. mollos, DE UNA 463 en el zumbador. SI esta en pasa a Si en paca a - Pasa a ON", Borra la pantalla. "Visualiza": Segun el formato de cada modo. - Espera deje de pulsar. ; A) Modo donde funciona sin Se reconoce el flag es el bit O del ; Modo e'', la cuandofuncione como termostato. Se reconocepor el flag es el bit 1 del ; Modo como normal y, como termostato. por es el bit 2 del ; Así pues,el contenido identifica siguientesmodos de Funcionamiento: - en el en el modo en el modo Puedendarse doscasos: Quepulse "AJUSTE" en el modo alto, "Termostato-ON", En este caso debepasaral modo inicial poniendo - - Quepulse"AJUSTE"estado yaencualquierade los otros dos m cuyo caso &be
  • 481. Jh4 MICROCONTROLACKIRPIC16F84. DESAIZROLLO ejemplo, si esata m & "Teimasq,OFF",(Flag~Udm)=b'mI', pmud (FiagsModw)=b'~1 O' idedifica m& "Temocta~i~psUste". d haf&-2(hns btfsc M & - ; es mrebote, fuera goto FinCambiarMh cal1 P i t i M o m ; oye btfs PPT~ostatotoON ;DeectasidmeliUtinrom&. goio Modosiguiente pasa siguide. Modo'Tert-r~ostato~OFF dl Pitido c o n m m bcf SaiiditTemost~io ; rnovlw b'0000a001' :ActuaIizae1registroFlagsModospsmdo movwf F l a g s M h ; "Temiostato-OFF". gow Borrapantaita ; "1" izquierda ;FlagsModosp m secuenciatmente ; urio Ios fiutcionamienio. cail LCD--Borra ; pantaik anteríor. FinCambiarModo cdl Visualiza btfss ModoPuisador etipera & FinCambiarModo INCI END pr-al d o r desaparaca dhentacih Este n TmperamaMinima .?O 28-6. TeinperaWaxima EQU i trabaj; I n c r e m e n ~ T a o p ~ 4 Retardo2hs ; estabilim nj~elcs btfsc incremen&Mr; si reboted e goto Finlncrementar b & FTem~tatD~Ajuste est6 mDdo"Termostib-Ajuste"sale goto FinIncrementar c d PitidoCofto incf Temperammhmdaf I m t a htempmba movlw Temperatumhhh ;¿Ha h maxima ajuste?. subwf T a r p m ~ e a d a , W ;IW) ( T e m p m W a d a ) -Tmpmatar&kim b& STATUS,C ¿(T-eadaPTemperaW-7 goto Visual~cremenb: pasa rvimdhrIo. movlw TempemmMinima ;S í ,eatmcesinicializae lregism. movwf T~~ DEPROYECTOS antes e5 a que al Si sale Cadavez que pulsase un pitido. ;Si no. almodo Pitido ; cada vezque lacarga. Apaga la carga. al modo inicial Desplazaun a la del registro ajustar cada de modosde Borra la ; Ahora a que deje pulsar. goto ; su en caso que la EQW que res .36 pulsadores, estará necesidad de Esperaa quese de tensión. es un fuera. :Si no en ; el valor de deseada. llegado a temperatura de = ; No,
  • 482. I PJ M-MA cRA-VA CM~TIJLO28: RliS L ~ F A Visual-ito caU Vkualim :Visualiza mienmiespm que dqe cnU Retad-200ms puisar. btfss Inmmntddaador; Mima pnmnezc~ pulsado, g* IncremenierTempea$8 incmmta el dlgiio. cfrw ;Saiva tl valor tempemmra m v w f EEADR ; 0% EEPROM daros. consewa m v f Ternperatm&w&,W ;aimqiie la dimentacibn. call EEPROM-Em'beDm Fidnmmentar r e m Pitidohgo c d Retardo_SOOms bsf Zumbador call Retardo-200ms PitidoCorto bJf caU ReW020ms renim LNCLUDE <BUS- LlN.INCí, ;Subnitinac del 1 Ihea. WCLUDE <DSk820.INCr Subrutinas termómetrodigatl. INCLUDE <RETARDOS.INC> INCLVDE <Brn-BCD.rNC> JNCLUaE SC7D_4BlT2INC> INCLCTDE <LCl-MENS.TNC> INCLüDE <EEPROM.ZND END Estc servir p m termomctro digiial coino i 1 28-6, esqucma del haii ,, piilsadores, zunlbador Eii programa ! estará "Termostato+OFF" termómetro, DE UNA 465 ;de ; a de la deseadae nla posición de la de Se se apague bsf Zumbador Pitido Zumbador bcf Zumbador i 1 de control busde ; de controldel mismo programa puede un el de la figura que resulta serel mismo del termostato, cual se eliminadotodos los e interface con la carga de 230 V. , consecuencia, el trabajando siempre en el modo como simple sin necesidad de alterar nadadel programa del termostato.
  • 483. CAPITULO 29 CONTJNUA Et cotiíicirniento motores comerits C.C. (i) DC) dt: fundamcntnl par:i cualquier aficionadri ut: rralizar ~~iicruc(intr~c~ladorcs, qiie Ic dedicamos capiiulo. problema formri alimentar ya qiit mrixitna quc linea PICI 6FX4A cstá 35 mA rtii-xinio. cs pobrc motor ciirectarnente. Por se de trarisistorcs ir coiitigurados difei-eiites e1 79-1). VCC- 5 0 I & - Figura 1 Puente H trc~lisistore.~ MOTORES DE CORRIENTE dc los sistemas control de dc continua pequeña potcncin es y quiera proyectos con por lo este El primer corriente limitada a un DC pueden (figura pue como en a c de onsiderar es la proporcionar cualquier Esta corriente ello, hace necesar disposiciones,sie de el motor. de salida de u demasiado io la utilización ndo la más utilizada n para alimentar Puen la que te en H 29- en con
  • 484. 46% MICROCONTROLAWR PICi6F84. RROLLC) ~ R A - M A el sentido giro motor corriente terminales, en gro del cambiar - - 29-1 Fitncionarnicnrucon 11 l2 a ani~vl bajo vcc- 5v L293R enc Figura 29-3 Fu~cionnmienfo 11 ~tiilel allo r cr nivel b4do conirolar gro, comiiutación electrónica con nottibre 1. DESA DE PROYECTOS 29.1 PUENTE EN H Es conocido que de de un de continuadependede la polaridad que se aplica a sus consecuencia para cambiar el es necesario intercambiar los terminales motor o bien la polaridad de la alimentación. Figura a nivel alto e y el con a 12 La forma más sencilla de un motor de corriente continua de baja potencia, en velocidad y sentido de es mediante la de unos circuitos realizados básicamente transistoresque reciben el de Puente en H, como se describeen la figura29-
  • 485. :nde I iad Ja ica 7 2 RA-M< CAP~TUXI CORRENTE CWNTITMUA fomdo trabajati conmutacioit coniportan por llega 11 12. 11 alto entrada los 43 4 2 Q1 Q4 ser contrario Eri motor agujas ). satiiran I Q4, micntm entran 4 2 43. motor conkario problenia L ? problemas utilizar LM193 L293B L293B i m cap:= proporcionar carial. es scñales conipatibles las salidas L293B de ' i OUTPUTI GND OUTPUT2 vs Fipm Pufi l l u j c ldel L2938 79: MOTORES DE 469 Este circuito está por cuatro transistoresque en y se como interruptorescontrolados la señal que les a las entradas e de la Su funcionamientoes el siguiente: giro es Cuando se activa la entrada a nivel y la 12 a nivel bajo de la transistores y (NPN y PNP) entran en saturación simultáneamente, mientras que y están en corte por de signo (PNP y NPN respectivamente). estas condiciones el gira en un sentido, por ejemplo en el contrario a las del reloj (figura29-2 Cuando se invierten las señales de entrada, es decir 11 a nivel bajo e 12 a nivel alto, los transistores que se son Q y que los que en estado de corte son y Esto hace que el gire en sentido (figura29-3). El de este tipo de circuitos es la caída dc tensión real que hay en los transistores y que habrá que compensarlacon tensión de alimentación.Para evitar estos se puede circuito integrado como el B. 29.2 DRIVER El es driver de 4 canales de una corriente de salida de hasta 1 A por Cada canal controlado por de entrada TTL y cada pareja de canales dispone de una señal de habilitación que desconecta de los mismos.La figura 29-4 describe cada una de las patillas de las que dispone el y el encapsulado 16 pines. CHIP ENABLE 1 INPUT GND INPUT 2 de baja de unos 29-4 Driver iente en H,
  • 486. MlCROCONTROLADORPIC IhF84. RA-ht4 Tensicin entmda Tensidn alimentacibn que GfF (Vs) que alinientacibn indepcndjente 16gica figu fiyum representa dt. L293B. seiial coritrol cotitinua que g pai.qa canalcs di-i.zrs EN2 Ia salirlas OUTn asocian corresporidicntt.~ INn. figura cl funcionainieritoparri drivers. detien +VSS = "1" - bajo Z VS Figurrr 29-5 Biirgrma bloqirP.Sdel L2938 tahlu funcionumiento k los ttiáximos Fier Tabla 29-1 Rnngo.s absolutos del driver L293B Tabi L793D, L293B que comente mixirna de 1 1 ~ 4 . iiidispi motores Veamos seguidameiite coticctar motorcs contraelectromo este conmutücián. 1 . 470 DESARROLLO DE PROYECTOS O de de habilitación Dispone de una patilla para la de las cargas se están controlando 29.3 de manera dicha es dc la de control. La La 29-5 el diagrama bloques del La de EN1 activa o desactiva la de formada por los 1 y 2. La señal controla pareja dc drivers 3 y 4. Las se con las El mo La tabla de dicha detalla cada uno de los El mo dciien H Nivel alto L Nivel " O = Alta impedancia de y de La tabla 29-1 informa sobre valores admisibles. La Tabla También se fabrica el modelo cuya principal diferencia respecto del es proporciona una 600 Es tal coi algunas formas de los de corriente continua a driver.
  • 487. 6: RA-M,+ CAP~TULO 79. CORRIENTECONTTNUA :c(>~~trol ñal ~ndientes ?ecto GIRO ÚNICO figura mucstra corrieiite en im Uriico lri Vinh V: m 1 marcha a1 3 niwl cntnda y uii El nintor hI2 eri nivel etikada dc control q e deticnc un Fipra Cunei mofvre.r por "1" Tiibla mucstra modo dc iuncionamicnru Tuhia Modo de,func.ionumit!n~o (I(/I r.ir.c-zríto lu$gira indisperisableconecta los diodos los tnotorcs ficnte 3 contraelectromotnz itiductiva MOTORES DE 471 29.3 EN UN SENTIDO La 29-6 el modo de funcionamiento de dos motores de continua que giran sentido, suponiendo que = 5 EN2 El motor M sc pone en poner bajo la de control A se detiene con nivel alto de entrada. :s. se pone marcha al poner a alto la B y con nivel bajo de entrada. 29-6 ion de dos DC. MI activo por "O"y M2 La 29-2 el del circuito. del corriente 29-2 de 29-6 Es D1 y D2 en paralelo con devanadosde los tal como muestra la figura, como protección los picos de fuerza producidos por la carga de la bobina en el momento dc la conmutación.
  • 488. ~ C R O C O ~ O L ~ t t PIC16F8-4. DE PROlTCTOS ORA-MA GIRO SENTlDOS circuito pemiite C estíi D alto, sentido. nivel cambia de Figura 29-7 dr controlparu el doble uli motor C.C. diodos cotiectar se figura 29-8. de diodos protección d de 1aJ;guro29-7 ( MotorDC-01 marcha giro! 29- 472 DESARROLLO 29.4 EN LOS DOS El de la figura29-7 controlar el doble sentido de giro del motor: Cuando la entrada a nivel bajo y la a nivel el motor gira en un Cambiando la entrada C a nivel atto y la D a bajo se el sentido giro del motor al contrario. Circuito giro de de Los de protección se pueden segun muestra en la Figura 29-8 Conexión de circuito La Tabla 29-3 muestra el modo de funcionamientodel circuito. Para .a del mo La posición de depende de la motor los en la figura
  • 489. el rra ORA-M4 CAPÍT~ZO CXIhTWUA 173 i . I ',S, Tobh29-3 de~firncionnmiepriv dc.1cirruiio d~Iu.fip4r'rr 29- CONEXIÓN C.C. PICl6F84 $ - LI figwa 79-9 iiiueslra conzxih tipica corriente rin microcontroladorPIC16F84A traves dnver pin Vs alir~ientacihn del este Figuru PO/ motores c.c dnverL2933 P1CI 6FMA :li b 1 I progrania McltornC-Ol .asm, bivcr dcl motor. linea RAO curilrula ' de1 RAO niotor se pone RAO "1" si: RA4 controla por Ia conexidti intercambian I serrin programa h i del motor: or gira en un . sentido de 29-7 29: MOTORES DE CORRIENTE Modo 7 29.5 DE MOTOR Y una de un motor de continua a a de un L293 B. La tensión aplicada al es la de motor, en ejemplose utiliza un motorde 12 V. 29-9 Con de conel y el Para comprobar su funcionamiento se puede cargar el que controla el La la puesta en marcha motor, si es"O" el en marcha y si es detiene, La posición del interruptor conectado a el sentido de giro que supuesto , depende de polaridad de del motor. si se los terminales del motor los giros en sentido contrario. El organigrama de este se muestra en figura 29-10.
  • 490. MICRCK'ONTROLADORPlC lhFñ4 .ARRULLO "MotorDC-0 1.asrnm lineas RB4=1, RBI=l, RBO=D Fi_qum29-I O Orgunigrt-rniodel pruguma MotorDC-0 1.mm ; & comente funcionmienio ;gim. RAeO. niarcha y <u dependerá ; RA4. CONFIG -CP-OFF & -WDT-OFF &-PWRTE-ON & -XT-OSC LIST P=16F84A WCLUDE <PIbFMA.iNO #DEFINE EntredaMarcha PORTA,O Ititemrpiondepmsh Entmddhtido PORTA,4 ;Intemiptor ; Z O N A D E C ~ D ] ~ S I+b*L**L"**W******V***#******************************************** La ~CXIS con ci sumjnistra rr Configura Iineas& enkda. h f Entradakitido clrf PORTE3 L a h a s Puerto conñguradas bcf STATUSRPO cornbinacibn motm. ;Comprueba Uitmqtm funcionamiento. alimentacihi di 474 DES DE PROYECTOS Configura de Entrada y Salida. Gira a la DERECHA: Motor PARADO: Programade control para un motor continua en y sentidode Con el motor se pone en sentido de giro del valor que tenga ; en marcha. #DEFINE de sentido de giro. frecuencia variando el al ; las : del B como salida. ;Con esta se detiene el el estado del de
  • 491. ,ou-VA CAP~WLO 29: MOTORES 475 goto ActivaSSda movlw b'm0100iO' Girti sentido. btfic Ent~~daFentido Cornpnieba el sentidoGe giro movhv bfOOOI0001' ; satrido. Activ&lida movwf PORTB goto Plimipal velocjdad un corriente tensi6n uti1i;tado la DC' potencia aricho pulso WhI Widdi~ Modulufion) 1. nivcl O% (Motor - - rnAxirna) 27-11 nutur PIIffid mcdia inotor constarite, la (duty cycM. Así, cs 50?.1ó 5098, sólo tensibn tthima suminjstrada de1 otro conllevarii disminucion motor. regulacian iin utilizacion digital carrictaisticas In entrada EN1 medio seíial varie, qiie cstC linea RB4 DE CORRIENTE CONTINUA ; en un ; deseado. Giraen el otro 29.6 CONTROL DE VELOCIDAD La de motor de continua depende del valor medio de la aplicada en susextremos. El sistema más para controlar velocidad de un motor de pequeña es mediante la modulacion por de P (Pulse de una señal cuadrada TTL, como muestra la figura 29-1 Bajo el control PWM. el motor gira a una velocidad determinada por la media del de la señal cuadrada. parado) 100% (Velocidad Figura Control velocidadde un c. c. mediante La tensión continua presentada al se controla manteniendo la frecuencia y variando el tiempo que señal permanece en alto, es decir. variando el ciclo de trabajo si el ciclo de trabajo del se suministra al motor una tensión media del con un ciclo de trabajo del 20% una quinta parte de la es a la carga. Cambiar de un ciclo de trabajo 50% a del 20% una de la velocidad del La PWM proporciona eficaz método mediante la de una simple señal de control. Si se utiliza una señal de estas para atacar del montaje de la figura 29-9 se consigue que el valor de la de alimentación del motor de tal manera cuanto más tiempo la a
  • 492. 476 MICROCONTROLADOR PICIúF84. PROYELTOS Q RA-MA U RA-M4 motor. Ldgicamente grande 'MatorüC-a2.asm" . * # * ~ * * * * * d llneas entrada de anchura^ RB4=0. RBI=O, RBO=O (RA3:RAO)-r ID- (RA3 RAD) +(Ciclos-OFF) ON: R84=1, R 8 i=l. W O = O ;ZONA I -C ps INC (Ctclos-ON) - 1 +(CiclosON) Cicl Gua EM Maximenwr RB4=0, RBI=O, RBO=O ; C OR( ps I d mov mw - 1 4 ckf W p a l mOY a ¿ K l h m b t h m ' Figura 12 pr-opnnia AhtorDC-02. arm srPbh DESARROLLO DE nivel alto más deprisa girará el si la duración del impulso a nivel bajo es muy el motor se parará. Configura de y salida Motor Parado: (Ciclos-ON) Motor en DE Retardo de 100 LIS CBI Cici Motor en OFF: ZONA DE inicio Retardode 100 (Ciclos-OFF) (Ciclo- FF) 29- Organigrama del
  • 493. liso MotorDC-02.asm velocid-id de iin C.C. comeiitarios . * * + V V * + * + * * C * 8 8 * * * * * * * * * * * * * I M O t o r ~ M,-****Y*W***V***********..*..****.. 9 Programa de regulación & & corriente modhciiin anchura pulso(PN'M). línea genera kmewia ;wnstmte 1O0 Hz @ocio ms) trabod a b l e 0% XW h ,dqmdicndii ; dar entrsda tiempo maito (0%) ;ms(1 00%) a c u d o (Ciclm-Or) (Ciclos-UFF) DC (YO) SEMiPWODO SEMIPERIODO -CONFIG -CP-OFF 8: --FF &_PWRTE-ON -XT-OSC P=IFiF84A INCLUDE e l bF84A.INO MaximaEnaada -10 ORG bsf m v w f M M Prhcipal mMrf d w m * btfsc STATUS,RW b'00001111' ;RA3:RAOcano mmdas. r n A TiUSB ; iáieas 0 aonfigtuanwmo didas. STATUS,WO . - El programa es un ejemplo de gobierno de la motor de a nivel mediante control PWM. Su funcionamiento se explica en los y en su diagrama de flujode la figura 29-12. ; velocidad un motorde continuamediante Ia ;de de Por la de salida se unaondacuadradade a de 1 0 y ciclode desde a de1 de la delPuertoA.Esdecir, el varia entre O ms y 10 de conla siguiente tabla: Entrada ALTO BAJO & LIST EQU Inicio movlw Las del s e ,
  • 494. MICROCONTROLADOR PIC1hF84. PROYECMS rEi RAMA btfsc STATUS,Z gow m-IDDPoiCietito btfss STATUSC goto IX:-CeroPaCim movwf movf GuardaEnwada,W movwf Motor-ON moviw btOM)lOO movd PORTB caU Retardo-lms decfsi Ciclos_ON,F gota Moto-0N-t-2 Motor-OFF clrf PORT3 cau ~ o 0 l m s decfsz Ciclos-OFF,F @m MotorLOFF+l g* Fin DC-CemPotCiento clrf PORTB gota K-1M)PorCiento movlw b'0001001Ot movwf PORTB goto Pnncipd ,i,C=l?,i(W) L(PORTA%=~ 07 ; (PORTA> ~O-(PORTA)--~~~C~S-OW). ; RA3:RAO (Ciclos-ON). drivers un sentido g h . (Ciclos-ON)=O salta Inhabilita drivers. ; (Ciclos-OFF)=O ;Inhabilita dnvers. p&. BabiIitalosdrivers tambien puede Timer sc cxplico cjcrcicio 18. : mntroI velocihd im iiiotor dc crirricntccoiitinw mediante modulacihn ; wchim pulw (PWM) M~iiorD-O?.asm iniempcionrs dwhrdaniirnto Tiincr : de fuiicion del dc lina RA4. lineas realizi+ direcciunamiento l a siimiccionrs "bsf'y "bcf'. CBLOCK O x W CicloTrabajo de habajod e d . DESARROLLO DE 478 Ciclos-OFF Ciclos-ON 10' Fin Fin ; positivo?, Haresultado ; 10) Carga en ;Habilital o s y de ;Si a Motor-OFF. ; los Motor parado. Si saltaa Principal. los Motor ; y un sentidode giro. La generación de la onda cuadrada PWM se realizar mediante interrupciones por desbordamiento del O, tal como cn un del capitulo El siguiente programa es un ejetnplode ello. Programa de de de la de de similaral donde el control de tiemposse realiza ; mediante por del O. El sentido giro del motor se decide en valor la ; El control de las de salida se mediante por bit con ; ;Ciclo
  • 495. nediante b Rn-MA CAP~TULO CORRIEKTE C:CNlT?JUh GuardaEntrada Tirnd-ContadorA Contdor ENIX TMRO-Cqa EQU 4745' expcrimentahente 1 MaxirnaEnrrada EQU .10 #DEFINE SalidaSmtidoO PORTB,O determinan giro. #DEFiNE SalidaSemidol PORTl3,l #DEFINE %lidaMarcRa WRTB,4 ; de <ti marcl~ paro del #DEFlNE EntradaSentido PÜK'i'A,4 ;Interru~br gim. ; ~ O N A W E C ~ ~ D ] G O S * * ~ * * * V + L C * * * * * S * * * ~ * * * * I C * U ~ * * U ~ ~ ~ C ~ * * * * * * V * * * * * * ~ V V * * ~ * * * * * * * * ~ * * * ~ ORG 0 .4 goto TimerOrOlntemipcion Iaicic! bsf STATUS,RPO bcf SdidaMamha ; 1Inea.sse dida. h f SalidaSmtidoO bcf SalidaSentidol movlw b'00011111' ;Aierto confipradocomo eneada. movlw b'0000000I' ThlRO cun p~iscaler movwf OFTIONLREG STATüS,RFQ SalidaMarcha ;Al yiriiicipio btfsc !%baddenti& ; sentidu & OtroSentido SalidaSentidoO un sentidó. hcf Salid9Stntidoi TesteaVebcidad Otrosentido SalidaSrniido0 ;Gira eii SalidaSwtidn! Trsteavclocidad movf PORTA,Mf ;h e entrada andlw b'00UOllll' movwf GuarciaEntrda :Guarda v~lor. btfsc STATUS,Z DC_CeroPorCiento sublw MaximaEutmda :(W)- I ) btfsc STATUSL E - 1OOPoKiento & STATUS-C :iC=l'?, ¿(FORTA)<=I goto DC-CeroPorCiento H a PORTA>10. GuardaEntrada.W mmwf CiclaTraba~a moviw 1010000iJ 29: MOTORESDE 474 ; auxiliar. ;Valorobtenido con la ventana ;Stopwatchpara un tiempode ms. ;Salidas el sentido de Salida puesta o motor. de sentidode goto i n i c i o ORG Estas configurancomo A movwf PORTA , de 4. bcf bcf el motor parado. cicio del Principal Compruebael giro deseado. goto bsf ;Gira en goto bcf el sentido opuesto. bsf el puertode e1 goto O-(PORTA goto positivo?, O? ; resultado movf b'
  • 496. MICROCONTROLADOR PIC16F84. PRUYLCTUS O M-MA m m - f - N A u t h inferrupcibnTOT la-1 (GIE). DC-CeroPurCiento bcf SalidaMarcba Pwe l a salidasiempre MiabilitaInternrpciun m-1OOPorCiento bsf SaLdaMArcha ;Pone La alto. lnhabilitalntemrpcion clrf INTCON W i t a iiitffnrpcionm. hincipal Subnitina "Tked Intemipcicm" ;Mantienela &da tiempo i g d (CicloTrabajo) en iui 1 m6 (10-CicloTrabjo). CBLKK --W M - S T A T U S ENDC TimerO-intempcion m o w f G d - W mapf STATiJS,W movwE bcf STArnS,RW TMRO-Carga movwf TMRO decfsz Thd-CmtadorAS gota Fin_TimerO-iniemipcion kfs Salid&mha g m EstabaAlto EstabaBaj S h W h a m & CicloTrabajo,W mwwf Tiind-ContadorA Fin-TimerOerOIn~pcion EstabaAlto SalidaMarcb movf CicloTrribajo,W sublw .lO mwwf TUnaO-ContadmA Fin_TmerOerOh~ion swapf M - S T A T U S , W movwf swapf Guarda-WF swspf C ~ - W , W bcf mc0NJwIF bcf INTCON,TOiF Fetfie ; los valcm de ttnian ;ProgramaP & * . ; que ai ;h m m t a ;Testead salida : alto. ; nwammtecrin tiempo alto. ; B t & a d ~ y l o p a b r i j o . Repwe c m t a hnuevmnitecon Restaurs regidros 1 ra rr iin proyecto. m01 COI disqiieteras obsenra continu rnicrocoiimladc carsa mecánii niétodos motc i 480 DESARROLLO DE ; y goto Fin goto : enbajo. salidasiempreen Fin goto ; - - - - - - u - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ;y bajo en alto un tiempoigual a x a 1 msx Guarda W y STATUSen el movlw Guarda-STATUS Garantiza trabaja el Banco O. el contador. anterior estado de la o bsf goto Estababajo y lo pasa a Reponeel contador ; el en ; e1 ;enbajo. el tiempo STATUS ; W y STATUS. No es conseguir un de Los dispositivos papel de una ir de que en por el eje del m Los mot comente contin hacerlo dentro de una control de pos revolucionespc y por ser Un devanados.El Cada pulso pro
  • 497. cAPÍTULO 30 desguace alguna coi~io (Stepper ,Ilotorj muy digitales. [os que cl rvbot gii-mlas disqueteriis de ordcnador conml pr~ciso seguir dcl rliotores i i t u sobre eje niotor reguiares ocurre rnicrocontrolador, mvtures puden pasicionarnientos autornatización posicionanuentu. motor (yni) tensicin el motor e . . j; j Uri hición i gira I E rotacion mtor ciel increttiento ánguio ,/& MOTORES PASO A PASO No es raro qiie un aficionado a la electrónica una vieja impresora para conseguir un motor paso a paso y poder realizar tarea de posicionamiento dentro de un proyecto. En este capitulo se explica trabajar con estos utiles motores. 30.1 MOTORES PASO A PASO (PAP) Los motores paso a paso o PAP son utilizados en los dispositivos controlados por sistemas Por ejemplo los mecanismos que arrastran papel de una impresora, mueven brazo de un o los que hacen un dependen de motores PAP para su funcionamiento. Se observa que en estas situaciones se requiere un de la trayectoria a por el eje motor Los PAP proporcionan considerable ventaja los motores de corriente continua o DC. El de un PAP gira a intervalos en lugar de hacerlo continuamente, como con los motores de continua. Bajo el control de un los PAP ser usados para precisos dentro de una amplia gama de aplicaciones, incluyendo robótica, y control de La velocidad de un de DC viene expresada en revoluciones por minuto y es función de la aplicada, corriente por y carga mecánica del mismo. Un posicionamiento preciso de un motor DC no es posible por mhodos sencillos. motor PAP gira en de una secuencia de pulsos aplicados a sus devanados. El eje del motor un determinado ángulo por cada impulso de entrada. Cada pulso provoca la del motor en un de preciso,
  • 498. MICROCDNTROLAWR PIC16F84. O inovúniento, pasos posici~namiento. miden cl paramemo iin PM. Tarnbien piicdc cspresar de paso girar número de 0,72" por 360°;0,72" 500 360°/22,5" 16). comerc~alimdo 7,5" paso poteiicia. esti resuclto los 1 niotores P.4P PIC16F84, pero antcs liay sus pnticipios fcnhmeno dc los continila, niotores son sencilos, que funciunarnicrito Supotiernos L1 hicrro iniaiitarsc scan rccotridas corricntc cl6cttica, denoil-iinadoestatur. imán eje Inicialmente, corrieilte (que recibe11 imári im:i posiciiin cualquieraocl i d n liermanecerá rcposo fuerza tihteiria. hacc comenie figiiia I(a), crcaran imán se desplazah polaridad que 1 obten& cn la 30-1(b) se Lnviríienc situaci6n inwriimos de grados. 2 pulso aplic 482 DESARROLLO DE PROYECTOS RA-MA denominado paso, de ahi el nombre de motor "paso a paso". El resultado de este fijo y repetible, es un posicionamientopreciso y fiable. Los incrementos de de la rotación del rotor se traducen en un alto grado de control de Los incrementos de rotación o pasos se en grados y es fundamental de motor se en números pasos por rcvolucion de 360 grados. Un motor paso a puede un exacto de grados en ambos sentidos. Los motores PAP se comercializan dentro dc una gran variedad grados de rotación por paso, desde a 22.5". correspondientes a 500 y 16 pasos revolución, respectivamente (efectivamente, = y = El motor PAP más es el de por o 48 pasos por revolución. El principal problema que presentan los motores PAP es su limitada Sin embargo, este problema siendo por iiuevos diseños, con los que se ha logrado potenciassuperioresa CV. En este capitulo se va a explicar como realizar el control de mediante un microcontrolador que examinar de funcionamiento. 30.2 PRINCIPIO DE FUNCIONAMIENTO Aún basados en el mismo que el principio funcionamiento de motores de corriente los paso a paso mis si cabe, cualquier otro tipo dc motor eléctrico. La figura 30-1 ilustra el modo dc de un motor PAP. que las bobinas como L2 poseen un núcleo de dulce capaz de cuando dichas bobinas por una esto es el Por otra parte, el M puede girar libremente sobre el dc sujeción central,este es cl rotor. sin aplicar ninguna a las bobinas también el nombre de fases) y con el M cn en si no se somete a una Si se circular por ambas fases, como se muestra en la 30- se dos polos magnéticos NORTE en la parte interna, bajo cuya influencia el M hasta L a posiciúnindicada en dicha figura. Si invertimos la de la corriente circula por la bobina L se la situación magnética indicada figura y el imán M vera desplazado hasta la de n grados y se hab Si se m corrientes son cada
  • 499. menios iarniento. parámetro I grados kmdos rvoliiribn, :P.4P tencia. yuc ' icipios dc ;iipclincmos rse cL I : ~ ~ O 1, Aie c.1 mecerá m : i a seiitido apjas I I 1 1 (b) lnvirticndo ahora polaridlid la llcga fik~1t.a30-1 (c) imán invertiiiim cl sentido dc Ll iman y sc. habra abienido una revolucidn imán grados. se secuencia cxcilacion L1 y y lo de este de pasos por de de mas Sin se ha mediante de nto los cabe, que lo estator. es reciben el en 30-](a), el imán la nueva posición de equilibrio. Es decir, ha girado 90 grados en contrario a las de1reloj. (a) Paso 1 Paso 2 la de corriente que atraviesa la bobina L2, sc a habiendo girado el M otros 90 grados. Si la situación de la de nuevo la corriente en la bobina el M girara otros 90 grados completa de dicho en cuatro pasos de 90 Si mantiene la de expuesta para L2 dichas
  • 500. MICR0CONTROLALK)RP1C16F84. PROYECTOS o M-MA podeiiios elecbicos finito paso de ya secueticia requiew ~iolaridades, hora riiotor. BIPOLARES tipo eshtur Mobr biwlar F i p m de uri niolor bipolur De salzri intemptores electrbnicos pemitm alimentacion desactivacion interruptores las ttiotor carifigurados pi~ente sristititidos driverL293B taj el aiiterior, P M L293B muestra la el Full Step HoVStep. 484 DESARROLLO DE Analizando lo expuesto decir que un motor paso a paso es un dispositivo electromecánicoque convierte impulsos en un movimientorotacional constante y dependiendo de las características propias del motor. El modelo de motor paso a que hemos analizado?recibe el nombre bipolar que para obtener la completa, se disponer de corrientes de dos presentando tal circunstancia un inconveniente importante a la de diseñar el circuitoque controle cl 30.3 MOTORES PAP En este de motores las bobinas del se conectan formando dos grupos, tal y como se muestra en la figura 30-2. paso a paso 30-2 Circuitode Control este motor cuatro hilos conectados al circuito de control, que realiza la función de cuatro dobles que variar la polaridad de la de las bobinas. Con la activacion y adecuada de dichos dobles, se puede obtener secuencias correctas para que el gire en un sentido o en otro. Estos transistores como en H pueden ser par el como se estudió en capitulo la conexión de un motor bipolar y el driver se en figura 30-13. En la figura 30-3, puede analizarse como debe ser la secuencia de excitación para que motor gire en un sentido. Tiene dos modosde funcionamiento: y
  • 501. t, i ial s mtes dos que slaridad la i iconexibn RA-MA CAP~TULO 43 modo Full Stcp rotor PAP piilso + - 1 1 1 1' I I I 4 1 1 ! 1 1 1 1 - I ' l l l h l l l l l l - 1 L 1 1 I I I I I I 1 1 1 I I I u I I I I I I I I - 1 1 N I N 1 1 S - + t Figunr 30-3 d~In excirucion motor bipolar los rrwvimientos eii horario (Clnckwise) CCW (Counf~rc.lor;hui~e) términos rclatjvizar obseivador de posicion por coritrario. Tublu Sec.iic,ncia de ccopih-ol hb~ulur modo Motor modo HaH cle (Harf Sfep) rotor medio RA-MA O 30: MOTORESPASO A PASO 5 realiza la de la de dichos motor gire en pueden ser de a figura 30-3, :or gire en un dispositivo constante de bipolar de dos la hora de grupos, 30.3.1 Motor PAP bipolar en Full Step En el modo el del motor avanza un paso par cada de excitación. 1 Reloj Terminal Terminal 1' Terminal 2 t u 1 t Secuencia señal de del PAP La tabla 30-1 muestra las secuencia para generar sentido CW y antihorasio de un motor bipolar. Los "horario" y "antihorario" se deben ya que dependen del punto de mira del y la del motor, tanto, solo se deben tomar como una forma de indicar que gira en un sentido o en el 30-1 de un motor PAP para Full Step 30.3.2 PAP bipolar en Step En el modo medio paso el avanza paso por cada pulso
  • 502. JMb MICROCOhTRUWR PIC !6FW Ut PROYbCTOS D R%.%I~ angulw nlitad qiie e! modode pasa completol. conseguir alternativamenk ima sida fllas, se rnucstra airibus seritiiicis fibwra 70-1 consccutivas esvalor sitnuitaneamente. rotor bisectriz ambos campos magndticos. desaparece extjnguiendose cminipo magnitico rotnr queda hico cxisteilte, daildu desplazai~iientuinitad. UNIPOLARES supone de generar del cntre las bobinas, figum obtiene uti PAP circuIa unhico 1 incitores unipolares, tíidas del conectadas I y sobre dos I' estalores tal 30-4. saIen dos tres comh scjs tetminales parten electronicos desactivados dz grupos funcionamicilto trabajan como I all los sent tabla 3 4 para i n priiicip al DESARROLLO disminuye el avance (la en Para tal cometido, el modo de excitación consiste en hacerlo sobre dos bobinas y sobre de según en la tabla 30-2 para de giro. Según la al excitar dos bobina del el se alinea con la de Cuando la excitación de una de ellas, el inducido por dicha bobina, el bajo la acción del Campo lugara un 30.4 MOTORES PAP Una forma de paliar cl inconveniente que la necesidad de dos polaridades la corriente para la secuencia motor, si este dispone de una toma media es realizar el montaje que se representa en la 30-4.Se motor unipolar de cuatro fases (o bobinas), donde la corriente por las bobinas en sentido. En los PAP las bobinas estator están formando cuatro grupos. Estos, a su vez, se conectan dos a dos se montan diferentes, como se aprecia en la figura Del motor paso a paso grupos de cables, uno de los cuales es a dos bobinados. Los que del motor se conectan al circuito de control, el cual, se comporia corno cuatro conmutadores que al ser activados o producen la alimentación los cuatro de bobinas. Generando una secuencia adecuada de de los transistores que interruptores, se pueden producir de un paso en el número y sentido deseado. En este c control del Su inicialmente se
  • 503. RA-MA h" ~ n - t . ~ CM~TULO hiO'CORES 487 1 s :1 estator agneticos. !de. &rkiades ima coiiechdac .. i compcitta ~rducen lecuada dc :n prodiicir I este bobinas para FUI/Step HalfStep. Tubla de molar Un@olarparumudo Fzrll S t q ~ Tublu conrrn/de t o imotor Unipolar Half Step principio funcionamiento figura 30-5. corrizntc: I 30: PASO A PASO O conseguir sobre dos sentidos magnético dando Dispositivo de control y de potencia En caso la tabla de la secuencia que debe introducirse en las para el control del sentido de giro es la mostrada en la tabla 30-3 modo y en la tabla 3-4 para modo FULL STEP 30-3 Secuenciade control un PAP 30-4 Secuencia de PAP para modo Su de se representa gráficamente en la Si inicialmente se aplica la a las bobinas L y L3 cerrando los interruptores S1 y media obtiene un ila por las sobre dos paso salen Los seis ta
  • 504. 4$8 MLCRM30NTROLADORPIC'lhFM. DE O RA-m polos jni;úi arnbos vcrse ?O-5(a). se posteriotmente cl uitemiptor S1 S2, dislrjbucion situaciónreprtsentada 30-5(b) 30-5 Princhipio hhrjsico de unipolur fasw Sigmendo In 30-5(c) 30-5(d) ta del 90 consepiida, bipolar ai7ance Icis & movirnicnto eii coiitrario de en Podemos dcducu paso ss excitacibn tanto, u número según intemptores NPN figura dentro L293B el iin unipolar el L293B se figura 30-14. I E 1 1 I anguiarts. fomu ~ el número rle bbbi 1 p8rdiheis Hmh &ore p m 1 nricles8 de bc micropslesmgnl mpktieea con n motora c h hmh i.ssurpii& s ~ t a di~ DESARROLLO PROYECTOS S3, se generarán dos NORTE que atraerán al polo SUR del M hasta encontrar la posición de equilibrio entre como puede en la figura Si abre y se cierra por la nueva de polos magnéticos,M evolucionahasta la en la figura Figura un motor. de cuatro la secuencia representada en figuras y de misma forma se obtienen avances rotor dc grados habiendo como cn el motor de dos fases, hacer que el rotor pasos dc 90 grados por la acción de impulsos eléctricos de excitaciónde cada una las bobinas. El obtenido ha sido sentido al las agujas del reloj. Ahora bien, si las secuencias de excitación se generan orden inverso, el rotor girará en sentido contrario. que el sentido de giro en los motores paso a reversible en función de la secuencia de y, por se piiede hacer avanzar retroceder al motor un determinadode pasos las necesidades. La función de los sera ejecutada por los transistores de la 304 que se incluyen del driver estudiado en capitulo anterior, la conexiónde motor PAP y driver muestra en la 30.5 CON modelo mayor atractivo Una y a muy l u
  • 505. ORA-MA CAP~TUM 30: MOTQMS ;ta 1 ). I jn ! fases iiiisma motor acciiin de ;ecuencias dc riii. funciiin - motor CONSTITUCI~N MOTOR motor tsnidisdo, pw didhctico, vista pdctico avances L J (Mbvll) Umfama metores BAP gam n & mdueido esnsiste m amentw nilanero c b bobiaee erihtor, llevada un aumento del coste volumen gddirla~m y eonddaablea en rendimiento $el motor; por que a i vi~biblo, Hri~ta&ora pwa eon~eguir salucidn rds i d h a M r e e m ai 1 8 rneemi%arcibn Be loi nuclm~de lae bobinrie mtsr foma de hendidura d i ~ n h , e d n d o ~ eMI mjoropoloa m@tico~, t m t g f i come diente8 @i~ablaeienQ 1 m ~lWione8 dc mapdtiee~ c m avmeer~mgulms muohe mmoia. bita f o m e m piiblo conaegulr metome h u t a 500 pasos e inelmo m h , En k figura 30-6 se m u e m f o m raaumiheeta dhpodoibng munmotor BAP 22,S0, figura PASO A PASO 489 encontrar Si se abre de polos de la o en el los D obtenido ha Podemos de la al un 30.5 INTERNA DE UN PAP E l modelo de paso a paso salvo su valor no ofrece mayor atractivo desde el punto de debido a la amplitud da sus angulares. ESTATOR ROTOR de conseguir de el del pero ello a y del y a el lo no la y el en O y equilibrio Be de de de do N de la o anterior, la
  • 506. 4W iíiCROCONTRQLAI)ORPIC hFR4. G M-MA fotografias dc figuras piieclen estator mientl un bipolar desguazado. cst: 1 dini dinhmica pi estator ) velocidaa generadni i Fip~ra 30-8 Esfatordel paro moror PIISPOSICIÓN ] bri varios bobiirndos cstator f m a s agrupar quc sean 1- +vcc +vm dgimen d Muraa Blpolar Mator uniplar Mlos (c)M o r Umpdar hlhs Id) M&nr Unlpdar 8 mayor qiri posicibn Figura Di.~pu~~ic~ NSn d~k m bobinar de motorm paso pn.70 Númemd IOS motore5 ;laso unipolares cinm pam iz ~miaales que aderntis los Iiay otros terminales qui compondcn tornas intermedias conecta1 alimentación para figuras 30-9@), 30-9(c) 30-9(d) describen están NP teminalec tipvs krecuenci Úmerci qiie c:ieiita qde [notores uriipolares de lecuadarr hacerse como rnotom rr pso bipolares utili7m E DESARROLLO DE PROYECTOS En las las 30-7 y 30-8 apreciarse un y un rotor centrales, de motor de 48 pasos en el interior 30.7 Desde cl de algunas de las Par perder t motor a paso po 30.6 DE LAS BOBINAS La existencia de en el de los motores paso a paso da lugar a varias de dichos bobinados para alimentados adecuadamente. Par de m (a) (b) 6 5 hilas e 30-9 a En el caso de a paso se pueden encontrar con real seis u ocho ya de bobinados con las de las bobinas, los cuales se directamentea positivode la fuente dc su correcto funcionamiento.La y como conectados internamente lo donde de estos de motores. d Hay tener en los PAP seis u ocho hilos, pueden funcionar paso si no se las tomas
  • 507. iLX RA-MA cir l nR4-h4A ~ A P h l 0 30:AiOTORES PASO 1 ! no podrán mmo bipolares porque interior PARÁMETRO ~iiincipales parametros PAP: (Workifig Torque). de caracteristicas sin algún de excitacibn velocidad f.c.e.m. 61 generada los del eHo, Ángulo (Step Atrgle e1 por impulso estándar ' , Tablri 30-5Atigu10.v íIe comirnes rn motorrs Toque.). regin~cn excitrición, el fimo mantener roior esbble I;i pasos pam a de arigulo (,Wavimtarn pull-in/out). número motor ! A PASO 49 y un rotor centrales, mientras que las de cinco hilas usarse jamás en el estánconectadoslos dos cables centrales. 30.7 DE LOS MOTORES PAP Desde el punto de vista mecánico y eléctrico es conveniente conocer el significado dc algunas de las característicasy que definen un motor Par dinámico de trabajo Depende sus dinámicas y es el momento máximo que el motor es capaz de desarrollar perder paso, es decir, sin dejar de responder a impulso del estator y dependiendo de la carga. Hay que tener en cuenta que cuando la de giro del motor aumenta, se produce un aumenta de la en y, por tanto, una disminucion de la corriente absorbida por bobinados estator. Como consecuencia de todo disminuye el par motor. de paso J . Se define como el avance angular producido en motor cada de excitación. Se mide en grados, siendo el número de pasos más empleados los mostrados en L a tabla30-5. paso mas los P.4P Par de mantenimiento(Holding Es el par requerido para desviar, en de un paso rotor cuando la posición anterior es estable. Es mayor que el par dinámico y actúa como para el en una posición dada. Número de pasos por vuelta. Es cantidad de que ha de efectuar el rotor realizar una revolución completa. Evidentementesu ecuación es: donde NP es el número pasos y a el de paso. Frecuencia de paso máximo Se define como el máximo de pasos por segundo que puede ejecutar el funcionando adecuadamente.
  • 508. MICROCONTROLADOR PIC16FS4. B m-MA i 1 LOS resistencit # . . m i ohrmos. N , parej I:I 1,. enrsegar corriente La conml un PAP, Potencla Mee6nlw Figura conlrol motorpaso microcontrolador 16F84A, microcontralador drivers I L293B I EJEMPLO:E l c h i t o conhl gobiema PAF 7,5O pam, pmiucc ei s m c a de I 1 prsoi motor s frecuencia de 200 ~ z , ¿suintos grados 1 se desprecia la inercia ronmientos mechicos, ¿cuánto tarda en I movimiento?. 1 Soluclbn: el gira 7,5O pulso, d t& eje del motor 82,5". I31 priodo & señal es 5 1 I tardadSS ms I IDENTIFICACI~NDE ! I Para Iti rcalizaeibn vamos ri plantear, utilizar paso, uno bipolar otra unipolwr, recuperiidos miquinas desguace, como duros,impresoms similar. 1 (1-1') antih La eei la ideatificacidn dc las internas tras teminales 1I motor, Es eenvmimte en cuenta cl niliiiem de hilos diripone el i i identificar su i m a con alguno modetm desrritoi I i 1 cwlquiem dis figura 30-9, ¡ (: I niide Oenertilrnente deduce el color los cribler en cmo de d h , 1 convaniante mdir resietencia bobina ohmem, Asi, por plrm 1 nicitrir hipolar qiie tiene cuatro hilm utilizame uii polimetro en posirihn de correspo I l 492 DESARROLLO DE PROYECTOS O RA-MA 30.8 CONTROL DE MOTORES PASO A PASO de Pararealizarel control de los motores paso a paso es necesario, como hemos visto, generar una secuencia determinada de impulsos. Además, estos impulsos deben ser capaces de la necesaria para que las bobinas del motor se exciten. figura 30-10 muestra el diagrama de bloques general de un sistema de para hilos que de dos a la E motor de Mando Control 30-10 Diagramade bloquesde un sistemade para apaso Vamos a centrarnos en el control de los motores paso a paso utilizando el PIC Como el no es capaz de generar la A-B corriente suficiente para excitar las bobinas del motor PAP utilizaremos los contenidosen el integrado (figuras30-13 y 30-14) sentido de la bobina de que un motor de por una gira? si y los tiempo realizardicho Como motor por de aplicar los 11pulsos, el habrá girado: 7,5 x 11 la de ms,por tanto,el motor en realizareste movimiento. 30.9 UN MOTOR PAP de los ejercicios que se van a dos ! motores paso a y de de discos o primera dificultad bobinas con del tener que motor PAP, Se mide para intentar estructura de las en bobinas y los central se se por de pero, es medida de 150 le de la con un ejemplo, un mitad debe medida 2' y 3'- 4'. O
  • 509. 10 isos :oneol *paso 10s driver9 :7 , 5 O , & l b s @O8 impo U 10s 11 @OB, a m, n despace, n : dcsct.itos cn I O k4-M.4 CAPITULO 30. a93 I mas ohmos. terminales Figirm 1 Motor nposo de hi1o.c no coriocer con bobuia (2-29, siis terminales, una gire antihorario, solo cambiar motorcs procedcrernos siguien manera: F'igrra 30-12 de ula tiItorrivpaso uyuso hilos rnidan tres pcrtetiecerán juego Pim terminal ubtsriiendopara S1, otros SZ, el que el tigura MOTORES PASO A PASO de resistenciaspara detectar las dos bobi independientes. Para ello, hay que buscar dos hilos que midaniin valor cualquiera que no sea infinito, generalmente pocas decenas hemos visto, de Estos dos hilos pertenecen a los de una de las bobinas y los otras deben ser dos a la pareja opuesta. se exciten. La para un nas a paso utilizando el de generar la los por paso, tarda en de 5 por a utilizar dos as de los terminales el motor PAB, la 30-1 puso 4 En este caso es importante el devanado que corresponde la A-B (1 -1') o a la C-D ni identificar porque vez conectados los cables al circuito de control si el motor gira en sentido horario y queremos que en sentido tendremos que las conexiones de la bobina A-B por los de la bobina C-D. Para los de 6 hilos si queremos identificarlos con los del motor dc la figura 30-4, de la te Fofo de 6 Se mide con el ohmetro para buscar los tres hilos que entre si un valor cualquiera distinto de infinito. Estos hilos pertenecerán a uno de los juegos de bobinas y los otros tres al otro de bobinas. averiguar el central se mide la resistencia entre dos cables, nuestro caso concreto la medida de 150 midiendo los dos resulta 300 por lo tanto, tiene valor mitad corresponde con la toma central de la bobina, numerados en la 304 con 1'-
  • 510. 1 irnos m1 1 apaso tilimdo dnven 5 " r pitso, ntos cn IS 11 aulsos, o r Ic s tminalcs motor ssi-itor; IR dudn, CR plo, pnni iin 1 ric ntcdictn 0M-M CAP~TUKJ MOTORES p a s decenas ohmios. los otros 1 ~Uotorpaso hilos corresponde bobina (1-1 o (2-27, tminnles, 10s cables antihorario, s61o quc las conexiones bobina motores f i p procederemos simiente Figtra Fato zrn pa~o t í mide olimetm cntrc midan valor Estos tres otro central mide la medida t R, o- Q, central de !a bobina, numerados la 2- 30: PASO A PASO 493 de resistencias para detectarlas dosbobinasindependientes. Para ello, hay que buscardos hilos que midan un valor cualquiera que no sea infinito,generalmenteunas visto, de Estos dos hitos pertenecen a los terminales de una de las bobinas y deben ser dos a la pareja opuesta. exciten. La para so el generar la los prados po tarda utilizar dos desguace, PAP, en de Figura 30-1 a paso de 4 En este caso no es importante conocer el devanado que con la A-B ') a F a C-D ni identificarsus porque una vez conectados al circuito de control si el motor gira en sentida horario y queremos que gire en sentido tendremos cambiar de la bobina A-B por los de la C-D. Para los de 6 hilos si queremos identificarlos con los del motor de la 30-4, de la manera: 30-12 de motor pasoa de hilos Se con el para buscar los tres hilos que si un cualquiera distinto de infinita. hilos pertenecerán a uno de los juegos de bobinas y los otros tres pertenecerán al juego de bobinas. Para averiguar el terminal se la resistencia entre dos cables, obteniendo para nuestro caso concreto de 50 midiendo los dos resulta 300 por lo tanto, el que tiene el valor mitad corresponde con la toma en figura 304 con 1'- y 3'- 4'.
  • 511. MlCROCOiriTaDLAüOR PIC16F84. OR.-MI o procedemos forma, tendremos normalmente serigrafiaclo carcasa. contmrio, mayoria consb~iidos por Ias cl conecta hilo nurnmrá 2011 tomamos uio jucgo terminal l terminal tmnina i 1 10s bipoiar del unipolar. siguientesepigrafes I CONEXIÓN BIPOLAR PICI6F84 1 El bipolar muestsa 30- ! drivers de1 las ejeniplo ~ i dichos res sej moi bipdar. 1 ejern~ Cottcxihn P,4P bipolur PICl6F84.A L2 B 494 DESARROLLO DE PROYECTOS Para identificar cual de los hilos corresponde a las bobinas 1, 2, 3 4, de la siguiente que alimentar el motor, el valor de la tensión de alimentación suele ir indicado por una etiqueta o en la En caso deberemos de tener cn cuenta que la de los motores paso a paso están para trabajar a 4, 5, 6, 12 y 24 voltios. Probamos con 5 V, precaución, conectando esta alimentación a la patilla central de dos bobinas. Seguidamente se toma uno de los dos hilos, se numera con número 1 y se a masa y el otro del mismo juego de bobinas se el número 2 y se deja sin conectar. A continuación de las terminales del otro de bobinas y se conecta a masa, si el motor gira un paso en sentido horario se numera el con el número 3 y el otro con el 4. Si por el contrario lo hace en sentido contrarioa las agujas del reloj se numera con 4 y el último con el número 3. Una vez identificados terminales del motor y cn los veremos los circuitos que vamos a montar para cadauno de ellos. ! 30.10 MOTOR PAP Y montaje que vamos a realizar para el motor se cn la figura 13, en el que se ha realizado la conexión del motor PAP a través de los activar e las bobi se u Las pines cerrados, del motor El En e alimentación terminales 3 centrales de eneste Figura 30-13 del motor u y driver 93
  • 512. o s i y tenninal e1 i diipolar, lo dnvers Las ljncas RBO, RR1, M 2 genemr rictivaci@~.ii que KB4 RB5 se ponen siempre "1" tensidn Vs del RA5:RAO concctado pines "1" "O", perrnitira cstos CONEXIÓN PIC16F84 muesm alimtrntación, drivers L293B tensión UNIPOLAR Conexih motor P urlipolur PICI 6F84A L293B 4, procedemos la tension de en la carcasa. motores paso a con 5 V, por ; dos bobinas. y se conecta a 2 y sc deja sin le bobinas se con contrario a las en los de ellos. en la figura 30- los del y RB3 serán las encargadas de la secuencia de del motor paso a paso, mientras y a para activar las entradas de habilitación de los drivers. Las salidas de los drivers se conectan a las bobinas del motor para conseguir la corriente suficiente que permita su funcionamiento. La aplicada al pin es la de alimentación motor, eii este ejemplo se utiliza un motor de 12 V. Las lineas se han a unos interruptoresque pueden entregar a dichos un nivel alto o un nivel bajo dependiendo de que estén abiertos o cerrados, respectivamente. Esto controlar las condiciones de funcionamiento del motor según el estado dc intcrruptorcs. 30.11 MOTOR PAP UNIPOLAR Y El montaje se en la figura 30-14 y es muy similar al del motor paco a paso bipolar. En este caso se ha conectado la toma intermedia de los bobinados a la tension de e1 terminal 1 y 2 a las salidas de un par de del y los terminales 3 y 4 a las salidas del otro par de drivers. La tension aplicada a la tomas centrales de los devanadosdel motor debe ser igual a su nominal dc alimentación. en este ejemplo se utiliza un motorde 12 V. MOTOR PAP Figura 30-14 del PA a y driver
  • 513. MICROCONi'ROLADOR lbFB4. Utilizan& MotorPAP_Ol.asm, g i r a r este R A O & linea RA4 girará micmcontrolador. Figtra MotorPriP-01. asm m hido w beE w ; M Pdiscipltf L . . - w. '.' - gBOO ctñ - 1 : - G . & - . . * . :#M - - ,: ...--:.. 496 PIC DESARROLLODE PROYECTOS 30.72 CONTROL DE MOTOR PAP EN MODO FULL STEP cualquiera de los montajes de las figuras 30-13 6 30-14, vamos a analizar el programa que es un programa que hace el motor siempre que cerrado el interruptor conectado a la linea y dependiendo del estado la en un sentido o en el contrario. El programa para los dos tipos de motoreses el mismoy su organigrama es el que se muestra en la figura30-15. 30-15 Organigramadel programa , . .&- m- a * - , , . . al- *. : -.:.-::-* - - .
  • 514. Q RAMA 30: -14, $rar mdiendo i m ri #DEFiNEEni&&khci PORTA,O htemptor p u t s b #DEFiNü~ s n d d o PORTA,4 Inkmpbr & sentido giro. ; ~ A ~ & I ~ * * W . * * ~ ~ * * * * * * ~ * * * * * ~ L * W W W ~ ~ ~ ~ ~ * * + + * * * * O * + * * * ~ * * * * - * * - ORG o - W STAWS&W bef l%m&Mmb ;Ema hms crmfipmcona0 bef. M - FWITB, ; l b &l hiena configurada8 como bcf SAWSJtM - - - . : , m. .. - - .- ;--en marcka? ;s. - , drf: - 'PURTE N o ,p a r a rt líaea -'..sw:.,;:Fm- . . #e Wlitzzidn &::; .-a- .:,- " .& .. - . - Cgqmcba sertiido - - : d --. ;Gimen unmtido. , : * . -*:/ - , . - - --: @ i w%mi& ~ 0 0 ~ 0 . . . , :-.,. .- CAPITULO MOTORES PASO A PASO 497 ,STEP vamos a el motor del para los dos 30-15. , parado ; de enmarcha. ; de Inicio . se entrada. Las B salidas. , . ; el motor, poniendo cero la ; . . . . ; el de giro deseado. , . . . .
  • 515. 498 MICROC'I)NTROLADOR PiC16FL14. DESARKOL[.O PRI)YFCTOS c RA-MA movwf PORTB cail Retardo-lOms ;Temporkción siguiente NCLUDE mARDOS.MC> podía realizado mediante plaiiteados res~~cltos eri inodificar &te el descrito en el .asrn. 30.1 REALIZACI~N SECUENCIAS Eri es secucncia dc moviinientos los motores continiiacihn tambjQ conlpmbar tiene puede Así, kinpc.irización Iriayor subrutina Retardo-5Oms lugar Retardo-IOms, denm silbnitina "ActivaSaljda", podenios fkilmente cuántos para unipolar necesita 48, excitaciiin 7,5", urio comerciales 30-5. progranla MotorPAP-02.asm Iiacc motor wia iuelta ejccute 8Ob Suhtina "Gire GiroIiqukh realiza en saitidoc o n m o ufizaodo el Full Step. call KtoYlu call CONFIG -CP-OF'F t -WDTTOFF &-PWRTE_ON & -XT-OSC mmlv LIST P=16FS4A call N C W E 816F84A.INC> movh cal1 CBLOCK OxOC m Cich denementarli Vue1tasHdo ;slhltina"Gk VwhasAnatihorario ENüC Girokmha movlv NumeroCjclos EQU -12 ; & p o s son gradasp m I DE antesdel paso. Este control también se haber tablas de datos, de forma similar a los juegos de luces y el capitulo 12. Se anima al lector a y los próximos ejercicios resolviéndolos mediante procedimiento ejercicio Retardo-08 3 DE DE MOVIMIENTOS muchos proyectos necesario realizar una con PAP. A se muestra un ejemplo que nos pude servir para correcto funcionamiento. Si no se conoce el nutnero de pasos que nuestro motor ahora ser un buen momento para saberlo. si se hace la llamando por ejemplo a la en de de la contar pasos necesita dar una vuelta completa. El motor que hemos utilizado nosotros por lo que cada impulso de recorre que corresponde a de los valores recogidos en la Tabla El que el ejecute completa en el ángulo de paso del motor o, lo que es igual, el número de pasos a recorrer para que el eje del motor una vueltacompleta. : ; Elmotor PAP unavueltaen sentido y dos modo movlv ;Se cada ciclode 4 pasos. Unciclo 4 30 unPAP
  • 516. O RA-M: Q RA-MA CAPII'YI.CI 10: PASO 75' Half-Slcp. ;mplctar ciclas ;ZONADEC~DIGOS***********+~~~*****Q~~~~*****QQ"*********X*#************V** forma -ocedimient :ritos .e para lamando subrutina quc ~ri :ne !r i PAP inicio STATüS,WO clrf bcf STATUS3PO movwf VueltasHorarío OtraVueltakr&a mvlw Numdiclos m 0 4 OtmCicloMha cal1 GiroDerecha kfsz Ciclos,F goto ~ ~ 1 0 ~ decfsz VueltasIIorario,F goto OmVueltaDaeCha Las lineas Puerto coniu salidas. ; OxOl mwwf Vue1tasAntihomrio OtraVueltalzqurerda NumeroCiElos movwf OtmCicloiqtiierda cal1 Girohquierda decfsz CiclosF OtroCicloIzquierda d& VueltasAnti~o,F goto CbVueMzquierda goto ;UM antihorririo. ;AL wt soh deja lectot k e r i a q pniebas oportunascanibiando (VueltaAntiliorario}. GiroIzqirierda catI ira11 movh cal1 mvlw c d retum Wmer ; paso. iiltimop m S . 0 pam daecha. MOTORES PASO A 499 ;de en modo Por tantopara una vuelta de 3W.se requieren 12 ; de 4paso, cadauno. ORG O bsf os, de WRTB ; del B configuradas na al lector a o Principal movlw 0x02 Dos vueltas en sentido horario. Ciclos , movlw vueltaen sentido una vueltano haria falta el contador. movlw ;Pero se para que el pueda C i c l o s ; que crea l a carga ; goto Principal con los servir puede ser un por la ir una vuelta lo cada comerciales completa en cuenta para que el movlw ; paso. movlw ;Segundo paso. Tercer ;Cuarto y ;Primer paso el girohacia la
  • 517. l 5W MCROCOhTROLADOR PIC16FM. DESARROLLO F RA-MA i Aaivasalids m v w f WRT3 caü ;Tempimibn antesdel siguien& rmm 10s cl modo HurStep. esre utilizar de muesba 30-7 coinprobarse MotorPm3.asm, progmacion rnisino. aplicacibn progma HcilfStep. I ; motorPAPrdim wlía m&do dos sentrdoconbajoutihdo ;~(nmdoWalfStep)paraobtcneraias~isiBa ;ZQ~ADEDA~****h+***I*******+***.L***V********~*****+****UW************************ EQU .i2 ;Uncichde8~son30griidwparamPAP ;dt 73"mm& w-Step. tanto para I ;co@etar vuelta 3W, quieri:n ciclogde pagos c& . ~ N A D ~ C ~ D ~ C ~ ~ S ~ * L ~ * * * * ~ + ~ Q * * * * ~ * * ~ ~ L Y ~ * I * * U U ~ * * * * ~ V * + * + ~ * ORG kucio - b d STATüS,RW DE PROYECTOS paso. 30.14 CONTROL DE MOTOR PAP EN MODO HALF STEP Una de las posibilidades que tienen motores paso a paso es la de utilizarlos en medio paso u En caso hay que una secuencia 8 estados, como la que se en las Tablas y 30-4, corno puede en el programa el proceso de es el Como ejemplo de se va a repetir el de la secciónanteriorpero en modo El una en y en medios Par una de se 12 ; 8 uno. O
  • 518. ORA-MA M-MA C~P~TULO tilizarlos bme 'alfStep. ;Frimsrpo. ;Se& ;Tercupaso, Gurirtop o . i Q u i a ~ g ~ e o * ;soxw p o . ;- P O . ;mwyrilthnopa e 30: MOTORESPASO A PASO 501 STEP en e 8 estados, en el no ejemplo paso. ;
  • 519. MICROCON't'ROLADCiRP1ClhF84 DESARROLLO DC PROYFLTOS 3 KA-m r l 2, RA-MA movlw b ' 0 01 Sepimdo CBLa ActivaSalida VeloeY movlw b'00i 11010' ; EMX cal1 ActivaSalida movlw U001 Ciiarto #DEFINE Entra¿ cal1 ActimSaIida mor~lw WíMI 10110' topas^. C ~ .4ctivaSalida b'00110100' ; ORG ActivaSaf movlw b'0011010lt Skptimo cal1 - Activasalida rnovlw b'00 &cavo p w . movwf cail ActivaSa1ida movf andlw mowf PORTB cal! Retardo-jOms :Temporizaciiin p s o . m M lNCLUDE <RETARWS.iNO L velociilad determinad21 qiie se PamMotvr secuciicia direccihn qiiz se secueiicia. coii~al posiciijn rcalimentacion. Sdnititte "Seiwx: 1 MotrirPAP-04.asni :hlkrando valc E1 hardware SeIeccionaVeIocidE cuatro del qiie addwf una del rctardo m& dcspacio niotor. Subrutina"Girola :Programa connl un PAP. motoresta4 g&m& ; cuatro líneas Puerto ; funcibn IineaRA4. CONFIG -CP-OFF & -_wDT-OFF &-PWRTE-ON &-XTXTOSC ~ S T P=IóFS.IA movlu- [NCLUDE -+16F84A,i?VO retum 502 11000' ; paso. cal Tercer paso. 10010' ; paso. ;ZONA DE call movlw Sextopaso. call ida ; paso. movlw 110001' ; y ultimo antes del siguiente 30.15 CONTROL DE VELOCIDAD La del motor queda por la frecuencia a la ejecutan los pasos de la y la de giro depende del sentido en aplique dicha Esto proporciona un excelente de velocidad y sin ; los E programa describe un procedimiento para controlar la velocidad. utilizado será el de las figuras 30-13 6 30-14.La lectura de las lineas bajas Puerto A determina el tiempo de retardo hay entre la aplicacion de nueva combinacion a los devanados motor. Cuanto mayor sea este girara el : de de velocidadde motor La velocidad del porel valorde las bajasdel A. El sentidode giro de motorsedecide en del valor de la movlw movlw
  • 520. :apliquc ición trolar ra #DEFmE EnWaitido PORTA4 Interruptor giro. I ! ORG Inicio : 1 b ~ f ! inoviw 1 movwf 4 CM bc 1 b i p a i movf andiw btfx cal movwf m s c &Oto gafo call ParaMotor irf ' goto b*WM11111' Rierto conñguram w WRT5 L8Slinw del mierto m6guradas corrm STATüS,RPO Lee de b Y I O O O I 1I I' ; biis bajm. STATUS.7. P&otur pwado. SelmcionaVelocidad ; Pasa seleccimarei factm se va VeIocidxd ; ixtafikipakhn. EntradaSmtida Comprueba &seado. AA*& Girohecha PORTB ; ci rnutor,piniendo linea Pnncipai ;habiliwción. Seieix~ona addwf PCL,F 0,675', d17ú',dr6S',d'G0', i1'55',d'5íY, 64T, b40' 837, d'30t.d'25'. dt20',d'15', dlOf,d'5' m o v : ~ HMJIOIOI' primerF. cdl ActivaSaiida ; esth cone~hdo P,4P. movhv b'00110110' ; Sogundo cd1 AchvaSalida movhv blOO1llO1O' Terw paso. call Ac~vrtSalida niovlw b l W1 ; ÚItimo ejecutan sin la de las entre la sea este ; desentidode f d i A-Izquierda goto c Fin STATUS ;El A se entrada. PORTA ; B salidas. PORTA,W ; el puerto entrada Se quedacon los cuatro ;Si es cero se mantiene a el que a multiplicarel ; el sentido de giro Para a cero la de ;Alterandolos valoresde esta tabla se puedenconseguirdiferentesretardos. Velocidad DT DT GiroIzquierda ; Lo envía a la salida donde el motor paso. ; 11001' Cuarto v vaso
  • 521. 7 PIC16F84.DESARROLIB ;SulaP1IisiQhDasha"- d 1 Actimwdri -kv- ~001~11014 ActiyaSW -, . - m l w buXf1lOIIOt~: - 4 Aotiddidn Paca servomotort~, c odl ~ ~ l m a (figura 31-1). d m f s z Cmadnr,F de rtiodelismu a tirnbn uii barc 3 . SERVi Un servomc ruedas: deritadas qu una tiirjet; figura inuesk 504 MICROCONTROLADOR DE PROYECTOS , , . . la PO dc pequeña 31-2
  • 522. renlizacibn rnicrorobotq es semornotores, pequedos utili7ados radicxonwol (figura 3 1-1 Pnpulamcnte d nonlbre "servos" control modelismo cobre acelerador cornbuaihn, el dc direccián etc. consumo, adcmás de precisión, los para !a constnicción microrobots. 31. lSERVOMOXORES MICRORO'B~TICA momotor esih crinsiirnido por pequeno niedac dentadas corno reductoras, 10 comiderablc, y pcquefia tarjcta fipra muestra dc Para la de experimentales frecuente utilizar que son dispositivos tradicionalmente en ). reciben de y suelen usarse para el de a distancia,actuando el deun motorde en timón un barco o de un avión, en el control de de un coche, Su pequeño tamaño, bajo una buena robustez y notable hacen ideales de los PARA Un un motor de corriente continua, unas que trabajan que le da una potencia una de circuito impreso can la electrónica necesaria para su control. L a 31-2 el despiece un sewo
  • 523. 5íkÍ MICIROMNTROLiZWR PIC16F84. Q R ~ M A Torrejon dr exponc supue Intm sto, taml siemp Ln tcnsir El con! una scfial cua Moh~lnrion). pnea eie dcl (1 retroalimen m o esiándar 11 Otro servo utilizado el -a auracia Futaba S3083,www.fiitaba-rc-com. f i ~ t a14. 1 dcf pu smos mecanicamctite r! 1: IT componentes eIectr6nicos modelismo smvomotorutili;~ II~ matcnal para radiocontrol coches, etc. TambiCn pucdc entnr es&n I f!, pagina de Mdel Import S.A, rns indicaría la PG DESARROLLO DEPROYECTOS en donde ct, voltios, L el eje del motor una constante y proporcional a la carga. compatible w n el anterior y muy es 3 Cada el ancho Si el lector tiene dificultades para comprar estos en su proveedor habitual de puede adquirirlos en tiendas de donde vendan de aviones, barcos, en entre 0.3 y ww.itl.rnodejirnport.com,que es la Web empresa con sede
  • 524. i1 uM-MA (:AP~TLJLO SERVOMOTORES RADIOCONTROL Tomejon Ardoz servos relacion Internet, alimentacián servos S limih 7 seiial mgdulada (Pube Mudulationj. nivcl ejc al 31-3) cixuito tzqtierda 3 3rns t b - 900 - - - Posición - r 1,2rns ms - - BOD Dereda - 2,lme Figura Tren impwlso.s de radiocontrolFutubu S3003 estándar ~tilizado dwaciiin figura 1-4. del máximo que ior varían del iede 0,3 Jresa 31: DE 507 en de (Madrid), distribuidora oficial para España de los Futaba, donde expone una completa de tiendas ordenadas por comunidades. Y, por supuesto, también puede adquirirlos en alguna de las múltiples tiendas que hay en siempre comprobando que trabaja con las necesarias garantías. 31.2 FUNCIONAMIENTO DEL SERVOMOTOR La tensión de de los suele estar comprendida entre los 4 y 8 voltios.El control de un servo a indicar en qué posición se debe situar, mediante una cuadrada TTL en anchura de impulsos PWM Width La duracion del alto dc la señal indica la posición donde queremos poner el del motor. El potenciómetroque el servomotor tiene unido solidariamente eje del motor (ver figura indica al electrónico de control interno mediante una retroalimentación,si éste ha llegadoa la posiciondeseada. servomotor Extremo 20 ms Central A 20 1 Extremo 31-4 de pava control un servo de servo d constante y es el La de los impulsos indica el ángulo de giro del motor, como muestra la 3 Cada servomotor tiene sus márgenes de operación, que se corresponden con el ancho pulso y mínimo el servo cntiendc y que, en principio, habitual de mecánicamente no puede sobrepasar. Estos valores dependiendo modelo de donde vendan servomotor utilizado. Para el servomotor Futaba S3003 los valores de la señal a nivel alto entrar en están entre y 2,1 ms, que dejarían al motor en ambos extremos de giro. El valor 1,2 con sede ms indicaría la posición central, mientras que otros valores de anchura del pulso lo dejan
  • 525. 508 MICROCONTROLADORPIClbF84. PROYFCTOS RA-MA intermedias la iinpulsos. servo, coinmzará einitir cntrc: frecuenciadc Hz. mínimo la iemporizaciiin servo zumbido servo donnido pequefíos scm'o mdntenga posicibn, constante. existe posiciiin intentari ititervalo pcmitido, sernomotor mantener podría desplazarlo. servoniotor elkctrico sblo sc piiede rnover arigulo (tio wcltas cbmo sen~omotores Positivodealimentaci6nunidoalcabledr:coIorrojo. casi rin cablc + dotide entmda cablc surle dc naranja. inuestra relación Jc servoniotorcs, tcrmiriales neplla Hitec ten í microcontrolnd u r fui piu siguie i 1-1 Ident$caciÓn los tic I0.f servos,st'gzin rJiversosf~h~.icantes DESARROLLO DE A en posiciones que son proporcionales a anchura de los Si se sobrepasan tos limites de movimiento del éste vibrar o a un zumbido, denunciando un cambio en la anchura del pulso. El periodo entre pulso y pulso no es critico. Sc suelen emplear valores 10 ms y 30 ms, aunque lo habitual es utilizar 20 ms, que implica una 50 Si el intervalo entre pulso y pulso es inferior al puede interferir con interna del causando un a vibración del brazo de salida. Si es mayor que el máximo, entonces el entre pulsos provocando que se mueva a intervalos. Es importante destacar qiie para que un se en la misma es necesario enviarle continuamente un pulso de una anchura De este modo si alguna fuerza que le obligue a abandonar esta resistirse. Si se deja de enviar pulsos, o el entre pulsos es mayor del máximo entonces el perderá fuerza y dejará de intentar su posiciiin, de triodo que cualquier fuerza externa 31.3 TERMINALES Un es básicamente un motor que cn un de aproximadamente 180 grados dan complet los motores de comente continua). Los disponen de tres terminales: Masa o negativo,que siempre es de color negro. Señal por se aplica la de impulsos y cuyo ser color blanco, amarilloo La Tabla 31-1 una fabricantes de con la descripción de cada uno de los destacándose en los fabricantes Futaba y que son los más importantes. Los alimentación las dos fuentes se construye utilizar dos energía a los presupuesto El ejemplo, el eje Tabla 3 de terminales as
  • 526. npulsos. einitir u11 cntre m s Hz. tcmpori7aion i. rnayor nvocando isnia c esistirse. icibn, niovcr scr otores, ricantes piedcn concctrires Red (*) 11ack Wkila *Brown f.) Qrrngr(Slgnil) ind I-) a r i Ihc i'rrwso s l Futdba. Figwru Conecforcs cubkes us'udo,s aPrgunosfubricun~es de semornolores CONEXI~N PlC16F84 En 1-6 iin scrvomotor Futaba uii microcontro1adorPIC16FS4A. tcrminatcs alimrritacibii senwmotor una alimeritaciári 5V Ia masas las fueiites alüiientación, pasa tsnsion mecanismo servamotores, fueritcs dc cnergía distirios, una otra energia servomotores. pero aq-iidarj la pmgramaciiin. m ejemplo, eje servomotorgirar6 dc 80" 0" Si se En la figura 31-5 identificarse los de algunos de estos o a fabricantes. es 10 le 50 Si el Si es que posición, este modo si Si se mo permitido. dc modo e en un ar , Ios motores de :le de color con la Futaha fabricantes 31-5 y por 31.4 DE UN SERVOMOTOR A UN la figura 3 se muestra ejemplo de conexión de un S3003a Los de del se conectan a fuente de a que puede ser misma que se utilice para alimentar al rnicrocontrolador.En caso de utilizar dos fuentes distintas debemos conectar las dc dos de que tengan la misma de referencia. Cuando se construye un o un rnicrorobot con es siempre recomendable utilizar dos para la "electrónica" y la para dar a los desgraciadamente no siempre hay espacio ni presupuestopara ello. El siguiente programa a comprender técnica de En este el del O a 1 y de 180 a indefinidamente.
  • 527. Figz~m Cone~.ibn PfCI6F84.4 parn contrtr/de1servomotor . I ~ * * i r * * * * * r ( i + * t * * * * ñ * * * ~ * ~ * i I * * * * ~ t S e r Y a S O].-++I*****+15*8***0**0******I+****C**#L 9 - P r o p conbol m servornotorFutaba S3003. @do ;mediantcuna d a 1cuadmdaFWM 111s perimhquz Iinea cnnml. ; gngulo seAal O" 0,3 ms ;de tiempo hasta tiempo 2,l m). progmma servomotor 09 90". 180", W cicio. Permanece cadaposiciiin&te 1 E1 ha tiempa p t d n 100ps (O,] conseguidiismedrante ; desb0rdamit:nto Timer Titnipu A l h Timipo 3ajo Anguio FactorAlto 1.FactorAllo O,](200-FxiorAlto) (Grdm) - . - m + - - M * - - - . - . - - - - m-------+--------. 3 ms rns 9 1 , ; m~ 18.8m~ qO0 2,l ms 17,9ms 1J ms 18,8ms 9P L ;ZONADEDAMS * * * * * V * * C * * * * * * * * * * e * * * * * * C I * * * b * V -CONFtG -CP-OF'F & -WDT-OFF Br -FWRTi-ON & -XT-OSC LIST P16F84A LBLOCK OxOC Contador FaccwAlm ENDC por vaa multipiicare1tiempo patrbn 100p.s obtener tiempo Pl'wipl Subnrtina'Ti ; la lWpx(2C CBI Gw Tim ENI 31-6 del ; de rielposicionamientode Controla el de 20 de se aplica a su de El es gobernado porel tiempoen altode la cuadrada desde (para en alto). 180"(paraun en alto de ; Eneste el s eposicionaen vuelvea y repite el ; en s. funcionamientose explicaen la siguientetabla, ;donde se tomado como ms) interrupciones por del O. O, ----- O,! 19.7 o" 12 21 180" 12 ; Factor el que se ; de para el enatto. Inicio ; Mantiene a ; a
  • 528. RA-MA Anguio 90" 90" c R ~ - L ~ A CAPITULO 1 SFRVOMOTORES RADIOCONTROL 5 1 I TMRO-Carga 4 ' 9 0 ' ;Vator experirnmtaimente Stopwatcb para un 100 s. #DEFINE Saiidn PORTB,O ;Lfnea WO conecta servornotar. O gota .4 gob TUnerO_Inknupcion f STATUS,RW bcf línea cmfigwaw m blOOOO1OOO' TM prescder. OPTION-REG bcf STATLrS,RW movIw bt1O10000(r movwf N C O N intemipibn TOI (GiE). clrf Principal movf Contador,W andlw b'OOOOOO1li caü SeleccionaFxtorAlto monvf FactorAlto cait Retardo1s incf Coutador,F gob Pciticipd SeleccionaFactmAlto M w f =S* dT3', d'l2*, d'21'.d112' ; s e ~ l Futaba Msnrime ts lODps (FlictorAlto) ; 1@s (2WFactorAlbo). @o& stAal lo rnantrene ms. auxiliat. Tirad-htmpcion ' I mowif Guarda-W ; las tenianW STATüS h I swapf STATUS,W ;P P - P * @ . m o d Ouarda-STATUS [ ' bcf STATUS,RPO ;Garantiza rnovlw TMRO-Cqa TMRO 'l i', decfsz TimerOerOContadorA,F Decremeritaeicwtadar. goto Fin_TierOrOhtempcion I l ' lempo btfsc S a W Testea mtaioresiado 1 alto. 3 : DE EQU obtenido con la ventana ; tiempode del B dondese el ORG Inicio ORG Inicio bs Salida ; Esta se salida. movlw ; ROsin movwf ; Autoriza y lageneral Contador DT Tablapara el S3003 ; salidaen alto untiempoigual a x y en bajo un tiempoigual a x El de la cuadrada en 20 (Grados) - - e - - @' ;Contador 180" , Guarda valoresde y en el quetrabajaenel Banco O. movwf ; ; el de la salida en
  • 529. MICROC'OKTROLADORPIC 16F84.UE5ARRVLLO DE i3iS O ~ 4 - M A g m EstabaAlto EstabaBajo bsf Saiida m v f FactwAlto,W mowf T M - C m ~ A goto Fm-T~merD~Intemrpcion Estabdlto b d movf FmAltn.W s u b l w ,200 movwf T m d - C ~ ~ r A Fin4TimdemInteqxion M - S T A T U S , W movwf STATUS swapf Gw&-W,F mf --w,w bcf iNTCON,RBF bcf LNTCON,TOIF re& ; paM aito Repone cunhdornumente m ;Estaha pasa m n e nuevamcnrc t i m ~ p o E 1 sera 100ps.2W21iOOOps=2Oims. registros ~1 de claborar el progranla eri servomotores cnctc suclcn eclrkhs. heclio wi servo misma es tenga reconidos. Luegi*ttio debe extraiiarsc cstos ai-igulo senJumotor í*s ~onbolxh por el de Asi sj posiciona en O". vale [ en lo0:si vale 2 20"; ..., vale e111 9 iProgramade ~untml h l uri servomotorFutaba S3003.Conirola k l o ;m d m t e mMíalcuabtodaJ ' W M m s p i d o línea hgulo gokmda tiempo da h seiíal O" @ara 0,3ms ; tiempo enalto) 180"@m tiempo 2,1ms) l 3e& pro- lineasdel Pueao conbrolan ingulo ;mlwiún 1 Paegh losval- en siguiente conm ; patr6n 1M)ps {0,1 ms)mseguidosmedian& del ;Timer ;.Enaada F~ A i t o Tiempo AIto An@O RA4:RAO (31-htda) 0,lxFactorAlio O,lx(2OC-FactorAito) ( - S } ' - - - m - - - * e - - . . - - - -+------*- --------+----<------- -+-----+ ; 0 0,3 my ms 0" ; 1 ms 19,6ms 1 P ; 2 O,5 m6 70" ORG Boto ORG soto l n i c i o bsf bcf I ; paitir 512 PROYEC Estababajo y lo a ; el el tiempo en ; alto. A de una Salida altoy lo a bajo. ; e l contador conel ;enbajo. ; periodo de ;Restaura W y STATUS. ENDC A la hora de control, hay que tener cuenta que las especificaciones de estos dc pequeño no ser muy De si cambia por otro de la marca y modelo no raro que que reajustar el centrado e incluso los si necesitara reajustar ligeramente las constantesde programas, para s u caso particular. En el siguiente programa ejemplo el del valor de entrada fijado por los interruptores conectados al Puerto A con una resolución 10". la entrada vale O se si en y si 18 SO0 . posicionamientode el de 20 de que se aplica asu de control. ;El es porel enalto cuadrada desde de hasta u n en alto de ; la A el de posicionamientocon una de que se indican l a tabla,tornando tiempo interrupcionespordesbordamiento O. Tiempo Bajo ; 19.7 4 0,4 3 19.5 ms 5
  • 530. las :tas. iga quc cesitara -i ición ..., 7 . , ? ~U-V4 ,3w-vA CA~~TL'LO 31: S~.'IIVTJMOTOKESDF.R,UIO(:O'I'TROL 20 2,O ms 18,O 2I 2,l 1 7 . 9 180" ; pariir entmda 18d m F r i v i h 4 . ;~~ADEDA~)S*********************************v************************t********** - CONFLG -CP-OFF & -WI)T-OFF & -PWRTE-ON &-XT-OSC P-16F84A INCLUDE 'P16F84A.INO CBLOCK OxOC FactorAlto FactOr multiplicar tiempo ENDC ;patriin 100p c obtener eii TMRO-Cnrga EQU 490' ;Valor eqerimentalmcntcw n Smwatcli para ticinp de 100 ps. :L a conshnte variarla se@ tipo Servomotorutilizado AltoCeroGrados EQU d'3W ;Tiempo ;lita Futriba p. TiernpoPatron 6 1#' FactwMinmio AlroCeroüddTizmpoPatron #DEFINE ; dcl dondeseconecta servomotm. ORG O .4 Pro Timero-Intempcim bsf STArnS,RPO bcf línea coafigura comu snlida. movlw b'OOO1lllli ;h i a t o mwwf movh b'00001D0(1' : prescaler. OPRON-REG bcf STATUS,ñPO mwlw M 0 Carga movwf MO- ; Timer movhv btl0100000' movwf W C O N ; inhmpcióa TOI general (GI Rincipai PORTA,W ;Lee el puerto entrnda andhv b'000Illll' ; quede lmbitsdidos. d w Factorhimo ; timp mínimo correspiindientt: O". mowvf FíictorAlto ; eniregado la subtutina 513 ; 17 ms 170" ; 18 ms ms 7 A de una superiora LIST ; porel que se va a el de para el tiempo alto. obtenido la ventana ; un próxima hayque el de que en para O".Para el S3003.300 De EQU EQU Salida Línea Puerto B el por el de y si goto inicio ORG Inicio Salida ;Esta se A configuradocomo entrada. PORTA . . TMRO sin movwf Carga el O. Autoriza y la E). de Se con Para conseguir el a Valor a de
  • 531. 513 hIICROCONTR(3LADORPICI bFg4. DESARROLLC PROYECTCX RA-WA p m Pruicipai / ; laintcmrpcibn. Mantim aabda m igual 1 0 0 ~ s (FactorAlto) igual ; 1 0 0 ~ s x (2WFactorAlto). periodo s&l adrada mantieneen m. TirnerOerOIntemipcion movwf m - W swapf STATtlS,W movwf Gwd-STATUS bcf STATIIS&PO rnovlw TMRO-Carga movwf m 0 decfsz ThnerO-ContadorAJ? goto Fin_TimcrO_Intmpcion btfsc gotD E s w t o E s W a j o rnovf FactorAlto,W rnovwf TimeiO-ContdorA goto F~TimerOerOintemrpcion EmbaAlto bLf movf FactorAlto,W sublw .200 momf TirnerQ-ContadorA FuiTUnaI)-íntampcion Gd-STATUS,W movwf swapf Gia-wJ Guarda bd INTCD~,RBIF bcf N K O N,TOIF mfie :Contador ; detenfan pmpma principal G;uantiZa W j a Bancg ;Derrerncntmielcontador. Testm anteriorestado salid& pasa el ccmtadoi con riaapoen dto. ;Estabaalto lopasaabajo. Repone con- nuevammte c m tiempo 100fis-2W20000pa=2hs. ;Restauraregistros DE O atencióna ; la en alto tiempo a x y enbajoun tiempo a El de la lo 20 Salida bsf Salida Salida swapf STATUS swapf W,W auxiliar. Guarda los valores W y STATUSen el ; . ; que en el O. ; el de la ;Estababajo y lo a alto. ;Repone nuevamente el ; y ; el el ;en bajo. ;El periodoseráde Wy STATUS.
  • 532. 7 - C~QPITULO SENSORES MICROROBÓTICA MICROROB~TICA iiiia basc guía seiisorcs inicrocontrolador para aplicacicines 10s niicrorobots proyectos sensores piisivo luz. Sc detectar CNY70, serisor cjptico salida blailco negro. OPB7031415, H21A1, sznsor barrera. lndicado medir mi~tores. GP2Dxx, sensores uifrarrojos 1S471 obsthculos infratrojos. B~tmper, fial mechico SRFM, sensnr obstaculus iiecesario ima forma acoridicionar sedalcs dipitales inversoresTrigger Schmitt. TRIGGER SCHMlTT sefiales digitales seiial sc muestrrt en 1. A-MA 32 PARA 32.1 SENSORES PARA El presente capitulo es de datos o de referencia sobre algunos y de cómo conectarlos al realizar especialmentedirigidas a yero adaptable a muchos industriales. Los que se van a estudiar son: LDR,detector de utiliza para ausencia o presencia de luz. reflexivo por infrarrojo con a transistor. Diferencia colores y sensor óptico reflexivo por infrarrojo. óptico de para velocidad de para medición de distancia. F, censor detector de proximidad de por de carrera para detección de obstáculos de y medidor de distancias por ultrasonido. Pero antes es conocer de no mediante 32.2 INVERSOR 40106 Algunos sensores no proporcionan puras y es necesarioconformar dicha antes de aplicarla al microcontrolador,como en cl ejemplo que la figura 32-
  • 533. ; Figiir.u 32-1 .L)ñ~r/c:s ric ~tirrcrcitr y .~ulir lrt tic ciwu Srhrnitf IJiia Ioi~i::~ 3c.i rcllla 1.l~: cutifr,ri-nar seha1 e 1 1 digital mediante Schmitt, ccitno qiic ticnc cl iiitegrado 06. in>crsorcs J.ri:;;cr Sr!iiiiiii cncrips~iladi>s scgúii inilict? figiira 32-2. Estos disposili*osticneii Lina c;iracteristica 1Tgii1~ 32-3. Fn csta cuma aprccia tensibn de aumenta nivel ,ilio traiicicicín prtiducc b V I' dcnoininnrlo amhral cI contrano, esti disininuyc Iiiistü 01'. I , I tranciciiiii sc prodiice sigiirendo 13 curva dcnoniiiiadci taoibr:il ieihrioi ,-. I,o.; y V,- depeiidcri tc.r~~~iiiiiiilinieritnciiin piicdcn tomar Icis t-bla Eli !; ciirva d,: i:;!ti~f~rc:i~ia dcl iiivcrsor Schrnitt cs iniportante observar tmiisicioridc salid:: dc iito -3Brijri cs dc Unjo-+Alto. estc fenbmeno Ic coni3i'c coino Xliaii'esis. KA.kl. vi * funcional: una ( st señait 1 digital. Ci 106, un ifo Trigger utio es puertas Trigger Iris circuito 401 Este dispositivo contiene 6 se en la de transferencia como la que se muestra en la se que si la entrada desde O V hasta un la se siguiendo curva A y conmuta para el valor . superior. Por si la entrada a un nivel alto y B cuando se alcanza el V valores de de para el caso del 40106 de la dc y valores de la 32-1, que la distinta que la A se El mane añadir el Tal E con 32- se m i vuelve a ti consideni 40 la
  • 534. 1 RA-MA - Trigger : esde i )el lcanza .l. 5meno FIguru Curvade truisv/;~i.c~~?r'ina r.lor117 ini)ojnt Triggcr ,S~,hrnift Tnggcr Srhmitt, Icis disposiii~os cor, ~ q i r : iipo ric funciominicnto, sirnholo figiiia pai:i iridici~i qiic pucdcii rcspciririci dc striales qiie cambi:iii Icrititud. Ilsta s~rt-il~oI~gi;i sc h x i cii pifica histcresis ciitr:id;i corrvsprindici~l~. 1 I"rrinresclk t T y 1 T ~ I A W o1 401/16(tr)~Ii>.~ k)r il:,r{:i. i ~:o/tio.s) ~ a i ~ utilid;id sc clrscn c(:nii-{il:ii. 1111 r*it-L-iiito digiVal so11 digitalcs coil una srii:il dc i-iidi: ,iriniar;ln.En 1;i íiglir;i 1 circuito invcrcoi-lfenlc iitia s;:i-i;tlrliic ri;i cs ~ i i ii-aiiicritc digital. la V I 21 V.,' I;i sal¡da V, hncciil:~:I ~ i i i iiil:cI al11 i y rir! hasta 1 ; i ciiirada Ilcgilc n ', l:,~ la tigul-i~ 1 sc 1 1 ; i inversor mis, ficil cxplicricicin. I'nia iin iiivcr;c>i. ~otiio cl 106, la cstado invertida reYIiEicici dc 1;i ti~,iiin ntiene 6 muestra O V el valor alto y el el 40106 a que la se 32-3 ir. El inversor y todos. utiliza el de la 32-3 una manera fiable ante con añadir el dibujo de la de en la Tabla 32- Estos circuitos son de cuando con señales que no lo o señales i 32- se muestracomo actúa un no a Cuando señal alcanza valor , vuelve a tomar un nivel bajo que 32- considerado un no para una 40 señal de salida hubiera no
  • 535. 5IX UICRoCOUTROWR PICI6F84.DPSARROLLQDE QROYECrOS 8M - M A C - Trigger Schmitt transiciones calida la 10 Et rnimonkolador P T CI6F84A posee Ia línea Trigger Scmitt ~eoecidad 106. I LDR R7 337 aight Dependertr Rcsistor) fotmistencias, son varían rmisíencia funci6n supwficie. mayor ssea fabricacibn fotosensibIes. a w n fisicn sUnbologia mLr.~ cn figum 32-4. 8 - L - :S-. .: .. - i ; + : : - . . .. - - - , F o m fisica Shbofo común 3 n LDR I * .CL YUL I Figz~ro miidu :b a s t a 99 nominal luz externa. Así, LDR m, tendri dicho tapa superficie, 60 a. : Las componentes cnntroles circuitos selb, a l m q , etc. mcurwc ilii vc 'E forma sencd1a sensores rnicrocontmlador mlizando LDR potmi0metm, ?jurzar salida'del Trigger I i Schmitt para tambikn puede m a t e tip como RA4 PICláF84A mucstaa figura 32-5. 1 I p r o p m Senso-DR-Ol.acm menta número es c o d o LDR. DRG R A M A En conclusión, un dispositivo produce de limpias y rápidas, aunque entrada no sea. RA4 con entrada (figura 5-7) que se puede utilizar para este fin sin de intercalarun40 32.3 o Las resistencias dependientes de la luz, LDR dispositivosque su en de la luzque incide sobre su Cuanto la intensidad luminosaque incide sobre ella menor será la resistencia entre extremos de la misma. Para su se utilizan materiales Su y común semuestra la . . , . . .. , . LDR LDR .. eléctrico más de 32-4 LDR Su valor se especifica sin que incida la por ejemplo, una de valor nominal 50 como la de la figura, valor si se de manera que no incida la luz sobre su si se la acerca a una bombilla de W puede bajarhasta unos30 principales aplicaciones de estos son de iluminación, control de con en La la del nivel de lu más de conectar estos un divisor de tensión con la y un z a detectar, A la divisorde tensión conformar la señal, hacerse tal la de luz a un que permite se le coloca una puerta una entrada de es e l El el de veces que un haz de luz que incide sobre la ;del ZONA D e LCD DATOS Inicia O
  • 536. t M-MA CAPITI~U) PAR.4 MI~ROROBOTICA 519 ies -a fin t Resistor) uz lre an ura 32-4. LDR : cs mite Tngger :ste con10 - Incide sobre LUR --> RA4= 'O - Corla ha2 --> RA4="1' (Flanm Aspendenle) - Incldir sobro -> Enirada RA4= "0" (Flanai Figuru Cvn~xion de la mlruda TriggerSrhniirr de un P1CI 6F84A 9 aei e laentradaTriggerSchrniaRA.t/TOCKI impulsos d Timw Eada ; seos cure^ al intmpnetseua-i objeto W htz LDR ;del d u l o LCD se visualiza e1númao que hkmmpe haz & dlgiios ( h a * o ) . ORG inicio 4 1 LCD-inicializa STATUS,RPO ;AoocsodSanm rnovlw b'00101W TMROminocontador por flan00 scendenre mowf OPTION-REG ;R A W K 1 . .Prescaierasi& d Watchdog. b E f STATLiSJWO c t f TMaO ;lnicializacontador. La seccih"PrincipPes mantmhiento. So10 se visualizar Timer cuya 32: SENSORES de salida 84A posee la este sin luz Entrada de luz cobre LDR Entrada Vuetue a luz LDR o que incide ella menor materiales Descendente) ejemplo, una si se tapa de billa de 60 W iluminación, controlador ajustar el puerta tipo es cortado un 32-5 una LDR a RA4 ; vez que Una LDR a aplicando O la de y la En lapantalla de veces se el luz en dos ; 99 O bsf l. ; de ; Acceso al BancoO . ; de dedicaa el 0,
  • 537. ;cuenh sc increinentacoii bs ascendente prucedente Iri cntmda TriggcrSchriiitt RA4iTOCKI donde ba LDR. cal1 LCD-Lineal de lhm 1. niovf TMR0.W ;kelTuner cal! Bm-a-BCD debe visualiznr BCD. cal1 1,CD-Byte Visudiza, las dxenss ca~o q~ie sean goto hiricipal programa pertnite contrir dc corrccta 99. deja mejora para ~iridcr ejemplo, coinputüción ob,jcios cinta trarisportadora,pcrscitiasquc por uria puerta. etc. Estc niisrno l~iiede que sc dcscrihcn qjcmplo para cotitar iiiutierci dc objctos delante dc iin sensor circuilu figiiia jiiilto prograina Sorisor .ILDR_-fll.asm constituye aplicacihri crepiiscular, cs cricender Iimpara prirncros raycis RE1.E e +***I**bC*ir4*$******,***i******L4* ScnSoILDR ~ * * * * * L m * * * * * ~ * * * * * * * * * * C * * * * * * I * ~ * Y * - - 1 interruptorcrepuscuIat:una bpara inatendrh mientras wa Uria detectarh arnbicnte Heme Ihpm quc ;pretende conu.olar) estad la8ntrada Ttigger Scbrnirt RA4. ;C d LDR ; Inicio b s bif bcf k bcf PrUicipd btfss Boto EacierideLw caii btfss soto bsf 4 % - caU b t k g* bcf cal1 goto INcLLrn END I : flancos de : se conectadola Principal. ;Se pone al principio la O. ;Se en : apagando en de 0. Este solo forma hasta Se al lector su aumentar la cuenta y utilizarlo. por en la de los que están en una pasan programa se utilizar para otros censores mas adelante, por el que pasan por dc iiltrasonidos. El de la 32-6 con cl otra típica. Se trata de un interruptor que un circuito para una cuando llega la noche y apagarla con los del sol. REO Y ;Programa de un se encendida ;de noche. LDR la luz (sin que le la l u zde la y conectadaa la ZONADEDA f f Fin Este tipo LED, y un recep defineel tipo ya
  • 538. LDR osmidad sistema ima kmpara: LDRihuninada3 Enb& P I C="0"-ALhpm ; - L D R a i o ~ ~ ~ i d a d - > EneadaPIC="l"ALbmpani-ida. i lacion de :rtri. idelante, 11 serisor constittiye :ircuito s sil. #DEFRIE LmpmPORTB,I Lhm conecta calida. #DEFINE LDR PORTA,4 E n - Trigger Schmi~ delPICdon& conecta b LDR. :ZQNADEC~D~~S**********+*I***********I****~****I****~******~******W******** ORG hiciti f bsf bcf bc bcf Principal btfs9 gow E n c i d - cal1 btfss baf goto APasaLampara cal1 Mfsc bcf cal1 soto A p a W p a r a Lampara L a m P ~ 0 ~ 2 0 s Principal Bataco 1. A - Bmco ; principioIhparaupapda. J?ntrada=l?, &DR &?. ; LDR i!imhdapor sol.Apga la Idmpm. ; E s p f f a e s i e t i m p p m n b u ~ I o a a t & $ :&nmda=l?,¿LDR oscuridad? ; sale ; mciendc lamparrt tiempop m conñrmar mi. ¿EnW=O?, iLDR sigticihiiaimdapor~ U Z ; hem. ;si,a p wIgmpara. Permaneceenelesardo~n~~lmtriosestetiemp~. INCLWDE 4U5TARDOS.MC> END sensores de luz, nonnahente que fototransistor, situacirjn estudiará continuacicín. ;Cuandola detecte el activará ;- apagada. ; donde se la ; se al lector su los ; etc. Este por de bs ;Accesoal ni f ; al O. para En del LDR ; en No, el Retad-20s sigueen W R No, fuera. SI, la Fin F i n Retado-20s ;Esperaeste la luzde1 LDR ; delsol? No.sale Fm ; Fin 32.4 FOTOSENSORES ACTIVOS Este tipo de consta de un emisor que es un diodo LED, y un receptor. suele ser un fotodiodo o un la de ambos define el tipo ya sea reflexióno por barrera como se a
  • 539. : pei F i i vcc: M I C R O C O ~ O L A W R PIClh%M. PROYECTOS 0RA-VA Sti aplicacjbn. om, detecciiin prcscncja medida cisdigos etc. microrob6tica suelc itectar marca línea (normalmente negra Los mis comunes sensorcs las material claros luz infranoja l o s Al 2;: importante optico CNY7Q sensor optico transistor Vishqk. TeIej~nkenSemlcondttctors (www.vishay.cum). constmcciOn receptor se colocan un rcffe x i h idmmoja (Infraredl tongjtud onda habajo es # m. infrarr~~io zin fototmnsistor. del dcbe entre del diodoIr= m4 y IC= inA. circuitr arnplrfi canectado cr potcnciól pati1Iaje pr-a32- Sensor cipiico relferivo salida n fransisfni. CW70 polariz;rrlos, fiinci~n I n q fipura mt!esiran según alto invmor Trigger Schmitt intcrcata pam corifomras valora msiciiin VTt V ; 1,9 alimenlacion f rnctro 522 DESARROLLO DE entre suele ser la de la de objetos, de distancias inuy cortas, lectura de de barras, En para dc .. una problemas o seguir una sobre fondo que suelen darse con este tipo de son que la reflexión depende características del y del color;en principio los colores mis reflejan el haz de mis que oscuros. La luz ambiente es una fuente de mido a tener en cuenta. or es un reflexivo con salida a (figura 32-7) Tiene una compacta donde el emisor de luz y el en la misma dirección para detectar la presencia de objeto por medio del empleo de la del haz de luz IR sobre el objeto. La de de 950 El emisor es un diodo LED y el detector consiste en La distancia objeto reflectante estar los 5 y 10 mm de distancia. La corriente directa 50 la intensidad del colectores de 50 El Utiliza un ha Sens qui Vista desde arriba As . cto y Diagrama interno 7 con ara conectar estos dispositivos hay que ésa es la de resistencias del circuito de la 32-8, donde se las dos posibles formas de conexión. se quiera la salida para color blanca o negra. El 40106 se las tensiones a lógicos. Hay que tener en cuenta que los valores de de la puerta son = 2.9 V y = V para una tensión de de 5V y no podemosvariarlos.
  • 540. medih rica bre fonclo dores ite riene flesion ia.10 cs insistor. - --r Salurado --r E n h d a "U--> VC - -> a) "1"-r al VG P RA-MA CAPITULO32: SENSDRFSP,WA MICROROB~JTICA 523 VCC=SV vcc=5v - Detacta --rTrans151or --> "O"--> pC Figflru3.2-8 Cirtrritu tr;tlzcosde conexiupr CM70 figiira CNY70. oper~cional, tensiiin, rtitnda cl sensor inversora iin potencibmetro traja VCC'W 1'70 ción S erta VT ariarlo Fi<yura Conexibndel CNY70 truvés cwi~~ar~rlor is, Funcionamientodel Circuito (A): suele Detecta Blanco Transistor Entrada al "1" Detecta Negro Transistor en Cone --.Entrada al inversor inversor Entrada 'O" Negro en Corte Entrada al inversor Entrada al "1" son que la más es una 32-7) una la misma del 950 La .a corriente del El circuito de la 32-9 permite ajustar la tensión de disparo del Utiliza un amplificador que trabaja como comparador de al que se le ha conectado en la no inversora y a la entrada que como un divisor de tensión. de las formas de tensiones a son S. 32-9 u de un
  • 541. 524 MICROCOWROLAWR P1ClbFR4.DPSARROLLO' I I E E m S '13un-M si inversora tensiOn Irt amplicador '"1" tensibn inversom es qiie la cn entrada invasora, toma nivcl recomendable que del circuito potenciómetro rnultiwelta, ya dc csta forma más h c senaores OPB703, OPB704 QPB705 Optek Technolom (www.op~ekinc,coni) tarnbidn t i p como LED infiarrojos fototransistor(fipia tarso est5n convegentesalqiadx carcasa n e p sensm el superficie (247'70. De aqui tratados, OPR703 OPB704 azul polisdfuro e! OPB705 pemiite desp~azamiento corregir Q ~ P ~ . plisulfuro gnn interfmncias por / n;lpl-lci y patillaje Patilt Figura 32-1O Sensores Opiicosrgflaivos OP703/4/5 reff e n k mm 10 mm comente mhirna lF 40 mA Tc d. sedn 10s se figuras que modificar plarhcibn tcniendo máxima soportan c c OP703 siiperficicblz hará que enfrenta aparcct PROY Su funcionamiento es el siguiente: la tensión en la entrada no es mayor que la presente en la entrada inversom, salida del operacional toma el valor y si, por el contrario, la en la no menor existente la la salida un "O'. Es la resistencia variable sea un que es sencillo el ajuste. y de E a empresa son del reflexivo y utilizan emisor un diodo emisor de y como receptor un 32-10). En este montados sobre unas lentes en la y la forma del permite que haz refleje en una más concreta que el los tresmodelos el no dispone de lente?el tiene una lente de y un de la lente para el En estos dispositivos la lente de elimina parte de las producidas la luz ambiente. SuperficieReflexiva Para y los circuito con en a un; LCD as y cabezal La distancia del objeto ectantedebe estar los 4 y de distancia, L a directa del diodo = y la intensidad del colector máxima es de = 30 Los circuitosde aplicación que han mostrado en las 32-8 y 32-9 pero habrá las resistencias de en cuenta la corriente que estosdispositivos.
  • 542. c RA-MA c~rinrto SFNSOWS PAKA - MKROROB~TICA 525 2s I chnologv Tamia Funcionamienlo. GZ Blanco ->Transistor Sauraao .--Enbada --> RA3; 1 22P - en C m e Enmda invsrsor --> M = - D . - - rte aplicacion corriprobar dispusjtivos analizado CNY70 OP703104105 Sensor-CNY70-01 .asm sensnr 32-1 cl enciimtra refle-ja entrada rnensajc inhrrojo tio aparece ;E a i m b l l aL.CD visualiza e& sensor CNY70, se& b corrrspiindimie. - B h c o --> sahuado 3 abada --b ="1". - Negro -> 2 enhda inversor " "-a KA3 "0". náxima 7-8 y 3 ; Líneas conecrad sensor. 32: mayor es mas un diodo este caso del . inversor " 0 '1' Negro --Transistor --, "1" 704 tiene ente para de las 32.4.3 Ejemplo de Para el funcionamiento de los que tiernos y los se puede cargar el programa y montar el circuito con el de la figura l. Cuando sensor se frente a una superficie blanca el haz infrarrojo y en la RA3 aparece un nivel alto que hará que en el LCD visualice el "Color BLANCO". Si el haz sc enfrenta a una superficie de color negro o encuentra superficie,el haz no refleja y en el LCD el mensaje"Color NEGRO". se el color"Blanco"o "Negro" que detectandoel ; configuracióndelesquema Si: ; Color transistor al inversor"O" RA3 ; Color transistoren corte al 1 = distancia, es 32-9 corriente donde se
  • 543. MICRWONTROLADOR PIC1hF&l.DESARROLLO OM-M.4 ; Z Q ~ ~ A D E C ~ D ~ ~ O S * * ~ * * ~ * v + w * * * * * * * * * * * ~ * * ~ ~ * * * v ~ * * + b * * * ~ * * ~ * * ~ ~ * * u ~ ~ * * * ~ * * m e * * * ~ * * * m m + ~ ORG 4 1 LCD-hiciaiiza MensajeCiilor call LCDMemaje STATVS,rn ; del senwr corno h f STATCiS.RPO call LCD-Lind movlw MensajeNegro negro. b t k Sensor Lae sensor. rnovlw MmajeBlanco ; cal1 LCDMensajc Visualira msultado. goto DT " BLANCO".0x00 DT " Negra ",0x00 WCLmE <RETARDOS.IND WCLUDE Sc&4Brr.ENcii. INCLUDE a - m s . I N 0 Sensor H21AI populw sensores H2 1 32-12) cl infrarrt Isocom Componetirs (www.isocorn.com) Faiwhild Semiconductors (www.fairchildsemin~j. infrmojos fototransistor. rcceptor estjti enhitados luz eii mrn pueda romper irifrarroja. SE aplicacibn 1 1F )as conientc sensibilii IF mA por lc siiperior mA. C:orpornt pmeba 32-2. cn 526 DF PROYECTOS O movlw bsf Linea se configura entrada. ; En principioconsideraque es ; el No,es blanco. ; el Principal 32.4.4 óptico de barrera haz El representante más de este tipo de es el 1A (figura fabricado entre otros por y y Como que pasan po Estos sensores también tienen como emisor un diodo de la unid receptor un En este caso el etnisor y el a una distancia de 3 y entre ellos existe un espacio para que un objeto introducirse y la barrera 32.5 El circiiito de para este tipo dispositivos es similar al de la figura 32-8. Los Los valores de resistencias de polarización deben limitar la por el diodo alta emisor a 60 y el colector del transistor a una comente no a 20 ion El fabricante facilita los valores de indicadoseri la tabla muestran 1
  • 544. v B F M A ORA-MA -. -- CAP~TL;LO PARn M I C R O R O ~ J ~ C A 727 patillaje rcccptar Fi,qura Sensor Upfico hmera H2IAJ comu 3ducirse pr l . ' , :picden Para comprobar sc utilizar sustitu cimito sensor hptico. e-icmpl pro_mrnas rn~in-i.asrn, 1n-nt-02.asm o Semor-LDR-Ol .asm, prcsentarin un e1 n h e r o dc interrumpe ha;?infrarrojo senwr. dc a 1 cncodcr, quc una Eimitia ranuras por centro m o r artes sed !avelucidad dcl SENSORES INFRARROJOS GP2DXX Los IR Sharp GP2DXX sensotec infrarrojos IR deteccibn medida dc Sharp Corporarion &np://sham-wor1d.m) encontramos dc muestran tabla 32-3. 32. SENSORES Aspectoy Posición del emisor y del en el dispositivo 31-12 de 3 y dos a una y yendo el funcionamiento de estos muchos de los programas propuestos en temas anteriores por el con el Por las que en LCD veces que se el del Una aplicacióntípica estoscensoresesmedir la velocidad de un motor. Para ello se acopla eje del motor un es circularcon una serie de que pasan el del y cortan el haz de luz, el número de del haz de luz en la unidad de tiempo proporcionara motor. 32.5 son una familia de de compactos de alta sensibilidad para y de distancia. En la página Web algunos los modelos que se en la
  • 545. 524 MICROCOWRCIL4DORPIC16F84. PCTOS c . .w distancia. Sen,cor4es de serie GP.2D.u esa triangulo as pequeAo Bngulo B gran& mudo func refle? esa lejos,el hnwlo pequefío bi@qulo Figirra 13 Concepto de trimgiiducion 1 el triangulación, Sensor (m, Position Sensitive determina senso micmontroIad ci dto dcite z DESARROLLO DE PROY R 4 ndiendo de l a Tabla 32-3 l a El objeto cerca, el y el distancia o la de transmite a trí contrario, no lectura que se obstáculo el h punto de Seguida Elobjeto es es alargado y el 32- medida por 32.5.1 Principio de funcionamiento Estos dispositivos emplean método de utilizando un pequeño Detector de Posición lineal Detector) para la El la entrada de no ha alcance al que
  • 546. Ia angufo es estA cerca, iriángulo pequeiío ángulo es ta f j p BRR-m CAP~WLO SENSORES MICROROB~TICA S 3 presencia los deniro campa Rhsicamente modo consiste luz infrarroja, quc sc v i s i 6 1 4que abjcto p r 2 0 ennientra ninpiin luz o'bstaculo infrarroja trihngulo formado reflexiiin el Seguidamente el m 4 0 Sharp GP2DOS sensor i n h j o s lbgica preahblecido (figura 32-14), entre una propio ficil Patendornmo pai sensor u t i t i 7 a sblo una línea niimontroladot. entrada (Vi), esperar en* rns V,, obskiculo, La información de distancia se extrae midiendo el ángulo recibido. Si el grande, entonces el objeto el es y ancho. Si el pequeño, quiere decir que el objeto está lejos, el triángulo es largo y delgado. En 32-13 podemos veruna representación de estos conceptos. 32: PARA distancia o la de objetos de su de visión. su de funcionamiento en la emisión de un pulso de transmite a través de su campo de se refleja contra un o que, el contrario, no hace. Si no obstáculo el haz de no refleja y en la lectura que se hace indica que no hay ningún obstáculo. En el caso de encontrar un el haz de luz se refleja creando un por el emisor, el punto de (obstáculo) y detector. describiremos de manejode algunosdeestosdispositivos. El es un capaz de medir distancias por e indica mediante una salida (O ó 1) si hay algún objetodentrode un alcance El rango se ajusta 10 y 80 cm con la ayuda de resistencia variableque incluye el dispositivo,que es deregular. --- a ajuste de distancia El de entrada y otra de salida para comunicarse con el Su utilización es tan sencilla como mandar un impulso a nivel bajo en la de control 28 y 56 y leer el estado de si esta a nivel alto no ha detectado si está a nivel bajo ha detectado un obstáculo dentro del alcanceal que se ha ajustado.
  • 547. 530 MICROCONTROLAWR PlC16FM.DESARROLM PñOYE - RA-MA '" qP2P15 Sharp GP2D15 por infmojos digjtal menos 24+3 detcccibn ningtin control temporización externo. aplicartensihn para este disponibte 50 ms. utiliza Unica línea de: con micmntmlador. Sharp al mercado GP2YOD2 YK. ktas tcn GP2DJ l vcc GND vo El S h r p G P 2 v l ~ sensor mae inrmrrojos. El una salida annlhgica medida sobrc el refleja Za tensibn foma se 10 y ital aprecia eski foma n i esta entmda analhgico digital, cual convierte número binario utifi~ado micmontrolador. ia tambikn directamente m analbgico. utiliza h e a salida con mimontroladot. esde 10a80cm. D e caracterÍsticas dispositivo, GP2YOA21YK. infram,ja n negro p m p l DE 6 32 El es un sensor medidor de distancias que indica mediante una salida si hay un objeto a de cm (figura 32-15). La se hace de forma continua, esto significa que no es necesario tipo de circuito de el ni cada El sensor Basta con una que la medida salida para comunicarse De car el acterísti 1 cas similares a este dispositivo, ha sacado recientemente El SI de esta c es un que distancias por dispositivo indica mediante la distancia al objeto que el haz de luz. de salida varía de no lineal cuando detecta un objeto en una distancia entre 80 cm, y como se en la curva de la figura 32-16. LA salida disponible de continua y valor es actualizado cada 32 ms. Normalmente se conecta salida a la de un convertidor el la distancia en un que es por el salida puede ser usada un circuito El sensor sólo una dc para comunicarse el Su margen de medida un paso banda. Este similares a este Sharp ha sacado recientemente al mercadoel
  • 548. holadiir. p o r && Figura fiansferencirs GP2D12 SFHSI.10 SFHS TR (infi-are4 utilizado un irdiarroja moduIada telemando eoior estA disehado filtro VCC J - - .- * - 1 - 17 Vida patillaje del SFHSI O al nm, preamplificador, demodulador como puede figura sensor la hcuencia comprobarse utiliza medida 32-16 Funciónde del 32.6 RECEPTOR PARA CONTROL REMOTO 32.6.1 Descripción El 110 es un receptor de para detectar haz de luz en sistemas de {figura 32-17). Su encapsulado en negro con un decorte para la luz del día. - GND Figura 32- y 1 Este circuito integrado incluye un fotodiodo sensible haz infrarrojo de 940 un un control de ganancia automático, un y varios filtros paso banda, apreciarse en el diagramade bloques de la 32-18. Se comercializandistintos modelos de este dependiendode de 'laportadoraa utilizar, como puede en la tabla 32-4.
  • 549. MICROCOM'ROLADORPIC'l nF84. DE t. HA-MA Cit f i g h Auiomdtico -paso banda 4 Demdulador Ganaricia circ~ tra initad 32- Diagruuiri de3 del circuito SFH5 I I integ ajusta frecc i cl TubZu Frt~mencia porfadora de los djstlntns nzodelos dtl setrsure.7 o Vcc=+SV vcc= O 7 -XX Microconfmlador infrarrojos n iina ( DarlingtonBE (") R1 cdlo periubaciones fuente alimentacibn Figuru tJ receptor inftnvrojo moúulario SE1 iS47 ( I 532 DESARROLLO PROYECTOS 32.6.2 La detecta una de El un ciclo de otra a n O circuito Figura 18 bloques la realizar ajus 32-4 de 5V SFH 551 de GND señal a y C l son necesariaspara eliminarlas de la de 32.7 32-1 Circuito de haz E1 que es capaz
  • 550. GND GND L . ' , RA-uA MICR~ROBPTITA 5.1) detector iiiuestra c l circiiito aplicacihn infrtirruja frecuencia V,, Circuito emisor uiin olida scr 50%, mitad In sena1 e s t L w h tiivel alto. El astable realizado 5 5 32-201. potencibmetrocori fi.ecusricia del cl cle mis - ! - THR 5 - 1 ~7 DIS Q ' K 2N2222 - q R2 D I VCC=5V 0 - 1 3 w 1 lnfrarmjo TIO UF Figzcr-rr32-20 Cir~-l I ~ I O t3rnisor kH.2 disiniiiuye R3 diodo infi-arrojos 10/SFH iina mA, serial 2N2222 BD135 BC547 cn cl32-6). IS471F IS471 Sharp Corpoiatioires iin ubst&ulos que dc dctcctar emite CAPITULO32: SENSORES PARA CV -3 TR U R3 47 15K 4K7 32.6.2 Circuito vcc La figura 32-19 de que proponemos. Cuando se detecta una haz de luz modulada a la del sensor, pone un nivel bajo en la patilla en ausencia del haz modulado la salida es un nivel alto. Salida 32.6.3 El circuito emisor debe de ser capaz de generar cuadrada a posible con un ciclo dc trabajo del es decir, la del periodo a bajo y la otra mitad a nivel circuito propuesto es un multivibrador con un circuito integrado de uso muy corriente(figura El el que se ajusta la multivibrador es recomendable qiie sea multivuelta, para poder realizar ajuste La frecuenciade manera cómoda. INT - T . . C2 Emisor de haz infrarrojo modulado 36-40 Si se el valor dc la resistencia hasta hacer pasar por un emisor de SFH 45 4515 corriente de 500 se puede llegar a recibir la a una distancia de 30 m. El transistor se puede sustituir por un par Darlington y utilizado en otros esquemas(por cjcmplo 32.7 SENSOR DE PROXIMIDAD El F fabricado por detector de infrarrojo es capaz cuando se refleja sobre uii objeto el haz que un fotodiodo
  • 551. MICROC'ONTROI. m R PlC16FX4 DF.SARROT.1I ) PRí-)YECITOS O* emisur infrarrojos di: figura o a vo 0 @ GLout dispwitivos inmunes quc prvpio &ver ~111150~ shcronismo, puede cn figura margeri dc 16V. Figitrcl32-22 Dingrum~i [le hkuqires del 1.94 nbti uti detei vanos nive convcn buml comutador qui meta1 qiic que la 534 DE RA-MA dc que se le conecta tal y como se muestra en el circuito la 32- 23. vcc GND Estos son a las perturbaciones de luces externas debido al sistema de modulación de luz llevan incorporado. El circuito incluye el de y como verse el diagrama de bloques de la 32-22. El circuito detector y emisur tiene un amplio tensión de alimentación que va desde 4,5a 71F salida se En este conectar con 32.8 BUN Los uno o mecánicos com control de robatica Los hace dispone de longitudes de
  • 552. prácticn figura c l se distmcia mm siii quc fisico los puede disniinuir reflecta tiaz iiiírarrojo. aliriienta SV, nive1 tcnsiiin 5V no ningi~n objeto objcto eri dispositivo, salida por nivcl :bid0 :l 3 va 1S471 Fiswra 32-23 hasico ~~plicación rfd estabilizar teilsibn alimcntrición es recomeiidable concctar iiltt-o20.33pF.cntre Vcc GND cerca de1 abrcn o ciemi elictticos. mercado controI iiivel tratareriios micicirobótica bumpers burnpers diagrama su represcntaciiin presiiin liacc u 1 1 miielle recuperacih. burnpcrs El circuito de aplicación que proponemos es el de la 32-23, con que pueden delectar objetos situados a una máxima de 70 haya contacto con mismos, la distancia dependiendo del color del objeto sobre el que el Cuando se el circuito a en la patilla de salida (V,) aparece un alto con una de si hay próximo. Si se coloca un el radio de acción del en la patilla de se obtienen O V y lo tanto un bajo. al F driver 32-22. Circuito de IS471F . que En este circuito para la de un condensador de y dispositivo. 32.8 BUMPERS Los detectores de obstáculos mecánicos son unos dispositivos que uno o varios circuitos En el existen innumerables detectores mecáriicos como pueden ser pulsadores, interruptores: sensores dc presión, boyas para de de agua, etc. Nosotros de los finales de carrera que en la robótica convencional y reciben el nombre de {figura 3-23). Los como puede verse en el de eléctrica. es un conmutador que cambia de posición al realizar la necesaria sobre la lámina de metal que de brazo de una palanca de primer orden que a su vez activa pulsador que dispone de un de Se comercializan con diferentes C.....
  • 553. MiCROCOmOLArXIR P1ClbFS4. PROYECTOS O O - Figura tipo Bumpq AI el palanca, temhal C elktrico tminal no estñ contacto e1tminal anthbote softwaTe antirrebote hardware fgum m t a flip M las Ql unas seiiales 4 2 bajo e! canera Q 1 pasará mi-? 42 pasad nive1 Figirro Conrxióndelfinal trm&$E un antimebofe urtrasoni ci fsecuencia dctcc: dispos, algUn ob-jeto. ri tni tiempo quc 6 objete P S1 Ltd ( w ~ ~ . T o ~ [w.sul>en encuerim y g r 32-26, sensor medicibn. piilso 1 scnsor SR1 emitidos z íil cs emitir S36 DESARROLLODE RAMA Activado (A) Los pero dc humanas. Los mediante un tardan Final de carrera Representación de un final de carrera sobre el que EL 32-24 Final de carrerade activar brazo de la el común realiza un contacto se con el activado A. Cuando se activa la palanca el terminal C en dc reposoR. su bajo consumo con En temas anteriores se ha utilizado siempre sistemas para los pulsadores. Un sistema se muestra en la 32-25, se de un flop que presenta en salida y Q2 complementarias. En el estado de reposo la salida Q E tiene un nivel alto y la salida un nivel y al activar final de la salida a tenerun nivel bajo que la salida a alto. Este fui hacer la SI anchura del de El viajan a la 32-25 de carreraa circuito reflejado y captado incorporado
  • 554. i eléctrico 1 ias. ULTRASONIDOSRFO4 Loi;ultrasonidos aire mislila naturaleza pena superior H-k audibles m detectores obszacuIos ultrasonidos mediantc ondas ultrascinicas algún volvcr piilsos objeto SW04 sensom ultrasmidos,desrtrro!lado Deiwrrrech Lrd (~w.mbot-electronics.co~uk) comerciali;rsido Espaiia Intpluc S.L (www.su~mohotica.~~), que capaz detectar encuentra cn 3 M pequciío el SRF04 s u consiirno gran fisico muestran en figum Canexlones SRFW t .5llrnanlsd4n ? N Z -Salldn -E111rada Disparo fisico Cencxiones postcriol sensor hncinnn medicion, la pulso muestra figura SW04 fiinciona uftrasonidos, la hasta alcanzar objeto. sonido es ultrasonidos. que cl controlador impulsos, continuacibn contar d 32.9 DETECTOR POR son vibraciones del de la que el sonido, de frecuencia a l o s 20 por lo que no son por los humanos. Los de por emiten pulsos de ultrasonido un dispositivo transmisor, cuando las se reflejara sobre objeto, a tmvés de una cápsula sensible se captan los pulsos reflejados. El tiempo que tardan en los reflejados es proporcional a la distancia del sobre el que se reflejan. EL es un módulode por por y en por es de objetos y calcularla distancia a la que se un rango de 3 a cm.De muy tamaño, destaca por contacto bajo y precisión. Su aspecto y conexiones se la 32-26. e para los del rata de un En el activare 1 2 pasad a Eca 3 y vista Aspecto Este por ultrasonidos y contiene toda la electrónica encargada de hacer la Su uso es tan sencillo como enviar el pulso dc arranque y medir anchura del de retorno tal como se en la 32-27. El sensor emitiendo impulsos de Los impulsos emitidos viajan a velocidad del sonido un entonces el reflejado y captado de nuevo por el receptor de Lo hace incorporado es emitir una ráfaga de a empieza a tiempo
  • 555. MlCRKONTltOLADOR PIC1hFM, PROYELTOS un-MA aiie lle~ar tiemm un nulso michura J;.-,.-+~I n* 3 - - -- -- --- ---=" -- - - -. ---- --' - - - - - - --- - distancia encueiitra uS ds U I IPermita '1 1 1 ultra<anicos mS desde l 1 d~crla 01 cancni COmlEriZG ! I I -----u. u-, [/ I ds d > u - Iidr Pulsu Z E - - - Diagramar de iiempos SRFO4, (c¿~rfe~..iLi www.srtp~rrohof ica.com) la medida tigura incrementa p, siendo de medida ihlida 11sy 18 correspondientes cni 1 respectivama i .************** 1 - - - - - - - * - .L ------.- Para I ;lhea RA3 ;sensor r uitemrpcionespo ;Seguidama I I ;centirnms. 0,lO 0,18 0,24 030 18,00 36.110tPULS0 (ms) MlNiMo I _nniurn n~ ~ ~ n i n a q --A MAXlMO D . , - A-A- . , - L . IF' I l - -- I I I V I L-Ua b . G I l U L W i distaticio »tedida unchuua pulso :ZONA DATi I típica puede medidor el 32- I -rnM 29, se distancia censor LIST I iNCLUI Sen~or~Ultrasonido~O1.asm, piiede utilizarse d C8UIC sensor. I Distancii minirna ps pin SRFO4 ENDC 538 DESARROLLODE tarda en el eco. Ente . se traduce en de eco de proporcional a la a la que se el objeto. Pulso de Disparo 10 Mínimo Entrada Pulso Disparo Figura 32-27 del de La relación entre distancia y el ancho del pulso se muestra en la 32-28. Por cada centímetro de distancia la anchura del pulso se en 60 el rango entre 180 m, a 3 y 300 te. 3 4 5 6 258 259 300 DISTANCIA (cm) ANCHURA 0.36 17.68 17.94 .". , . . ,- ...--.-, Figura 32-28 Relación entre la y la de Una aplicación ser un de distancias, como de la figura dondeen el display visualiza la desde el a un objeto. El programa para comprobar funcionamiento del La técnica de programación consiste en mandar un impulso a nivel alto de disparo con una duración de 10 al 3 del (entrada un retardo de 10 Impulsos el final del Pul-o de Eco y el del Pulso de Rafaga sónica Disparo U Nota E l Pulso Eco NC de Salida de Eco ; el control que se ponga ; se . , ;Eneste programa DE
  • 556. Rh-MA : retardo sl 6nal le1 . i ps, 300 sale prcipiircional .*kli**O*iT~U**L***O#*******i**,**SeIISM uaoniJo + * * * * * ~ " + C * ~ * * * , V U * * I * * ~ - - ;Programa un medidor & dismclas objeta utilizaridoL.erisoíporuhmonido SRF04. ; semar primer iugar un us mveialtopor :línea que Ia entrada di~paro m s m . que m ;aensor ponga nive1 conecta liea Ips interrupciones desbordamiento&I Timcr medir alto ;Segudmente v i d i z a módulo LCD Ia okqeto e x p r d m ;centimfms. ; m t ú r & u el SRF04 ps pulso. distanciaminina mixima OxOC m i anchura de le e Eca y el Pulso de la figura en 60 y cm disparo). Después se lee el pulso que por la patilla de ECO pin 2 y se mide su longitud. que es al eco recibido. para hasta un Parael controldel en segenera pulso de 10 a la se conecta a de del Seguidamentese espera a el se un alto en la salida ECOque se a la RA4y se utilizan ; por O para el tiempo que estáen elpulso. se en el el valor de distanciahasta al Porcada de distanciaal objeto aumenta 60 laanchuradel ; En este programa la es 3 ctny la 250 cm. CBLOCK Distancia
  • 557. hIICRKONTROLAWR PIC1hF84. UESARROLI.0DE PRO'rT.C'TUS #DEFINE Diqm PORTA,3 Disparo #DEFINE PORTA4 Pulso MinimaDis!ancia EQU .3 MaxbDistaacia EQU ,250 TMROCarga~crm EQU 4'27' obten experimenttilmente ; Stopwatch Timer cuda M) p. correctzmciittpir tolemcias componentesM d hacer a j e fúio este vator, wbre Ias ORG O goto ORG goto Serviciointemipcim M-jeDistaracia DT " Distancia:",OxOO MensajeCentimetro DT" 0x00 I V i s W hfmsajjeDisranciaMenor ;visualizmrrm 'mist. 0x00 ;Ycuandom McnsajeDistanciaMayor "fist. 0x00 ; distancis 4 1 LCD-Inicializa bsf STATWS,RPO kf moy bsf Eoo subu mwlw b ' m ' Prescaler TMRO. bth movwf OPTION REG bcf STATL'S~PO ~ D :úticializa sub1 btfsr clrf Dic(arrcia ;Iniciztli ! m bsf Comierw guiso disparo. cal1 Reiardc-70micros ;Duraciúnde1 DisrauciaMayt bcf Dispara disparo. mov m = x ~ E o o l mov btfss E C M , el flanw be h &al mov @tu ESpera-Ec0-l ;de del movlw TMROOCargadOmicros m M W O Timer rnoviw b'10100000' ;Auton~a iriterrupcibn TMRO (TOIE). m v movwf M C O N mov mOY E s p s d a i gota S W . D i s l ~ n c i a F i a b i clrf N C O N ; pducido d h c o Prohlbe intemp. m cdl VisuaIiza Visualiza VisurilizaDim 540 ; para iniciar la medida. Eco ; cuya anchurahay quemedir. ;Valor ido con la ventana para una interrupción del ; O Si no mide las de los ;que un de comprobándolo condicionesreales. Inicio 4 ; la d cm", DT MENORde:", Si la DT MAYOR de:", Disparo ; de 2 parael línea de disparo en bajo. el registro. Disparo ; el de pulso. ;Final del pulso de Eco ;Si espera subida de salida censor. ;Yaseha producidoel flanco de subida ;Carga el O. del ; flancode bajadadela de lasalida Espera-Eco-O ;del Se ha de bajada. ; la distancia.
  • 558. call gota Principal tiempo huta pr6ximamedid& - Subrutina"S&cioIntmppioa" -------. - - ejecuta l a peticibn Timer cada 60ps 8s mCmento ;& anchura por centímetro distancia valor distanciaespresada ServicioIntmpcion movlw TMRO-Carga60micros ;Cwga Timero. TMRO movlw .i insmicciim "addwf", "incf' &lwf Distancia,F para posicionar flag mvlw MaximaDisimcia En c m desbordamientocarga máximo btfk STATüS,C Distancia f MTCON,TOF rdie Visualiza centimetros. t i x e niando visiialitar nírmero dwenas vimialicen aunque sean Iasdecenas vidicen =o. ; eu Visualita can subwf btfss movf sriblw btfs goto DistanciaMenor niov1w mowf DistanciaFiable VisuatizaDisimcia tnayor apmcc emir. pantrillaantsrior. comprobar mInimo 8drnisblc. :TW)+istancia)-Minimaatancia ;C=l?, ¿(W) i@istancia)rMinimaDi~ia? ; menw. error. : comprobar máximosdmisible. (W)rMaximaDistancia-(Distaricia) ¿CeO",¿(W) &laximaDistancia~istancia)? ; entra dentro del MaximaDistancia distancia rnayw &o MensajeDistanciaMayor VisusiizdXstancia MinimaDistmcia MensajeDiutanciaMenor ~ i i s u a l ~ D i s ~ c ~ ~ ir~enor del minimofisble. Reíardo-2s ;Espera un la Fin ;Se debidoa de interrupcióndel O que el la de pulso de medido.La variable"Distancia"contiene el del ; de la en centímetros. el movwf ;Seutiliza en lugar de ; deCarry. ; de su valor. movwf bc ; la distanciaexpresada en Se demaneraque hayaque ; un mayorde 99 las siemprese cero. ;Y cuandoseamenor de 99 no se si es Si la distancia menor de 3 cm o de 250 cm un mensaje de ;Borra la movlw ; Vaa si es menordel ; positivo?. goto No ha resultado y saltaal mensaje de Va a si es mayordel ; ; negativo?, No,lamedida de la distancia rango. goto ; La es que el movwf Distancia movlw ;L a distancia Distancia movlw movlw
  • 559. MICR(K0NTROLADOR PlC16F84. UESARKOLI.U PROYEflOS 0 KA-MA ! ', caIl LCD-Mmje rnovlw :Centre de m llnea cal1 LCDLPosicionL~ ;& pantalla. DistancikW 4 1 Bi'Na-BCD :im mvf BCD-Centem~W ;Primerolai btfss STATiJS,Z m vislializa las gota VisdmCentenas mcst-f DistanciqW ; d i BIN-a-BCD :Liopass aBCD. d i LCD-Byte ;Visualiza decenas gota Visuali~a-cm VisdizaCentmas cail LCD .NitibIe ;Viwalim movf Distancia,W reci~perar vaior. d BIN-a-BCD ;Lo cal1 LCi-ByteCornpleto ;Visualiza detenasr a q u e ¡ :unidades. movlw MensajeCentim- csll LCD-Mumaje r e m INCLUDE <REtARM)S.INU I INCLUDE <LCI3-4BR.lNO INCLUDE-=T.CT)-MENS.IND eleckbnica. el SRFO8. niedidor ultrasonidos robots con conexion I2C. Tiene 6 ul mA 3mA Imta 1h s8lo entrnda permitiendu cxperimental, perimetral Únicamente pjnes valor dadido, iin scnsor traves tamhikn del ‘-trasto", IZC. aproxiinadamente del SRFW. hitolir rnicrombot. E: a Nivel 542 DE .S la metida la distancia lasegunda la movf pasa a BCD. centenas. ;Si c e r a no centenas. Vuelve a recuperareste valor. las y unidades. las centenas. ; Vuelve a este pasa aBCD. C las sea cero) y La mb H Un sensor con mejor resolución es Se trata dc un de distancias por para un alcancede m y un consumo de Para 35 activo y de sólo en reposo. Gracias a su bus 12C se pueden conectar sobre una unidadescon dos líneas de y salida, montar un completo sonar en cualquier robot con dos libres, Como conocimientos incorpora fotoeléctricoque indica el nivel de iluminación a el le bus Su precioes el.dobleque el como 33.1 INT niveles, cada único capac a
  • 560. l h 3r consiuno lnectar h a ? a 1 :ompleto es CONSTRUCCIÓN apasionantes había adentrarse día, imparable microelectrónica,tio denoniinado microbot, investigacibn nonnalrnente microcontrolador esd desarrollar conssucción micromhot experimental llamaren~os l i s Unico limite imaginacion constniccion la Microbotica, pionera? campo Espaiia. basada TorreBot cuales el física, -A DE UN MICROROBOT La robótica es una de las aplicaciones m á s de la electranica. Hasta hace poco tiempo que ser todo un experto para poder en esa rama de la electrónica. Hoy en gracias al avance de la es dificil construir un microrobot, también qiie es un pequeño robot de que se controla con un y que diseñado para realizartareas concretas. Para un solido aprendizaje, sc van a las explicaciones de este capitulo sobre una aplicación real. Vamos a detallar la de un microrobot experimental,a partir del cual, el lector pueda desarrollar toda sus habilidadesmanuales y conocimientos de mecánica y electrónica. A este le "Trasto", el lector puede introducir todas mejoras que sea capaz de idear, poniendo como su (y presupuesto). Al plantear la de un microbot es interesante conocer la clasificación que hace empresa una de las en este en Esta clasificación esta en la Torre de Bot o (figura 33-11, que tiene seis niveles, cada uno de los diferencia un paso en diseño y construcción del microrobot.Estos niveles son: Nivel físico.Comprende la estructura las unidades motoras, y las etapasde potencia.Es posibleencontrar desde sistemas sumamente sencillos basados en un único motor hasta estructuras sumamente complejas que buscan emular las capacidadesmecánicas de algunos insectos. segunda de distancias un de 6 sonar valor añadido, también del
  • 561. 1 1 1 534 MICROCOW.I1'ROLA~CiR PIC1hF84 DF. PKUYE(:TílS - - <, IL-MA 4% KA-.UA Nivel reaccihn. Está cl ccinjunto scnscrrrs sistema? Nive básicos sensurcs margei I con11 podenios bumpcrs de cono microcaii~arasdigitales sistcitias rcconociiniento. microbot coop cn coilstnicriiin cl fisicn de PnPU reaccibn, se Estas cuiiipl "acci6n-reaccioii". estc sensores estc contr»ladores iinidadcs irlotoras, Inklgencia Nivel 1 ~ i v e l ~lslco I 1 1 Iricluye d s quc i'elacionan salidas de sensoriis Con unidades. y potentes microcoritroladorrs procesiu infonnaciói~ ribtenida serisorcs coino una las uiiidndcs motoras. $ir1ificaci6n pluo. csie nivel cibjetivcis dcl qrie indepei-idenciri 1 sensores. cl iiiteligcnciaquc l corno una iridividuat I hiicionatniento un dentro iiti de forma ximultliiea I conocimientos explicitoq existencia otros eii entornci. rccintos sc dtmomina granjas. Los invcstigacibn 1 s granjas conio entomiis - . pucden contar con sufisticados quc u 1 1 operario monitorilx coinpcirtarniento comiinidad externas dcl sistema (agregar terriperatiira. p mcrcatlo. S p ~n los posibilida redirctorcs. qu cnn algunos radiociititrol. en S constmcción cibjei muttitud dc a( DESARROLLO de formado por de y los para su manejo. Estos cubren un amplio dc posibilidades, así encontrar desde simples (finales carrera), hasta con de Un que haya superado cuanto a su tanto nivel como el denomina microbot reactivo. unidades trabajan iendo la premisa, En caso los son los propios En de las sin ningún tipo de control intermedio. Nivel 6 Nivel 5 un motor Nivel de 4 Nivel 3 Nivel Nivel de control. los circuitos básicos las los las restantes Partiendo de una simple lógica digital llegando hasta buscan dotar al rnicrobot de la capacidad para L a por los asi actuar de manera controlada sobre Nivel de inteligencia. Abarca la a largo En se introducen los microbot tienen relativa de los Este es nivel más alto dc puede alcanzar un inicrobot utiidad . Nivel de comunidad. Se trata de la puesta en de más de microbot de tnismo entorno y sin que ninguno dc ellos tenga dc la de su mismo A estos los centros de utilizan de observación de los microbot. Dichos establecimientos sistemas permitan a el dc la asi como alterar las condiciones obstáculos, cambiar la etc.) son los que revoluciones apropiados o la microbot de dc En mic estudiado e Estos trasladar
  • 562. histemas 3rgc:cn : qiie mo ~iliendo dio. digital y lot nio i de nguno de inismo ~stigacioii tan .Iterar ipcratura, de doildz iiii cle programati Icis microtiut quc icngan Q ewistcncia de inarizra cqacidad coopera1para huzii Deiitro dc pip fútbol constitliidcis rnicrcirubots. capítiilo cunstruir quc 1leg:ira hasta F~S~CO. dcI fjsico comenzarelnos 13 dc microbiitica, cucnta cxistcn hctorcs 1 3 el niodo ccintrol. cot.iientc coiitinua cxisten Denti.0 de aricdad existentes mcrcado tilis economicos sc alguncls Ticneti niimero revoluciones nimuto clei*ado sil cs quc hnctl la ccin5mcciiin nitcrubot no be iitilizan rediictoras adicionales electrbnico. Eri juguetcs ,tl(~c.rrno I,cp podemos cncuntrar rccluctoras o dc constniirlus. TarnbiCn encontrar cn cl mercado inotijres rcdiictoies, que adernas disminuir 1;i lzlocidad dati mo tir e1 con cstructiira y quc pruporcionalmente pcsa muclio. fotagi-afias dc cstos rnucstran iabla 33-1. Servomotores micrnbótica suclcn n~isnicisservoiiiotorcs inodclismo radiwontrcil. trata motorcs iin circuitci ccinio que si: Iiail cl l. senuinotores cumlilen Iiacen ~~S~IIL'US coiistrucción conici bucn par suficiente para hcitcría, baja I ; incliiyrn de carrera), robot el de la propios salidas de . de la actuar nivel se :ia los microbot .as de un u . Dichos a un las Nivel cooperación. Comprende los sistemas a partir dc nivel comunidad se planifican o para conocimiento la otros, dc que posean la de el desarrollo de uria tarea. este estarian los popularesequipo:, de por En este vamos a un robot el nivel dc control. 33.2 NIVEL MOTORES Dentro nivel a hablar de los motores. A hora elegir un motor para aplicaciones dc debemos tener en que varios como son velocidad, el par, frenado. la inercia y el de Si lo que queremos es utilizar un motor de varias posibilidadesen el mercado. 33.2.1 Motores de corriente continua de pequeña potencia la gran de tipos en el los son los que utilizan en juguetes. el inconvenientedc que su de por es muy y par pequeño, lo no los rnuy apropiados para de un si o un sistema dc regulación 33.2.2 Motores de corriente continua con reductoras los como y motores con la posibilidad podemos con de le más par, lo que permite microbot su batería Las algunos dc motores se en las figuras de la 33.2.3 En se utilizar los que en y Sc de unos con electronico. los estudiado en capitulo 3 Estos las características que los para la dc nuestro microbot, un de salida, potencia trasladar objetos o uno inercia, capacidad de niovcr 3,5 Kg cm,
  • 563. *2 . - l -. :.-M reductor relaciciri 194:1 doble relacihn 17:1 can bi2,4x6 mm,tensirjn h b a j o 1,5V-12V 44x20 rnm, tensión 13-t2Y I ..+--. - - L . . rcductor reiacicíti 1 doble 4 ~~o~ mludor de reIaicj6n10:1 con doble tensibn de mbaio V d mm,tensi6n trabalo 1,SV- s66 MICROCONTROLAWR @M. PROYFCTOS Q m-MA CRA-MA esñuctura ir carca- plástico rectangular mw p d e s para rornillos. mstmcci6n microbot ha servomotores motnccs. TabFn Tipos d~mororc~ C.C. comevciu~es conredtcroras pder apIimci0r1, servomotor "mcado"p quc e l cjc dc3 girar 30s " ó 270". 1 Madifiicacidn servomator ""tmcar" servomotores hará tipicas radiocontrol, quc comiente con reductorrt, p m ningún problema miiestran psos pan convertir scrvomotores motores iina reductora. servomotorcs similares, modelo HS300B m a Hitec es Fiitaba S3003. ! 1 ~icos quo cleclrcc h s S conici es reqlicr estin mwh circliit In DC c1tornit me&?mcton eskiao sacda despub. tos CM Ii clcctrt esti extrae7 potenciam engranajes quc hemos ahie En la la ~ifelo potcncia ( c PIC1 DESARROLLO DE t plana al dentro de una de fijar los De hecho la opción que hemos elegido para la de nuestro "Trasto" sido utilizar estos como elementos de girar como las que restricción vic por tanto, motor de Motor dc con eje Motor con reductor dc Quitar de doble eje de de trabajo que es . Motor de 23: crin eje Sacar 4x40 mm, 1,5 a 12 V eje de 2x20 de posterior. Al 4,s v circuito metido a hay que del Pata 33-1 de utilizarlo en nuestra un debe ser que motor pueda 360 ya que normalmente giran entre hasta 180" dependiendo de los fabricantes. 33.2.4 de un . es El los los inservibles para su use en las aplicaciones de dc ya se convertirá en un motor de continua una reducir caja perodesde luego nuestro fin no tiene y par Seguidamente se los a seguir los en de corriente continua con caja La mayor parte de los , son nosotros vamos a modificar el de la que muy similar al o
  • 564. tes i 3 . ihjo 1,5V- ricado" iasta ii iplicaciones rtc los le marca - " ie limi A irnos con! to, - irnillo - 1 mr 180" 3 1 orte con n m L m serv~mtom oigal 3VU ~ ~ p c c s - - - - entre 180" 27W, apbcaciones - Ií~qque riensados Esta ' ~ restriceitjn lpuesta F t o v s : -K gil ' circuito elscmnico. las pode segiir 1 60" Y. I 10 motor DL ducti., b - P- - - - w ! t c sujeta soporte rueda tractosa uniaa F sacarla dccptiks ' "' S I - - - . - - - cuatro Ia circuito eIectaónico nuestro está presjiin, para pdcr extraer EomilEo eje del potencihmetro por 1 3 partc enmnaies muesta la ql 1 l m . . . - . - . a h la reductora cuya CY; velocidad motor potencia arnnqiie para fijar de nuestro con doble para 180" ua con una motores en dc la hemos que . que . qii unos m a giro de de . .. . . . . . . de girar como mucho y como es requerido en las para están inicialmente. mecánicos tan el y un Si eliminamos dos . cosas el por lo tan sc comp un de con caja Quitar el e el de la solidariamente al eje, . que es estriado, a pr Sacar los tomillos de tapa posterior. Al levantarla, se puede ver un . que en caso metido a quitarlo hay que el que sujeta el de los que están en la cara a abierto. En esta figura se aprecian los engranajes de etapa misión reducir l a del y dar mayor .. y parde al sistema
  • 565. -54% MlCROCONTaOLADOR PlCIóF84. DE PROYECTW RA-MA [ rniicho pcrder ningina [ -Y cllas. atencion pequefio hay niedas intcrniedias, cn algunos servornolores es mtivil. carcasa. ayuda piinta tlicrca 1 poinci6rnetro. l - circuito - potcncibnietm ayudandose destornillador i impreco. mn gi~c exterior poder reiitilizarlos. Seyidamcntc rijo roio otra. cl iitiliza. Ahora lirnitadot pestal'ia unos corte tal y figura. peqiieña algunos restos dc miicho romper mcda porque ' scniomotrosc volveria .. . supeior 1-0 1 - E-- h . - moi confundirr fomqr ni1 manen niic tapa ias está t - At~nriiiar iiiu 1 dcl rr para dc tira - todo c meda dentadc ocurrc meda. pu conveniente inl cri tien bic hacc tijñi prbximo apnrtai nosoM util mostrado li carca= rednnd: tubo in DESARROLLO cuidado de no de prestar al eje que entre las modelos de en nuestro caso está fijado a la Con de unos alicates de plana quitar ahora la que sujeta el Proceder a desmontar la placa del impreso y e l con un para hacer un poco de palanca. al motor para desprenderlo del circuito Hacer lo mismo los cables conectan el a la placa del circuito impreso para conectar e l al terminal con el punto y el negro al tercercable no sc eliminar el mecánico, que consiste en una de la rueda dentada. para ello utilizar alicates de como se muestra en la Usar una lima si hay que eliminar la pestaña. Tener cuidado para no la el inservible. Y- - . caso Volver a caja reductor no no nnest eje de ru aconsejable cables interior cl caso En la muy frec la sc separado Pues deberemos Para hacerlas Si se han el dc las
  • 566. a medas de la reductor% In tigira mucho de fomar de en_majes, tapa debed nuesm cuict~do ruedas infcrior estA propia 1 n tapa inrenor, es acorasejablc niido =Mes dejar proteja fimr cable. - Tahln Secuencicl rransJomas .rwvomotoi.en mo, mis delicado Ia elitninaciiin pestafia meda con sumo mcda quc ocurre abn todos Iw avjsos quc r o m v nida, pucde es informar medas dentadas se conipmr modeIisrno radiocontrol. Pues tenemos uno motorcs pwa niimm mimbot. deberemos para tener estructura Para fijar cl csmtcttira microbot, describiremos priiximo apanado, tan sÓIo tendremos ~orisegir escuadrasc m hacerlas mismos trola aytida dc otros dc comientc continua pucdc mis compleja. el motor cascasa se puede lac utilizadas fijar cléetricas supcfieie, miicstm figura 33-2. Volver montar las dentadas caja fijándose en para , no confundirse, y tener cuidado no ninguno los de manera que no puedan deteriorarse. La superior entrar sin forzarla. en caso hay que tener con el eje de las superior e que en la A- Atornillar nuevamenre hacer antes un en los del motor y el nudo en el interior para que las soldaduras en el caso de del 33-2 paro un En todo este procesa, el momento es de la de la dentada ya que si no se hace ciiidado la se ptiede partir, caso muy frecuentemente. Si con se le estarnos dando. la se intentar pegar con un pegamento de contacto. En cstc punto. conveniente de que estas también pueden por separadoen tiendas de y bien, ya de los preparados hacer lo mismocon el otro la pareja necesaria. 33.2.5 Fijación del motor a la motor a Ia de nuestro que en el que unas unos taladros, o nosotros con un de aluminio y la de un tornillo banco. Si se utiliza cualquiera de los tipos motores de que se han mostrado la fijación al chasis ser o menos Si tiene una redonda, que es lo normal. utilizar una grapa de para el tubo de las instalaciones de tal como se en la
  • 567. w 55O MICRDCONTROLADOR PIc'l hFP4. PROYEcrOS ana Para la cunsiru~xi0n tlurñirrv microbot piemos rnucl~os estructuras, dependerhn fi~nci0n que quminos rbot bípedoquc ~ i n mstreador hexiipdo. 33.3.7 las estructurac más utibzadas construcci0n ~Mccano Eifech,intmsantes poco mrjs pprreden utilizar ntructum los Fi.~cherTechnik k o n disefiadas aplicaciones corno de micas (figura eje empu pvdem P alqada b: microbot expt por ejemplo Un 1 de la donde impreso de una DESARROLLODE de utilizar tipos de que de la realizar, noes lo mismo diseñar un a un Estr Unas de es la de los juegos educacionales de tipo Lego, o por su flexibilidad.Para un diseño un profesional se las de que originariamente para técnicas tanto estáticas 33-3). Para el con movimiento incluso pucdc
  • 568. io disefiar ejempb estnrcturarealizada Mecano microrobot Pivot- 1 empresa Microgsdazs Engineering. foto qne se sus disefiadares han mnhE estructura mecánica jiistrtmente él encuentra una batm'a 12? 0.8 mA%. 33,3.2 rnicrarobot corno mlcmbot, salvar absdciilos rnicrobot. expetirnental d e m o s utilizar estructura más p r un trozo metacrilato, poliestireno, de puede i m Coinpact Diycs. Figi~ro Estructirra rnicrohot "Trasto" I Un de con un es el caso del de la En la muestra en la Figura 334, donde podemos ver cómo integrado hábilmente la placa de circuito impreso de en la y debajo de se alojada de plomo de y tipos de Estructura del experimental "Trasto" de Para el caso de nuestro que no debe y que sed un de bajo coste, una sencilla, como ejemplo de PVC, placa circuito impreso o incluso servirnos lacaja de plástico de 33-5 del
  • 569. Eri nucstro H placas poliestireno 13,5 piieden otras mcdidas. poner batctías piso motores scnsores esi (figura NIVEL F~SICO. Estructuras Los microbots Jus de niedas: irioiiices dc traccibn, qiie cstán corizctadas inoior cjc &en adaptarsr: Los terreno. de liiwtar sc piieden alguna estsucturas cil 33-6 configuracion adoptada iiuestro microrobot experimental corrcspondientc 1;i figiirn permite mis del d i r e c c i b n MICROBOT I Fipim Es!n4ct~ira c:oclrc Figitm Paru rnict.nhot Truslo DIRECCI~ rue moviniisnto li p c ciptado pacias : fem caso vamos utilizar dos de blanco dc 180 x mm, pero utilizarse Se utilizan dos placas para poder las en el inferior y el circuito de control de los y el superior 33-5). 33.4 RUEDAS 33.4.1 segun la colocación de las ruedas utilizan tipos Ruedas o ser Capacesde a obst Ruedas"locas". que deben ser capaces áculosdel rodar y al mediante un sobre si mismas. y La ruedas colocar según de las indicadas las figuras a 33-9. La para ha sido la a 33-7 que un control sencillo sistema. E S T R U C T U R A D E COCHE ESTRUCTURA DE Tracción y en NUESTRO d a s ruedas Rueda Loca 33-7 33-6 tipo Ruedas de Las contrario es Las sol por la a una cualquier
  • 570. 180 x 13,5 ?r 1 .nteun :adas las crimental tia *1 DIRECCI~N TRIC1CLO Figwra 33-8 direccirin difirencid Fipm E.striictrrndp triciclo Las ruedas "locas" deben scr sobrc misr tnás suavc pam (' - - contrario bhtoqucc Fig-um33-11) Ruehs "Iocrzr"cwr r mrlmlentos nas I tipo pueden Nosotros hemos figura 33-1 que niedas eje gracias peqiiciia plataforma rodamientos,Jaspdcmos cnconimr ferretería, ademhs _san mrnañcis, Otra el superior poner las DIFERENCIAL ESTRUCTURA DE Ruedas de tracción eje y mas. en 33-9 Con sistema. 33.4.2 Ruedas "locas" si con capaces de d a r y pivotar movimiento lo posible no dificultar la rotación es posible que se y patine. Las soluciones para este de d a s ser muchas. optada por las de la 0. son que giran libremente sobre su a una con fácilmente en cualquier hay un surtido de ellas en lo referente a
  • 571. 5?d MICROCONTROLAWR PlC16FR4. r un-VA i opcibn podn'a mil-on se terminal pam estnictrim. Er mcivimie; L i einr DESARROLLO DEPROYECTOS r ser utilizar la bola de un de desodorante, a la que le adapta un eje acabadoen un fijarla a la hacen los
  • 572. c jug~etc enconw,ir :undaria ichci de uri hay que ruedas, iiie de S!ípcr 3ara fijar t> R4-!iA C'APITUIO (:O'IS-~RL~C'C'ION MICRUROBVT d p t a F~SICO. I cstruct~iraque clegido iiiici-obot pemiitiIá i hacia ñtrris, giro la N I 1 I 1 ! 1 i 8 , F i ~ ~ k m 33- i~intierrtuhucia delunte Figura Moilir~lit'rito atru.~ tigura mucstra wi ttiovimiento haceti girar los dirección hacia rectilíneo, siiponiendo exacLm.icnte figura reliresenta forma mor,irniento girar iiiotores uii I - - - 1 - - ~ectilineo, supiitiicndo scm exactaiiziite Figum 33-1J Giro en,spnti& hora,.io F~LU~U Giro LJ /U iqzkierd~l Por forma moviniiento K4-MA 33: DE UN 555 un eje 33.5 NIVEL MOVILIDAD La hemos para nuestro nos realizar tnovimientos hacia delante, a la derecha, a izquierda y sobresi mismo. un en para o ntcs para las 12 Mo 33-13 hacia En la 33-12 se como se realiza hacia delante. Se dos motores en la misma delante, esto provoca un movimiento que los dos motores sean iguales. La 33-13 la de realizar el hacia atrás. Se hacen los dos en la misma dirección hacia atrás, esto provoca movimiento que los dos motores iguales. Giro a la izquierda Giro a la derecha 33-15 su parte la figura 33-14 muestra la de realizar un de giro a
  • 573. h4ICROCOYTROLADORP1C16F84. PROYECTUS c RA-t.44 r: D.-hiA -4 cbmo movimieiltn izqiiimda. atrA.5 y delantc, niovimicnto izquierda .Movimientode SObre propio c . j ~ sii tina i~iuy hace estructum. isuy (figura comopodrín scr cl dc tiiiciilvs e11pruebas REACCI~N decimos principio de formado 10s realizar seguidamente de pam microbot reactivo, rnicroconwolador PIC16F84h, sca Unea niigr;i microbots m i s introducirse e! riiicrorobiitica. muestra quc sensores infmrrojos descritos capíhilo anterior. niotoresutilizmios L293B 79. fi adyuicicion 1 i~üc roco~itro la 556 DESARROLLO DF La figura 33-15 indica realizar un de giro hacia la Se hace girar el motor izquierda hacia el motor de la derecha hacia esto provoca un de giro a la de la estructura. Figura 33-16 giro su El movimiento de giro completo sobre propio eje abarca superficie grande que no la adecuada para moverse en recintos muy pequeños 33-16) caso movi de laberintos. 33.6 NIVEL DE Como al este capitulo. este nivel esta por sistemas electrónicos y sensoriales básicos para su control. Vamos a un sistema control construir un gobernado por el qiie capaz de seguir una sobre un fondo blanco. A este tipo de se los denomina rastreadores y probablemente son los sencillos para cn mundo de la Para e La figura 33-17 el circuito eléctrico donde se aprecia los utilizados son reflexivos del tipo CNY70, en el Para Para controlar los el driver explicado en el capitulo ventaja d
  • 574. <RA-MA los do por : nte sensores :quierda. elante, esto :rficie miiv s. REO G@A SENTi30 HORARIC. RüO = "Y.hlOTORG ñ A SENTOO ANTIHORARIO RB1 ="O'.IhHABILITADRlVER M T O R I RB2 = '1" H481LtTAORIKR P Y". G R . SENTW HORARIC,. R83 D". W R 4 DO AFIllHOPARIO. - BWNCO --r TRPNSISTOR SATURAD3 d INWRSUHW' --> HA " 1-. - -> TRAVSISTOR a AL IhVERSDR ' 1 " -->RA = 51 RAO t Rkl "?'ESTA FUEW LAClflEA W" DENTRO LIHEA. Figwu i Ca'rclri/o t'I4ciricti hficrobot " Para tijar sensores heuios utitiaado adhcsivn !S de adquisicibn cn I senscires C m 7 0 a la eiitrada del niicrocontrutirdor inversoras Trigger Schmtt, ademh, qiie cl 40106 encoiitramos seis inversores. RA-M.4 Se = "1" MOTOR EN EN 1 Y 2 PARADO 3 Y RB3 = MOTOR EN = MOTOR EN SENT y pequeños do por DETECTA ENTRADA AL = DETECTA NEGRO ENCORTE ENTRADA "O* a realizar EN HAY UN M Y CON DE LA el un fondo 33-1 del "TRASTO son los los una cinta por dos caras. fácil una ferretería.En la Figura 33-18 se aprecia la forma de fijarlos. S 3 anterior. Para poder conformar las señales de los 9. hemos utilizado puertas que tienen la ventaja de en mismo chip nos con El
  • 575. icionamento descripcibn os dispsitivm el erior. apiwcinrsc dc figura 1 r i e r a 33-10 ryac * sensor linca al está conectado "1". indo sensor sobre linca nem, Ja línea EII - Ilega 'V. ii nresmta cl k Antes d d i micmbot, ya S{ fiincion. Dc cst; pnnci hr;ide diseñar Figura Vistolaretnl de! rnicrolior Trcritu L29I1R niotures cl rnicrobot: 1 los Cil de~echn encuentn mcctado los dtivm 1 est5n c o mpi nicrocontrolador. cnciieiit y la de se explicaron en capitulo Como puede en el circuito la 33- 7: Cuando un detecta el fondo blanco, a la entrada de la del PORTA que F e llegaun un está la a la entradade del PORTA al casa está conectado F e un que hacer es que 33.7.1 Est En 33-19 Primer Al le hemos conectado los dos que necesita que el €1 motor se a y 2 que
  • 576. -- - -- -.< - - < ' nd->A C ' A P ~ U L ~ ) 33; CONS1-KUCC'IOY MCI1C)KOBC)T Iln-hl). - -. - r El izquierdri se enciientra cunectado drivm 1,qire itlilili pur lineas Rl33 micmcontrolador. modo dt fiiiiciiiiiainiento lo5rnotriires niuestra 135 334. Tabla 33-3 roitrrol dcl inotvr,de~ttclao Tabh 33-4 Conlroldel m u : ~ que 3 1 montar10 cl en contrario. In iinico ticrie hacer inveitii siis cuncxicincs. iorografía la miiestiu el quc prcscnia microbot cebo cl implernentado. NWEt 33.7,l rnicrribot rastreadór rcalizar cl dcbzmos estrategia inicrobut, ya sea lima qiie cornportc com robo1 rristreador 0 pala hinciiin esta riuiierti podren-iosfiar al~oriimci conixol. €11 razonable peitsar en cualqiiiera siguierites la discfiar- algorítnici dc hiii~cioriamiento: .4ignritma. Depcndjcrido de sensores hacer micrrihcit tome dccisiunes ~nostradas en la f i w a 33-20, ~uacirados dc derrclia lectura sciwr corresporidic~tte: blaiico encueiipa de lirica nzga. . 7 DE UN 559 motor a los 3 y a su vez están controlados las KB2 y del El de se en tablas 33-3 y izquierdo En caso motor le gire sentido que que es La de figura 33-19 aspecto el ''Trasto" circuito 33.7 DE CONTROL Estrategia a seguir para un Antes dc programa fijar la que Jebe seguir el se un cualquier otra De el de principio parece de las estrategias a hora de el Primer la posición de los podemos que el las En este dibujo los la e Izquierda indican del si cs indica que detecta fondo blanco y si es negro que encima la
  • 577. izquardo. ra d3aite bueno. seguiiniento dcpende imprecisibn seguirlo ocasicitiar cabeceus dcscndos 11egue dc b seguir urio eri negro-blaiico sensores se borde tinea EstA la derecho.Seguir a la izquierda 1 Decisio~res r7 irirrinr seghi sepndo algoritnru Robot Raslreador 0 Configuracibn RA0 -> por ¿RAO=I? la RB3=1, R02=1 RB3=1. RB2=1 RB1=1, RBO=O RBi-1, RBO=I 3-?2 Diagratnu ri'rflujo dd prugrama del micvnrnhof ru~trmdor El P continuació cntiende ( bianco - sensor lndependi ; -Sielmi hastaque w sedal ; 40106 + Blancr ; (No estienci ; -CoIwNegm ; (Estiencima ; : C ~ ORG lnicio bsf bs clrf bcf h c i p a l movlw bcEsi soto movlw b& Salida por el borde Permanece sobre la Salida por el borde Está fuera de la línea Realizar linea n Seguir derecho. Realizar girar a la derecha o giro a la derecha hacia giro a la izquierda a la izquierda el Analizando este algoritmo detenidamente se puede comprobar que no es lo suficientemente puesto que el de la linea de la del camino por el microbot, es decir, depende de la anchura de la pista. Esto puede retrasos en el recorrido, no o incluso que a perderse. Segundo Algoritmo. En este caso, dependiendo la posición donde se ; si encuentra el microbot sobre ; SI el ; Iínea, decidimos de los bordes, nuestro caso el borde derecho, es decir, la detección de respectivamente por los colocados a la derecha y a la izquierda tal y como muestra en la figura 33-21. ; ;La de los inversor ; Color Salida por el borde Permanece sobre la Salida por el fuera de Iínea izquierdo.Realizar negraRealizar hacia girar giro a la derecha giro a la derecha delante ZONA DEDA Figura 33-2 el Puertos: RA4 Entradas ZONA DE NO Ha salido la derecha? por la izquierda' bsf f Gira a la derecha: Sigue camino recto: Gira a izquierda. Figura 3
  • 578. - 3 !rda 1 w.4 ~ I A a 3 RA.MA CAP~TLLO 37: <'C)~~STRUCCI~N D f I1N RIICKOROROT 561 - rastreador linea quc scpndo algoritino rastrcador ia hernril; los i-azoriarnientos rigiirri 33-22 - Programa control micnibut cm1 desplaza lhea k la ;marcada ~oii~c malo & pi.;ta. :Iiiira ; sensoresiipticuu reflexibna y 7 0 situados Ia p a delantera dos U mimbot: sensor esti conwbdo ü RAO sensor M.1. ; programa linea híirde - derecta esti d m ~ h o : smsor IC ; blanco C: en : - sensor Ia derecha detecia liiiea gim daecha buscando lanco ; como estk sensor - microbot dossensoresfuera Iínra. hace itquierda y c n c o n ~ I d ~ . sena1 los sensores CNY70 h s : entrddas micrmontroIador baves ;invavor m a n a color: : - --I -->e n - -->RAx : <Noesti ia Iúiea negra, pihta) ; - -+i @amistar cortc--> inverwr "1 " -2 - ; (Esti la linca wta La -CONFIG -CPOFF -WDT-OFF & -PWRTI-ON &- X u S C P=6FS4A INCLUDE <P16FX4A MC;. #DEFINE SensorDcrecha PORl'&O ;Scnsor Dcrccho. C e ~ ~ l ~ u i e r d a I ;Sensorbptico Izquierdo. OKG Inicio bsf STATUS,RFO Banco 1 registros. bsf SeusorDerecha : coiifigurancomo entra& SensorIquierda clrf PORTB Liiu líneas Puerh bci' STATUS.RP0 regish-m. Principal b'OMK!i110' ;P m girar SensorDerccba ¿Ha krecha?, ¿detecta goto ActivaSalida ; c s d cncirna lima n e m movlw b'00000111' : girar izquierda. btfss Sensorlzqiiierria :¿Ha saldo 33.7.2 Programa del El programa realiza el del se muestra a o continuación, es fácil deducir su funcionamiento si seguido y se entiende el organigrama de la ; de para el TRASTO,el se siguiendo una negra fondo blanco a Los de están en inferiordel ; El de la derecha y el de la izquierda a El adopta la estrategiade seguir la por el derecho: ; Si que en el borde izquierdo sobre negro y derecho sobre se sigue en hacia delante. Si el de negra hacia la el borde, independientementede el de la izquierda. ; Si el tiene los de la se le girar a la tal ; hasta que vuelva a ; La de se aplicana del a de un 40106 de tal,que para Color Blanco transistorsaturado al inversor"O" = "1" encima de se ha salido de la linea " O . Calor Negro en entrada al encima de negra. dentrode pista) & LIST 1 optico #DEFINE PORTA, o ;Selecciona de Estas líneasse bsf , del B se configurancomo salidas. ; SeleccionaBanco O de movlw a la derecha. bffis ; salido por la blanco? No,el detectorderecho de la ; gira a laderecha. Para a la tambiénpor laizquierda?
  • 579. S AIICROCONI'K0LAI)OR PIC'I6F84. UESARRCJI DE G lb M kovlw b'00001 ;No,estaen bde.derecho.Sigiiz Activasalida movwf PORTB goto Prbcipal EN¡ Nuestro rnicrobot cn detcc~ar infi-arroja 38 kHz emitc uti 32) y b r 1 , Fipra i~iict-ubot TTCLTEO lus sensor-esde i~frarrojo,~ DERECM R1 R* IW loa 5v RESEi S : OUT+ IC T 1 PICIBFMA 4011- - - 5v 5v 5V IZQUIEROO DERELUH - - - - ci SFH511( c c 33.7.4 h, p~ ; oonh ;una sena1infmrroj .LO PROYECTOS A 111' el recto. Para tipo figura 32-19, El esquema 33.7.3 Estrategia a seguir para un robot detector de baliza "Trasto" este caso debed una señal modulada a que circuito como el de la figura 32-20 (capitulo dirigirse hacia ella. M1 M2 IZQUIERDA O tN2 1 5v C Pro Si se SENSOR fácilmente el SENSOR Programade 33-73 Esquemadel con
  • 580. 1 1 pirulo 32) rojos eil tipo SFH5110-38 sefial infrarmja, se@ ~ensor~erichoScnsorIzquierdo, tivamcnk. sensores dcbcrá desplazarse por 1 0 sentido contiarici coiii~~izieba ScnsorIzquierdo sefial infrarroja, Caso niicrobot dehwá SensorDerecha yiie nieda c m de Por coiitrario, Sensorlzquierdo conipnieha hacc SensorDerecho, derecha. haciendo rueda retroceso, Sensorlzquierda fonna cl Sensorlzquierda senwrlmuierda ~snsor~erscna SensorDerpcha Figrrn Estraregiu s e ~ ~ i i r p~im Ikt~gnr n Id seguidu antetior im-O 1.abm. Programa contml Micmbot mial seRal infratmjii kHz. Para conseguirlo añadiremos el frontal de nuestro microbut dos sensores del montados como detector de se indicaba en la figura 32-19, y que denominaremos y rcspcc El esquemacompleto es el que se muestra en la figura 33-23. La estrategia que vamos a seguir es la siguiente. Si los dos detectan la señal de la baliza el rnicrobot cn línea recta y tanto, las dos ruedas deberán de girar en de avance. En caso se si sólo el detecta la en afirmativo el girar a infrarroja la izquierda hasta que el detecte la señal, por lo la derecha y girará sentido avance y la izquierda en sentido de retroceso. el si no detecta el haz infrarrojo modulado se si lo el en caso afirmativo el robot gira a la girar la izquierda en sentido de avance y la derecha en sentido de h a s t a que detecte la señal infrarroja. Se repite el ciclo de continua. La figura 33-24 aclara los movimientos que seguid microbot. 22-24 u baliza 33.7.4 Programa de robot detector de baliza Si se han los razonamientos del apartado se comprenderá CENSOR fácilmente el programa Robot-Bal IZQUIERDO ; de para TRASTO el detecta unabalizaquegenera ;una moduladaa 38
  • 581. ; swiswesfipticosSFHSI situados parte h t a l del microbot El saisor daecha eh2á cconmrln RA2 &ensor de 1 s lzquicrda RA3. Cuardo smsor SFHS infranojainodulada,propiirciona bajo ;línea sdida. progrnma sguiente: - detecta por ningúnsemiir el niicrnhntgiw ri~mpre dcrecnn. msores dztectlnprtdora microbot Eacia adelante. ; - se porbdora el msor ia derecha el ; lmicrobot s m s o r e sdetecten baliza. : - sc e[sensor y DO izq~ierda el ; g~ra la d w h a basa quc 10s sensores la I ZC)NXVkUA['us ***X***************&***W******C***'U"L'*"'****+**********************+*Q***Q* #DEFINE SzrwrDzrccha POKI'A,Z ;Sensor SensorIzquierda PORTA,3 ;Senwr Izquierdo. ORG Inicio bsf b6 bsf lrf bcf btfsc g o u brfsc &Oto mavlw goto brfvc gota Girohquierda movlw got@ GiroDer~ha moviw AdvaSalida movwf iwo SensorDerecha Senuo~lzquicrda GiroDmc bilWOO1 1 1' AcrivaSalida Banco & regisbus. ; lineas coniigiran enlmda. ; líneas Puerto didas. registros. ;i,Ha detectadosekí hecha? mibepor ; Ltarnbitnxid pui izquierda? ; solosella1 derecha, del-&a. ; sensores. ; ia derecha r ~ j k . ,Y por I sizquierda? :Tampoco, por inquisirla. ; ; m i 1nsti-u i da Dispon m Dispr O O O O Los 10 están en fa ; de la a y el a ; el 110 detecta luz un nivel ensu de ;El adopta laestrategia ; Si no se la baliza a la ; -Si los dos el avanza Si detecta en de la izquierda y no en el de giraa la izquierdahastaque losdos la S: detectaportadora en de la derecha en el de la microbot a dos detecten baliza. Derecho. #DEFINE f c Principal Ver-Izquierda Ver-Izquierda ha 1 ;Selecciona 1 E s t a s se como Las del B se configurancomo ;SeleccionaBanco O de la ; No la derecha. Si, la No, por la gira a Sí, recibe por los dos Sigue recto. Por no nipor la derecha ni la Gira a la izquierda. Gira a la derecha. El sct LOS m La pila deshab
  • 582. salidas. I j : :I t APENDICE I CARACTER~STICAS TÉCNICAS DEI, 1 PIC16F84A 1. 1 <:*HAC.IKKÍS~ I C * SDE L* <:w msc l i 1 0 1 1 CPU Haward. I I i 8 1 irisiiiii;ciriiies rieiic 3 3 5 instr-uccioncs una wla paliibra. Todiis iiistrucciiincs ciclo dc duran opcracion: D c MHz, frecuencia reloj de o ns, duncibn inaquina. Frcctiericia rnáxitria dc funcior~irnientci MHz (PIClbF84A-04) 20 MHL (PICL 6FK4A-201. príqrama iipn pusiciuncs. Menioria RAM datos de bytes. Meinoria dc 64 byfes. i Instriiccioncs una longitud bits. ticiien longinid de bytc Di.;pne de 1 nivelcs m Dispot~c cuatro fuerires iiiterrupcion, 1 s pueden O j deshabilitadas sofrware: Extenia RBOANT. dcsbortlamientu Timer eri liiieas PORTR <7:4> o Por finalizacion de cscntiira Iii A La arquitectura de la es del tipo El set de de las duran un máquina, excepto las salto que dos. Velocidad de o 20 para la del entrada. DC - 200 para la del ciclo de 4 6 Memoria de Flash de 1024 dc 68 EEPROM de datos con dc 14 Los datos una 1 (8 bits) 15 registros de funciones especiales. La pila tiene 8 de profundidad. de de cuales ser habilitadas independientemente por o por el pin U Por del O. o Por cambio las de memoria EEPROM de datos.
  • 583. 1 ENCAPSULADO A-1 Microcon~o/udor P KI 6FMA CAR~CTER~STICAS PERIFÉRICOS Disponz 1 liricas entrad$ controlindividiial dirccción. terminal. para gobernar iin mA csta bdjo. mii pin csbi n Tcrnporkador/Contador bits programable. admite escritura. EEPROM admite 1.001).000 escriblra. Ciwantiza retenciiin mcmoria EEPROM 40 puedc pines, ICSP (In Circ.uil Serzul Progrunrii?in~) Puwer-On Re.wr wer-C'p ( Oscilla~urSturt-Up Titner (OSTI temporirador oscilador RC Priltec.cicin códigodc proparno mcdinntc activa~irjii de un proteccihn. SLEEP. dc oscilüdor seleccionable. Tensii (excep Tmcii Tensic / DIL-18 Figura DE LOS de 3 de salida con de Alta capacidad dc corriente por Proporciona suficiente corriente LED: o Consume 25 por pin cuando a nivel o Proporciona 20 por cuando nivel alto. Dispone de un de S (TMRO) con división de frecuencia La memoria Flash d e programas hasta 1.000ciclos de borrado y La memoria de datos hasta de ciclos dc borrado y una de datos para la de datos superior a los años. Se programar en el circuito vía sene mediante dos (PON ) , Po Timer PWRT), CARACTEI Dispone de un Watchdog{WDT) con su propio para un funcionamiento fiable. de la bit de Mudo de bajo consumo Tipo
  • 584. 1. :ntiua. mior (ln Circtdi~ - 0 p I :RI-MA APENDICI; CARACTF.R~STIC~IS'TÉC~'~C~S nEL PlclIiFX4A 567 -4RQUITECTURA (SRAMI RA - . R . 4 , - J . - - - - --- 181hli DBh, EEDbTA EECONI - e u 09h EECON2 8% & C 1.- OOOhl - /*t.-. - -1 BUS D E I BUS INSTRUCCIONES 11 3€n CPU j r PILA VSS r---- - - N -- - I p - , k - " ; " " " ~ ~ l M + 1 F E E y 1 Fipnr .4-2 ipr/~<r-ncr (le/PICI 6Fb41 CARACTER~ STICASELECITRICAS MÁX I Tensirjn pin Vss V,,, RA4) .. Tcnsion en VD, dc Vs, -0,3 +7,5V riente para borrado y a los Timer A: INTERNA MEMORIA M DATOS MEMORIA DE PROGRAMA CON 1024 POSICIONES 1 PCL RA3 a . . . EEAOR DATOS EEPROM (FLASH) RESET DE DATOS NIVEL 5 MCLR Arquitectura MAS ADMISIBLES de cualquier respecto de (excepto MCLR y ....................... ........................-0.3 V a (VD,+-0. 3V) rcspccto ........................................................... a
  • 585. Tcnsiiin Vss ...................................................... -O,> +X,5V disipaciiin tnkl ................... . . ....................................... 8 mW Máxirna c l pin Vss ................................................................. 1 50 mA pin VDD................................. . . . . .............. 1 m.4 Máxima dc eii halo 1IU mA Mixima zti pin I/O............................ 20i r i A corrieiite de conjtinto dcl ............. ,.S0 inA corrienic dcl ................. rnA corrietiie baio conjuntodcl Piiertri 8.............. 1 mA Máxiinn cl dcl A-.............. 00 mA PIClt instrucciones. chdigo o p e Tabla Eii in I W. i del t Eii qu in: RISC, so1 c d insti i salto, ( inst ci en RA4 rcspectn de a . . . Potencia de corrientepor . . Maxima corriente por el ............................ corriente salida por cualquier pin 25 corriente de salida alto por cualquier Máxima salida eti bajo por el Puerto A. Máxima de salida en alto por el conjunto Puerto A 50 Maxima dc salida en por el 50 corriente dc salida en alto por conjunto Puerto 1 El E de instrucciones de la B-l. La nomen las O Si o Si En las in bit d siempre las ir literal Las 35 que no instrucciones Las tiempo de de Las utilizar
  • 586. APENDICE PIC16FR4 csti compuesto una LPU RlSC jucgo instruccicincs. bits instnicciones se operacibn propiamente hchu o p e d o s , insmiccionzs quc cste microconlrolador las Tabla ntimenclntiira qiie ritiliziin cs si~iicnte: d representa dc ci "1" cl misino Eii iiismiccic!nzs bits. b (0.7) C instrucciunes Ií reprzsenia Ios 1 1 bits. instrucciones PIC16FX4 las caracteristicas proccsador RiSC, sOlo iui instnicciones instrucciona cuniplen Las máqiiina dc ejecuci6n operai-ido. B REPERTORIO DE INSTRUCCIONES El por de tipo con un de 35 En los 14 que forman las máquina del PTC incluyen el código de y los en caso de que haya. Las 35 de consta son que se muestran clasificadasen la B-t. La estas instrucciones la En las instrucciones la letra f representa un registro y el destino: o Si d es "O" el resultado la operación se sitúa en el registro de trabajo W. Si d es el resultado se sitia en registro f. las que manejan representa en binario la posición del bit deseado dentro del byte, representa el byte o registro. El bit O es sietripre el bit de tnenor peso. En las con literales y de control una constante o literal que según casos puede ser de 8 u Las 35 del cumplen de un que no supone tener juego de reducido sino que, además, sus las siguientescaracteristicas: instrucciones son simples y rápidas. Todas las instnicciones tienen un tiempo de ejecución de un ciclo (4 ciclos de reloj) a excepción de las salto, que tienen un tiempo de de 2 ciclos máquina. Las instrucciones son ortogonales. Casi todas las instrucciones pueden utilizar cualquier
  • 587. MICKOCONTROLADORPIC16FIW ECl'CiS D RA-MA T m Tcidns longitiid dc 1 1f registro( 0x00hristu Ox7F) d l i s t r o dc Liteial, etiqueta que puede "1" = sc de dcfccto ) 1 Power Down 1 1 [I 1 - (1 Conteni - 3 clc de registro I PlCIóFS4 Instrucciones clrf f 003 (t) oooi Ifff t~ clnv 00 +(W 0000010xxxxxxx z (f) + 1 dmfVf Z OOxx kkkk movwf f (W) + 00 0000 1ml ~ f f 1 dc Pone O 'b' rcg, 01 OObbbfffffff Ponc 'b' reg. bflT mf Ningiino 570 DESARROLLO DE PROY La longitud de las instrucciones y los datos es constante. las instrucciones tienen una dc 14 bits y los datos una longitud byte. Dirección del de Posición de un bit dentro Y bits dato constante o ser"0" o si d O, el resultado guarda en W, si d resultado la operación se guarda en el registro f. El valor por es Bit de Opcional do Sentido la transferencia Campo del bit un SET DE INTRUCCIONES DEL de CARGA no z movf f,d (destino) 00 000 movlw k k 3(W) 1 1 kkkk Ninguno (f) Ninguno Instrucciones BIT a el bit del 'f. a 1 el bit del 'f. 0 1 Olbb
  • 588. :. $1 IiU dtEfW 00001I dfffffff 00 1010dmfm I 1 Ilnxkkkkkm dmm O 01 ffff 1000kkkk 00 o100 m m + Todas las d de 1 byte. Ninguno U111 00 0101 00 1 dfff 11 kkkk del Carry (destino)
  • 589. r 7 I hfiCROCONTROLADOR PICIAFM. DESARROLLO PROYCCTOS ~1 K A - ~ I A c,~ 4 . 4 ~ 4 I addlw el k arldlw Operandos: 5 I Opeiacihn: +(W) ~ l a p OP m r K m Descripciiin: W litcral 'k ' W. "1 ". 0x15 ;(W)+Ox157(W) instrucción: (W)=OxiO, C = ¿? instniccibn; (W) .=0x10 5 (W)=b'00010000' +b'~O10101'=b'0010 i' addwf el f I : Siiitaxis: addwf 0565127 d E [Q,11 Operacion: (W)t(t)+(destinol andb Z Códigodr'OP: [ 0114dfff Imf 1 Descripciori: registro ' f d - C "1". addwf Registro,O (Regisiro)+.(W)+(W) instniccibn: (W)=O?c17, OxC2, C =¿? instniccion: (W} OxD9, OxC2, C k - - - I O5k5255 (M:)AND (k) (W) (.&VD wilh ?+y Z CódigodeOP: 1 100- liigica dcl registru l I 'k'. i r m u insl Operandos: Operación: i n s m inst Sintaxis: Dcscripcion: i n s m insb ~ ! 572 DE con w Ejemplo: Suma literal Antes Después Sintaxis: k O k 255 (W)+ k afectados: C, DC, Z Códigode : Suma el contenido del registro al y almaccna el resultado en Si se produce acarreo el flag C se pone a Ejemplo1: addlw Antes y Después + 0x1 = 0x25 y C= O. 0101' Suma w con registro f,d Operandos: ! (Add W Flags afectados:C, DC, 00 Suma el contenido del registro W al contenido del y almaccna el resultado en W si = O, y en el registro f si d l. Si se produceacarreo el flag se pone a Ejemplo: ; Antes (Registro)= y Después = (Registro)= y = O. andlw w AND Literal Sintaxis: andlw k Operandos: Operación: Literal Flags afectados: 11 Descripción: Efectúa la operación AND entre el contenido W y el literal el resultadose almaccna en W. Sintaxis: Flags afectar Código de O Descripción: Ejemplo: Antes Después bcf Operandos: Operación: Flags afectad Código de O Ejemplo: Antes Después bsf Sintaxis: Operandos:
  • 590. - L', M-h4A APFNDIC'E 0: KEPERTORIO í7? ruidtw b'01011111' (W) AND b'0101111~' + Antes instnicción: W) b'l01000ll' z=¿? instnicción: 0= b'00000011' 0. YUI 10 W) andwf W cn Operaiidos: I 5 d E [O,]] (AND W withd Flags CÓdigodeOP: 0 0 1 0 1 0l)dffT 1 ffK 1 lógica entre registro contcnido 'f aimxetia 'f d = l . andwf Registro,l (W) AND (Registro)3 instruccidn: jW)=b'0010111', (Registro)=b'11000010' Z = i ? instniccion: (W) blOO1O 11 (Regrstro) b'000000 Z 0 . bcf bcf 5 < 137 Ci<b57 3 <b>} uno Ciidigo OP m f f f m l i~íimero bc FlagReg,7 +CFlrigReg,7) Anks instnicción: (FlagReg) b'11000111'. (FlagReg)=b'0 1' bsf I 5127 O I b 1 7 Operacióil: 1 3 (f<b>) DE INSTRUCCIONES :on W Ejemplo: ; (W). = y Después y Z = AND f ultado Sintaxis: andwf f,d O f 127 Operación: (W) AND (f) (destino) afectados: Z Descripción: Efectúa la operación AND el contenido del W y cl del registro y el resultado en W si d = O,y en si Ejemplo: ; (Registro) Antes y Después = 1 ', = 10' y = Borra un bit de f Sintaxis: f,b Operandos: O f Operación: O (f Flags afectados: Nin de : Descripcióri: Pone a cero el bit 'b' del registro 'f. Ejemplo: f ;O = Despuésinstrucción: 100011 . Activa un bit de f Sintaxis: bsf f,b Operandos: O f
  • 591. T MICROCTJNTROLADORPIClbFX4.DESARROI.1.O DE PROYCC-I'OS d Ri-Mi Código OP: 1 01 1 ] bmTrtt~1 Descihipcion: iiumero 'h' del rcgisíro FlagReg,7 ;l i (FlagReg,7) Instniccion; (FlagReg) b'01000 11' Instnrcci6n: (FlagReg) ti' 11OOO1 ' instr Despuks btfsc cal1 Operandos: 5 5 O < b < 7 Sintaxis: (f<b>) Nin Cbdiga OP * m f m ' ] Qcración el nimero instrucciun cliie sc "nop". cste caso, s81o FLags afect h$rc ejeciitarsc. COdigo Descripciii Aqui btfsc Flag,] Si 1 Falso ProcesoX ... ; cetci. instr Despuks in instmcción: (PC) "Aqui". Despues instrucci6n: <1> P C )= "Verdad". <í> 1 clrf Operandos: 5 5 afect OSb57 (f<b>) = (Sil Te3l.J;Skip I f Si.) Descripció~ Flags OP [ 1 1 1 lhb 1 1 ffff 1 l Descripcióii: niimero imo instnicción quc iginra se "nop". esrc sdlo instr instniccibn Iitfss Despiih I 574 Flags afectados: Ninguno Ejemplo: de V Olbh A Pone a unoel bit 'f. F bsf Antes = 1 . Después = 11 . Antes ir Test de bit de f y salta si es cero Sintaxis: f,b O f 127 Operación: Salta si = O Operandos Flags afectados: de : bit b del registro f es cero la sigue a ésta ignora y se trata como un Descripción: Si En y en este caso, la instrucción precisa dos ciclos para de ; el bit del registro Flag es cero salta. goto ;Ha sido uno. Ejemplo: Verdad Ha sido Antes ... =Direcciónde Si el bit Flag Antes = O Dirección de Si el bit Flag = (PC) = Dirección de"Falso". Test de bit de f y salta si es uno Sintaxis: O f 127 Flags Codigode Operación: Salta si 1 afectados:Ninguno Código de : 0 bfff Si el bit y b del registro f es la trata como un En caso, y precisa dos ciclos para ejecutarse. sigue a esta se en este caso, la Antes in
  • 592. 2 IJ..,I, ,S: RA-M* INSTKLIC'L'IONES !ue :ste caso. ie ;te Aqui btfss Flag,l 1 goto ProcesoX ; cero. ... =Djreccibn "Aqui". ins~cción: <1> = (PC) el <I > 1, Direcci6n cal1 cal1 Openndos: 5 5 Opcraciun; (PC'}+I + (Crr//Subroictine) k i (PC~lO:O>), (PLLATli<4:3>)i (PC< 1>) Flap uno Cbdigo OP b]~dd<w Dcscripcihri: direcciiín despiiés siibrutina situada cn PC. cn cal1 Alli instnicción: "Aqui". = Direccibn "Alli". + C M Siiitaxis: clrf Operandos: 5 1 1 Opcraciiin: OOh +(0 (CiearJ I+Z CMigodeOP: ~ O D ]UMI1 IR lmfl 'f y L G 1". clrf FlagReg (FlagReg). inctnicción: (FlagReg) = L? = ¿? instmcciCin: (FlagReg) 2 1. APMDICE B: REPERTORIO DE 575 Ejemplo: ; Si el bit del registro"Flag"es uno salta. Falso Ha sido Verdad ;Ha sido uno. Antes instrucción: (PC) de Después Si el bit Flag O, = Direcciónde"Falso". es cero Si bit Flag = (PC) = de"Verdad". Llamada a Subrutina Sintaxis: k O k 2047 TOS a ésta se 12:1 la afectados:Nin de : Salvaguarda la de vuelta en la Pila y llama a la la dirección cargada ea el Tarda dos ciclos salta. máquina ejecutarse. Ejemplo: Aqui Antes (PC)= Dirección de Después instrucción: (PC) de (TOS)= Direcciónde"Aqui" 1. Borra f es uno f O f 37 Descripción: Se borra el contenido del registro el flag Z se activa poniéndose a ; O a ésta se Ejemplo: y Z caso, la Antes Después = 0x00 y = Flags afectados: Z
  • 593. - MICROCONTROLADOR 16F84.DEShRKOLLO v ~ . - h 4 ~ C ~ W clnv Operandos: O O h + (Cllear W) 1+z afe~tados: Z 1 00 1 O001 1 Oxxx 1x x u 1 trabajo OOh. Z "1". clnv ;0 +(w) instrucción: (W)=¿? Z=i? m l i ! insmcción: = b :! ,] c h ~ d t .i '1 clrwdt II '1 Operandos: OpcraciGn: OOh + (C'leur Wmclidog Timer) WDT prescalei- l + P D - - PD CiidigodeOP: 1 00 ~0000(0110~0100~ del (WDT). 5 rcgistro "I". ,? instnicciiin: WDT) 0x00 5= = 5 f 5 1t d 6 [0,1] (7 ) + (Cumplt.rnent$ Operandi Operaciiii afe< Codigo Descripci 576 PIC DE PROYECTOS Borra el registró W Sintaxis: Ninguno Operación: (W) Flags Código de OP: Descripción: El registro de W se carga con El flag se pone a Ejemplo: Antes y Después (W) 0x00 y Z l. Sintaxis: Borra el Timer del Watchdog Sintaxis: Ninguno Código WDT O 3 Flags afectados: TO , del de estado se ponen a Sintaxis: (Timer WDT) = Operandc Después (Timer Descripción: Se borra el Tirner Watchdog Los bits y = bit de estado 1 Flags bit de estado 1 di Complementa f Ejemplo: 7 Operandos: O Operación: (destino)
  • 594. n W Flags Z Descripciiin: complemento del 'f r.esultado eii registro 'f dlO, casci 'f twi. 113 comf Regl (Real1 3CW) Antes instnicción: b'00010011', ¿'? - instmciiún: (Reg1) b'00010011', (W) =hvl 1 6 3 Y Z O. ita Sintax1s: Operandos: tl<f5127 d~ 10,11 Operacibn: 1l + Flaes afeciados:Z almaccna f d=O, eti 'f dec 1 1+ irtstniccibn; Z i? instniccióii: 1. dccfsz f,d I 0 5 5127 E [O911 (f) 1 + salta resultado "0". (Decrc!mcnt,f; L'3iiji if0) 'f d-1 W ti*, estc 'f e1 decrcinento siguieritc instrucción eti instnicci8n ticric u t u dwaciiin t decfsz 1 1 afectados: Hace el contenido del registro bit a bit. El se almacena cl si d=l y cn cl registro W si en este no varía. Ejemplo: ,O : (Regl)= (W) = Después = 1101 (invertidounos y ceros') = f decf f (f- (destino) en si d=l y en W si este caso no varía. Ejemplo: f Contador, ;(Contador)- (Contador). Antes (Contador)= 0x01 y = Después (Contador) = 0x00 y Z = Sintaxis: Operandos: f Operación: - (destino); si el es Ejemplo: almacena en si y en si en caso, no varia. Si resultado del es cero se ignora la y ese caso la de dos ciclos. Aqui Contador,
  • 595. MlCROCONTROLADOR PIC16384. i_" m-MA (PC) instruccián: Despds instnicciiin: = I además: (PC) = "EsCero". + Direcci6n& + g0t0 Operandos: I 5 k+(PC<lO:O> (UnconditionalBranchj (PCLATH<4:3>)+ (PC4 11>) OP: 1 1 1 1 1 m + instnrcciim: (PC) ¿? insbuccibn: (PC) Direcciiin "Pri~~cipai". incf lncrernenta Operandos: 5 5 d~ CO,ll Operacibn: (f)+l + (lnerernentj CbdigodeOP: 1 1101OIdfW IPfff 1 'f 'f, alrnaccna en 'f : incf 1 + l + instrucción: = OxFF ¿? instniccio~~: Z 1. incfsz 1 Operandos: Flap afcctadc C:ódigu Descripcihn ins iorfw 4 OP instmcci instni 578 DESARROLLO DE PROYECTOS = Direcciónde"Aqui". (Contador) Antes (Contador)- y Sintaxis: - Si (Contador)= O, Direcciónde - Si (Contador) O,(PC)= "Aqui" 1. Operación: Salto incondicional de OP : Sintaxis: goto k O k 2047 Operación: 2: Flags afectados: Ninguno Ejemplo: Códigode 10 kkk kkkk kkkk Descripción: Salto incondicional.Carga bits O al 10 de la constante'k' cl(PC)y los bits 3 y 4 del registro PCLATH en los 11 y 12 del PC. Esta instrucción se ejecuta en dos ciclos máquina. Ejemplo: goto Principal ;Principal (PC) Después Antes = = apuntada por la etiqueta Después f Sintaxis: incf f 127 Sintaxis: O f Opcrandos: Operación: (destino) Flags afectados: Z Flags afectado: Códigode 00 Descripción: El contenido del registro se incrementa en una unidad, si d=l el Descripción: resultado se almacena en si d=O el resultado se W, en este caso el resultadode no vana. Ejemplo: ;(Contador) (Contador}. Antes Después Contador, Ejemplo1 Antes (Contador) y Z = Despds (Contador)=0x00 y =
  • 596. hlA APFNDIC'L B RFPFK 1OKIO INSTRL1CCI(IUES 570 ¡ ~ C ~ S Z 1 incfsz f;d Operaiidos. I5 d [0,1] {f'i~1~(destino);siiltasiclrcsultadocsO. (Jn~.remmtt I,'Skip ipjtl) (PCJ instruccibn d-l el :na Deccripcioii: Incrementa cl registro 'f uniclüd. rcsiiliado cii 'f d-1 d=O, cstc 'f varía. resultado incrcinento ccro siguiente jns(riicciÓn cn inslrucciónticne dcis miquitia. I incfsz 1 I! goto .... ..,. I "Aqui". Dcspués instmccjon: !Contador) + además: (2561, - de # O, Direccion "Aquí"+ ¡ O ~ W OR filteral iorlw Operandos: I f 5 Operaciiin: (W)CiK(k)+(Mr) Flagsaolctíuios: Z dc : p f l m k k k m Efcctua opcraciiin entrc c l dcl registro W literal 'k'. almaceila cil ZI iorlw b'00110101'. :(W)ORb'00110101'+(W) jnsrnicciiin: (W) = b't0011010' Z-¿? instniccion: (W) b'10111111' 0. R4 DE lncrementa f y salta si el resultado es O Sintaxis: O f 127 E Operación: almacena del ese caso, la contenido del en una si y en W si en caso es se ignora la una duración de ciclos El no se Si el y, el a y los Ejemplo: Aqui Continua Contador, Bucle Antes instrucción: (PC)= Dirección de (Contador)= - Si Contador= O - Si Contador 1 y (PC) Dirección "Continua". (PC)= de l. entre W y el k Sintaxis: k O 255 Código OP Descripción: la lógica OR contenido y cl El resultado se id, si registro W. cn W, en Ejemplo: Antes y Después = y Z =
  • 597. T 58U MICROCONTRCILADOR PIC16F84. EC'JOS h.m-MA ! iorwf Operandos: C) 5 l I d E [O,11 (W) OR (f) (destulo) OR withj Flags Z CódigodeOP: 1 00 IOIOllldftT l f t f f 1 Dcscripcion: Efectka operación OK entre del rcgstro ccititztiido 'f d=O. iI iorwf Resdtado,O (W) +(W) instrucción: (Resuhado)=b'00010011', (W)=b'10010001' Z=¿? = b'00010011' (W) b'100 0. i riiovlw Operandos: 5 f 5755 +( (Move Liferalfo W) Flags 1 11 10 0 u 1 kkkk 1 kkkk 1 Descripcibn: W bits movluj Ox5A ;SAh+IW) Despuks instrucción: (W) OxSA I Operandos: 5 5 d f [O,ll i (f) + Z 1 1 10001 dfff 1 fKf ] 'f eii 'd'. destino el 'f. jnstniccion i 1 ins Despues Siniaxis: Operandc afet Descripci Antes insi Operaciór Ciidigodt Uescripcic Operac Flags Ciidigo I DESARROLLO DE PROY OR entre W y f Ejemplo: Antes Sintaxis: f,d f 127 Operación: 3 (Inclusive W afectados: la lógica el contenido W y el Operacioi del registro 'f. Almacena el resultado en si d=l y en W si Flags Código di ; OR (Resultado) Antes y Ejemplo: Después instrucción: (Resultado) , = 10011' y Z = Después i Mover literal a W Sintaxis: k O Sintaxis: Operación: k W) Operando afectados:N i n g u n o Código dc OP : Flags afec El registro se carga con el valor de 8 del literal'k'. = Ejemplo: Mover f retfie Sintaxis: O f 127 Operando. ion Operación: (destino) Flags afectados: afec Codigode OP : 00 de Descripción: El contenido del registro se carga el registro destino dependiendo Dcscnpcii del valor de Si d=U el es el registro W, si d=l destino es el propio registro Esta permite verificar dicho registro, ya que el flag Z queda afectado.
  • 598. .r? RA-MA APENDITF R: REPERTORIC) DE INSTRrlCCIciNLS 581 niovf ;PORTA) +W insbuccibn: 1 (W)=¿? Z = L ? 1 (W)=OxlA Z = 0 m 0 w f Sititaxis: ~riowff' Operatidos: 5 5 (W) +(f) (Move W ro,f] no OP : *~~fl Descripcióil: registro regisrro movwf ;m ' )i ( P O R m ) instrucción: (PORTB)=¿? (W)=Ox.CF. Despuks instruccion: Ox4F (W) Ox4F. noP [o 3 dependiendo i 1 destinu io tioli Niriguno Operacióti: (;%'o 0 ~ ) ~ ~ ~ ~ u f i u ~ ) afectados: uno rhdipo OP r o 0 1 ~ m Drscripción: noP retFie retfie Operandcis: Clpcracion: 3 I +CiIE Ningiria de OP : r o o 0000 1 0000 1 1M) I 1 Carga PC en aha vuelta intermpcibn. Potie 1 firi iiuzvo ciienta PORTA, O ntre W y f Ejemplo: Antes (PORTA) = Ox A, y y Despuésinstrucción: (PORTA)= Ox A, Mover W a f O f 1.27 Operación: Flags afectados:Nin Código de Mueve el contenido del W al 'f. Ejemplo: PORTB Antes y (PORTB)= y = literal a W No Operación Sintaxis: e Literal Operandos: No operar Flags de : Nin No realiza operación alguna. Consume un ciclo de instrucción sin hacer nada. Ejemplo: Mover f Retorno de Interrupción Sintaxis: Ninguno TOS (PC) Flagsafectados: Código el con el valor que se encuentra la parte de la pila. es el asegurando así la Descripcion: de la a el bit GIE con el registro, ya de autorizar de que se tengan en las interrupciones.Tarda dos ciclos máquina.
  • 599. retfie inteinpcion. instniccion: (pC)=i4? y GIE=O instnicción: (PC)= y GIE = retlw Mera1 I) 5 2 Opecición: +(W) 3 (PC) afeciados: Nin ino Cbciigo dc o p $1 0lxx 1 LLI<J< 1 kkkk Carga 'k' carga PC ctiri el - - cncuetitra pila, efechiando¿)si uri rctorno subrutiiis. inlqiiina. cal1 el ; addd PCL,I ;!PC) = (W) k0 rctlw kl k2 retlw kn ; de instnicciiin: (W)= instntcci6n: (W) k2. return Siritaxis: rcturn Optraiidos: Ninbwno (PC) aikctados: .uno dc OP ~ 0 0 ~ ~ Descripcibn: enciitiiitra supcrior risi retorno de miquiria. Operandos: Fla~s afec Descripciiin: instru ins i 0 1 Ejemplo: 1 insfmc Despuis i n s t r retum ; subnitina. (PC)= L'? Despues instniccibn: (PC) Ejemplo: ;Retornade la Antes Después (TOS) 1 Retorno con un en W Sintaxis: rctlw Opcrandos: k 255 k TOS Flags : Descripción: el registro W con el literal y después el valor que se en la parte superior de la de Tarda dos ciclos Ejemplo: Tabla ; W contiene valor de offset de tabla .... .... Tabla Comienza la tabla (PC)+ retlw retlw Fin tabla Antes 0x02 Después = Toma el valorde Retorno de subrutina Operación: TOS 3 Flags Código : Nin Carga el PC con el valor que se en la parte de la pila. efectuando un subrutina. Tarda dos ciclos Ejemplo: Retornade la Antes instrucción: = (TOS) Sintaxis: Operacion: Códigode Ejemplo: Antes Después Sintaxis: Operandos: Flags afectad Códigode Descripción: Antes
  • 600. cl i retonio jet ibrutina rlf Sintaxis: rlf f,d Openindos: I 5 d € [O,11 Operacibn: (RotateLrfiftlir augh C,'arry) - 1 Flags ayectados;C CódigndeOP: 1 I I I D ~ ] ~ ~ (ffff 1 DescripciGn: Rowión del conteiiidt) 'f pasando d-l 'tl, d-0 almacma Reg1 instrucci6n: (Reg1)-b'lltO0110', W = i ? C=0. instniccibn: (Regl) b ' 01lo', (W) 1 C rrf rrf f,d I 5127 d~ [O,lI 7 6 5 4 3 2 1 0 (RorureKight rhrough C h q ) C CódigodeOP: r60 1 1 0 0 d f f f Iffff 1 Descripcion: bit la del 'f prir dc resultado almacci~aeti 'f, d=O cl alriiacenacn rrí Reg1,O insmcción: (Regl)=b'11100110', (W)=i? C=0. Despdsinstniccj6n: (Regl)=b'l1100110',(W)=b'01Il0011'yC=0. Rota a la izquierda con el Carry O f 127 7 6 5 4 3 2 1 0 Registro f 00 de un bit a la izquierda del registro por el bit de acarreo C. Si el resultado sc almacena en si el :on valor resultado se en W. un Ejemplo: rlf ,O Antes y de tabla Después = 1110 = b' 1100 100' y = 1. Rota a la derechacon el Carry Sintaxis: Operandos: O f Operación: f Registro f Flags afectarlos: Rotación dc un a derecha contenido del registro pasando el bit acarreo C. Si d=l el se si resultado se W. Ejemplo: Antes y r de la pila, na.
  • 601. 1 1 p MICKOCONTKOLADOK lhF84. PKOYECI E H,'i.L1,2 mi?Rn-btt deep Standby subwf slccp Operandos: ngutio OOh + + prcscalcr l + r O O + - - k'lags PD CódigodeOP: 1 00 1000010110100111 Sleep parada dcl capitiilo Activacion pin /MCLR Watchdog rcposo. Gcncración no quc sc desactiva xlcep. sleep S U ~ ~ W O I k I 2 5 5 - + (Subtract W,fi.omLztc=mI) COdigo OP 1 1 1lOx 1 1 1 Kcsta mitodo 'k' sublw (W) instrucción: (W)=OxOI, C=¿? Z=L? = Z sublw ;02h-(W) +(W) instnicci6n: (W>=Ox02, C=;? Z = i ? Desputs C (el 0x02 ;02h-(W) +CW) (W} i? Z L . -9 (W) OxFF, (-1 C = 0. Descripción: Antes instnicciim: instrucciii imtsucciiin: instnicció sw 5 < (f< Nir w instrucción: instnicción 584 PIC DESARROLLO DE OS Pasa a o modo de bajo consumo Sintaxis: Ni Operación: WDT O WDT PB afcctados:TO, Descripción: Pone cl circuito en modo (bajo consumo) con oscilador y Timer O. (Ver 16 para inás detalles). Se puede salir de este estado por: del para provocar un reset Desbordamiento del si quedó operativo en el modo de una interrupción que sea TMRO, ya Csta con la instrucción Ejemplo: ; Pasa a "standby"o modode bajo consumo. Resta el literal k a W Sintaxis: sublw k Operandos: Operación: k (W) (W) Flags afectados:C, DC, Z de : 11 kkkk kkkk Descripción: por el de complemento a 2 al literal el contenido del registro W. Almacena el resultadoen W. Ejemplo 1: 0x03 ;03h- (W) Antes y Después instrucción: (W) = 0x02, C 1 (el resultadoes positivo) y = 0. Ejemplo 2: 0x02 Antes y instrucción: (W) = 0x00, = 1 y Z = 1 resultado es cero). Ejemplo 3: sublw Antes instrucción: = 0x03,(+3 en decimal}, C= y = Después instnicción: = en decimal), O (resultado negativo)y Z = Sintaxis: Operandos: Código de OP: en Ejemplo 1: Después Ejemplo2: Ejemplo3: Antes Después 4 swapf Sintaxis: Operandos: O d E Operación: (f Flags afectados: Código de OP : Descripción: Lo de , Ejemplo1: Antes Después
  • 602. iscilador * 1 Literal) :nido S U ~ W ~ subwt' Operandos: I 5 d~ [O,lI Operacicin: (f'~ +(dcstinti) brracr WfrcimJ Flags DC, CbdigodeOP: 1 00 )00101dfff lffff / Resia el método complen~ento 'f merios contenido y d=l. subwlf Regl,l ;(Re@]) (W) j (Regl) (Regl)=0x03, (W)=Ox02, e=¿?) =¿? Despues 1) (W) 0x02, C 1 (posj Z 0. Reggl,l ;(Re@)- (W) 3 (Regl) (Regl) IW) i? Z =i? inshccion: (Regl) 1 Z 'I subwj Regl,l ;@egl)- (W) +m%[) instniccjbn: (Regl) (+1 decimaI), (W}= =¿? = i? Despuhs insmiccih: 1) OxFF, (-1 (W) = C =O (neg.) 2 = swapf nibbles f Siritaxis: 5 í d~ [O,]] Operacion: <3 .U>) 1 7 : 4 , ) (&y' h'ibbles inJ <7:4>)3 <3:0>) Dcscripci6ri: cuatro m& 'f inter Si d=O d21 resultadn I -cambian 1 Regl,O 1 Resta el registro f a W Sintaxis: f,d O f 127 - (W) (Su afectados: C, Z por de a 2 el conteriido del registro el del registro W. Almacena el resultado en W si d=O en 'f si Descripción: de este Ejemplo 1: - Antes instrucción: y Z instrucción: (Reg =0x01 , = = tivo) y = t Ejemplo 2: subwf Antes instrucción: = 0x02, =0x02, C= y Después y = 1 (resultadocm). = 0x00, (W) = 0x02, C= Ejemplo 3: Antes = 0x0 1, 0x02,C y Z (Reg = decimal), 0x022, y 0. lntercambia de swapf f,d Operandos: O f 127 (f (d del (f (d Los bits de peso del registra se con los 4 bits de menos peso del mismo registro. el resultado se almacena en W, si el se almacena en 'f. Ejemplo : swapf ,
  • 603. 586 MICRCII'ONTROLADOR P 1 1 : l hF84. UESARROI.LO DL PROY :<HAF.IA X O ~ ~ W W lrorlw Operandos: 5 5 Operacióti: ( W ) X O R k + ( W j {Erclusive OR Litt7rul with W) OP.: 1 11 1 1010)-kkkkm cntre contenido 'k' fe alniacena xodw b'10101111' (W) XOR b'10101111' +(W) (W)= b'10110101' Z = i ? instnicció~i: (W)- b'00011010' x0rWf - xorwf Ii 177 d~ [O,lI ( XOR (f) +(destino) Flaes Z " CódigodeOP: 111 )0110diTf w, Rediza fiincibn registro cl del A h c e n a el ccsultado 't' d=l U' d=O. xorwf 1 ; XOR (Reg) +(Reg) instmcción: (Reg)= b'lOlOII11'. (W)=b'lOllOlOL' Z = i ? instniccion: b'000110IO', (W) b'lO110101' Z ESTOS OR-Exclusivadel literal k con Sintaxis: k O k 355 Flags afectados:Z Código de Descripción: Realiza la función OR-Exclusiva el del registro W y la constante dc 8 bits. El resultado en W. Ejemplo: ; Antes instrucción: y Después y Z =0 OR-Exclusiva de W con el registro f Sintaxis: f,d Operandos: O f Operación: W) afectados: Descripción: la OR-Exclusiva entre el contenido del W y contenido registro'f. en si y en si Ejemplo: Reg, (W) Antes y Después (Reg) = = y = 0.
  • 604. M-U I :gistro ;1=1 movIw D'l09' d'109' h'6D' B'<cantidad>' B'01101101' TablaC-/ 1~1.yconstunfe.~ al k con W CONSTANTES Y OPERADORES registro f W y el yen W si movlw movlw movlw DT "Estudia DPE" Formato de
  • 605. MICROCCiN'rROLADUR PIC lbF84 I)EShRROI.I.O ': N ,-M, C-1 dc csprciticar nuriieracibn ctidigoc affaniini~flcos, cl cnsaniblador iin ejct~~plo Hay corniencen iina letra deben urin naovliv OFAh. i pucdzti opcionalinrnte ~irecedidas sigrio "+" "-" asunie quc soii caractercs debcn estar cricerrados ci1ti.e o Ejcmplo: moimlw 'G' . el cnsamblador utilizar opemdores cn 1 3 "IWASAI.USER GUIDE gratuitrimetitz cil pagina dcl www.inicrochip.cotn. tabla C-7 se Príncipule'i.oprradot+rs uribrpiéfiros del ensurnhladi-ir soti resulte "WASiZI www.mic 588 DE PROYECTOS La tabla representa la forma el sistcina de o para MPASM, con por caso. que tener cn cuenta: Las constantes hexadeciinalcs que por (A-F) ir precedidas de un cero para que no sean confundidas con etiqueta. Ejemplo: Las constantes ser por un (valores positivos) o (valores negativos). Si no sc antepone nada se el valor es positivo. Cuando los operandos ASCI1, apóstrofes comillas simples. Para facilitar la tarea de programación MPASM permite múltiples aritméticos detallados en la ayuda del MPLAB y guía 'S " que sc puede obtener la Web fabricante En la detallan los principales: Tabla C-2 MPASM La: qiie u m ! En ensamblai
  • 606. : dchci~ ' (valores ie te i p í a Wcb ENSAMBLADOR 3 codigos tcncr eti ir Ejemplo: que el utilizar PRINCIPALES DIRECTIVAS DEL la MPASM del
  • 607. 1 o RA-WA i Tablu I Direriiva~ ensarablador MPASAI rcsumen Sintaxis: 1 noni d INT cs utilizacion U- del A continuación se expone un dc las principales. propósito finaliza c Si no se variable Ejemplo: CBL En asignar lista qued
  • 608. APENOICE PRIN(:IPALiiS UIREC'TIVAS ENSAMBLADCIR 591 a, IL4-MA CBLOCK Silitalis: [cciiprr] < l a b ~ B [ : ~ incremcnt~][,<label>[:<incremen~]1 (Dejine o f Cora~tan~s) cl 9. Dcfine de ~lahel.d> asigna i m valor antcrior <ibd>. csta direcciones n L ; i etiqiietas cuando encuentra valor almique primer no asigna expresion, variablc fitial fiiente <cl?rpr> valorcs empiczan cero. < i t i c . r ~ w ~ ~ u P cspccifica. prcixima .;ldbcb L int.remt.rif> supcrior atitenor <Iubel>. Pucdcn ini~ltiples iina separada coti-ias. C B m K 0x20 nombre-1 primeniariable a s i p ; se 1. valor 23. la aplicaciotics cl propbsito dt cs (genemlrnente rriemoria lista qucdsi directivas utiliracihn: C B m K OxOC posicionan csta RAM. Cen- variable ocupala posiciiin OxOC & RAM. variable Decenas hOD W. OxOE & D: DEL MPASM Define un bloque de constantes C'RLOCK 1 ENDC Descripción: a Block Esta directiva se explica en capitulo una lista constantes. A cada sc le inmediatamente superior que a la El propósito de directiva cs asignar muchas etiquetas. lista de finaliza sc la directivo ENDC. indica el de para el nombre del bloque de etiquetas. Si se en la la primem variable recibirá un valor superior al de la del CBLOCK anterior. Si el primer CBLOCK en el archivo no tiene ningún los asignados con el Si se entonces a la se le asigna el valor de a la darse notnbres en línea, por las Ejemplo: ,nombre­ 2 nombre-3,nombre-4 ENDC ; A la se le nombre-2, le asignael valor 2 ;nombre-4 se le asignael el valor20 En mayoría dc las asignar direcciones de las directivas CHLOCK y ENDC RAM de datos) a muchas etiquetas. La enmarcada entre las CBLOCK y ENDC. Un ejemplo típico de ; Las variablesse a partirde posiciónde ,La Centenas Decenas ,La ocupa laposición de Unidades .La variable Unidadesocupa la posición RAM. ENDC
  • 609. I 592 M1CRCiCONTRDLAI)DR ?1C16FM.DESARRC)LLtl IVRA-MA configuracibn --CONFIG <expr> (Ser Pror-e.~,sor Coi~/igrt~.#íi~irl Birsj deiinicibn los cuiifigwacion cn <~vpt.>. indica configuracjiin para dc grabacióti dcl CCP-OFF). c1 CWU 1'-OFt ). reset mediant? Timer CPWRTE-ON). -CONFIG7' coii bajos), irno kecuentc diseñadores DE [<label>] <expr>[,<expr>,. ,<expr>] palabras memoria bjts J a meriiciria EFPROM bits. exprcsión se posicion separa&. ORG Wl00 Corresponde ta zora : ''Programa EEPROM-M. Versibn2.5. 15-08-2003'' ,kO método #DESME # D r n DE PROYECTOS Define la palabra de Sintaxis: Descripción: Directiva para la de bit de la palabra de del rnicrocontroladorcon el valor descrito Ejemplo: Esta directiva la microcontrolador. En estecaso: elegida cl proceso No hay protección de código N o se habilita Watchdog Se habilita el Powcr-Up Se utiliza el osciladorpor cristal de cuarzo. Es importante resaltar que no con (esteerror es muy se inicia en los dos subrayados (guiones noveles). Define datos en la EEPROM Sintaxis: DE .. Reserva de de 8 cn de datos. Cada expresión reserva un valor de 8 Cada carácter de una guarda e n una E Ejempli ; a dirección O de la EEPROM de datos. DE Ejempli #DEFINE
  • 610. IDICE PRINC~PALESDIRECTIVAS Eh'SAMBLAüOK hlP.4SM 593 de la 210011. de i~~uestra D-1, que comspoi~de veiitana IA dc usuiujo. 3s latos. INCLCTCE -FliFaiA.Iix ; bzf:#>#,-~mm:> mlv r - 2 : ~ -l , > ‘ LEL'J,:V O::ll,. :vt=,'J?: BEID< qpr, i i ~ : l d a C O L , eipoiirl., A 1, , i l I e,-,. n J.. 1- rr.r.h EFJIDn rle mlitos. Ft,i:ania PBFRUM 04. Version 2.5. , O x C I i 1 1 DO@@ 50 71 6F 61 7 2 "1 6D 20 45 4F 4D E E P R O K /Vd Figura I Memoria EEPR(2iZ.Ide U . S U J ~ ~ C I c~~J.T~u&,T <nam& [c.string>] (Dc$ne TextSirli,~titir l¿onLoliell define una cadcna substituci8n Doridequiera que <numt'> cnciientre etis:~rnbl;idor <stritag>. directiva eiiiiila el ANSI ' estándar #deJne. método esti disponible ser iisado PORTI39 sc conecta linea. Enciende LED. #DEFIN Banco0 STATUS,WO ; Banco #DEFNE B m o1 STATUSJ1PO ; al Baiico 1. D. DEL 1 Como en este caso el origen directiva está en la dirección que coincide con el inicio de la EEPROM usuario, se obtiene el resultado que se en la figura con la de memoria EEPROM 1 . . 15-08-2003" 61 45 50 52 5 F Programa D- de la directiva DE (guiones #DEFINE Define una etiqueta de sustitución de texto EPROM Sintaxis: #DEFINE Descripción: a Esta directiva de de texto. sc en el se sustituirá por Cada rda en una Esta 'C como Definir símbolos con este no para por el MPLAB. Ejemplo 1: #DEFINE LED ; El LED en esta 'ROM ... bsf LED ; el Ejemplo 2: E Accesoal O. bcf bsf Acceso
  • 611. 594 MICRVL'ONTROLAOOR PIC 1hF84. PRC)'EC?OS m I < ~ - M A Banco0 bcf línea Banco1 bsf LED [<labe]>] <expr> <expr>, ..<eqir>] (Dqfim Tubku) dircctiba duraritz fase cit. instnicciories rr,thi4 ciipihilo DT 0x .15 insirucciones: rctlw Ox6D :('m' en retlw ; Ox6E ASClI) 0 1 ; :('S' ASCII) wtlw ; 0x6A ;(:i' ASCTT) rctln 0x65 0x10 OxOF ; IF ELSE Descripcibn: (BrgiriAlternotive A . ~ s e m b ~ Block fo IFI 1F para camiiio a1 ciitidición ELSE deritro bloque » inacrti. iF. Sintr Dpsc Sint 1 Sinta DESARROLLO DE LED ;Configuraesta como salida LED ;Enciendeel diodo Definetabla Sintaxis: DT [, ... Esta genera la ensamblado tantas como caracteresu octetos la acompañen.Se explica cn 1l. "mensaje". 1 0 , Esta directiva genera los códigosde operación de Iris siguientes ASCII) 0x65 ('e' en ASCII) retlw ;('n' en rctlw 73 0x61 ('a' en en ASCII) para retlw en ;('e' en ASCII) retlw retlw (15 en decimal) Empieza bloque alternativo de un Sintaxis: Usada junto con la directiva proporcionar un alternativo de ensamblado si evaluar la es falsa. puede usarse de un de programa en una Ver directiva
  • 612. !fine ilternativo : END (EndPYOLTU~I B1oc.k) fin di: producc error. línea STATUS,RPO programa ejecutabie ; ENDC Descripcihn: {Eiirl C'OIM'ILIIIIBIoc-k) ENDC firial 1 fin lisla. klii-rii- dii+ectivn ENDlF 1 ENDlF {End Condicinnd Assembly Esta ciircctiva niarca c1 cxtrcmo puede usrine dsritrci ~iti hlirar directiva LF. Fin de bloque de programa Sintaxis: END Descripción: tabla Esta dircctiva indica el final del programa y es obligatoria. Si se detecta el fichero y no se ha encontrado la directiva END sc Todas las líneas posterioresa la en la que se encuentraesta directiva se ignoran y no se ensamblan. Ejemplo: Inicio bsf ;Comienzael ... ... END Fin del programa Fin de un bloque de constantes Sintaxis: ENDC sc cscribc al para indicar el de la de una lista de constantes CBLOCK. Debe escribirse Ejemplo: la CBLOCK. Fin de un bloque de ensamblado condicional Sintaxis: Descripción: Block) de un bloque condicional de ensamblado. ENDIF de bloque de programao en una macro. de Ejemplo: la un bloque dc
  • 613. 5% MICR0CC)NTROLADOR PIC16F84. DESARROLLO PRCWEC'iOS v IRA-MA ENDM Descripcihn: (Etlci' Macro Dejiriition) Tcrmina tina coinenzada MACKO. inacros capitulo <label> <expr> (l3gfine ciii A.~.teria blw Ciinstanr) Esta dircctiva asigna ain identificadcii ~Iube/>. valor expresiijn compuesta crimplcja sc desee. el identificador dcscribe de niaticra significatirva proganiador. Sucle cotistantes dircccioiies Asi, fácil "ValorCarga" vaIor tle niemoria, quc e1 nmerico etiqueta"ValorCarga". "c-text-string>" (Issuea p l Error Afe,s.sage) emir idintjco dcl ensamblador el psuceso de ejecuta aparcct: cliííica El dcl eiitrecornitlado tcner 80 caracteres. 1 La 1ogi cero i cxprcsib fals d Ejemplo: DE Fin de la definición de una macro Sintaxis: a defiición del macro con la directiva Las se explican en el 16. Mirar la directiva MACKO. Define una constante para el ensamblador Sintaxis: EQU Descripción: pemiite el valor de a Su puedc ser el resultado de una por otros identificadores tan como Generalmente, es un nombre que el valor más para el utilizarse para definir y de memoria. es más recordar que recordar el 147 o, en el caso dc una dirección PORTA 0x05. ;Asigna valor de 147 a la Emite un mensaje de error Sintaxis: ERROR Descripción: Esta directiva genera un mensaje dc A cualquier error MPASM. Si ensamblado esta directiva la pantalla de error. texto mensaje debe ir y puedc hasta Sintaxis: de la se falsa Ejemplo Ejemplo En memoria
  • 614. p". ? 1 C M-.Mi , R A - ~ I A APENDICE D:PRTNCIPAI,ESDIREC:TIVAS ENS!L~ULAUOR rnacro C'hequeoError MACRO 1 Argumento1 % SS : ERROR "emir-c hrckhg-Ol argumento fuera efinrlion) CRO. Liis 1 ejemplci directiva 1F. IF iblador IF <expr> kn,~fa~rfl (Begin ConditionallyAssemhled C'oJeBlvck) I 'uhr~l,. C'umienzo cjecucihn de bloque cnsarnblado. .;t:tpr;- -irlores ciidigu ii~inediato iF msariiblara. tas itistnicciories siguientes sc saltoii ELSE 0 ENDIF. anc.r;t tiiis evaliiación coi-isidcradesde vista :cioncc lógica evaluaci8n exprcsjon M 1 c1caso i se IF cipcra expresiiin ( h e ) devolver ralsa @se) cl 1 Verjinn 100 ; rnovlw h O A rnovwf io-l ELSE :rror del [a ,ner movwf io-l ENDF Eri e1 ejemplo "FinTahla" di: tiicmona OxFF encambiador emitiri FinTabla IF (FinTabla>OxFF) "iCLilD.4DO!: superado tam;iiru de pigina & h4ESSG byks funcioiiarb ENDF DEL MPASM 597 Ejemplo: Argumento IF Si el argumentoestá fuera de rango el está de rango" ENDIF ENDM Otro se describe en la Comienza un bloque de código condicional Sintaxis: ... .... ENDIF Descripción: un condicional dc Si es Su dc verdadera el al sc En caso contrario, tan hasta encontrar una directiva una directiva La de una expresión que sea cero se el punto de de dc la falsa. La de una que resulte cualquier valor distinto de cero considera como verdadera. La directiva con el valor lógico dc una expresión: una verdadera garantiza un valor distinto de cero, y valor cero. Ejemplo : JF = Compruebala versión actual error rnovlw 0x01 Ejemplo 2: parece hasta siguiente si la etiqueta de programa mayor de el ...... se localiza en una dirección un mensajedc error. ERROR Latablaha el la los" "primeros256 dememoria ROM. NO correctamente."
  • 615. 598 MlCROCCiNI~ROLACiOK PIClbF81.DESAMOLLO PROY $2 R A - ~ I A INCLUDE I MCLUDE <<include-filv> INCLTDE "<i nclude-tile>" (lncludt.ridditionul Soutce Filc.) código efectci igi~al del archiko ínclude escrito direciva INCLUDE. Sc perniitcn rlivdesdc anidamicnto. <inclzrJeJile> cntre (" ") o simbolris y, "menor >). ficheru includc canino. 21 fiiente 11 directorio eii cripitiilo 10. by 1 ; INCLUDE <P16F84A.iNO archivo estan definídostodos regisiros &l 16FWA. INCLLDE "P16FY4A.INC'" ;Tambih se defmir fomia. INCLLDE "c:sysisysdefi.inc" ;Defie "sydefs"con kaywtoria. INCLUDE <regs.h> :Dafme "rcgs.h" L I S [~listoption~, ..., [<listuption>] 4 , I > (Lisding ilpliuns) / ' m i LlST tiene sobrc proccso sobre MES% del listable scgiin de "MFASM L'SER GUJDE" De más procesador scgúti siguientecieniplo. I I I Descripcihi 1 f i P-P16F81A ; PIC16FMA cdmoprocesador I Ect; i el 4 caractcrcs. 1 y 1 1 DE FCTOS - - - Incluye ficheros fuentes adicionales Sintaxis: o Descripción: El archivo especificado se lee como fuente. El es que si el texto entero se pusiera cn el lugar donde se ha la seis El puede escribirse comillas entre los de "mayor que" que" Si se especifica totalmente el camino del solo sc buscara en ese Si no se indica caminoel orden dc la búsqueda es: el directorio activo actual, en segundo lugar directorio del archivo y por último cn el ejecutable de MPASM. Sc explica el Ejemplo: ; Define el donde ;los PIC puede de esta su sin trayectoria. Opciones de listado , , Sintaxis: LIST , Descripción: La directiva efecto al de ensamblado y el formato fichero de salida una larga lista opciones que se detallan en el manual 'S y en la ayuda del MPASM. todas la Sintaxis: importante es la que indica el utilizado detalla el Ejemplo: i LIST El utilizado. t finalizar !
  • 616. que :rito la dimiva sirnbolos i n o fichero : biisqiieda S ;obre forniato : todas d o . I ~ A - M , ~ APENDIC.~ L) I)IRECTTVAS DEI- AUOR MP.4SM Macro <labe12 MACRO [<arg>, ..., <arg>] inacro iin cuiijunto instniccioncs asigna fiietite uswRo nombre y to&s instnicciones quc coinponm insertadas el cl pa~te pruprna. explica zti eii 16. rnacro siiiede sigwentc: NombreMm Instniccibn- 1 insenicci61i-2 Dotide "Nombrehíacro" inacro quc cmpleará cn las instnicQcines estén definidas cste noinhrc. forman cucrpo ciial c s ~ h todas instniccioncs C'adri que se eniplea "NoinbrehIacro" cn propania irnplicii insertcn tiidas instruccion~ l SCi "<rnessage-tcxu" Esta pm~iite dcfmidos usuariii aparcccn finaiizür cl eri listablc *.list. Puede tener PRINCIPALES ENSAMRI adicionales MACRO Declara la definición de Sintaxis: al si el texto os dc del la es: nte y por ultimo de listado el detallan en el e la mas e ejeniplo. Una define dc a las que se les un nombre. Posteriormente, el programa del puede incluir el de una rnacro las la quedan en momento de realizar ensamblado formando del Sc detalle el capitulo Ejemplo: Una estructura ser la MACRO indica el nornbrc de la posteriormente se el programa fiientc para incluir todas que bajo Las directivas MACRO y ENDM el dentro del incluidas las deseadas. vez el fuente, que se las que conllevedicho nombre en el programa MESSG Crea mensajes definidos por el usuario Sintaxis: MES directiva crear mensajes por el que al proceso dc ensamblado y el fichero hasta 80
  • 617. bU0 MICROCONTKOLADCiR PIC 16384.DESARRIALO DE PRO' LC'TCiS RA-MA MmsajeMacro M C R O MESSG "mssgmwro-001 el " ENDM Hay iitrcis 1F. ORG las [<label';.] ORG <expr> (Set Prog-um Originj programa ít:rpr> Jimctiva. especitica <labelb Ic viilor <tt~pr>. ORG cspecifcadu gencracion c6digo dircccion cero. ;j 4 1 comienzo goto - - ;Vector goTo SevicioIntcmi~ion ht-1 ORG h 2 0 lnt-2 In'ltOx10 ;Vectrir aquí. ;Vecmr a@. E Ejemplo: llamada sin argumento ejemplos descritos en la directiva Origen de instruccionesdel programa Sintaxis: Descripción: El origen del Si se L a una 'comienza la dirección indicada se da el dc la del comienza en la en la de la Si no hay ningún Ejemplo 1: ORG ORG O Inicio 4 ; Direcciónde del programa de interrupción. Ejemplo 2: SO va ORG 30 va
  • 618. rograma expr> hay ningl~n ESPECIALES -.. -- 04h t INOF 80h OPTION 81h - 82h 2 YI 5 - 84h 3 TRlSB -- B7h 'E EECONI BBh '", €€CON2 89h Cij 8Ah INTCON 8Bh IMPLEMENTADO Figitu E-I Memorzu R4 PIC16F84 REGISTROS de la o BANCO O BANCO E PCL STATUS STATUS 83h FSR FSR PORTA TRISA 85h 86h . a PCLATH OCh 8 MAPEADO EN BANCO O NO FISICAMENTE. (SE LEEN COMO"O"). M de datos del
  • 619. 6U2 hiICROCONTROLADClR PlC16F84. DE '8; ICAMA ticr csl-rito Rl disp~nib mznioria cl re; (T alimcntai PCL PICI6FX8 corrcspot; RAh4 O21 c rcgistro P alimeni Rcgi..~h.os (Speciaibitnclinn Rcgisters) DESARROLLO PROYECTOS con los con aplicada microcor escritos la Tabla E-l del SFR.
  • 620. ui rcgistro tisico) 4 fisico) - F l i lineiic Pucrtri O O h Eisicamcntc. del determinará cl seiíalado. O1 (Timer Tempori7adorlcontador bits. al KA4IlOCKi de acucrdo dcl del microcontrtilador. capitulas conten (TMRO) b'xxxxxxxx'. PCL (Progrcdm Counter byte). PIC16F84 bits. corrcspondcn del implementado RAM (y Bancol} leidos con PCII inicializa (PCL) b'00000000' b'00000' PCH PCt 7 5 7 PCiAT; <4:0> ' k AL" ComposiciOn d ~ l PC PCL 8 4 : 3 > K f i q r u Compu,~iciÓn del PC ímtmcciones "cal1 "goto" Banco O, 80h Banco 1 Registro para el direccionamiento indirecto de datos. Éste no es un registro disponible Utiliza el contenido FSR para seleccionar indirectamente la memoria de datos o RAM del usuario; la instrucción lo que se debe hacer con rcgistro El direccionamiento indirecto se explica en el capítulo 16. h Banco O O). de 8 Se incrementar con una señal externa aplicada pin o a una señal interna proveniente reloj Se explica ampliamente en 15 y 18. Al conectar la alimentación su ido es desconocido, = 02h Banco O, 82h Banco 1 Low Byte bajo del contador de programa, figura E-3. El dispone de un contador de programa de 13 Sus bits de menor peso a los 8 bits rcgistro PCL, en la posición de memoria 02h duplicado en la posición 82h del por lo que pueden ser o un registro escritos directamente. Los cinco bits de mayor peso del PC corresponden los del rcgistro que no pueden ser leídos ni escritos directamente (figura E-2). Al conectar la alimentación se a = y (PCH)= 8 o , resultado PCLATH Figura E2 en instrucciones con como destino PCH PCL 12 11 10 7 o 2 PCLATH PCLATH E-3 en " y del A
  • 621. - - MII'RIY~OY'I HOLAUOR PIClbFR4 DEShRKOLLO RA-MA - - 1 STATUS estado bits seleccibn cit. registro tlags I b'0001 lsxx'. Regisrro de esdudo n (Cany bitJ. de cl actila presenla acarreo desde m i s que operacibn 1 1 1 : . (25Sio), maxinlo bits. dctalle y quc e1 C = : 1. sjgtiifica q i ~ z (Digit Cany). 4" nienos peso. operaciones aritméticas el nibbles Z (zero). "1" cumdu dc uperacion IOgica Z tlistiiitu = l . última + /PD (Power Doii'n). cuiisuiiio. siilo nci el iisiiario. cl consunirl. slcep y /PD 1. VD,, clvwdf. m0 (Timar Out). temporizacibn iin ct actj~a cl finalizii teniporizacion. Wuichdog Tlmer. ITO Watchdcig. ITO 1. VD, noitiial) ejctiitar clrwdt sleep. RPO (Regist~i- Bmik Select cl direccionamiento batico RPO I el FSR 1 Scli: direcciona contenido 1 1. alimentacic Puei c 1. interrupcio entrada. (EE, 604 DE PROYECTO$. STATUS 03h Banco O, 83h Banco El registro de estado o indica el de la Última operación aritmética o lógica realizada, la causa de reset y los de de banco para la memoria datos. A los bits del de estado se les suele denominar o bandera. Al conectar la alimentación su contenido es (STATUS) = INDF se Tabla E-2 STATUS C Flag acarreo en octavo bit, En instrucciones de suma aritméticas se cuando se el bit significativo del resultado, lo que indica el resultado ha desbordado la capacidad del registro sobre el que trabaja, es decir. el resultado de la ha superado el valor escribirse 1111 1 que es el valor que se puede representar con 8 En el capítulo 8 se explica en Ranco su funcionamiento: o C = O. En la suma significa que no ha habido acarreo en la resta resultado ha sido negativo. En la suma que ha habido acarreo y cn la resta cl resultado ha sido positivo. o DC Flag dc acarreo en el bit de En se activa cuando hay un acarreo entre bit 3 y 4. es decir, cuando hay acarreo entre los de menor y de mayor peso. escribirse Flag de cero. Se activa a (entrada o aritmética o e1 resultado una es cero. Banco o = O. El resultado de la ultima operación ha sido de cero. o Z El resultado de la operacion ha sido cero. Flag de bajo Es un bit de lectura, puede ser escrito por Sirve para detectar modo de bajo o /PD = O. Al ejecutar la instrucción entrar en reposo. o = Tras conectar la atimentación o al ejecutar Flag indicador de fin del Watchdog. Es htt de sólo lectura, no puede ser escrito por usuario. Se en "O" cuando circuito de vigilancia Watclidog la Sirve para detectar s i una condiciónde reset fue producida por el = O. Al desbordar el temporizador del o = Tras conectar (funcionamiento o al las instrucciones o o bit). Selección del banco para directo. Señala el de memoria de datos seleccionado. que accede o = O. Selecciona el Banco O. (EEADR) o RP l. Selecciona Banco 1.
  • 622. 1 I >anderas. 1 1 les lificativo 1 xdo bits. ra, piiede fr. ig. Y' cuando W1 (Register Bunk Select PlC16F84. 'm 1RP1. en el PIC16F84. FSR 04h O, i lector INDF seleccionar direcciunamiento (FSR) b'xxxxxxxx'. I I I O5h entrada/salida RAO RA4). E1 tratara 1. RA41TOCKi servir de alirnentaciiinaueda confi~urado e&da. i. 1 PORTB 1 cntrada/salida bils @ines REO RB7). tratara pincs TRiSB csta 886 1. intempciones 08h (EEPROM Data Hegister). alirnentacion (EEDATA) EEADR 09h (EEPROMAddress Register). direccion que bit). No utilizado en el Banco No utilizado aritmética o memoria de Banco 84h Banco Al Se de registros para direccionarniento indirecto. En asociación con el registro sc utiliza para indirectamente los otros registros disponibles. El Bit O indirecto se explica en capitulo 16. Al conectar la alimentación su contenido es desconocido, = PORTA Banco O de suma del del registro Puerto de de 5 bits (pines a puerto A puede leerse o el valor escribirse como si se de un registro cualquiera. El registro que controla el sentido u con 8 (entrada o salida) de sus pines se llama TRISA y esta localizado en la dirección 85h del Banco Su pin también puede entrada al Timer O. Al conectar la resta que el como resta que el 06h Banco O operaciones ccir, cuando Puerto dc de 8 a El puerto B puede leerse o escribirse como si se de un registro cualquiera. El registro que controla el sentido (entrada o salida) de sus sc llama y localizado en la dirección del Banco Algunos de sus pines tienen funciones alternas en la generación de (ver capitulo 17). Al conectar la alimentación queda configurado como entrada. no o. EEDATA Banco O Contiene los bytes que se van a escribir o que se han cl leido de la EEPROM de datos. Al conectar la su contenido es desconocido, a detectar si Es un bit = b'xxxxxxxx'. Banco O ejecutar las Contiene la de la EEPROM de datos a la acceder para leer o escribir. Al conectar la alimentaciónsu contenido es desconocido, (EEADR) = b'xxxxxxxx'.
  • 623. 606 hf1CRUCONTKi)LAWR PIChFF6. DESAHKOLLO YROI'FL'TDS : - % I C ~ h$. PCLATH o A ~ 0 (Pc Latch Hágh). toma indirecta s parte alla progamas instrucciories, la1 iiescrihc figura 3. concctar aliinentacibn resctea (PCLATH) b'---U001)O'. INTCON OBh 8Bh Banco (fntc~.rupis Cdtiriwl Regkrer). p a r a coiitrol intcmpciones. dcl de inter-pciones. í'onticiie R que se rriucstran cuales acmn flags señafadores iiitemipcion como auturizacicin prodiicir intcrrupciun. conectar conteiiidu (TNTCON) b'00Ci00110.u'. Tublu Registrode c'otiluol dt'la.<init.n.uyr1ioiws INTCOfi RBIF (RBport changt' Irifc.r*ruyt Flag). de estacla 1;1 inremiipción RBI yuc se interriipcibn por carnbiu dc dc 3 RB7. RBlF= R134 estarln RBlF lineas RB7 RBI INTF (Externa/Ifitewupr Flag hl!). Flag cxteina s c Iia ~iroducido uiia iiitcrrupcibn travks pin RBO,"INT. IhTF = iiitei-rulición externa por el RDOilNT. INTF = iiiterni~icibn p r Iinea RHUi'lIJT. (Debe borrarsc p o r suftwarc). c TOIF {Th.fRO Overflort* It;lci.mpt FJng Iiir). dc cstado dr interriipcirjn prodiicida cl qlie prodlicido lina interrupr'irjti del Tiiner 111' (FFh) h'00000000' (00h). TOlF = 0.E1 TOlF = 1. ha desbordado. bcirrarsc suthvarc). RBlE (RB Pord Changc lnteruupl Enahlci. Habilitacioil dc interrupcivn RBI. b'iag intempcian Ins Ijneas RBTR R4 del B. RBLE 0.Interrupcih RBI deshabililada. RBIE Intcmpci6n RBI habilitads. DE Banco Registro qiie permite acceder de la del contador de en algunas coma se en la E- Al la se Banca O. 1 Registro el de las Es el encargado manejo las los bits en la tabla E-2. de T o s unos corno del estado de la y otros bit de permiso o pan que se pueda la Al la alimentaciónsu es = E-3 Flag de . Indica ha producido una estado de cualquiera las líneas RR4 o O. Ninguna de las entradas RR7 a ha cambiado de o - 1 . Cualquiera de las a del Puerto B ha cambiado. (Debe borrarse por software). de estado de la interrupción INT. Indica que a del o O.No hay piri o 1. Ha ocurrido uiia externa la Flag la por TMRO. Indica se ha por desbordamiento O, es decir, que ha pasado de b'l 111 1 a o TMRO no se ha desbordado o El TMRO se (Debe por la que autoriza la por cambio de estado di: . Puerto = o = l .
  • 624. parte - inco iiin itadu dc mbiadu. [N?'. -ri!pción i i r i (FFti) r'IL$.MA APÉNDICE E: ESPEC1.4LES (Externa1 1 . W Enablt~bitl. Habit interrupciiin externa que autoriza intempcihn RBOIINT. Interi-upciiin N T INTE 1. TOl J Y I I ~ ~ I ' U P ~ Enahle hitj. Habilitación desbordamiento Tirtier ri TOIB Intempcion deshabilitada. = 1. TOI (EEPROM Write Intt7rrupr Enabk). iriterrupcion EEI. intcmpcion u11 PlC EECON Internipción EEI deshabilitada. Internipción EEI GIE Intermp~Enrrli/~>c.). permiso intempciiin. aiitoriiaticatrietitc interrupción cvitar prodiizca intcrrupcihn re@e, GIE " ". No autoriza niilgun GIE l . interrupcihn. "1" aiitumaricamctitc instruccion resJit7. OPTiON h 1 i-iiiiltiple, misión gobernar Algunos microcotitroladores PIC ~nsmccion denomina& option, ello. fabt.icatite Mi~~rochip iiombrz registro. Así ficliero P16F84A.INC' non-ibraccittio OPTION-REG. concctar (OPTION-REG)= b'llllI111'. Tohku OPTIONREG PS2:PSO (Prescaler Rafe Select Prescaler quc de segiin 1 REGISTROS 607 alta figura E- RBI. ado. primera. Al retornar de la con una instrucción vuelve a activar poniéndose a 1 o GIE = O. interrupción de tipo. o = Autoriza cualquier tipo de con la el bit Se pone a se 81 Banco INTE itación de la INT. Flag la externa a través del pin o INTE = O. deshabilitada. o = Intempcion INT habilitada. E (TMRO de la interrupción TOI. Flag que autoriza la interrupción por del O. = O. TOI u TOIE Interrupción habilitada. EEIE Complete Habilitación de la Flag que autoriza la por escritura completada de byte en la EEPROM dc datos del (el flag EEIF se encuentra en el registro 1). o EEIE = O. o EEIE = 1. (Global Se borra para que se habilitada. Flag de habilitacion global del de cuando se reconoce una ninguna otra mientras se está atendiendo a la Registro de configuración aunque su principal es el externa comportamiento del TMRO. tienen una también por el recomienda darle otro a cstc en el de definición de etiquetas se le Al la alimentación todos sus bits se ponen a "1", por a E-3 Registro bits). Bits para seleccionar los valores del o rango con el actúa el divisor frecuencia, la tabla E-5.
  • 625. (Prescaler Assignment hitj. Asignacioti El entre ThlRO es aplicar frrcueticia = divisor (TMROSnitrr-eEdge se lec^ m = cad;i tlaiico RA41TOCKI. 1. cada scñal RA41TOCiU. (TMROClockSouvce S~lt7t.f bii). 1. intrd~icidos pin RAWTOC'M tTMRO (Inrrrrupf Selecr bit). flarico interrupcibn rNT. INTEDG RBOIINT. RBOIINT. IRBPU, (Rmislor Purt Pul/-Up Enclblc rcsjstencias hll-Up IRBPU = /RBPU de Pull-Up Puerlo de pin salidii. "1" hacc A! quc cl disponc bits. bits potien "1", 1 1 '. PSA del divisor de frecuencia. Prescaler es compartido el y el WDT: su asignación mutuamente excluyente ya que solamente a uno de ellos se puede el divisor de frecuencia a la vez. o PSA = O. El divisor de se asigna al TMRO. o PSA 1. El de frecuencia se asigna al Watchdog. TOSE bit).Selecciona flancode la seña!al TMRO. o TOSE O. TMRO se incrementa en ascendente de la señal aplicada al pin o TOSE = TMRO se incrementa en flanco descendente de la aplicada al pin TOCS Selecciona la fuente de señal del TMRO. o TOCS = Pulsos a traves del como contador). INTEDG Edge Sclector de de L a o = O. Interrupciónpor flanco descendente del pin o INTEDG = L . Interrupción por flancoascendente del pin B bit). Habilitación de las de del Puerto B. o O. Habilita las resistenciasde Pull-Up del Puerto R. o = 1. Deshabilita las resistencias del B. Bit 7 E Registro de configuración de las líneas del Puerto A. Es el registro control para el Puerto A. Un "O" en el bit correspondiente al lo configura como mientras que un lo como entrada. igual Puerto A, solo de 5 Al conectar la alimentacióntodos sus se a (TRISA)= b'--- 1 11
  • 626. :' RA-MA aplicar c l ' NRO. la 5adiir). 4RO cutriu r RA-MA AP~NDICE KEGIS'IROS 86h 1 Rcgistro de configmcion Ptierto registro Jc cl Puerto Uii bit corrcspondietite quc "1" Ici ha-c Al conectar alirnentaciiiri ponen "l".(TRISB)-b'11111111'. í (EEPROM L'o~rh.01 Register 1). para coiitrol rnemr~ria dimcntación b'--4~001)'. Tahlu Rt.gisiro de ronlrolde dubox IWCON (Read Controi EEPRIIM. ponerlo en "1" lectiira Estc "0") h~rdware autoditicamente a[ finali7ar la Iechira de RD lectura borra tiardware. tWritc1 Bit coilti-o1de escritura eri prinerlo uwi escritura uri en "0") hardwñre autciinaticaniente vez de tia 1' WR inicia Inicia hai-dware. (EEPKOM WrifeEnuble bir). Prohíbc iiscrjtiira EEPROLl l . la (EEPHOM Writt3 Error FIug Bit). cnor posiciona "1" cuando temiria prernaturamcnte ciialquier condiciiin de rcsct. WRERR l . operacibn escritura prematurariientz. EElF Wrile Op~ratiunInlernyf Flag BIEJ. Flag dc cstado dc iiitzrrupciijn finalizaciiisi escritura éxito aperacion byte E: ESPECIALES 609 Banco de las líneas del B. Es el control para A. "O" en el al pin lo configura como salida, mientras un corno entrada. la todos sus bits se a EECONI 88h Banco Registro cl de la EEPROM de datos. Al conectar la su contenidoes (EECONI ) = E-6 la EEPROM de RD Bit). Bit de control dc lectura cn la Al se inicia la de un byte en la EEPROM de datos. bit se limpia (se pone a por L a posición EEPROM. o RD = O. No inicia la lectura de la EEPROM o la misma ha terminado. o = 1. Inicia la de la EEPROM. Se por WR Control Bid). dc la EEPROM. Al en "1" se inicia dc byte en la EEPROM de datos. Este bit se limpia (se pone por una Ea escritura la ¤ EEPROM terminado. u = O. No la escritura de la EEPROM o la misma ha terminado. o WR = l. la escritura de la EEPROM. Se borra por WREN Permiso de escritura en la EEPROM. o WREN = O. la de la o WREN = Permite la escriturade EEPROM. WRERR Flag de en la escritura. Se a la operación de escritura dehido a . o = O. La operación de escritura se ha completado correctamente. o WRERR = La dc ha terminado (EEPROM por de en EEPROM. Señala el final con de la de escritura de un en la EEPROM. uencia. El nación es e señal le la señal 1TMRO.
  • 627. hliCRKON~CR0LADOK PICl hF84 DLSARROLLUDE PROYEC'I'US I , R ~ - M A escritura de 1. software. 5, (Unimplcmentcd). implemcntados fisicatnente. Sc {EEPROM C'untrol Register 2). registro no est5 implemeníadci fisicamente, que intenta siis ccinio emplca durante el interfercncias largo prcciva desarrollo. CONFIGURACIÓN PIClBF84 dispotie configuracion escribe microcontrolador modificar dwantc men~oria programa 2007h. Tabla Regisbu coi$girroción (ConfigwrationWorrl) FOSC<1:O> (Flag Oscilntor Selecdioral. Selecciiiri -00. Oscilndor (32 kHz) FOSC=01.Osciladorestind;lrXT( 1110kHz-4MHz) ( MHz MHz) 1 cle (Wutclrltug EnaAle). Bit dcl Il'atchdog. deshabilitado. = 1. cPori'rr-upTimerEncrhlcl. Activaciiin temporizador Power-Up. TemporizadorPoww-Up PWRTE= 1.TernporizadorPci~u~r-Uphahilit;ido. ~C'ode~ot~~~dionbit~BitdeprotecciÓndeciidigo. de cstá lecmas VPP D 61U o EEIF = O. La operación de la EEPROM no ha terminado o no comenzó. o EEIF = La operación de escritura de la EEPROM ha terminado. Debe borrarse por Bits 6 y 7 No leen "O". 89h Banco 1 Este por lo es imposible leerlo (si se leer, todos bits se leen ceros). Se como dispositivo de seguridad proceso de escritura de la EEPROM, para evitar las en el intervalo de tiempo que su REGISTRO DE El de una palabra de dc 14 bits que se durante el proceso de grabación del y que no se puede la ejecución de un programa. Dichos bits ocupan la posición reservada de de E-7 de del tipo de oscilador: o FOSC de bajo consunio LP kH7- 200 o o FOSC= 10. Osciladorde alta velocidad HS 4 - 20 o FOSC= 1. Oscilador bajo coste RC. WDTE de habilitación u WDTE = O. Watchdog o WDTE Watchdog habilitado. PWRTE del o PWRTE = 9. deshabilitado. o CP o CP = O. Toda la memoria programa protegida contra indeseables.
  • 628. -ainente, Sc T20-SE ficar latia -1 . - -- - Zocaro PIC tA Pines VPP D TxD D 'dPP DTh TxD TxD I 4 -L & 2-lo PIC Ptnas - - - - - Fi-quraF-l E~qia~nzu elt'ritico ros). PROM, lo. GRABADOR escribe odi de . Data 1 1 0 A 1K5 R4 k CCK 28
  • 629. de Cara Figura F-2 Im11w.so quc LlSTADO D3,DJ 1N414Y A-:. .<. a-> -2 D5 5Vl %W 1 - : - - - - : - + . . : * : . ;1 Zenerde L/zW 1 / % : : & y JI Zocalo 4 18 i pines 1 Conector hembra 1 Ql,Q2 BC547 ' I 43 BC557 s . 1 100Z 1 R2 IOk F i g i r r u Grabador TEtO-SE Cara componentes de pistas Placa de Circuito u DE COMPONENTES: Zénerde -- +>m -< . . D6 8V2 8 pines J2 Zócalo pines 53 Zócalo 28 P1 DB9 I R F-3
  • 630. ASCII acrhniinci tic .4rm~rll'rltlStund~rrdCede for Iraformadion Jnb~rchange Normalizado Arnet.iclirio liara de E1 ASCIl sistcrna en los digitales esquema níiriieros. signos de dichos dipitales, microcontroladores, ordenadores inforrnáticosintercambien infomaci8n. ASCIl cstá coinpiiesto quc est;indaiízado extetidido de L 4 Cbdiga estiindar. E 1 bkico, estandar. para 1211 cbdigos cmctercs desde hasta (OOh niismcis eri los Norn~dtnentc estos Cúdigo ASCll So1110s (8Oh FFh uii aciierdn que los intercaiiihinbles estándar. caracieccs ASC'II cstandar prirneros cbdigos cotitrol coniunicaciotics 1 es el (Código el Intercambio Información). código cs un de rcprcsentación utilizado sistemas (incluido ordenadores) que utiliza un de codificacion que asigna valores numéricos a las letras, puntuación y a otros caracteres. Al normalizar los valores utilizados para caracteres se logra que, en sistemas y programas Dado su origen en el sistema binario, el código por 256 valores cstan divididos a la mitad 28 valores cada uno. en el conjunto y el conjunto ASCII conjunto ASCII cada codigo, lo que da como resultado 127 hasta 7Fh hexadecimal). Son los operativo., y lenguajes de programación. o utiliza 7 bits de O todos sistemas códigos se representan con 8 bits, poniendo el octavo bit o MSB a cero. extwdido. caracteres del 128 hasta el 255 al hexadecimal) y no hay respecto a ellos. Se asignan a conjuntas de caracteres varían según fabricantes y programadores de software. Estos códigos no son entre los diferentes programas y sistemas digitalcscomo los caracteres ASCII En el conjunto de se diferencian dos grupos: Códigos de control. Los 32 valores (del O al 31) están asignados a los de de y de impresora (caracteres no imprimibles,
  • 631. 014 Xi II'R( X7C)KI'ROI.AIIOK P-C:II,t$4.DESAKKOLI.0 CIE PROYFC'TOS CI K<-L~A rctroccso, retortiu dt: ciuru tabulacion) para toma qiiz intbnnacibn es ti-ansfcrida dcsde uii ordeiiadcir otro n iui iinpresora. C6digos alfanuméricos. 96 ciidigos rcstaiites (27)siir] cariictercs ASCIl nonnalcs, asignan rnayúscuIas minus~ulas como y empleados controlar la en la a desde ordenador a una Los (del 32 al se a letras y del alfabeto latino,
  • 632. :wdctcrcs :to Iniirici, is APÉNDICE 1IVTER.NET Ka-Ma: ~ww.ra-ma.e? www.ra-ma.com FABRJCANTES wwn .~iiicrochip.com Microchrp Technolr~gy n fabricante microcontroladores PIC. - w~w,dalsem I .com Dal/us S c i n i c o r ~ d - M , componentes elec~bnicos zti www.semiconductorc.philips.co~ Philifa Semic,ond~~cfor,~, Iihro. uww.national.co~Nutinnd Semiconíiuctor. ww fairchildserni.com Fairchild Seniicond~c~~~r. h ~ : / / s h a i ~ - ~ ~ ~ o r I d . c o ~ Shiirp Corpomf ~ c w w . futiiba-rc.corn Futabu, servomotores. ww,v ishay.coni I/ishay Semrcondu~,tors,fabricanle L'N y otros e www.optekinc.com 0p1t.k Tcehnnloky, sensorzs y otros. ~ww.ist>coin.co~n Iscicom Cuqin,ients, opt~acopl~idorcs. Devunlech L.td, para inicrorobótica. i www.h~oi?.com Hi-Twh So@c~re, ~ii'opietarios sobre cl compilador PICC'. ~ww.ccsinfo.comCCLYTrzc~,propie~~osdeIcoinpiladorPCW. www.melabs.com iZ~íit~roEngitreer~rlg Liibs, ccimpilador PICBasic que se H DIRECCIONES DE EDITORIAL o Y DISTRIBUIDORES de fabricante de utilizados el libro. fabricante de componentesutilizados en el w. ion. fabricante del Y70 componenteselectrónicos. fabricantede ópticos fabricante de wwu.robot-electronicl;.co.uk componentes de los derechos propietarios del Pro.
  • 633. 16 MlCROCONTROLADOR lhF84. PROYECTUS DRA-hIA i www.sanitron.es de electrbnicos. i ww.mode1i1nport.com iina dc ticndas www.idm.homepa~e.ciklne~ic.htm www-ic-prog.com S o h a r e Las secciiin www.ccitii~inidadele~u~ni~~s.~~n~ electriitiica. i I~~:!:!pirrci-itial.redestb.es:!c'dstiIIoM h inforrnacion Útil. a it~u:.piclist.com Ciiti niiiclia itifoniiación cnlaczs (cri tis). Soluc ? 6 PIC DESARROLLO DE Distribuidor de microcontroladorcs PIC. También vende todo tipo componentes Distribuidor de servomotores para España. Ticnc útil relación que venden productos de modelismo. ProgramadoresJDM. IC-Prog. paginas Web de la anterior también tienen buenos foros sobrc microcontroladores PIC. Otros foros: AUTORES DE ESTE LIBRO Mucha información útil sobre temas de sobre microcontroladorcs PIC y múltiples ing Progr
  • 634. vende irmas de :iirss PIC sobrc :S APÉNDTCEI l! publicaciiin necesarios complementatins. v.6.40.EXE instllacibn MPLAB IDE vmibn 6.40.0.0 algutiui MPIAB lDE sobre ensainblador - 1 prdgramas todos olursicnes Progiamas rl 1C-Prog rnicrocontroladorzs desarmllado Bonny Gijzen recomendado IC-Prog Ficherua placa dcl grabador TE'IO-SE. 20-5 ticiiico sobre los PDF todo . Tiene una CONTENIDO DEL CD-ROM foros El CD-ROM que se incluye en la presente contiene todos los programas para realizar los proyectos desarrollados en este texto. Hay además otros ficheros de ayuda o Las diversossubdirectonos o ficheros que contiene son: Contiene el archivo MPLAR que es programa de de y archivos en formato PDF con información el MPASM, MPLAB y otros. Los resueltos de los ejerciciosy proyectos. S Ficheros para que es el software de grabación de por y en el libro. para la realización de la de circuito impreso TE E e información componentesutilizadosen el libra. y 1