SlideShare a Scribd company logo
1 of 639
Download to read offline
Microcontrolador PICI 6F84
    Desarrollo de proyectos
1
1   h
        Microcontrolador PICI 6F84
            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 Kemi ro Dominguez
y Lucas J . L6pez Pérez

ISBN 84-7897-600-0, edicidn original publicada por RA-MA Editorial,
                        reservxicis 0 RA-MA Editorial
MADRID. Erpaiía. Derc~hos

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 editor. Prohibida su
                                                       l
repri~ducción parcial o total por cualquier medio sin permiso por escrito del
propietario de los derechus dzl copyright.


NOTA IMPORTANTE
             -     -       -


La inforniacirrn cnnten ida 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 autorizda para venra e n Mkxici<i y todo el continente americano

                       -
Impreso en Mdrico PrintM in M e ~ k o
A mi m yer. Maribrl, por- sic a p q n o ,c.ari,ioy paciencia.
                                                              rk
       .4 mi,v hijos. C'i-istN ra Enrique. mi rnaymfi~cnir liltiyrias 1'slrtis/;rcciones.
                 A n l i PUIJI-CS. Eririque y Sagr~rriu, rc.c.ujiociniieritu a su sacrificio.
                         ~                             cbti

                                                                                    Enrique


                         . mir pudre.^, hgo y demús ppersoncls it~~port~irirta v i h .
                         1                                                ~k rni

                                                                                       Lucas


   A mis dos mujeres, Natalia con la que decidí compurrir mi.? dius *c ,A~icinicii me
                                                                                que
uir7gi.u cudu diu J J . ~ narici y que a sus tre.y oños no deju de quewr rlj~tltf~irrne
                        que                                                          a
                               escribir y progrumor microcon~oladores per.i/L:r.icos.
                                                                    y

                                                                                  Fernando
Capitulo 1: MICROCONTROLADOR PIC16FS4..........................................
1.1 Micrricontrolarlures PIC ...................................................................................
1.2 Alimentación de un PIC16F84 .....................................................................
1.3 Puertos de entraddsalida ..................................................................................
1.4 Oscilador ...........................................................................................................
          1.4.1 Oscilador XT .....................................................................................
          1.4.2 Oscjlador RC .....................................................................................
                                                                  .  .
          1.4.3 Osciladores HS 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 Interruptores y pulsadores .....................   .    ....................................................
2.3 Entradas &@talescon optoacopladores...........................................................
                                                                    . .
2.4 Display de siete segmentos .........................................................................
2.5 Controlando cargas a 230 V .............................................................................
      2.5.1 Conml con relé .................................................................................
      2.5 .2 Control con re14 miniatura en cápsula DIL .......................................
          2.5.3 Control mediante fototriac .....................
                                                             . .........................................
     2.5.4 Conml de potencia con tnac ..............................................................
2.6 Zumbador..........................................................................................................
9.3 Saltos en funcidn de un registro................... .... ............ ............................... ,.,..
                      . "decfsz f,d" . ..... ............... ....................... .............. ...........
       9.3.1 I ~ h c c i o n
                                r



       9.3.2 Instrucción "incfsz f,d"............................................ ....... ....... ..... .......
                .,
9.4 Cotnparacion de registros.. . ................... .. ...... ......... ....... .. .............. ... .. ... ..
                                      . .                     ..                         ..                   .. .
       9.4.1 Comprobar que un registro vale O .................................... . ......,......,.
       9.4.2 Comprobar igualdad enlre dos regismos.................. ..... .... ......... . ....    ...               .
       9.4.3 Comprobar que un registro es mayor o menor que otro....................
       9.4.4 Programa ejemplo..... ..... .................... ............ ...- . ....... ....... .... ..... .. .
                                                                                    ..                   ... ..
9.5 Lazos o bucles........................                          ...........................
                                           ...................,.,.,..,                           .....................
                                                                                      .
       9.5.1 Lazo de repeticihn infinita......... ...................... .......... .. ....... .... ..
                                                                                                   ...            ...
       9.5.2 Lazo con condición de testeo.......... ................................. ...................
       9.5.3 Lazo que se repite un numero conocido de veces..............................
9.6 Programacion y algoritmo.. ............... ......... . ..,....... ..... .. . .. ,.. .. . .. ... ....... ...
                                       ..                                             .. .. .. ..
9.7 Diagrama de flujo ..... ..... ..... ..
                               .. . .. .. ... ... ... .............. -................. ..... ...........
                                                   .    .                            .
9.8 Más directivas importantes .............................. ...........................        .....................
       9.8.1 CBLOCK y ENDC............................ .... . .............................             ..............
       9.8.2 #DEFINE ..................................... .. .....................................................
9.9 Conversionde binarionatural aBCD................................. .. ..........................
                            .............. .............. . .......,..
9.10 Salto indexado .........                                        ........................... .....................
9.1 1 Salto indexado dcscontrolado ........................ .....            .    ....................................
9.12 Prácticas de labamtorio ..................................................................................

Capitulo 10: SUBRUTTN.4S................ .......... ............................... .....................
10.1 Subrutinas ......................     .
                                           .. ......................... ........................... .....................
1 0.2 Subrutinas anidadas.... ...... ......... ..... ............... ................. .. ..... ... .. ......... ..... ...
                                                                                            ..        .
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ón de subnitinas en MPLAEI . .......... ....... ....... ................... ..... .., ....
                                                                                       ...
                  .,
10.10 Programacion estructurada........................... ..                                       .q,.,.............,,,
                                                                          ...qq.....,,,-..........,q,




1O .11 Practicas de laboratorjo ................ ..... . ........ ..... .. .............. .......... .. . .. ...
                                                              .  ...                .. .                         ..
Capitulo 11: MANEJO DE TABLAS .....................................................
1 1 . 1 Tablas de datos en memoria de programa .....................................................
                        -'
        11.1.1 Insmccion retlw ............................................................................
                                      11      73




      1 1 -1.2 Directiva "DT' .......... ...................... ... ..,.,... .., ..... .......,., ,.,....-.......
                                    .....                                      .
1 1.2 M i s directivas.................................................................................................
      11.2.1 MESSG ..........................................................           .
                                                                                ...................................
      11.2.2 ERROR ..............................................................................................
          11.2.3 [FyENDF........................................................................................
XIV    MICRW0NTRC)tADC)R PIC'IbFB4. DCSiiR ROLLO DE PROYECTOS                                                        w nA-hW      -
                                                                                                                                  $




1 1.3 Gobierno de un display de 7 segmentos ....................................................                         162
1 1.3 Practicas de laboratorio ..................................................................................

Capítulo 12: SUBRUTINAS DE RETARDO ................................................
12.1    Ciclo miquina ...............................................................................................
                                                                                                                         169
                                                                                                                                  i
12.2    Medir tiempos con WLAB .................................. ..................................                     171      I
12.3            .
        Instniccion 'hop"..........................................................................................
                     I

                                                                                                                         17 1     1
12.4    Retardos mediante lazo simple .....................................................................              172
12.5    Retardos mediante lazos anidados...............................................................                  174
12.6    Librería con subnitinas de retardos..............................................................                176      I
12.7    Rebotes m los pulsadores ......................... .     .  ................................................     18 1     1
12.8    Practicas de laboratorio..................................................................................       184      1

Capitulo 13: LCD ................................................................................................        187      C
13.1 Visualizador LCD...........................................................................................            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........................ ................................................. 19 1
                                                                 ..                                                               1
13.6 Comandos de control .................................................................................                  192   1
13.7 Conexión de LCD mediante 4 bits ..............................................................
1 3.8 Librería de subnitinas ....................................................................................           194   C
13.9 Visualizacibn de caracteres ..........................................................................                 201
                                                                                                                                  1'
13.10 Visualizacj6n de valores numéricos ..............................................................                     202
                                                                                                                                  1
13.1 1 Conexibn de LCD mediante 8 bits ................................................................                     ?O3
                                                                                                                                  1
13.12 Visualización de mensajes fijos               .....................................................................   204
                                                                                                                                  1'
13.13 Visualización de mensa-iesen mo~iniiento                        ...................................................   208
13.14 Prkticas de laboratorio ......................................................................... 209
                                                                                                                                  1'
Capítulo 14: EEPROM DE DATOS ..................................................................                          213
                                                                                                                                  1'
14.1 Memoria EEPROM de datm ......................................................................... 213                         1'
14.2 Registro EECON 1.......................................................................................      215             1    '


14.3 Librería de subrutinas..................................................................................... 216              1'
14.4 Lectura de la EEPROM de datos ...................................................................            2 17            1'
14.5 Escritura en la EEPROM de datos..............................................................                217             1'
14.6 Directiva "DE" ................... .
                                      .  .....................................................................    218
14.7 Ventana "EEPROM" en el MPLAB ..........................................................                      218             C
14.8 Programa ejemplo...........................................................................................
                     . .
14.9 Bloquear un circuito ....................................................................................... 22 1
                                                                                                                                  1I
14.10 Prácticas de laboratorio..................................................................................  227-            1I
                                                                                                                                      11
                                                                                                                                  1I
                                                                                                                                      11
iía estructura de           La teoria desarrollada va siempre dirigida a hacer las prácticas, siendo 13
 m entender los        imprescindible para la realimción de los proyectos de dificultad crecieiite que trabajan
                       sobre circuit~s
                                     reales.

: software y del              Esperamos que    la lectura de este libro le resulte seilcilla y sobre todo que cumpla
M conocimiento         la finalihd para la que esta cscriio, que con los pocos niedicis técnicos de los qiie se siicic
 itilizar porque es    dispuner en casa. sea cap= de desarrollar proyecuis tiiicroprobmables dc una forma
                       autodidacta. C'ualqiiier aficionado, estildiantc o ingzriiero, con ayuda de este libro, debe
                       ser capaz de empezar a utili7ar el PICl hF84 inmediatamente en sus propios proyectas y
lgramable; y el        diseiios.
en detalle cómo
ente.                        Nuestro agradeciiniento a las iiibricantes Micruchip Tt'clinology inc, Phidip
                       Sem~conducror~ Dullu,c Smiconductors, así como a la erliprcsa Sagiiron por su
                                        y
 la enseñ;uiza de      constante esfuerzo en ayudar a los usuarios en la uiilizacion de sus producios.
rnpartú nuestras
317 realizadas por            Querertios finalmcntc agadecer a todos 10s compañeros y alumnos. la ayuda
an de un teclado,      prestada, sugercticias y participación en el desarrollo de esta obra: Carmen Ghtticz, Julio
uello funcionara.      Redondo, Jesús Sanz, Javier Tempradu, G e m a Gil, Jiian M. Morales, Jcid M.
n la tecla r?in y      Escobosa, Atia &irnora. Nuria Tririjatw, José A. Sanz, Alejandro Pico, Loli Moreno.
S alumnos ieniair      Sergiu González-Nicolás, Javicr G m ia-Caro, Diego A. Cbrdoba, Alfonso Martíii,
"'maleta" era el       Eduardo F. Garcia Folgar. Ángel Toledo y Fmando Blanco.
rcicesador eri siis
                                                                                                    LOS AUTORES

s este mundo dc
sdz el esquema a
tid do al sistema


gas. Entrc otras,
1 p e1 misnio y
  r
comprender. No
itorios, sino que
m Y por Ultimo,
       

:4 mismo el que
ar que lo que ha


S
-;         años de
IS   aqui descritas.
ipción. También
rse junto con un
-es, a complejcs
CAPITULO 1



                      MICROCONTROLADOR PIClóFS4


1 . MICROCONTROLADORES PIC
      Un microcontrolador es un circuito integrado programable que contiene todos los
componentes necesarios para contrc~lar el funcionamiento de una tarea determinada,
como el control de m a lavadora, un teclado de ordenador, una impresora, un sistema de
alaril~a,ctc. Para ésto, el rnicrocontrolador utiliza 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
rnicrocontroladoren un circuito reduce notablemente el 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 y a n cantidad de ellos, con multitud de posibilidades y caracteristicas. Cada
tipo de microconmlador sirve para una serie de casos y es el diseñador del sistema quien
debe decidir cual es el micrwuntrolador más id6neo para cada uso.

      En lm últimos ~ í í u han tenido un gran auge los microcmtroladores PTC fabricados
                            s
por Microchip Technology Inc. Los P IC (Peripheral Inteqace 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, fiabilidad y abundancia de infomiacih, lo convierten en muy fácil, ciimodo
130 V (bombillas.          Es indispcnsablc coilcclar un diodo cn paralclo con la bobina dcl rc16, tal como
ipropiados donde     muestra la tigurü 2-6. coino protecciOn frente ¿ilos picos de fuerza coiitraeiectromotriz
ica.                 producidos por la carga inductiva de la bobina eri el inomento de la coniniitaciiin.

Iéctrica dc 230V.          Para controlar uri cicrto núincro dc rclCs a partir dcl niismo ~nicrocontrolador,
                                                                                                           sc
provocar lesiones    piiede tititizar un circuito integrado especializado tal coiilo el U LN2003, figura 2-7. Este
aje y revisarlo      chip dispone de siete circuitos inversores rediizados internamente con circuitos
las conexiones o     I)arlingtori, quc aguaiitan una tcnsión inaxii~iadc 50 V y pucdcn alimentar cargas de
is eléctricas, sin   hasta 500 mA, incorpora tainbiCn los indispcnsablcs diodos dc protcccion.




iar dispositivos a
ir de transistores




1   CARGA                                           GND   w7               l--N DIODE
                                                                                 COMMON




                                                         Figura 2- 7 Driver ULN2003

                            La figura 2-8 describe el esquema tipico de conexión, donde el ULN2003 alimenta
                     las bobinas de siete reles.


                                        I           I                                                     5.. 5
                                                    o 
                    ULN2003
                                                    o
                                                      O
                                                    >
                            17                                6
                                                RBOIIMT       7
                                                   RBI
                                  UA2              RB2
                          - RA3
                            W4TTDCKI
                                                   RB3
                                                   RB4
                                                              10
                                                              11
                                                   R55        12
                                                        RB6                IN7       OUT7
                                               rq       RB7   13       8   GND       COM.
                                                                                            g
to a la base del
                                                                                                BOBINAS
:ontactos, puedc                                                   -
:lectricamentc la
 de los contactos
oportar más de 5
                                 F i p r u 2-8 Circuito ttr'yico de gobierno de varios reI&scon ULN2003
-
16   MICROCOWROLAWR PIC 1 hFR4 T)LSARROLLO DE I'KUY CCTOS                                   -' 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 f i p r a 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 necesario conectarlo en el circuito.
                                                      5v
                                                                        ALlMENTAClON CARGA

                                                                                                                   'l

                                                                                                                -
                                                                                                                -
                                                                                                                -
                                                                               CARGA

                                       R1     u1
                                       10k    BC547                        CARGA hiiAxiMA
                                                                           (500 mA. 1bW)




                                                                                                             Figui
F i p r u 2-9 Gobierno de p~qrtriln~
                                  cargas u trai.L.rd~ un rd&de láminas en cu~)sulu
                                                                                 DIL

                                                                                                            hará i
2.5.3 Control mediante fototriac                                                                            ~ U Z .1i
                                                                                                            la te
        En el circuito de I:i figura 2-10 los contactos del relé son siistitiiidos por un                   prácti
fciiotriac, cuyo funcionamiento es similar al dc un iiltemiptor controlado por luz.                         el ti
                                                                                                                rí
                                                                                                            es ne
       El necesario aislamiento entre cl microcontrolador y la carga de 230V se hace                         cona;
mediante w o p t ~ ~ o p l a d o r
             i                  MOC3041, qiic es iiii circuito integ~dc) incluye iin LED
                                                                       que
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 carac tensti cas 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 1 O0 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
                                                                                                             de rt
         un número iio despreciable de componentes externos.
                                                                                                             c ircu
                                                                                                             El cc
~ciamínima            Para conseguir cstas potencias, el triar: debe ir montado sobre un buen radiador de
rna es dc      calor, de forma que el semiconductor cc refigere adecuadamente. A la llora de poner el
;mdo en el     radiador hay que sefialas qzie la parte rnetiilica del componente suele conectarse al
. Por tanto.   temiinal T2. por lo que se dcbe aislar cuidado(;aincntc el triac de! radiador rncdiante una
               lamina de mica y un separador dc plishco para el tornillo.                                    I

                                                                                                    '-
               2.6 ZUMBADOR
ic, donde la          En muchos proyectos es necesario indicar mediante tina sefial audible la ocurrencia
 r a! de un    de un evento. Para ello normalmente se utiliza un zurnbsidor piezoeléctrico miniatura
;u vez, esta   corno cl de la figura 2-12.
rolar cargas




                      Un zumbador miniatura funciona con tensiones comprendidas entrc 3 y 16 V y su
               consumo no supera los FO mA, por 10 que puede ser alimentado directamente por la
               salida de un microcontrolador, tal como s indica cn la figiim 2-13.
                                                        e




                                                                       SUM&ADOR EMITE SONIDO
                                                                       CON SALIDA A NIVEL B A l O




tc entrc en
olnac para



                                                                       ZUMBADOR EMITE SONIDO
                                                                       CON SALIDA A NIVEL ALTO
137 (8 A)                                                 822
'uctivas ei


                       Fisura 2-13 Conexihn de irn aimbador ininiafirt-a a un microconfroJador
22   fICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS                                ~RA-M




                                                                                                       En
                                                                                                 microcontr:
                                                                                                 múltiples v
                                                                                                 tienda de ci
                                                                                                 por sí mism




                                                                         1 -
             Ordenador Personal                               Grabador E> Programador
                                                             (TEPO-SE o compatible JDM)


     Fjxlrra 3-1 Coyf;guraci¿inpar[/p b o r micrmot iri-orudorps con medios redz4cilr'os

3 2 GRABADORES
 .
     El grabador o programador es el equipo físico dondc se procede a p h a r la
memoria del rnicrocantrolador con l% instnicciones del prapma de control. Tiene un 

                                      a
zkalo libre sobre el 
quc se inserta el circuito integrado a grabas, el cual debe orientarse
   uadarnente siguiendo la señal de la capsula del chip. Hay multitud d.c grabad ores
                                                                               

   :rciaEes en 
 mercado que se pueden adquirir en cualquier tienda de clec trbnica.
               e1

       Microchip o k c e el gmbador PICSTART PLUS, de muy ficit utilización y
     ihzada fiabilidad respaldada por el fabricante (fipra3-2).




                                                                                                       En las
                                                                                                quc apenas r
                                                                                                miicho rncnu
                                                                                                muy iiitcrcsai
                                                                                                que estos g~
                                                                                                purtAtiles soh
En ltiternct pueden localizarse múltiples grabadores de bajo c o n para
                 microcontroladores PIC. Uno de 10s más populares es el denominado JDM y sus
                 iniiltiples versiones mejoradas, tal como el TEJO-SE que se puede adquirir en cualquier
                 tienda de electriinica por un precio muy asequible (figura 3-3). Si 1            ntarlo
                 por si mismo, cn c1 apkndjce F se proporciona información para el1




-
.    1
    --
amador
Iible JDM)




                        El programador JDM y a l s n a s de sus version¢s                    la Wcb
2- e grabar la
                 diseñrtdor Jens Dyekjm, w . i d r n . h o m ~ a ~ c . d k / n e w ~ i c .
:rol. Tiene un
zbc orientarse
fe grabadores
-ir(inica.




                             ES EXTERNA AL CfRCUtTO



                        3-4       de          cornpnfildeJBM bO.cico cor
                  Fig~rcr Esqzt~rna 110pl1~1dor

                         Eir las figums 3-4 y 3-5 se describen dos versiones básicas de este pmprnador
                 qite apenas reqiiicrc cornponcntes. Evidentemente P fiabilidad de este programador es
                                                                        a
                 mucho menor qiic In dcl PICSTART PLUS. pero su facilidad de construcciiin lo hace
                 mriy intcrcsantc para miiltiplcs aplicaciones. Auiiqiic hay quc hacer tina obsen~acicin es
                                                                                                        v
                 que estos p.abadores tan hrisicos no funcionan cor~ectamenteen algunos ordcnnc
                 pottfitjlcs scihre todo. Ademb, iina conexión incorrecta puede dañar cl ordenador.
1   24     MICROCONTROLAWR PICI 6W. DF5AR ROLLO DE PROYECTOS                                                                                  m~4-WA           -
                                                                                                                                                               r' M-h~


l                                                                              D1
                                                           TU
                                                           n7
                                                                              lWi4                                                                             funcionamiel
                                                                                                                                                               u i i g cstc
                                                                                                                                                                fl7r
                                                                                                                                                                        de
                                                                                                                                                               jq)mg.si:~

                                                                                                                                                                         En 15
                                                                                                                                                                             x
                                                                                                                                                               la iiltima ver:


I
     L y y- E
      5 -                                                                                                                                                      ayudar a todc
                                                                                                                                                   ~K          profundo dc
                                                                                                                                               DB
                                                                                                                                                s m
                                                                                                                                                               programa ¡ .C

                                                                                                                          -
                                                                                                                          -
                                                                                                                                                               3.4 G R
     1.fiE.I L
             .
               t C Avriromri lio
     Fimrvn -, -, YYYL,CI.*" M b                       ni.nhn/Lr
                                                 i r n h. L.I.C.C.",
                                                 l l r l
                                                                       rnnind;hlo IT) fiA hr;r;rn
                                                                           IUY.I,I&,             YUil.U,l
                                                                                                            c;i?    n1;montn~Mnoviornrr
                                                                                                                               -.Lr
                                                                                                                    "I...IL..<UL.V..
                                                                       L"I.I
                                                                               I     " Y l l .              .l.<.                                   ,.U


                                                                                                                                                                         Una   (

               ' "i n ~ " ' " " -.. - ' r"P."""""q
               Al ""-'."' nian rhin' pn pl nrnummndnr hnv n i r ~ r r i n r n r c ~
                             r                        ""'  mp                                                  "      que todos los pines o                    desrirrciilar e
    patilla$ del disposiiivo esttn rectos y de que entren t~ien el 2,,,,,.q l r i ,,n , ,
                                                               en     iXr         U,                                                   ,,
                                                                                                                                        ,
                                                                                                                                       niin        +L tm m r
                                                                                                                                                   L
                                                                                                                                                     - tb a    sólo O C ~ S
    mucho cuidado porqlie estos pines se doblan y :se rompen con extrema facilidad.

               """-
               í'iinndn   CP                            r"".         '"  --""- ""- ""."'-' "..
                          "- r~nli7-nf'"...-"-""'-'rmrnummnrinnrr rc nrnnc&nhl~iitili7nr iin 7iirnln
                                        r ~ r i i ~ n t ~ c '-..'"-"..-"
                                                                               L
                                                                                                                                          '*'-""
                                                                                                                                                               material:
         ixiliar entre el micmcontrolador y el zócalo del proprnador, de tal modo qiie sea los
         nes del 7ócalo auxiliar los que sufran Ii frecuentes insercioncs y no los pines del
                                                   rs
         spositivo. Otra alternativa, es reernplaz~r el z k F o del programador por un zócalo de
         em dc inserción nula Z F (Zgfo Jnserfion Forre), aunque ticnc cl inconveniente de su
         evado precio [figura 3-G).



                                                                                                                                                               P'ig74ru   -,-, '

                                                                                                                                                                   *      Unc


                                              Figura



                                                                                                                                                                          3 coi
           El IC-Pr~g es uno ac ios s o h a r e más populares para la grabación de
    microcontrnladores FIC. Permite la prpgmrnaciOn de miichos dispositivos y esti probado                                                                         *      Un
    con numerosos programadores. entre ellos todos los compatibles con JDM. Es de libre                                                                                   elect
    distrihucián y en la pigiiin Wch ~ w v . i c - ~ r o ~ csc m
                                                             o piicdc descargar y recoger toda la                                                                         o frct
    infamación de uso.
                                                                                                                                                                          Com
           Una vez descargndo, la jnstalaciirn de estc software es muy sencilla. basta con                                                                                Web
           -
     .. - - y . - . . . . , " firh~rriirnrriu 7in v wrniir rl n m r ~ r i i m i ~ n t-..... ~n Winrlnwc Fctp
      qrnmnrirnir PI
       .                              .-*T.
                          - p . - + . - - -         Y--.-.." ,.'-"--..".-"'Y iiqii~l-". .. .-..-Y ..*.* --.,--
                                                                 J
                                                                          -           n                                                                                   obra
      d~ivo  consta del ficliero ieprog.e.re, qiie contiene todo el código necesario para su
hncionamiento, con versiones para cualquier s i s t m a oprativo Windows. En caso de
                   utilkar este software con Windows XP, 2000 o NT, es necesario descargar e! archivo
                   icprog..yde F misma Web y situarlo en la misma cavela, junto con el icpvog.a.
                                 a

                          En las próximas piginas v rxpondfin las conocimientos básicos pñra trabajar con
                   la última versión, al cierre de la cdición de este libro, JC-Prog 1.OSC, con la pretensi~n dc
                   ayudar a todos aquéllos que se enfrentan por primera vez a este s o h a r e . Pasa un anilisis
                   profundo de todas sus posibilidades se rcmite a la documentación tknica, ya que el propio
                   prograina IC-Pro2 tiene un buen sistema dc ayida qiie permite un rápido anrendizaie.

                   3.4 GRA                     5~ CON MEDIOS REDUCIDO
                          Una de las grandes ventajas de T s micmntmladores PIC es que pcrrniten
                                                          o
xlos los pines o   amar: el proceso de p h a c i h n con muy poco gasto. Para aqitéllos qiie desarrollan
                       rollar     ,


 I4ay que tener    S610 ocasionallmente proyectos               ; basados en micmontroladores, es suficiente
Iidad.             utilinIr el procedimjenro de                 in con medios reducidos que se indica a
                   contil~uación.S e ~ i n esquemr
                                         el                     gma 3-1, este pmediiniento utiFiw el siguiente
ili7ar un zkrtlo   material:
3d0  que sea los
o los pines del
jr un zócaIo de
nveniente de su




                   Figuro 3- 7              conectar elprogru~r~uurirrrcrvv., de los puelios
                                 Cuurcy u r ~                     u                              COMI o CUML

                           Un ordenador personal.
                      m    Un cable de conexión entre ordenador y pmgmmador del tipo serie DB9 para
                           puerto COM (figura 3-7). Este cable se puede adquirir en tiendas especializadas
                           o bien fabricarlo mediante dos conectores DR9 (hembra y macho) y cable,
                           preferiblemente plano, concxionando los pines con el mismo nUmero en cada
                           extremo, es decir el: terminal 1 de un conector con el terminal I del otro. 2 con 2,
 b.c.v,.w,4n dc            3 con 3, etc.
 y cstli probado           Un programador TE20-SE, ds                      adquisicihn en cualqiiier tienda de
)M. Es dc libre            electrónica. En apíindicc F y e                 m-ROM que acornpafiiia a este libro se
 rccogcr toda la           ofmen planos para su construcci,,,.
                      *    Como sottWm se utiliza el IC-l%g 1.0:iC, que 1    bajarse librrmente di la
                                                                         ~uede
cilla. basta con           Web www.ic-rmn.com. y que 4e incluye: en el C D-ROM que acornpaiía a 4sta
                                                ,
Windows. Este              obra, p c i a s a   Iri generosidad de Bonny   Gijzen, su autor.
:esario pan su
que sólo !a línea
I del puerto y la
~ctum   distinta a
in de ser de esta
ieración de una
W 7 : W . Tcdas
ir, conectada a la


mgramaaas para
y r a 5-9 muestra
variación dc una
 la ultima sefial
le las señales de
o TNTCON.

        ienfación           LENGUAJE MÁQUINA
           máxima
  I I I ~11and0
              está
        ~
                             El Único lenguaje que entienden los rnicr~ontroladoreses el formado par Ios ceros
:ia dcl chip, esta   ! unos dd sistema binario. Cualquier instrucción qiie deba ser cj~cutadapor 61
                      :
luede exceder de     rnicrocontrolador debe estar expresada en binario. A este lenguaje se le denomina
                     lenguaje rnhquina, por ser el que comprende el microcontrnlado~Los códigos de este
                     leripiia,je que fonnari Ins iristnicciones se llaman c6dijys máquina. Así por ejemplo.
                     cuaiido el microcontrolador PlC láF84 lee cl chdigo mricluina " '1 11 11000 1 1 10 1 W, esti
                     recibiendo la instmccion: ".rrrmn58 al regi,v/ro de trabajo W y g-uurda e/ resi~lratfo   en
   Pin               esk mismo regi~tro   W".
 RB7,R84


                                            :J;?   -    c T, +-y
                                                        r
                                                        .

                                                       .t   't-




                            Cualquier otro lenguaje que se utilice debe ser tndticido a unos y ceros para que el
                     rnicrocontrolador pueda procesarlo. Dicha codificaciOn binaria resulta incdrnoda para
                     traba-jar, por lo que muchas veces se utiliza la codificación hexadecimal para facilitar la
                     interpretación de los códigos miquina y no saturar las pantallas (ni los cerebros) de unos
                     y ceros, Asi por ejemplo, en el capitujo 3 se pracedio a grabar los microcontroladom
5H   M1C'ROCC)NTROLADOR P C AF84. DESAñROL LO DF. PROYECTOS
                         11                                                                    3 RA-m




utilizando el pi-ugmrna IC-Prog, que trabaja cn lenguaje máquina, pero utilizando la
codificacion hexadeciinal, tal cotrio se aprecia en el cjemplo de la figiira 6- l.

6.2 LENGUAJE ENSAMBLADOR
       El lenguaje máquina cs difícil de utilizar por el horiihre ya 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 microcontroladcir es capaz 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!rriliujo W 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                                W
                                          58 ul r-e,yisiim d~ ~t-ublljo y                r~~~.ulíudo
                                                                            ~ ~ C I Y el ~ U
                                                                                       I
                             en   SIL'    ~ni.~tno
                                                 registro ".
           Elisamblador:     uddw d'5H '.
           Máquina:          1 1 1 1 10 00 11 1 O 1O (expresado en binanol.
                             3 E3 A (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 interpretado y 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 fichero puede ser grabado en la memoria de p r o p m a
mediante la utilización de un grabador de microccintroladores.
hli   MIC'KcX'ONTROLADORPTC I GF84. DESARXCJLLO DE PROYECTOS                            E RA-M h




                          6-2 Repertorio de ipisfrucciones del PIC16 F84
                    Tatill~

      Las instrucciones se recogen e n L tabla 6-2 y detallan cn su totalidad en el
                                            a
apéndice B. En este capitulo se estudiimin 111s instrucciones inás scnrillas.

6.9 INSTRUCCIONES DE CARGA
       Las instrucciones de transferencias de datos son típicas de todos los procesadores y
su misión es transferir el contenido un registro fuerite (f! a iiti registro destino (d) o bien
cargar el destino con utia constante. En los microcoilrroladritrs PIC todos los datos
residen en posiciones de la triemoria de datos y en el registro de trabajo W.                      6.9

       En la explicacion de estas instrucciones se ernplea muchas veces una nomenclahita
especial muy sirriplc basada en parintesis y flechas. Con los paréntesis se destaca que se         del 1
trata del "contenido" de las posiciones de iiienioria y la flecha la Jircccibn d e lad             re@
transferencia de los datos. Algunos cjcmplos:                                                      resul

         ( W ) 3 (PORTB):      Significa "el conr~niLio registro W 
 se truns$ere u1
                                                           del                                     w
                                                                                                   Ante
                               puerto B.'.
         (2Bh) 3 (W):          Significa "el contenido 
 la pwíció~?
                                                          dr                   2Bk de M M de       m
                               h t o s se bransjere al registro ri'c. traht-rjo Hp'.
                                                                                                   Et
                                                                                                    ia
         2Bh i (W):            Significa "e/ regt~trode tti-ub(?jose c~irgacon el dato             Ante
                               ZRIi". (Notar la auscncia de parkntesis).
                                                              
                                    w
        Hay cinco instruccioiies de carga propiamente dichas:
                                    

                                                                                                   6.9,
6.9.1 clrw
                                                                                                   regis
       (Cleur W). El contenido del registro W se borrri (se cargsi con b'00000000') y cl
flag Z sc activa a " I ". Esta instrucción también se podria cotisiderar como aritmética.          Ejw
                                                                                                   Ante
                                                                                                   -1
fi R A M A




                                Ejeir                ctw
                                Antc                 (W) =                  Z = l.'?
                                                                             - .
       Ninglino            1    Despues instrucc~on: ( N r )= ~ l x f l f ty L = l .    .
       Ninguno             1
       Ninguno
       Ninmin~             1
                                      (Clemfl. El contenido de1 regrstro ' f se b m (se carga con b'000000007 y el flag
                                                                                 o
                                Z se adiva a uno. Esta instmccibntambién se d n a considerar como aritmética.
       mo. PD
       Ninguno
       m,rnD
                1               Qerr
                                Antc
                                npcr



                                6.9.3 movlw k
.I    total idai
                                      (Mnve Literal to W). El re3ist-m W se carga con el valor de los              8 bits de la
                                constanic'k'. Ningiin flag del registro de estado es atkctado.



.i3 I I I 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
                                                                                                                                  '

una nomenclatura
se destaca que se               del valor de 'd'. Si 'd' = O el destino es el regstro W, s Vd* I el destino es el propio
                                                                                         i    =

 direcciót

           '..-iuni


IBA & h!AM de
                                registro 'f. El f l a ~ del registro S T A T U S - ~ U ~ ~ ~Z se activa a "1" si el
                                resulitado de la
                                         . .
                                Eiemn 10 F :
                                Ante
                                Dcspuks instn
                                                      Z        -
                                                        i es ccrcE.
                                                         n
                                                          movt PORXd, 0
                                                          p R'A) = Ox 1Ik
                                                           O1  .
                                                          (POR?'A) = 0x11 A,
                                                                                       afectado:

                                                                                              : (PORTAI
                                                                                       (W) = i',
                                                                                       (W) = o:
                                                                                                               + 1w)                  I
 r w
 11    &
                                2em
                                i.
                                 i                                                                -   >

' r p con el dato               Aiizei
                                Dcsp                                                   el resultaido de Ia 1




                                         (Move W lo 1 .
                                                     )Carga el contenido del registro W al registro 'f. Nirigún flag, del
                                registro de estado es afectado.
                                                                                                                                      I
                                Qmplo:
                                Antes inshcc ión:
                                Despuks iinstniccihn:
                                                          rnovwf PORTB
                                                          (PORTR) = i,?
                                                          (PORTB) = 0x4
                                                                                                  : (W) -9 (PORm

                                                                                                                                      I
y seleccionar Orrprtt ro File y salvar cl fichero de la forma ya conocida en el entorno
                      'indows.
h i t o general de1
:contenido de la




                                                 5TbTL5
                                                 PCL      .   .
                                                                  -.
                                                                  .




                                             3   de estado
                            Aunque no es una ventana de visualizaci6n propiamente dicha, la linea de estado
                      proporciona infomciiin muy iitil sobre la situacibn actual del microcontrolador. Se ubica



                  1
                      m la pane inf&or de la pantalla y ofrece infomnacion en todo momento del estado de Ia
-------
                      simular1n.i
                        ..."."O
                                  .,

                              Es especialmente útil la infamación sobre el contenido del contador de progama.
                      del registro de trabajo W.También indica el valor de las flags de STATUS. Si la letra está   I
                      m rnaqúsculas indica que ese flag vale "1 " y, si es miniicc~alas "O". Asi en el ejemplo
                                                                                      vale                         I

                      de la flgtn 7-13, Z =O, DC =1 y C=E.
                      ---+
                      WFAQ?u                       ..
                                                   --
                                       :~~~JTARTa ; l
                                              ~         S .
                                                          .
                                                         -. -
                                                          ;   ....... - -
                                                         ~ W m P 7 a h 3 - . w :- .
2 duros                                                       .           ......  --+---                  L .




                             Fipcrn 7-iJ , A ~ ,wc- G , ~ L ~ Lcon la infamación del PC, W yJrapP~ SIn
                                                 , ~ ~         I~)                               del
hre simb6licci que
de usiiario.
                      7,6 SIMULACI~N
                                   BASICA
                            T m el proceso dc ensamblado sc p d e a la simiilacibn del programa, Mientras
                      w ejecuta la simutacibn del programa es interesante visualizar el contenido de las
tc supervisar los
                      ventanas explicadas antes y comprobar el efecto m cada una de ellas.
iso concreto. Para
wdro de dililogo          Es conveniente antes dc nada, comprobar que está cargado correctamente el
ee pulsando sobre     IPLAB SIM, tal como se explicb en L figura 7-4.
                                                         a

                           Los cinco comandos m& importantes p m la simulaci6n se localizan dentro del
rla m posteriores     menú Debbuger y se muestran en la f_ 7-24.
                                                         i m
 I    I   1   .'
              ,
92   MICROCONTROLADOR PIC IóFR4. DE'RROLLO DE PROYECTOS                          c          A-MA




     m   Rfrn. Modo de ejecucibn continua. Ejecuta el programa constantemente. Las
         ventanas abiertas en el paso anterior no se actualizan hasta que no se produce
         una parada. Es la fama m i s 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 ~ t n pulsando la tecla F9, tambitn al pulsar S
                                          o
         el icono correspondiente de la barra de herramientas (flecha azul).

         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 seleccionando D s h i r ~ ~ >r
                                                                          e Aninia
         también al pulsar sobre el icono correspondiente de la barra de herramic
         (doble flecha azul).

     *   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 instnicciCin del progama
         cada vez actiializando los valores dc las ventanas. Es la forma mis lcnta de
         simuIaciiin pero se compnieba fáci 1mente 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                   Pan1
         entra selcccionarido Dehiigger > Re-re! o pulsando la tecla F6. También si se    aemho tic
         pulsa sobre el icwo correspondiente de la barra de herramientas.                 Seleccionn
                                                                                          donde Iia   i
i   la figura9-4 que
t~
t
.
                                                   .           .    -
                                      Esta dir                     fine una (                             :to. Dondle quiera Ique <nome>
                                    icuentre, e                    mblador :

                                      Ejemplo I :
A continuación se
                                    :]Ni?LED       PORTB                                      s conecta i: cstn Iine
                                                                                              e          n
                                                   ...
                                        bsf        LED



BLOCK (Dflne n              :D~P               id              bc                           tl Ranw O,
lnes (genmlmentc            ~DFF               icof            bs                  : n .o: Rznm 1 .
                                                                                      m; i1
                             -DFF              D               P(                  : El LER sc conccia 3
marcada entre las

                                                                                   ; ACCCW al Banco 1.
                                                                                   ; Confrgum csla línea como salida.
                                                                                   ; hcccw : Banco O.
                                                                                             i1
                                                                                   : Encicndi: diodo L
                                                                                               el


                                  Esta directiva emula #DEFINE del ANSI C standard. Los simbolos definidos con
                            este mCtodo no están disponibles Dara ser usados mr el MPLAB.
anterior ejemplo).
15. Si este valor no        9.9 CONVERS                                           ARIO NATURAL A BCD
 cuwrior al: de la
 si a lo largo del                  La conversión de un numero expresado en binario natural a formato hcu es una
ion de variables,           d e las opcracianes más utilizadas en los progamas con microcontrolador y que merece ser                       !;

                            analizada en detalle. Por eiemplo el valor 124 expresado en binario n a t m 1 seria
                                                           .                                                                               I
                            01 1 1 1100, para expresarlo en BCD hay que separas Fas centenas, decenas y unidades
      definida
                            qudando: 0001 0010 0100. La figura 9-5 txplica cl:diagmma de flujo para resolver esta
.4.                                       Un
                            coni~crsihn. programa ejemplo que lo irnplernenta. seria el descrito a continuaci9n y
                            que s,e pttede comprobar sobre el circuito de Iri figura 9-6.

                            ***si



nienzo los valores          . Un nu m m hinario de 8 bits cs curivcnido 3 RCD. El erultadri se gl~qrrl e n m psicioncs
                                                                                                     a
a RAM 4de datos.            :dcmem~irins     ilamadas Ccntcna~. Docenas y L'nirladcs A d m i s a l tiiial 1las unidades estaráti en el
    ., -1   h e ,--m   -A
                            ; nihhl c bajo del repsmi W y las dcccnas cn cl nlbhlc alto. En Ins didas LEDs canectados al
                                   o de calida se visuaii7arán ! s dmenas y la* L
                                                                a

                            ; El m                                                            valor que p
                            :niuni

                            :El procediniientr2 utilizado 1
                                             "
                            :ejempln quc trai; A.      l*.s,
                                                         .,
                                                          .-
MICROCO~OLAWR
                      PIC16F84.DESARROLLO DE PROYECTOS                                                          OWMA




                    {Decenas)
                                                                                                                        movlw
                                                                                                                        subwf
                                                  NO, I
                                                      H                     Incremcn                  S).
                                                                                                                        btfi~;
                                                  NO, m!                    NO. .
                                                                            .. .
                                                                               .
                                                                                 hcrt                 cenas).
                                                                                                                        Foto
                                                  NO,mi                     NO. lncmcnta (Uc  cenas).
                                                  NO. resi                  NO. Incremonta (aecenas).
                                                  NO,mi                     NO.Incremnta (Decmia~).
                                                  NO, m                     NQ. Incrementa (Decenas).
                                                  NO. ma lo
                                                       c                    NO. Incrt:menta (Dc cmiaii).
                                                  NO. reSra 10              NO. Incrtmenta (Decenas).
                                                  NO, Festa 10              NO. lncrt:mcn ta (Decenas).
                                                  NO,resr f n               hln lnm..-. + I r % * r * n n r l
                                                                                     . .M -
                                                                            ,*v.iii~ibiiibiira
                                                                                             (r,c bCil02,J.
                                                  NO. m t                   Si. @ecenari)=O, y aldemb
                                                                               incrementa (Cenfew )
                                                  NO, resta 10              NO.Inemnenta (Decenas)
                                                  sí, se
                                   te 'Numero".




                         r-   1l

                    UDE <PI(

             CSLGLAIB(UL                      :u zona ac memona ac usuano comicnz.. ... . .
                                                i                                    . .

             Centenas                         ; dirrccii     h a R h M de datos.
             Decer)y
                   a                          ; Pmició
             Unida                            ; Pmici8
             ENüí

    Numero EQU



             ORG                                  ;El   pmg
    inicio
             bsf        STAT                  ;Accesob al Banco 1
             clrf       TRlSE                 : l s liniz del F erio R se contigam wmo sdicta.
                                                 a             u
             bcf        STAT                  :Acceso al Banco I1.
                                                           b


    mua
     n pr
             clrf       Centenas                  :Carga 10s qismr;con el res1~ltado   inici:                          "BCD-lncr
             clrf       Decenas                   ; En principio (Cenitenaspo y i[Dcce:enas)=
             movlw      Numero
            moru                              : Se carga el n m binano a convertir.
                                                             ú m
    Bm-Restui 10
1
            movh                              ; Alahu          les va restaindo 10en c
                                                                . .
            subwt                             : pa-da. (WJ==(Untdades)-lo.
                                                           ?, i ( W ) Vi!
                                                                                         ,.   .   <


                                                           menor de 1
    BCD
RAO             ABOff N f
                         R41                 RB1
                         RA2                 RB2                                              : Lns salidai se o h t i i
                         RA3                 R53                                              : RR5 (SI;' i, m (53:
                                                                                                              4
                         RMOCKI              RR4
                                             R85
                                             RB6                                              ; ZONA     D'E DATOS




              Fignrn 9-6 Circttito paro compmhar el programa RCD_Ol.mm
                                                                                                           novlw      P
                                                                                                           iioluri 3
                                                                                                           1cf     S
       EI salto indexado es una tknica que pemiite resolver problemas que puedan ser
                                                                                                           aovf-      P
representado mediante tina tabla de verdad, En el PICI 6F84 se basa en la utilización de la                ndlw       h
instniccihn addyf PCI,,F, de este modo, la direccihn del saIto se consigue sumando a[                      ddwf       P
contador de programa (PCL) un valor de desplazamiento almacenado en el regiswo de
trabajo W.                                                                                                 oto       C
                                                                                                           oto       C'
                                                                                                           oto       C
       En el salto indexado, la dirección del salto se co~sigue
                                                              sumando a un registro base
(el PCL) un valor de desplazamiento alrnrlcenado en un registro índice que es el registro
de trabajo W.A cste valor de dcsplazamiento se le denomina también qfl~et. ejecutar la
                                                                           Al
instmccihn cw PCL,F el registro base TCL) debe estar cargado w n la p r i ~ m
               r
               d
direccion de Fa tabla, apuntado de esta manera al origen de ba
                                                             t .                                           >!o       C
                                                                                                           nnO
                                                                                                           ovlw      h'
      En el siguiente ejempto se asimila f5cilmwite la utilidad de salto indexado                          ..-
                                                                                                           IlCl      i4

hardware utilizado s d el esquema de la figura 9-7.                                                        .mt
                                                                                                           ovlw      h'l
                                                                                                           ,tn       h.
                                                                                                           id
: tmp11
      :matar un: tabla dc Ii verdad m
                  a          :       i           iancja dc te                                              ovlw      h'l
;Por qjtmpto, la Iabla seri de 3 enmb            s tal como I                                              itn       A'
                                                                                                           1717
C ' M ~ U L O SALTOS
                                                                                                                                                                                       9: 
      135


                                                        o o 1 1 a o 1 o o I;(cd*I-6nl).
                                                        o 1 o 1 1 o o o 1 i;(-hz).
                                                        o r i 1 o o 1 1 1 I;@orSi@&tf).
                                                        1 O O ] 1 O O                             O O O;wgumidn4).
                                                        1 O 1 1 O O O                             i 1 l;(CdgumcibnS)-
                                                        1 1 O [ O 1 0                             1 1 l;(Conftguracibnó).
                                                        1 1 1 1 i 1 i                             1 1 l;(Wguraciún7).

                      ;im enbndw C, B. A se mectai.mia las llneas del puerto A: RA2 C , M (B) y RAU {A).
                                                                                   () 1         

                      ;Lassalidasse~enenelpuertnB:
                      ;RBS(S5),lU34 (M), 3 (S3).RB2 (521, M (Sl) RBO (SO).
                                       M                   1    y

                      ;ZONADEDATOS * * * S H * * * l * % ' * * * * W ' * * * * S I * * * * * * * * * * * * 5 * 1 I I * 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:*****~***++***********

                                     ORG                O                                                         ; El pmgrama conireriza en h direaibn 0.

                                     bsf                STATWSH'O                                                 ; Acceso d Banco l .
                                     clrf               TMSB                                                      : Las heas del hiato B se c o n f i p m u como saiida.
                                                                                                                        
                   

                                     movlw              blOOO1 1 111'                                             :Las 5 líneas det Puerto A se configuran como eukada.
                                     mowf               TRISA
                                     bcf                STATUS,RPO                                                ;Acceso al Banco O.
s que puedan ser
                                     movf               PORTA,W                                                  ;Leo el valor de las variables de e n e .
                                                                                                                        
           

i utilizxiiin de la
                                     andlw              b'00000t1i'                                              ;Se queda c los a c bits de enaada.
                                                                                                                               m e
;igue sumando al                                                                                                 ; Salta a la configuracibn &macla.
en el registro de
                                     goto               Conf1~0iiO
                                     gota               Configuracion 1
                                     goto               Co~guracion2
un registro base                     goto               Corhgumcicin3
que es el registro                   goto               Conñguraciod
;fr. Al ejecutar la                  goto               ConfiguracionS
I con la primera                     goto               Cdguraciaaó
                                     goto               Configmcion7

                                     rnovlw             b'0000101Ot                                               ; Confipuracibn O.
Ito indexado. El                     goto               Activasalida

                                                                                                                  ; configuracibn l.
'.CL*******I*



                                     movlw              b'OO1OOO1li                                               :Cun-ih                       2,


                                     movb               b'0000111~'                                               ; C 0 n ñ ~ i S 3.
                                                                                                                                  o
                                     gota               ActívaSaW
                      Cdgumíon4
136   MICROCONTROLADOR PrC 1 bFM. DESARROLLO DE PRUY ECTOS                         F RA - MA




           mvIw
                                                                                                             El reg
           8 0                                                                                               un reg
C      ~          i   d
           mvlw
                                                                                                             Los bi
Conf~iioti6                                                                                                  puede
           mwh                                                                                               PC LA
           soto
Cwfigmcion7
       mvlw
ActivaSalida
           mw
            Yf                            ;V i d i z a por el pueFto de salida




       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-O1 B.acai.                                                                                    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

                                paru comprnhur ios programas de tabla de ivrdac3
           Figura 9-7 Cit.~liliio                                                                          ORG
                                                                                               Inicio
                                                                                                           goto
                                                                                                           c h
9.1 1 SALTO INDEXADO DESCONTROLADO
       Como ya se explicb en el tema 4, los 13 bits contenidos en el coniador de programa                  ORG
                                                                                               Principal
y que direccionan la memoria de código estan guardados en dos registros específicos                        niovlw
(figura 9-8):                                                                                              addwf
i RA-VA
                   ¿                                                            CAP~TULO SUBRL'ITNAS DE RETARDO
                                                                                        12:                       173



;ta iiistniccion tarda
 cnstal de cuarzo de




                                     Carga contador R..ContA can                     Carga contador R-ContB con
                                            valor inicial "K"                               valor inicial "M"




                                                                                     Carga contador R-ConlA con
                                                                                            valor inicial "K*



                                                                                      Pequerio tiempo de espera

urrido
                                                                                        Decrementa R-CoiitA




:S   resulta necesario
;intervalospueden
 simple de algunas                A). ESTRUCTURA DE UNA SUBRUTINA
                                     DE RETARDO CON UN LAZO SIMPLE.
:0nseguir el retardo                                                                    Oecrementa R-ContB
rucción es conocido
:I registro R-Corrr.4,
ibtenw el tiempo de


ijerite fragmento de
                                              B). ESTRUCTURA DE UNA SUBRUTINA DE 

la figura 12-4(A) se                             RETARDO CON DOS LAZOS ANIDADOS 




máquina.                                        Figura 12-4 Esfruchci-ade Iw sub~4tjna~ r~~tnrdo
                                                                                     d(9
d valor de "6".
                                  Es fácil deducir que el valor de    constante "K" con el que se ha cargado
                                                                         la
                             ~iiicialmente contador R-ContA vendrá dado por la sigiiientc ecuación, donde el tiempo
                                         el
:cm (al saltar).             viene expresado en ps:

; miquina.
                                                           Ziempo=5+4K           K=


<=249).
EJEMPLO: Calcular el valor de la constante K, para obtener una subrutina de
retardo de 500 ps con la estructura de de la figura 12-qA).


                                                                                                                1
                                                                                             ; apaga durante
      Soluci6n: Aplicando la ecuación se obtiene:
                                                                                             ;ZONA DE DA
                                  Tiempo - 5 - 500 - 5
                             K=-             -         = 123,7
                                      4          4
      Así pues se elige K=123, obteniSndcise un tiempo de retardo real de:
                          Tiempo=5+4K=5+4+123=497ps
       El ajuste fino para Ios 500 ps exactos se consegurta añadietido 3 instrucciones nop   #DEFINE LED        (
al principio de la subrutina de retardo.                                                     ;ZONA DE C O
                                                                                                         ORG
12.5 RETARDOS MEDIANTE LAZOS ANlDADOS                                                        inicio
                                                                                                         bsf
                                                                                                         hcf
       Para lo genecic18nde retardos de niayor duración deber1 ulilizarse lazos aiiidados,
                                                                                                         bff
poniendo un lm dc retardo dcntrv cli: otro. La forma de liacerlo se explica en Ins           Principal
subrutinas "Retardo-200ms" y "Retardo-1 00ms" del siguiente programa ejcinplo, donde                     bsf
a partir de la csmictura de 1 ms conseguido en la sccciiin anterior se obtienen rctardos                 cal1
mayores mediante la redlización de lazos anidados, figura 12-4(B). Este programa es una                  d
    aplicacion de un LED intenriitcnte para cl circiiito de la figura 12-5.
i~til                                                                                                    bcf
                                                                                                         caii
                                                                                                         catl
                                                                                                         gom




                                                    D1
                                                    RBO        R1




                                Figura 17-5 Internaitenle
W                                                                                                                                                 i
    318   MlCKIX:OKTROLAWR PIS lriF84, DESARRULW DE PROYWTLiS                                              c~   4 . ~ 4   O RA-MA



    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 microcontrolador es un ejemplo inmediato de
    las aplicaciones que la conexión entrc microcontrolador y 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
               conectarlci al pumo COM 1 o COhl2 dcl ordenador a través del cable RS232.
               Un programa de coniunicaciones quc se debe abrir en el ordenador, como el
               evper-Tertninalu otro siini lar.
               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
    cjcinplii suficientemente documentado:


    ;En el m&lo LCD se visualizan los caracteres que se escriban en el teclado del ordenador
    ;y se mnsmiten a h v e s de su puerto serie. E s &?tos v o l v e a ser enviados por el
                                                   m
    ; microcontrolador a1 ordenador, por lo que tambikn se visualizxia en su moiútor.

    ;Se utilizani un programa de comunicaciunespara que el ordenador pueda enviar datos
    ;a través de ru puerto serie, como el HyperTminal de Windows o alguno similar.

    ; Concluyendo, lo que re escriba cn el teclado del ordenador aparecer6 en la pantalla de'                                             Figura ;
    ; mduto LCD y cn el monitor del HyperTemind.
    7
    :~~NADE~AT~S**********5*5******C*C*****Qdii**OiPiP*****CC******~~*~****L**************


                                                                                                                                  Una aplicacii
                                                                                                                           hacia el ordenador.
                                                                                                                           RS232-MEN.MC,           1



                                                                                                                                      "RS232-M(
                                                                                                                                      cl microcon
                                                                                                                                      "RS232 LU
                                                                                                                                      del ordenad
               ORG       O
    In1c10
               cl
                a1       LCD_Lnicializa                 ;Ini~dLCUyIaslúiwiaiquese                                          .+~**L**L.*%***4**.*
                                                                                                                           J
               1         RS232-lnicializa               :van a utiIizar en la c m w i w i h c m e puzrto
                                                                                                l                          I
                                                                                                                           ?

    Ptincipd                                            ; Serie ñS232.                                                     j        mbrutinaa
               di        RS232-LeeDato                  ;Esperamibirunmhctm.                                              a;
                                                                                                                          -               tmds del 1
               mwwf      GtmdaLMo                       ;Guarda el daui mibi&.
               d         WD-Cmter                        ;Lo v i s u d k
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao
Microcontrolador pic16 f84, desarrollo de proyectos ao

More Related Content

What's hot

Tipos de controles AC y velocidad de motores Electrónica Presentación
Tipos de controles AC y velocidad de motores Electrónica Presentación  Tipos de controles AC y velocidad de motores Electrónica Presentación
Tipos de controles AC y velocidad de motores Electrónica Presentación Maximiliano Garcia
 
Control digital: Retenedor de orden cero y uno
Control digital: Retenedor de orden cero y uno Control digital: Retenedor de orden cero y uno
Control digital: Retenedor de orden cero y uno SANTIAGO PABLO ALBERTO
 
PLC: Como programar PLC Step-7 y no morir en el intento
PLC: Como programar PLC Step-7 y no morir en el intentoPLC: Como programar PLC Step-7 y no morir en el intento
PLC: Como programar PLC Step-7 y no morir en el intentoSANTIAGO PABLO ALBERTO
 
Tratamiento de Señales en Tiempo Discreto Alan Oppenheim 3 edicion.pdf
Tratamiento de Señales en Tiempo Discreto Alan Oppenheim 3 edicion.pdfTratamiento de Señales en Tiempo Discreto Alan Oppenheim 3 edicion.pdf
Tratamiento de Señales en Tiempo Discreto Alan Oppenheim 3 edicion.pdfSANTIAGO PABLO ALBERTO
 
Set de 35 instrucciones para pic16f877A programación en assembler
Set de 35 instrucciones para pic16f877A programación en assembler Set de 35 instrucciones para pic16f877A programación en assembler
Set de 35 instrucciones para pic16f877A programación en assembler Anllel Cardenas Yllanes
 
Libro simulacion mikroc
Libro simulacion mikrocLibro simulacion mikroc
Libro simulacion mikrocpabs_devil
 
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdfMicrocontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdfSANTIAGO PABLO ALBERTO
 
Introduccion a los Sistemas Digitales
Introduccion a los Sistemas DigitalesIntroduccion a los Sistemas Digitales
Introduccion a los Sistemas Digitalesgiov gmb
 
He thong thong tin quang
He thong thong tin quangHe thong thong tin quang
He thong thong tin quangThanh Hoa
 
PLC: Los automatismos industriales con PLC
PLC: Los automatismos industriales con PLCPLC: Los automatismos industriales con PLC
PLC: Los automatismos industriales con PLCSANTIAGO PABLO ALBERTO
 
Pulsos de reloj de Circuito integrado 555
Pulsos de reloj de Circuito integrado 555Pulsos de reloj de Circuito integrado 555
Pulsos de reloj de Circuito integrado 555Israel Magaña
 

What's hot (20)

Diodo Zener
Diodo ZenerDiodo Zener
Diodo Zener
 
Motores sincronos
Motores sincronosMotores sincronos
Motores sincronos
 
Tipos de controles AC y velocidad de motores Electrónica Presentación
Tipos de controles AC y velocidad de motores Electrónica Presentación  Tipos de controles AC y velocidad de motores Electrónica Presentación
Tipos de controles AC y velocidad de motores Electrónica Presentación
 
Control digital: Retenedor de orden cero y uno
Control digital: Retenedor de orden cero y uno Control digital: Retenedor de orden cero y uno
Control digital: Retenedor de orden cero y uno
 
PLC: Como programar PLC Step-7 y no morir en el intento
PLC: Como programar PLC Step-7 y no morir en el intentoPLC: Como programar PLC Step-7 y no morir en el intento
PLC: Como programar PLC Step-7 y no morir en el intento
 
Tratamiento de Señales en Tiempo Discreto Alan Oppenheim 3 edicion.pdf
Tratamiento de Señales en Tiempo Discreto Alan Oppenheim 3 edicion.pdfTratamiento de Señales en Tiempo Discreto Alan Oppenheim 3 edicion.pdf
Tratamiento de Señales en Tiempo Discreto Alan Oppenheim 3 edicion.pdf
 
El microcontrolador PIC16F877
El microcontrolador PIC16F877El microcontrolador PIC16F877
El microcontrolador PIC16F877
 
đIều chế tín hiệu (1)
đIều chế tín hiệu (1)đIều chế tín hiệu (1)
đIều chế tín hiệu (1)
 
Set de 35 instrucciones para pic16f877A programación en assembler
Set de 35 instrucciones para pic16f877A programación en assembler Set de 35 instrucciones para pic16f877A programación en assembler
Set de 35 instrucciones para pic16f877A programación en assembler
 
Libro simulacion mikroc
Libro simulacion mikrocLibro simulacion mikroc
Libro simulacion mikroc
 
Arduino: Arduino de cero a experto
Arduino: Arduino de cero a expertoArduino: Arduino de cero a experto
Arduino: Arduino de cero a experto
 
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdfMicrocontrolador PIC16F84 Desarrollo de Proyectos.pdf
Microcontrolador PIC16F84 Desarrollo de Proyectos.pdf
 
2.5. Rectificador de Media Onda
2.5. Rectificador de Media Onda2.5. Rectificador de Media Onda
2.5. Rectificador de Media Onda
 
Memorias
MemoriasMemorias
Memorias
 
Introduccion a los Sistemas Digitales
Introduccion a los Sistemas DigitalesIntroduccion a los Sistemas Digitales
Introduccion a los Sistemas Digitales
 
He thong thong tin quang
He thong thong tin quangHe thong thong tin quang
He thong thong tin quang
 
Pwm
PwmPwm
Pwm
 
PLC: Los automatismos industriales con PLC
PLC: Los automatismos industriales con PLCPLC: Los automatismos industriales con PLC
PLC: Los automatismos industriales con PLC
 
Pulsos de reloj de Circuito integrado 555
Pulsos de reloj de Circuito integrado 555Pulsos de reloj de Circuito integrado 555
Pulsos de reloj de Circuito integrado 555
 
Controladores ac
Controladores acControladores ac
Controladores ac
 

Viewers also liked

Microcontroladores pic diseño practico de aplicaciones
Microcontroladores pic diseño practico de aplicacionesMicrocontroladores pic diseño practico de aplicaciones
Microcontroladores pic diseño practico de aplicacionesCarlos Tovar
 
Uso del timer2 para pwm con el pic 16 f877a con el compilador hi tech
Uso del timer2 para pwm con el pic 16 f877a con el compilador hi techUso del timer2 para pwm con el pic 16 f877a con el compilador hi tech
Uso del timer2 para pwm con el pic 16 f877a con el compilador hi techCarlos Buitron Quispe
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxfreddymadriz
 
Microcontroladores pic, diseño práctico de aplicaciones 2da parte 16 f87x
Microcontroladores pic, diseño práctico de aplicaciones 2da parte 16 f87xMicrocontroladores pic, diseño práctico de aplicaciones 2da parte 16 f87x
Microcontroladores pic, diseño práctico de aplicaciones 2da parte 16 f87xMiguel Angel Corona Lòpez
 
Microcontroladores pic (josé mª angulo usategui, ignacio angulo martínez)
Microcontroladores pic (josé mª angulo usategui, ignacio angulo martínez)Microcontroladores pic (josé mª angulo usategui, ignacio angulo martínez)
Microcontroladores pic (josé mª angulo usategui, ignacio angulo martínez)Miguel Angel Corona Lòpez
 

Viewers also liked (8)

Microcontroladores pic diseño practico de aplicaciones
Microcontroladores pic diseño practico de aplicacionesMicrocontroladores pic diseño practico de aplicaciones
Microcontroladores pic diseño practico de aplicaciones
 
Microcontroladores
MicrocontroladoresMicrocontroladores
Microcontroladores
 
Uso del timer2 para pwm con el pic 16 f877a con el compilador hi tech
Uso del timer2 para pwm con el pic 16 f877a con el compilador hi techUso del timer2 para pwm con el pic 16 f877a con el compilador hi tech
Uso del timer2 para pwm con el pic 16 f877a con el compilador hi tech
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Microcontroladores
MicrocontroladoresMicrocontroladores
Microcontroladores
 
Microcontroladores pic, diseño práctico de aplicaciones 2da parte 16 f87x
Microcontroladores pic, diseño práctico de aplicaciones 2da parte 16 f87xMicrocontroladores pic, diseño práctico de aplicaciones 2da parte 16 f87x
Microcontroladores pic, diseño práctico de aplicaciones 2da parte 16 f87x
 
Curso de-mcu-proteus
Curso de-mcu-proteusCurso de-mcu-proteus
Curso de-mcu-proteus
 
Microcontroladores pic (josé mª angulo usategui, ignacio angulo martínez)
Microcontroladores pic (josé mª angulo usategui, ignacio angulo martínez)Microcontroladores pic (josé mª angulo usategui, ignacio angulo martínez)
Microcontroladores pic (josé mª angulo usategui, ignacio angulo martínez)
 

Similar to Microcontrolador pic16 f84, desarrollo de proyectos ao

Energia eolica. como aprovechar el viento.pdf
Energia eolica. como aprovechar el viento.pdfEnergia eolica. como aprovechar el viento.pdf
Energia eolica. como aprovechar el viento.pdfRubenDarioRestrepo1
 
movimiento_tierras.pdf
movimiento_tierras.pdfmovimiento_tierras.pdf
movimiento_tierras.pdfMiguelTicona13
 
1) MARINERO PESCADOR..pdf
1) MARINERO PESCADOR..pdf1) MARINERO PESCADOR..pdf
1) MARINERO PESCADOR..pdfjoelguerrero48
 
Teledeteccion ambiental listo
Teledeteccion ambiental listoTeledeteccion ambiental listo
Teledeteccion ambiental listoJaime Florez
 
Dialnet-MemoriaDinamicaEnElLenguajeDeProgramacionC-652144.pdf
Dialnet-MemoriaDinamicaEnElLenguajeDeProgramacionC-652144.pdfDialnet-MemoriaDinamicaEnElLenguajeDeProgramacionC-652144.pdf
Dialnet-MemoriaDinamicaEnElLenguajeDeProgramacionC-652144.pdfClaudia Naveda
 
MANUAL DE LENGUAJE C
MANUAL DE LENGUAJE CMANUAL DE LENGUAJE C
MANUAL DE LENGUAJE Cclaudiocj7
 
Energía de la biomasa
Energía de la biomasaEnergía de la biomasa
Energía de la biomasaeHabilita
 
Bernardo dofrias.matematica basica
Bernardo dofrias.matematica basicaBernardo dofrias.matematica basica
Bernardo dofrias.matematica basicaJesus Rivera
 
Libro de matemáticas fundamentales para ingeniería
Libro de matemáticas fundamentales para ingenieríaLibro de matemáticas fundamentales para ingeniería
Libro de matemáticas fundamentales para ingenieríaJhonatan Guerrero Garcia
 
Unidad 5. Energías renovables. Minicentrales hidroelectricas
Unidad 5. Energías renovables. Minicentrales hidroelectricasUnidad 5. Energías renovables. Minicentrales hidroelectricas
Unidad 5. Energías renovables. Minicentrales hidroelectricasmartuki85
 

Similar to Microcontrolador pic16 f84, desarrollo de proyectos ao (20)

Microcontrolador 16f84 X
Microcontrolador 16f84 XMicrocontrolador 16f84 X
Microcontrolador 16f84 X
 
Energia eolica. como aprovechar el viento.pdf
Energia eolica. como aprovechar el viento.pdfEnergia eolica. como aprovechar el viento.pdf
Energia eolica. como aprovechar el viento.pdf
 
movimiento_tierras.pdf
movimiento_tierras.pdfmovimiento_tierras.pdf
movimiento_tierras.pdf
 
1) MARINERO PESCADOR..pdf
1) MARINERO PESCADOR..pdf1) MARINERO PESCADOR..pdf
1) MARINERO PESCADOR..pdf
 
Teledeteccion ambiental listo
Teledeteccion ambiental listoTeledeteccion ambiental listo
Teledeteccion ambiental listo
 
Manual excitador-vaca
Manual excitador-vacaManual excitador-vaca
Manual excitador-vaca
 
Dialnet-MemoriaDinamicaEnElLenguajeDeProgramacionC-652144.pdf
Dialnet-MemoriaDinamicaEnElLenguajeDeProgramacionC-652144.pdfDialnet-MemoriaDinamicaEnElLenguajeDeProgramacionC-652144.pdf
Dialnet-MemoriaDinamicaEnElLenguajeDeProgramacionC-652144.pdf
 
Sistema de aerogeneración
Sistema de aerogeneraciónSistema de aerogeneración
Sistema de aerogeneración
 
Idae, biomasa
Idae, biomasaIdae, biomasa
Idae, biomasa
 
MANUAL DE LENGUAJE C
MANUAL DE LENGUAJE CMANUAL DE LENGUAJE C
MANUAL DE LENGUAJE C
 
Energía de la biomasa
Energía de la biomasaEnergía de la biomasa
Energía de la biomasa
 
Bernardo dofrias.matematica basica
Bernardo dofrias.matematica basicaBernardo dofrias.matematica basica
Bernardo dofrias.matematica basica
 
Libro de matemáticas fundamentales para ingeniería
Libro de matemáticas fundamentales para ingenieríaLibro de matemáticas fundamentales para ingeniería
Libro de matemáticas fundamentales para ingeniería
 
Introduccion a la Cata de Vinos
Introduccion a la Cata de VinosIntroduccion a la Cata de Vinos
Introduccion a la Cata de Vinos
 
Introducción a la cata de vinos
Introducción a la cata de vinosIntroducción a la cata de vinos
Introducción a la cata de vinos
 
Para saber de vinos...
Para saber de vinos...Para saber de vinos...
Para saber de vinos...
 
Manual i
Manual iManual i
Manual i
 
manual-de-cata-de-vinos
manual-de-cata-de-vinosmanual-de-cata-de-vinos
manual-de-cata-de-vinos
 
manual-de-cata-de-vinos
manual-de-cata-de-vinosmanual-de-cata-de-vinos
manual-de-cata-de-vinos
 
Unidad 5. Energías renovables. Minicentrales hidroelectricas
Unidad 5. Energías renovables. Minicentrales hidroelectricasUnidad 5. Energías renovables. Minicentrales hidroelectricas
Unidad 5. Energías renovables. Minicentrales hidroelectricas
 

Recently uploaded

VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsxJuanpm27
 
05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdfRAMON EUSTAQUIO CARO BAYONA
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Rosabel UA
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxEribertoPerezRamirez
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesRaquel Martín Contreras
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxNataliaGonzalez619348
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxJUANCARLOSAPARCANARE
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfDaniel Ángel Corral de la Mata, Ph.D.
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docxLuisAndersonPachasto
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicaGianninaValeskaContr
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfssuser50d1252
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 

Recently uploaded (20)

Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materiales
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básica
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 

Microcontrolador pic16 f84, desarrollo de proyectos ao

  • 1.
  • 2.
  • 3. Microcontrolador PICI 6F84 Desarrollo de proyectos
  • 4. 1 1 h Microcontrolador PICI 6F84 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 Kemi ro Dominguez y Lucas J . L6pez Pérez ISBN 84-7897-600-0, edicidn original publicada por RA-MA Editorial, reservxicis 0 RA-MA Editorial MADRID. Erpaiía. Derc~hos 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 editor. Prohibida su l repri~ducción parcial o total por cualquier medio sin permiso por escrito del propietario de los derechus dzl copyright. NOTA IMPORTANTE - - - La inforniacirrn cnnten ida 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 autorizda para venra e n Mkxici<i y todo el continente americano - Impreso en Mdrico PrintM in M e ~ k o
  • 6. A mi m yer. Maribrl, por- sic a p q n o ,c.ari,ioy paciencia. rk .4 mi,v hijos. C'i-istN ra Enrique. mi rnaymfi~cnir liltiyrias 1'slrtis/;rcciones. A n l i PUIJI-CS. Eririque y Sagr~rriu, rc.c.ujiociniieritu a su sacrificio. ~ cbti Enrique . mir pudre.^, hgo y demús ppersoncls it~~port~irirta v i h . 1 ~k rni Lucas A mis dos mujeres, Natalia con la que decidí compurrir mi.? dius *c ,A~icinicii me que uir7gi.u cudu diu J J . ~ narici y que a sus tre.y oños no deju de quewr rlj~tltf~irrne que a escribir y progrumor microcon~oladores per.i/L:r.icos. y Fernando
  • 7.
  • 8.
  • 9. Capitulo 1: MICROCONTROLADOR PIC16FS4.......................................... 1.1 Micrricontrolarlures PIC ................................................................................... 1.2 Alimentación de un PIC16F84 ..................................................................... 1.3 Puertos de entraddsalida .................................................................................. 1.4 Oscilador ........................................................................................................... 1.4.1 Oscilador XT ..................................................................................... 1.4.2 Oscjlador RC ..................................................................................... . . 1.4.3 Osciladores HS 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 Interruptores y pulsadores ..................... . .................................................... 2.3 Entradas &@talescon optoacopladores........................................................... . . 2.4 Display de siete segmentos ......................................................................... 2.5 Controlando cargas a 230 V ............................................................................. 2.5.1 Conml con relé ................................................................................. 2.5 .2 Control con re14 miniatura en cápsula DIL ....................................... 2.5.3 Control mediante fototriac ..................... . ......................................... 2.5.4 Conml de potencia con tnac .............................................................. 2.6 Zumbador..........................................................................................................
  • 10.
  • 11.
  • 12.
  • 13. 9.3 Saltos en funcidn de un registro................... .... ............ ............................... ,.,.. . "decfsz f,d" . ..... ............... ....................... .............. ........... 9.3.1 I ~ h c c i o n r 9.3.2 Instrucción "incfsz f,d"............................................ ....... ....... ..... ....... ., 9.4 Cotnparacion de registros.. . ................... .. ...... ......... ....... .. .............. ... .. ... .. . . .. .. .. . 9.4.1 Comprobar que un registro vale O .................................... . ......,......,. 9.4.2 Comprobar igualdad enlre dos regismos.................. ..... .... ......... . .... ... . 9.4.3 Comprobar que un registro es mayor o menor que otro.................... 9.4.4 Programa ejemplo..... ..... .................... ............ ...- . ....... ....... .... ..... .. . .. ... .. 9.5 Lazos o bucles........................ ........................... ...................,.,.,.., ..................... . 9.5.1 Lazo de repeticihn infinita......... ...................... .......... .. ....... .... .. ... ... 9.5.2 Lazo con condición de testeo.......... ................................. ................... 9.5.3 Lazo que se repite un numero conocido de veces.............................. 9.6 Programacion y algoritmo.. ............... ......... . ..,....... ..... .. . .. ,.. .. . .. ... ....... ... .. .. .. .. .. 9.7 Diagrama de flujo ..... ..... ..... .. .. . .. .. ... ... ... .............. -................. ..... ........... . . . 9.8 Más directivas importantes .............................. ........................... ..................... 9.8.1 CBLOCK y ENDC............................ .... . ............................. .............. 9.8.2 #DEFINE ..................................... .. ..................................................... 9.9 Conversionde binarionatural aBCD................................. .. .......................... .............. .............. . .......,.. 9.10 Salto indexado ......... ........................... ..................... 9.1 1 Salto indexado dcscontrolado ........................ ..... . .................................... 9.12 Prácticas de labamtorio .................................................................................. Capitulo 10: SUBRUTTN.4S................ .......... ............................... ..................... 10.1 Subrutinas ...................... . .. ......................... ........................... ..................... 1 0.2 Subrutinas anidadas.... ...... ......... ..... ............... ................. .. ..... ... .. ......... ..... ... .. . 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ón de subnitinas en MPLAEI . .......... ....... ....... ................... ..... .., .... ... ., 10.10 Programacion estructurada........................... .. .q,.,.............,,, ...qq.....,,,-..........,q, 1O .11 Practicas de laboratorjo ................ ..... . ........ ..... .. .............. .......... .. . .. ... . ... .. . .. Capitulo 11: MANEJO DE TABLAS ..................................................... 1 1 . 1 Tablas de datos en memoria de programa ..................................................... -' 11.1.1 Insmccion retlw ............................................................................ 11 73 1 1 -1.2 Directiva "DT' .......... ...................... ... ..,.,... .., ..... .......,., ,.,....-....... ..... . 1 1.2 M i s directivas................................................................................................. 11.2.1 MESSG .......................................................... . ................................... 11.2.2 ERROR .............................................................................................. 11.2.3 [FyENDF........................................................................................
  • 14. XIV MICRW0NTRC)tADC)R PIC'IbFB4. DCSiiR ROLLO DE PROYECTOS w nA-hW - $ 1 1.3 Gobierno de un display de 7 segmentos .................................................... 162 1 1.3 Practicas de laboratorio .................................................................................. Capítulo 12: SUBRUTINAS DE RETARDO ................................................ 12.1 Ciclo miquina ............................................................................................... 169 i 12.2 Medir tiempos con WLAB .................................. .................................. 171 I 12.3 . Instniccion 'hop".......................................................................................... I 17 1 1 12.4 Retardos mediante lazo simple ..................................................................... 172 12.5 Retardos mediante lazos anidados............................................................... 174 12.6 Librería con subnitinas de retardos.............................................................. 176 I 12.7 Rebotes m los pulsadores ......................... . . ................................................ 18 1 1 12.8 Practicas de laboratorio.................................................................................. 184 1 Capitulo 13: LCD ................................................................................................ 187 C 13.1 Visualizador LCD........................................................................................... 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........................ ................................................. 19 1 .. 1 13.6 Comandos de control ................................................................................. 192 1 13.7 Conexión de LCD mediante 4 bits .............................................................. 1 3.8 Librería de subnitinas .................................................................................... 194 C 13.9 Visualizacibn de caracteres .......................................................................... 201 1' 13.10 Visualizacj6n de valores numéricos .............................................................. 202 1 13.1 1 Conexibn de LCD mediante 8 bits ................................................................ ?O3 1 13.12 Visualización de mensajes fijos ..................................................................... 204 1' 13.13 Visualización de mensa-iesen mo~iniiento ................................................... 208 13.14 Prkticas de laboratorio ......................................................................... 209 1' Capítulo 14: EEPROM DE DATOS .................................................................. 213 1' 14.1 Memoria EEPROM de datm ......................................................................... 213 1' 14.2 Registro EECON 1....................................................................................... 215 1 ' 14.3 Librería de subrutinas..................................................................................... 216 1' 14.4 Lectura de la EEPROM de datos ................................................................... 2 17 1' 14.5 Escritura en la EEPROM de datos.............................................................. 217 1' 14.6 Directiva "DE" ................... . . ..................................................................... 218 14.7 Ventana "EEPROM" en el MPLAB .......................................................... 218 C 14.8 Programa ejemplo........................................................................................... . . 14.9 Bloquear un circuito ....................................................................................... 22 1 1I 14.10 Prácticas de laboratorio.................................................................................. 227- 1I 11 1I 11
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23. iía estructura de La teoria desarrollada va siempre dirigida a hacer las prácticas, siendo 13 m entender los imprescindible para la realimción de los proyectos de dificultad crecieiite que trabajan sobre circuit~s reales. : software y del Esperamos que la lectura de este libro le resulte seilcilla y sobre todo que cumpla M conocimiento la finalihd para la que esta cscriio, que con los pocos niedicis técnicos de los qiie se siicic itilizar porque es dispuner en casa. sea cap= de desarrollar proyecuis tiiicroprobmables dc una forma autodidacta. C'ualqiiier aficionado, estildiantc o ingzriiero, con ayuda de este libro, debe ser capaz de empezar a utili7ar el PICl hF84 inmediatamente en sus propios proyectas y lgramable; y el diseiios. en detalle cómo ente. Nuestro agradeciiniento a las iiibricantes Micruchip Tt'clinology inc, Phidip Sem~conducror~ Dullu,c Smiconductors, así como a la erliprcsa Sagiiron por su y la enseñ;uiza de constante esfuerzo en ayudar a los usuarios en la uiilizacion de sus producios. rnpartú nuestras 317 realizadas por Querertios finalmcntc agadecer a todos 10s compañeros y alumnos. la ayuda an de un teclado, prestada, sugercticias y participación en el desarrollo de esta obra: Carmen Ghtticz, Julio uello funcionara. Redondo, Jesús Sanz, Javier Tempradu, G e m a Gil, Jiian M. Morales, Jcid M. n la tecla r?in y Escobosa, Atia &irnora. Nuria Tririjatw, José A. Sanz, Alejandro Pico, Loli Moreno. S alumnos ieniair Sergiu González-Nicolás, Javicr G m ia-Caro, Diego A. Cbrdoba, Alfonso Martíii, "'maleta" era el Eduardo F. Garcia Folgar. Ángel Toledo y Fmando Blanco. rcicesador eri siis LOS AUTORES s este mundo dc sdz el esquema a tid do al sistema gas. Entrc otras, 1 p e1 misnio y r comprender. No itorios, sino que m Y por Ultimo, :4 mismo el que ar que lo que ha S -; años de IS aqui descritas. ipción. También rse junto con un -es, a complejcs
  • 24. CAPITULO 1 MICROCONTROLADOR PIClóFS4 1 . MICROCONTROLADORES PIC Un microcontrolador es un circuito integrado programable que contiene todos los componentes necesarios para contrc~lar el funcionamiento de una tarea determinada, como el control de m a lavadora, un teclado de ordenador, una impresora, un sistema de alaril~a,ctc. Para ésto, el rnicrocontrolador utiliza 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 rnicrocontroladoren un circuito reduce notablemente el 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 y a n cantidad de ellos, con multitud de posibilidades y caracteristicas. Cada tipo de microconmlador sirve para una serie de casos y es el diseñador del sistema quien debe decidir cual es el micrwuntrolador más id6neo para cada uso. En lm últimos ~ í í u han tenido un gran auge los microcmtroladores PTC fabricados s por Microchip Technology Inc. Los P IC (Peripheral Inteqace 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, fiabilidad y abundancia de infomiacih, lo convierten en muy fácil, ciimodo
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38. 130 V (bombillas. Es indispcnsablc coilcclar un diodo cn paralclo con la bobina dcl rc16, tal como ipropiados donde muestra la tigurü 2-6. coino protecciOn frente ¿ilos picos de fuerza coiitraeiectromotriz ica. producidos por la carga inductiva de la bobina eri el inomento de la coniniitaciiin. Iéctrica dc 230V. Para controlar uri cicrto núincro dc rclCs a partir dcl niismo ~nicrocontrolador, sc provocar lesiones piiede tititizar un circuito integrado especializado tal coiilo el U LN2003, figura 2-7. Este aje y revisarlo chip dispone de siete circuitos inversores rediizados internamente con circuitos las conexiones o I)arlingtori, quc aguaiitan una tcnsión inaxii~iadc 50 V y pucdcn alimentar cargas de is eléctricas, sin hasta 500 mA, incorpora tainbiCn los indispcnsablcs diodos dc protcccion. iar dispositivos a ir de transistores 1 CARGA GND w7 l--N DIODE COMMON Figura 2- 7 Driver ULN2003 La figura 2-8 describe el esquema tipico de conexión, donde el ULN2003 alimenta las bobinas de siete reles. I I 5.. 5 o ULN2003 o O > 17 6 RBOIIMT 7 RBI UA2 RB2 - RA3 W4TTDCKI RB3 RB4 10 11 R55 12 RB6 IN7 OUT7 rq RB7 13 8 GND COM. g to a la base del BOBINAS :ontactos, puedc - :lectricamentc la de los contactos oportar más de 5 F i p r u 2-8 Circuito ttr'yico de gobierno de varios reI&scon ULN2003
  • 39. - 16 MICROCOWROLAWR PIC 1 hFR4 T)LSARROLLO DE I'KUY CCTOS -' 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 f i p r a 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 necesario conectarlo en el circuito. 5v ALlMENTAClON CARGA 'l - - - CARGA R1 u1 10k BC547 CARGA hiiAxiMA (500 mA. 1bW) Figui F i p r u 2-9 Gobierno de p~qrtriln~ cargas u trai.L.rd~ un rd&de láminas en cu~)sulu DIL hará i 2.5.3 Control mediante fototriac ~ U Z .1i la te En el circuito de I:i figura 2-10 los contactos del relé son siistitiiidos por un prácti fciiotriac, cuyo funcionamiento es similar al dc un iiltemiptor controlado por luz. el ti rí es ne El necesario aislamiento entre cl microcontrolador y la carga de 230V se hace cona; mediante w o p t ~ ~ o p l a d o r i MOC3041, qiic es iiii circuito integ~dc) incluye iin LED que 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 carac tensti cas 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 1 O0 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 de rt un número iio despreciable de componentes externos. c ircu El cc
  • 40.
  • 41.
  • 42. ~ciamínima Para conseguir cstas potencias, el triar: debe ir montado sobre un buen radiador de rna es dc calor, de forma que el semiconductor cc refigere adecuadamente. A la llora de poner el ;mdo en el radiador hay que sefialas qzie la parte rnetiilica del componente suele conectarse al . Por tanto. temiinal T2. por lo que se dcbe aislar cuidado(;aincntc el triac de! radiador rncdiante una lamina de mica y un separador dc plishco para el tornillo. I '- 2.6 ZUMBADOR ic, donde la En muchos proyectos es necesario indicar mediante tina sefial audible la ocurrencia r a! de un de un evento. Para ello normalmente se utiliza un zurnbsidor piezoeléctrico miniatura ;u vez, esta corno cl de la figura 2-12. rolar cargas Un zumbador miniatura funciona con tensiones comprendidas entrc 3 y 16 V y su consumo no supera los FO mA, por 10 que puede ser alimentado directamente por la salida de un microcontrolador, tal como s indica cn la figiim 2-13. e SUM&ADOR EMITE SONIDO CON SALIDA A NIVEL B A l O tc entrc en olnac para ZUMBADOR EMITE SONIDO CON SALIDA A NIVEL ALTO 137 (8 A) 822 'uctivas ei Fisura 2-13 Conexihn de irn aimbador ininiafirt-a a un microconfroJador
  • 43.
  • 44. 22 fICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS ~RA-M En microcontr: múltiples v tienda de ci por sí mism 1 - Ordenador Personal Grabador E> Programador (TEPO-SE o compatible JDM) Fjxlrra 3-1 Coyf;guraci¿inpar[/p b o r micrmot iri-orudorps con medios redz4cilr'os 3 2 GRABADORES . El grabador o programador es el equipo físico dondc se procede a p h a r la memoria del rnicrocantrolador con l% instnicciones del prapma de control. Tiene un a zkalo libre sobre el quc se inserta el circuito integrado a grabas, el cual debe orientarse uadarnente siguiendo la señal de la capsula del chip. Hay multitud d.c grabad ores :rciaEes en mercado que se pueden adquirir en cualquier tienda de clec trbnica. e1 Microchip o k c e el gmbador PICSTART PLUS, de muy ficit utilización y ihzada fiabilidad respaldada por el fabricante (fipra3-2). En las quc apenas r miicho rncnu muy iiitcrcsai que estos g~ purtAtiles soh
  • 45. En ltiternct pueden localizarse múltiples grabadores de bajo c o n para microcontroladores PIC. Uno de 10s más populares es el denominado JDM y sus iniiltiples versiones mejoradas, tal como el TEJO-SE que se puede adquirir en cualquier tienda de electriinica por un precio muy asequible (figura 3-3). Si 1 ntarlo por si mismo, cn c1 apkndjce F se proporciona información para el1 - . 1 -- amador Iible JDM) El programador JDM y a l s n a s de sus version¢s la Wcb 2- e grabar la diseñrtdor Jens Dyekjm, w . i d r n . h o m ~ a ~ c . d k / n e w ~ i c . :rol. Tiene un zbc orientarse fe grabadores -ir(inica. ES EXTERNA AL CfRCUtTO 3-4 de cornpnfildeJBM bO.cico cor Fig~rcr Esqzt~rna 110pl1~1dor Eir las figums 3-4 y 3-5 se describen dos versiones básicas de este pmprnador qite apenas reqiiicrc cornponcntes. Evidentemente P fiabilidad de este programador es a mucho menor qiic In dcl PICSTART PLUS. pero su facilidad de construcciiin lo hace mriy intcrcsantc para miiltiplcs aplicaciones. Auiiqiic hay quc hacer tina obsen~acicin es v que estos p.abadores tan hrisicos no funcionan cor~ectamenteen algunos ordcnnc pottfitjlcs scihre todo. Ademb, iina conexión incorrecta puede dañar cl ordenador.
  • 46. 1 24 MICROCONTROLAWR PICI 6W. DF5AR ROLLO DE PROYECTOS m~4-WA - r' M-h~ l D1 TU n7 lWi4 funcionamiel u i i g cstc fl7r de jq)mg.si:~ En 15 x la iiltima ver: I L y y- E 5 - ayudar a todc ~K profundo dc DB s m programa ¡ .C - - 3.4 G R 1.fiE.I L . t C Avriromri lio Fimrvn -, -, YYYL,CI.*" M b ni.nhn/Lr i r n h. L.I.C.C.", l l r l rnnind;hlo IT) fiA hr;r;rn IUY.I,I&, YUil.U,l c;i? n1;montn~Mnoviornrr -.Lr "I...IL..<UL.V.. L"I.I I " Y l l . .l.<. ,.U Una ( ' "i n ~ " ' " " -.. - ' r"P."""""q Al ""-'."' nian rhin' pn pl nrnummndnr hnv n i r ~ r r i n r n r c ~ r ""' mp " que todos los pines o desrirrciilar e patilla$ del disposiiivo esttn rectos y de que entren t~ien el 2,,,,,.q l r i ,,n , , en iXr U, ,, , niin +L tm m r L - tb a sólo O C ~ S mucho cuidado porqlie estos pines se doblan y :se rompen con extrema facilidad. """- í'iinndn CP r"". '" --""- ""- ""."'-' ".. "- r~nli7-nf'"...-"-""'-'rmrnummnrinnrr rc nrnnc&nhl~iitili7nr iin 7iirnln r ~ r i i ~ n t ~ c '-..'"-"..-" L '*'-"" material: ixiliar entre el micmcontrolador y el zócalo del proprnador, de tal modo qiie sea los nes del 7ócalo auxiliar los que sufran Ii frecuentes insercioncs y no los pines del rs spositivo. Otra alternativa, es reernplaz~r el z k F o del programador por un zócalo de em dc inserción nula Z F (Zgfo Jnserfion Forre), aunque ticnc cl inconveniente de su evado precio [figura 3-G). P'ig74ru -,-, ' * Unc Figura 3 coi El IC-Pr~g es uno ac ios s o h a r e más populares para la grabación de microcontrnladores FIC. Permite la prpgmrnaciOn de miichos dispositivos y esti probado * Un con numerosos programadores. entre ellos todos los compatibles con JDM. Es de libre elect distrihucián y en la pigiiin Wch ~ w v . i c - ~ r o ~ csc m o piicdc descargar y recoger toda la o frct infamación de uso. Com Una vez descargndo, la jnstalaciirn de estc software es muy sencilla. basta con Web - .. - - y . - . . . . , " firh~rriirnrriu 7in v wrniir rl n m r ~ r i i m i ~ n t-..... ~n Winrlnwc Fctp qrnmnrirnir PI . .-*T. - p . - + . - - - Y--.-.." ,.'-"--..".-"'Y iiqii~l-". .. .-..-Y ..*.* --.,-- J - n obra d~ivo consta del ficliero ieprog.e.re, qiie contiene todo el código necesario para su
  • 47. hncionamiento, con versiones para cualquier s i s t m a oprativo Windows. En caso de utilkar este software con Windows XP, 2000 o NT, es necesario descargar e! archivo icprog..yde F misma Web y situarlo en la misma cavela, junto con el icpvog.a. a En las próximas piginas v rxpondfin las conocimientos básicos pñra trabajar con la última versión, al cierre de la cdición de este libro, JC-Prog 1.OSC, con la pretensi~n dc ayudar a todos aquéllos que se enfrentan por primera vez a este s o h a r e . Pasa un anilisis profundo de todas sus posibilidades se rcmite a la documentación tknica, ya que el propio prograina IC-Pro2 tiene un buen sistema dc ayida qiie permite un rápido anrendizaie. 3.4 GRA 5~ CON MEDIOS REDUCIDO Una de las grandes ventajas de T s micmntmladores PIC es que pcrrniten o xlos los pines o amar: el proceso de p h a c i h n con muy poco gasto. Para aqitéllos qiie desarrollan rollar , I4ay que tener S610 ocasionallmente proyectos ; basados en micmontroladores, es suficiente Iidad. utilinIr el procedimjenro de in con medios reducidos que se indica a contil~uación.S e ~ i n esquemr el gma 3-1, este pmediiniento utiFiw el siguiente ili7ar un zkrtlo material: 3d0 que sea los o los pines del jr un zócaIo de nveniente de su Figuro 3- 7 conectar elprogru~r~uurirrrcrvv., de los puelios Cuurcy u r ~ u COMI o CUML Un ordenador personal. m Un cable de conexión entre ordenador y pmgmmador del tipo serie DB9 para puerto COM (figura 3-7). Este cable se puede adquirir en tiendas especializadas o bien fabricarlo mediante dos conectores DR9 (hembra y macho) y cable, preferiblemente plano, concxionando los pines con el mismo nUmero en cada extremo, es decir el: terminal 1 de un conector con el terminal I del otro. 2 con 2, b.c.v,.w,4n dc 3 con 3, etc. y cstli probado Un programador TE20-SE, ds adquisicihn en cualqiiier tienda de )M. Es dc libre electrónica. En apíindicc F y e m-ROM que acornpafiiia a este libro se rccogcr toda la ofmen planos para su construcci,,,. * Como sottWm se utiliza el IC-l%g 1.0:iC, que 1 bajarse librrmente di la ~uede cilla. basta con Web www.ic-rmn.com. y que 4e incluye: en el C D-ROM que acornpaiía a 4sta , Windows. Este obra, p c i a s a Iri generosidad de Bonny Gijzen, su autor. :esario pan su
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79. que sólo !a línea I del puerto y la ~ctum distinta a in de ser de esta ieración de una W 7 : W . Tcdas ir, conectada a la mgramaaas para y r a 5-9 muestra variación dc una la ultima sefial le las señales de o TNTCON. ienfación LENGUAJE MÁQUINA máxima I I I ~11and0 está ~ El Único lenguaje que entienden los rnicr~ontroladoreses el formado par Ios ceros :ia dcl chip, esta ! unos dd sistema binario. Cualquier instrucción qiie deba ser cj~cutadapor 61 : luede exceder de rnicrocontrolador debe estar expresada en binario. A este lenguaje se le denomina lenguaje rnhquina, por ser el que comprende el microcontrnlado~Los códigos de este leripiia,je que fonnari Ins iristnicciones se llaman c6dijys máquina. Así por ejemplo. cuaiido el microcontrolador PlC láF84 lee cl chdigo mricluina " '1 11 11000 1 1 10 1 W, esti recibiendo la instmccion: ".rrrmn58 al regi,v/ro de trabajo W y g-uurda e/ resi~lratfo en Pin esk mismo regi~tro W". RB7,R84 :J;? - c T, +-y r . .t 't- Cualquier otro lenguaje que se utilice debe ser tndticido a unos y ceros para que el rnicrocontrolador pueda procesarlo. Dicha codificaciOn binaria resulta incdrnoda para traba-jar, por lo que muchas veces se utiliza la codificación hexadecimal para facilitar la interpretación de los códigos miquina y no saturar las pantallas (ni los cerebros) de unos y ceros, Asi por ejemplo, en el capitujo 3 se pracedio a grabar los microcontroladom
  • 80. 5H M1C'ROCC)NTROLADOR P C AF84. DESAñROL LO DF. PROYECTOS 11 3 RA-m utilizando el pi-ugmrna IC-Prog, que trabaja cn lenguaje máquina, pero utilizando la codificacion hexadeciinal, tal cotrio se aprecia en el cjemplo de la figiira 6- l. 6.2 LENGUAJE ENSAMBLADOR El lenguaje máquina cs difícil de utilizar por el horiihre ya 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 microcontroladcir es capaz 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!rriliujo W 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 W 58 ul r-e,yisiim d~ ~t-ublljo y r~~~.ulíudo ~ ~ C I Y el ~ U I en SIL' ~ni.~tno registro ". Elisamblador: uddw d'5H '. Máquina: 1 1 1 1 10 00 11 1 O 1O (expresado en binanol. 3 E3 A (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 interpretado y 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 fichero puede ser grabado en la memoria de p r o p m a mediante la utilización de un grabador de microccintroladores.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 88. hli MIC'KcX'ONTROLADORPTC I GF84. DESARXCJLLO DE PROYECTOS E RA-M h 6-2 Repertorio de ipisfrucciones del PIC16 F84 Tatill~ Las instrucciones se recogen e n L tabla 6-2 y detallan cn su totalidad en el a apéndice B. En este capitulo se estudiimin 111s instrucciones inás scnrillas. 6.9 INSTRUCCIONES DE CARGA Las instrucciones de transferencias de datos son típicas de todos los procesadores y su misión es transferir el contenido un registro fuerite (f! a iiti registro destino (d) o bien cargar el destino con utia constante. En los microcoilrroladritrs PIC todos los datos residen en posiciones de la triemoria de datos y en el registro de trabajo W. 6.9 En la explicacion de estas instrucciones se ernplea muchas veces una nomenclahita especial muy sirriplc basada en parintesis y flechas. Con los paréntesis se destaca que se del 1 trata del "contenido" de las posiciones de iiienioria y la flecha la Jircccibn d e lad re@ transferencia de los datos. Algunos cjcmplos: resul ( W ) 3 (PORTB): Significa "el conr~niLio registro W se truns$ere u1 del w Ante puerto B.'. (2Bh) 3 (W): Significa "el contenido la pwíció~? dr 2Bk de M M de m h t o s se bransjere al registro ri'c. traht-rjo Hp'. Et ia 2Bh i (W): Significa "e/ regt~trode tti-ub(?jose c~irgacon el dato Ante ZRIi". (Notar la auscncia de parkntesis). w Hay cinco instruccioiies de carga propiamente dichas: 6.9, 6.9.1 clrw regis (Cleur W). El contenido del registro W se borrri (se cargsi con b'00000000') y cl flag Z sc activa a " I ". Esta instrucción también se podria cotisiderar como aritmética. Ejw Ante -1
  • 89. fi R A M A Ejeir ctw Antc (W) = Z = l.'? - . Ninglino 1 Despues instrucc~on: ( N r )= ~ l x f l f ty L = l . . Ninguno 1 Ninguno Ninmin~ 1 (Clemfl. El contenido de1 regrstro ' f se b m (se carga con b'000000007 y el flag o Z se adiva a uno. Esta instmccibntambién se d n a considerar como aritmética. mo. PD Ninguno m,rnD 1 Qerr Antc npcr 6.9.3 movlw k .I total idai (Mnve Literal to W). El re3ist-m W se carga con el valor de los 8 bits de la constanic'k'. Ningiin flag del registro de estado es atkctado. .i3 I I I 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 ' una nomenclatura se destaca que se del valor de 'd'. Si 'd' = O el destino es el regstro W, s Vd* I el destino es el propio i = direcciót '..-iuni IBA & h!AM de registro 'f. El f l a ~ del registro S T A T U S - ~ U ~ ~ ~Z se activa a "1" si el resulitado de la . . Eiemn 10 F : Ante Dcspuks instn Z - i es ccrcE. n movt PORXd, 0 p R'A) = Ox 1Ik O1 . (POR?'A) = 0x11 A, afectado: : (PORTAI (W) = i', (W) = o: + 1w) I r w 11 & 2em i. i - > ' r p con el dato Aiizei Dcsp el resultaido de Ia 1 (Move W lo 1 . )Carga el contenido del registro W al registro 'f. Nirigún flag, del registro de estado es afectado. I Qmplo: Antes inshcc ión: Despuks iinstniccihn: rnovwf PORTB (PORTR) = i,? (PORTB) = 0x4 : (W) -9 (PORm I
  • 90.
  • 91.
  • 92.
  • 93.
  • 94.
  • 95.
  • 96.
  • 97.
  • 98.
  • 99.
  • 100.
  • 101.
  • 102.
  • 103.
  • 104.
  • 105.
  • 106.
  • 107.
  • 108.
  • 109.
  • 110.
  • 111.
  • 112.
  • 113. y seleccionar Orrprtt ro File y salvar cl fichero de la forma ya conocida en el entorno 'indows. h i t o general de1 :contenido de la 5TbTL5 PCL . . -. . 3 de estado Aunque no es una ventana de visualizaci6n propiamente dicha, la linea de estado proporciona infomciiin muy iitil sobre la situacibn actual del microcontrolador. Se ubica 1 m la pane inf&or de la pantalla y ofrece infomnacion en todo momento del estado de Ia ------- simular1n.i ..."."O ., Es especialmente útil la infamación sobre el contenido del contador de progama. del registro de trabajo W.También indica el valor de las flags de STATUS. Si la letra está I m rnaqúsculas indica que ese flag vale "1 " y, si es miniicc~alas "O". Asi en el ejemplo vale I de la flgtn 7-13, Z =O, DC =1 y C=E. ---+ WFAQ?u .. -- :~~~JTARTa ; l ~ S . . -. - ; ....... - - ~ W m P 7 a h 3 - . w :- . 2 duros . ...... --+--- L . Fipcrn 7-iJ , A ~ ,wc- G , ~ L ~ Lcon la infamación del PC, W yJrapP~ SIn , ~ ~ I~) del hre simb6licci que de usiiario. 7,6 SIMULACI~N BASICA T m el proceso dc ensamblado sc p d e a la simiilacibn del programa, Mientras w ejecuta la simutacibn del programa es interesante visualizar el contenido de las tc supervisar los ventanas explicadas antes y comprobar el efecto m cada una de ellas. iso concreto. Para wdro de dililogo Es conveniente antes dc nada, comprobar que está cargado correctamente el ee pulsando sobre IPLAB SIM, tal como se explicb en L figura 7-4. a Los cinco comandos m& importantes p m la simulaci6n se localizan dentro del rla m posteriores menú Debbuger y se muestran en la f_ 7-24. i m I I 1 .' ,
  • 114. 92 MICROCONTROLADOR PIC IóFR4. DE'RROLLO DE PROYECTOS c A-MA m Rfrn. Modo de ejecucibn continua. Ejecuta el programa constantemente. Las ventanas abiertas en el paso anterior no se actualizan hasta que no se produce una parada. Es la fama m i s 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 ~ t n pulsando la tecla F9, tambitn al pulsar S o el icono correspondiente de la barra de herramientas (flecha azul). 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 seleccionando D s h i r ~ ~ >r e Aninia también al pulsar sobre el icono correspondiente de la barra de herramic (doble flecha azul). * 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 instnicciCin del progama cada vez actiializando los valores dc las ventanas. Es la forma mis lcnta de simuIaciiin pero se compnieba fáci 1mente 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 Pan1 entra selcccionarido Dehiigger > Re-re! o pulsando la tecla F6. También si se aemho tic pulsa sobre el icwo correspondiente de la barra de herramientas. Seleccionn donde Iia i
  • 115.
  • 116.
  • 117.
  • 118.
  • 119.
  • 120.
  • 121.
  • 122.
  • 123.
  • 124.
  • 125.
  • 126.
  • 127.
  • 128.
  • 129.
  • 130.
  • 131.
  • 132.
  • 133.
  • 134.
  • 135.
  • 136.
  • 137.
  • 138.
  • 139.
  • 140.
  • 141.
  • 142.
  • 143.
  • 144.
  • 145.
  • 146.
  • 147.
  • 148.
  • 149.
  • 150.
  • 151.
  • 152.
  • 153. i la figura9-4 que t~ t . . . - Esta dir fine una ( :to. Dondle quiera Ique <nome> icuentre, e mblador : Ejemplo I : A continuación se :]Ni?LED PORTB s conecta i: cstn Iine e n ... bsf LED BLOCK (Dflne n :D~P id bc tl Ranw O, lnes (genmlmentc ~DFF icof bs : n .o: Rznm 1 . m; i1 -DFF D P( : El LER sc conccia 3 marcada entre las ; ACCCW al Banco 1. ; Confrgum csla línea como salida. ; hcccw : Banco O. i1 : Encicndi: diodo L el Esta directiva emula #DEFINE del ANSI C standard. Los simbolos definidos con este mCtodo no están disponibles Dara ser usados mr el MPLAB. anterior ejemplo). 15. Si este valor no 9.9 CONVERS ARIO NATURAL A BCD cuwrior al: de la si a lo largo del La conversión de un numero expresado en binario natural a formato hcu es una ion de variables, d e las opcracianes más utilizadas en los progamas con microcontrolador y que merece ser !; analizada en detalle. Por eiemplo el valor 124 expresado en binario n a t m 1 seria . I 01 1 1 1100, para expresarlo en BCD hay que separas Fas centenas, decenas y unidades definida qudando: 0001 0010 0100. La figura 9-5 txplica cl:diagmma de flujo para resolver esta .4. Un coni~crsihn. programa ejemplo que lo irnplernenta. seria el descrito a continuaci9n y que s,e pttede comprobar sobre el circuito de Iri figura 9-6. ***si nienzo los valores . Un nu m m hinario de 8 bits cs curivcnido 3 RCD. El erultadri se gl~qrrl e n m psicioncs a a RAM 4de datos. :dcmem~irins ilamadas Ccntcna~. Docenas y L'nirladcs A d m i s a l tiiial 1las unidades estaráti en el ., -1 h e ,--m -A ; nihhl c bajo del repsmi W y las dcccnas cn cl nlbhlc alto. En Ins didas LEDs canectados al o de calida se visuaii7arán ! s dmenas y la* L a ; El m valor que p :niuni :El procediniientr2 utilizado 1 " :ejempln quc trai; A. l*.s, ., .-
  • 154. MICROCO~OLAWR PIC16F84.DESARROLLO DE PROYECTOS OWMA {Decenas) movlw subwf NO, I H Incremcn S). btfi~; NO, m! NO. . .. . . hcrt cenas). Foto NO,mi NO. lncmcnta (Uc cenas). NO. resi NO. Incremonta (aecenas). NO,mi NO.Incremnta (Decmia~). NO, m NQ. Incrementa (Decenas). NO. ma lo c NO. Incrt:menta (Dc cmiaii). NO. reSra 10 NO. Incrtmenta (Decenas). NO, Festa 10 NO. lncrt:mcn ta (Decenas). NO,resr f n hln lnm..-. + I r % * r * n n r l . .M - ,*v.iii~ibiiibiira (r,c bCil02,J. NO. m t Si. @ecenari)=O, y aldemb incrementa (Cenfew ) NO, resta 10 NO.Inemnenta (Decenas) sí, se te 'Numero". r- 1l UDE <PI( CSLGLAIB(UL :u zona ac memona ac usuano comicnz.. ... . . i . . Centenas ; dirrccii h a R h M de datos. Decer)y a ; Pmició Unida ; Pmici8 ENüí Numero EQU ORG ;El pmg inicio bsf STAT ;Accesob al Banco 1 clrf TRlSE : l s liniz del F erio R se contigam wmo sdicta. a u bcf STAT :Acceso al Banco I1. b mua n pr clrf Centenas :Carga 10s qismr;con el res1~ltado inici: "BCD-lncr clrf Decenas ; En principio (Cenitenaspo y i[Dcce:enas)= movlw Numero moru : Se carga el n m binano a convertir. ú m Bm-Restui 10 1 movh ; Alahu les va restaindo 10en c . . subwt : pa-da. (WJ==(Untdades)-lo. ?, i ( W ) Vi! ,. . < menor de 1 BCD
  • 155.
  • 156. RAO ABOff N f R41 RB1 RA2 RB2 : Lns salidai se o h t i i RA3 R53 : RR5 (SI;' i, m (53: 4 RMOCKI RR4 R85 RB6 ; ZONA D'E DATOS Fignrn 9-6 Circttito paro compmhar el programa RCD_Ol.mm novlw P iioluri 3 1cf S EI salto indexado es una tknica que pemiite resolver problemas que puedan ser aovf- P representado mediante tina tabla de verdad, En el PICI 6F84 se basa en la utilización de la ndlw h instniccihn addyf PCI,,F, de este modo, la direccihn del saIto se consigue sumando a[ ddwf P contador de programa (PCL) un valor de desplazamiento almacenado en el regiswo de trabajo W. oto C oto C' oto C En el salto indexado, la dirección del salto se co~sigue sumando a un registro base (el PCL) un valor de desplazamiento alrnrlcenado en un registro índice que es el registro de trabajo W.A cste valor de dcsplazamiento se le denomina también qfl~et. ejecutar la Al instmccihn cw PCL,F el registro base TCL) debe estar cargado w n la p r i ~ m r d direccion de Fa tabla, apuntado de esta manera al origen de ba t . >!o C nnO ovlw h' En el siguiente ejempto se asimila f5cilmwite la utilidad de salto indexado ..- IlCl i4 hardware utilizado s d el esquema de la figura 9-7. .mt ovlw h'l ,tn h. id : tmp11 :matar un: tabla dc Ii verdad m a : i iancja dc te ovlw h'l ;Por qjtmpto, la Iabla seri de 3 enmb s tal como I itn A' 1717
  • 157. C ' M ~ U L O SALTOS 9: 135 o o 1 1 a o 1 o o I;(cd*I-6nl). o 1 o 1 1 o o o 1 i;(-hz). o r i 1 o o 1 1 1 I;@orSi@&tf). 1 O O ] 1 O O O O O;wgumidn4). 1 O 1 1 O O O i 1 l;(CdgumcibnS)- 1 1 O [ O 1 0 1 1 l;(Conftguracibnó). 1 1 1 1 i 1 i 1 1 l;(Wguraciún7). ;im enbndw C, B. A se mectai.mia las llneas del puerto A: RA2 C , M (B) y RAU {A). () 1 ;Lassalidasse~enenelpuertnB: ;RBS(S5),lU34 (M), 3 (S3).RB2 (521, M (Sl) RBO (SO). M 1 y ;ZONADEDATOS * * * S H * * * l * % ' * * * * W ' * * * * S I * * * * * * * * * * * * 5 * 1 I I * 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:*****~***++*********** ORG O ; El pmgrama conireriza en h direaibn 0. bsf STATWSH'O ; Acceso d Banco l . clrf TMSB : Las heas del hiato B se c o n f i p m u como saiida. movlw blOOO1 1 111' :Las 5 líneas det Puerto A se configuran como eukada. mowf TRISA bcf STATUS,RPO ;Acceso al Banco O. s que puedan ser movf PORTA,W ;Leo el valor de las variables de e n e . i utilizxiiin de la andlw b'00000t1i' ;Se queda c los a c bits de enaada. m e ;igue sumando al ; Salta a la configuracibn &macla. en el registro de goto Conf1~0iiO gota Configuracion 1 goto Co~guracion2 un registro base goto Corhgumcicin3 que es el registro goto Conñguraciod ;fr. Al ejecutar la goto ConfiguracionS I con la primera goto Cdguraciaaó goto Configmcion7 rnovlw b'0000101Ot ; Confipuracibn O. Ito indexado. El goto Activasalida ; configuracibn l. '.CL*******I* movlw b'OO1OOO1li :Cun-ih 2, movb b'0000111~' ; C 0 n ñ ~ i S 3. o gota ActívaSaW Cdgumíon4
  • 158. 136 MICROCONTROLADOR PrC 1 bFM. DESARROLLO DE PRUY ECTOS F RA - MA mvIw El reg 8 0 un reg C ~ i d mvlw Los bi Conf~iioti6 puede mwh PC LA soto Cwfigmcion7 mvlw ActivaSalida mw Yf ;V i d i z a por el pueFto de salida 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-O1 B.acai. 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 paru comprnhur ios programas de tabla de ivrdac3 Figura 9-7 Cit.~liliio ORG Inicio goto c h 9.1 1 SALTO INDEXADO DESCONTROLADO Como ya se explicb en el tema 4, los 13 bits contenidos en el coniador de programa ORG Principal y que direccionan la memoria de código estan guardados en dos registros específicos niovlw (figura 9-8): addwf
  • 159.
  • 160.
  • 161.
  • 162.
  • 163.
  • 164.
  • 165.
  • 166.
  • 167.
  • 168.
  • 169.
  • 170.
  • 171.
  • 172.
  • 173.
  • 174.
  • 175.
  • 176.
  • 177.
  • 178.
  • 179.
  • 180.
  • 181.
  • 182.
  • 183.
  • 184.
  • 185.
  • 186.
  • 187.
  • 188.
  • 189.
  • 190.
  • 191.
  • 192.
  • 193.
  • 194.
  • 195. i RA-VA ¿ CAP~TULO SUBRL'ITNAS DE RETARDO 12: 173 ;ta iiistniccion tarda cnstal de cuarzo de Carga contador R..ContA can Carga contador R-ContB con valor inicial "K" valor inicial "M" Carga contador R-ConlA con valor inicial "K* Pequerio tiempo de espera urrido Decrementa R-CoiitA :S resulta necesario ;intervalospueden simple de algunas A). ESTRUCTURA DE UNA SUBRUTINA DE RETARDO CON UN LAZO SIMPLE. :0nseguir el retardo Oecrementa R-ContB rucción es conocido :I registro R-Corrr.4, ibtenw el tiempo de ijerite fragmento de B). ESTRUCTURA DE UNA SUBRUTINA DE la figura 12-4(A) se RETARDO CON DOS LAZOS ANIDADOS máquina. Figura 12-4 Esfruchci-ade Iw sub~4tjna~ r~~tnrdo d(9 d valor de "6". Es fácil deducir que el valor de constante "K" con el que se ha cargado la ~iiicialmente contador R-ContA vendrá dado por la sigiiientc ecuación, donde el tiempo el :cm (al saltar). viene expresado en ps: ; miquina. Ziempo=5+4K K= <=249).
  • 196. EJEMPLO: Calcular el valor de la constante K, para obtener una subrutina de retardo de 500 ps con la estructura de de la figura 12-qA). 1 ; apaga durante Soluci6n: Aplicando la ecuación se obtiene: ;ZONA DE DA Tiempo - 5 - 500 - 5 K=- - = 123,7 4 4 Así pues se elige K=123, obteniSndcise un tiempo de retardo real de: Tiempo=5+4K=5+4+123=497ps El ajuste fino para Ios 500 ps exactos se consegurta añadietido 3 instrucciones nop #DEFINE LED ( al principio de la subrutina de retardo. ;ZONA DE C O ORG 12.5 RETARDOS MEDIANTE LAZOS ANlDADOS inicio bsf hcf Para lo genecic18nde retardos de niayor duración deber1 ulilizarse lazos aiiidados, bff poniendo un lm dc retardo dcntrv cli: otro. La forma de liacerlo se explica en Ins Principal subrutinas "Retardo-200ms" y "Retardo-1 00ms" del siguiente programa ejcinplo, donde bsf a partir de la csmictura de 1 ms conseguido en la sccciiin anterior se obtienen rctardos cal1 mayores mediante la redlización de lazos anidados, figura 12-4(B). Este programa es una d aplicacion de un LED intenriitcnte para cl circiiito de la figura 12-5. i~til bcf caii catl gom D1 RBO R1 Figura 17-5 Internaitenle
  • 197.
  • 198.
  • 199.
  • 200.
  • 201.
  • 202.
  • 203.
  • 204.
  • 205.
  • 206.
  • 207.
  • 208.
  • 209.
  • 210.
  • 211.
  • 212.
  • 213.
  • 214.
  • 215.
  • 216.
  • 217.
  • 218.
  • 219.
  • 220.
  • 221.
  • 222.
  • 223.
  • 224.
  • 225.
  • 226.
  • 227.
  • 228.
  • 229.
  • 230.
  • 231.
  • 232.
  • 233.
  • 234.
  • 235.
  • 236.
  • 237.
  • 238.
  • 239.
  • 240.
  • 241.
  • 242.
  • 243.
  • 244.
  • 245.
  • 246.
  • 247.
  • 248.
  • 249.
  • 250.
  • 251.
  • 252.
  • 253.
  • 254.
  • 255.
  • 256.
  • 257.
  • 258.
  • 259.
  • 260.
  • 261.
  • 262.
  • 263.
  • 264.
  • 265.
  • 266.
  • 267.
  • 268.
  • 269.
  • 270.
  • 271.
  • 272.
  • 273.
  • 274.
  • 275.
  • 276.
  • 277.
  • 278.
  • 279.
  • 280.
  • 281.
  • 282.
  • 283.
  • 284.
  • 285.
  • 286.
  • 287.
  • 288.
  • 289.
  • 290.
  • 291.
  • 292.
  • 293.
  • 294.
  • 295.
  • 296.
  • 297.
  • 298.
  • 299.
  • 300.
  • 301.
  • 302.
  • 303.
  • 304.
  • 305.
  • 306.
  • 307.
  • 308.
  • 309.
  • 310.
  • 311.
  • 312.
  • 313.
  • 314.
  • 315.
  • 316.
  • 317.
  • 318.
  • 319.
  • 320.
  • 321.
  • 322.
  • 323.
  • 324.
  • 325.
  • 326.
  • 327.
  • 328.
  • 329.
  • 330.
  • 331.
  • 332.
  • 333.
  • 334.
  • 335.
  • 336.
  • 337.
  • 338. W i 318 MlCKIX:OKTROLAWR PIS lriF84, DESARRULW DE PROYWTLiS c~ 4 . ~ 4 O RA-MA 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 microcontrolador es un ejemplo inmediato de las aplicaciones que la conexión entrc microcontrolador y 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 conectarlci al pumo COM 1 o COhl2 dcl ordenador a través del cable RS232. Un programa de coniunicaciones quc se debe abrir en el ordenador, como el evper-Tertninalu otro siini lar. 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 cjcinplii suficientemente documentado: ;En el m&lo LCD se visualizan los caracteres que se escriban en el teclado del ordenador ;y se mnsmiten a h v e s de su puerto serie. E s &?tos v o l v e a ser enviados por el m ; microcontrolador a1 ordenador, por lo que tambikn se visualizxia en su moiútor. ;Se utilizani un programa de comunicaciunespara que el ordenador pueda enviar datos ;a través de ru puerto serie, como el HyperTminal de Windows o alguno similar. ; Concluyendo, lo que re escriba cn el teclado del ordenador aparecer6 en la pantalla de' Figura ; ; mduto LCD y cn el monitor del HyperTemind. 7 :~~NADE~AT~S**********5*5******C*C*****Qdii**OiPiP*****CC******~~*~****L************** Una aplicacii hacia el ordenador. RS232-MEN.MC, 1 "RS232-M( cl microcon "RS232 LU del ordenad ORG O In1c10 cl a1 LCD_Lnicializa ;Ini~dLCUyIaslúiwiaiquese .+~**L**L.*%***4**.* J 1 RS232-lnicializa :van a utiIizar en la c m w i w i h c m e puzrto l I ? Ptincipd ; Serie ñS232. j mbrutinaa di RS232-LeeDato ;Esperamibirunmhctm. a; - tmds del 1 mwwf GtmdaLMo ;Guarda el daui mibi&. d WD-Cmter ;Lo v i s u d k