_ele y compu - 147

7
 Saber Electrónica Nº 147  5 4. 1 I NTRODUCCI ON C o m o intr od ucción qu iero o frece r l es a u sted es u n m ai l d e u n l ect or q u e si n t et i za t an b i en m i cr iterio d e có m o l l ev ar est a s erie de notas, que yo m is m o no lo h ab r ía escri to co n t an t a cl ari - dad. Z ár ate 19/6/99  Mi nomb r e es J o r ge Borau, vi vo e n  rate , so y l e ct o r de to das sus not as escritas en la revista Saber Electróni- ca, las que a mi parecer, son muy buenas y, por sobre todo, explicadas con un idioma que puede entender  cualquiera. Le escribo porque he comenzado a leer sus notas sobre los micros PIC, y  yo so y uno de lo s q ue co mp ró un cur-  so p e nsando q ue p o drí a ap r e nde r al-  go. Re alm ente e s p oco lo que ap r e ndí. Por eso quisiera hacerle un pedido, a mi entender lo más difícil es interpre- tar el código de programación, cómo  se p r ogr am a p ara p o de r po ne r en fun- cionamiento una idea, qué hace cada instrucción.  Mucho s d e lo s curso s f racasa n p or- que hab lan de una manera mu y té c- nica, creen que el alumno conoce los distintos términos técnicos. O sea, que hablan mitad español, mitad chino.  Mi humilde p e dido e s q ue durante el cur so se expli que lo q ue comenté anteriormente, y aunque va dirigido hacia personas adultas, piense que se lo está explicando a un chico.  Sin más q ue de cir , p i do disculp as  p o r si cr i t i q de ma siado , e sp e r o su respuesta. Chau, G racias . G r aci as am igo J o r ge , no ten ga d udas que m i i n tenci ó n es traer al go d e cl ari dad d i d áct i ca a est e sórdido m un do de los m icr op ro- ces ado res. Sup o ng o q ue lo vo y a conseguir porq ue n o soy u n su- p er- exp er t o en m icro p r ocesad o - r es. A m í m e cu es t a p rogr am ar y, p o r lo t anto, t en go q u e ser di - dáctico p ar a en ten d er m e yo m is- m o. 4. 2 CI RCUITO DE ENCENDI - DO INTER MI TENTE DE UN LED E n Saber E lectr ó n i ca N ° 143 a 145 d i m o s t r es ar t í cu l o s que si r - ven com o intr od ucción al m ane- j o de m is cr o co n t r o lado r es PI C s . Y a sabem os hacer un pr ogr am a p ar a encender un conjunto de l eds al encend er nu est r a p l aq u e- t a e j erci t ado r a o en t r en ad o r SA - B E R P IC 01 y a ap agarl o s al p ul - sar r eset . El si gu i en t e p aso es h a- cer q u e l o s l ed s,encend i éndo se y ap agán dose a un r it m o qu e fi- j ar em os a vo l u n tad, m o d ifi q u en el pr og r am a. Si Ud. no q uiere ar m ar el en - t r enado r com p l eto l e p r o p o n e- m os qu e ar m e sólo l o i m p rescin- d ib l e p ara en cen d er l o s l ed s s e- gú n el ci r cu i t o d e la f i gu r a 4.2.1; u n cir cu i t o tan si m p l e n o r eq u i e- r e p l aq u eta, p u ede ar m ar se tipo ar a sob re l a m esa de tr ab aj o , p orque no es algo para m ostr ar s i n o p ar a ap r end er . O b ser ve q ue los l ed s es t án co n ect ad o s d i r ect am ente al pu er - ELECTRONICA Y COMPUTACION En Saber Electrónica N°145, diseña- mos nuestro primer programa para un PIC. No se trató de un programa muy complicado que pueda ganar al- gún premio como “mejor diseño”, pero nos permitió aprender las ba- ses de la programación. En este artí- culo agregaremos dificultad a nues- tro programa para controlar el en- cendido de los Leds.  A PRENDIENDO A  PROGRAMAR PI C S M  ANEJ O D E INSTRUCCIONES Por Alberto H. Picerno FE D E E RR ATAS: En l a p á- h i na 28 de Sab er Elect r ó n ica N ° 145, ba j o el t í t u l o “ A LG U N O S C A M - BIO S D EL PRO GRAM A” sugeri m os cam b i ar m ov w f p o r 1, en r ealidad l o q ue debe cam bi ar s e es m ovl w p or 1 par a en cend er el led D 10.

Upload: tetiaroa-motu-tahuna-iti

Post on 06-Oct-2015

10 views

Category:

Documents


0 download

DESCRIPTION

ok

TRANSCRIPT

  • Saber Electrnica N 147 52

    4.1 INTRODUCCION

    Como introduccin quieroofrecerles a ustedes un mail deun lector que sintetiza tan bienmi criterio de cmo llevar estaserie de notas, que yo mismo nolo habra escrito con tanta clari-dad.

    Zrate 19/6/99 Mi nombre es Jorge Borau, vivo en

    Zrate, soy lector de todas sus notasescritas en la revista Saber Electrni-ca, las que a mi parecer, son muybuenas y, por sobre todo, explicadascon un idioma que puede entendercualquiera.

    Le escribo porque he comenzado aleer sus notas sobre los micros PIC, yyo soy uno de los que compr un cur-so pensando que podra aprender al-go. Realmente es poco lo que aprend.Por eso quisiera hacerle un pedido, ami entender lo ms difcil es interpre-tar el cdigo de programacin, cmose programa para poder poner en fun-cionamiento una idea, qu hace cadainstruccin.

    Muchos de los cursos fracasan por-que hablan de una manera muy tc-nica, creen que el alumno conoce los

    distintos trminos tcnicos. O sea, quehablan mitad espaol, mitad chino.

    Mi humilde pedido es que duranteel curso se explique lo que comentanteriormente, y aunque va dirigidohacia personas adultas, piense que selo est explicando a un chico.

    Sin ms que decir, pido disculpaspor si critiqu demasiado, espero surespuesta.

    Chau, Gracias.

    Gracias amigo Jorge, no tengadudas que mi intencin es traeralgo de claridad didctica a estesrdido mundo de los micropro-cesadores. Supongo que lo voy aconseguir porque no soy un su-per-experto en microprocesado-res. A m me cuesta programar y,por lo tanto, tengo que ser di-dctico para entenderme yo mis-mo.

    4.2 CIRCUITO DE ENCENDI-DO INTERMITENTE DE UN LED

    En Saber Electrnica N 143 a145 dimos tres artculos que sir-ven como introduccin al mane-jo de miscrocontroladores PICs.

    Ya sabemos hacer un programapara encender un conjunto deleds al encender nuestra plaque-ta ejercitadora o entrenador SA-BER PIC 01 y a apagarlos al pul-sar reset. El siguiente paso es ha-cer que los leds, encendindosey apagndose a un ritmo que fi-jaremos a voluntad, modifiquenel programa.

    Si Ud. no quiere armar el en-trenador completo le propone-mos que arme slo lo imprescin-dible para encender los leds se-gn el circuito de la figura 4.2.1;un circuito tan simple no requie-re plaqueta, puede armarse tipoaraa sobre la mesa de trabajo,porque no es algo para mostrarsino para aprender.

    Observe que los leds estnconectados directamente al puer-

    ELECTRONICA Y COMPUTACION

    En Saber Electrnica N 145, disea-mos nuestro primer programa paraun PIC. No se trat de un programa

    muy complicado que pueda ganar al-gn premio como mejor diseo,

    pero nos permiti aprender las ba-ses de la programacin. En este art-culo agregaremos dificultad a nues-

    tro programa para controlar el en-cendido de los Leds.

    APRENDIENDO APROGRAMAR P ICSMANEJO D E INSTRUCCIONES

    Por Alberto H. Picerno

    FE DE ERRATAS: En la p-hina 28 de Saber Electrnica N145, bajo el ttulo ALGUNOS CAM-BIOS DEL PROGRAMA sugerimoscambiar movwf por 1, en realidadlo que debe cambiarse es movlwpor 1 para encender el led D10.

  • to B predispuesto como de sali-da por el programa. En efecto, elpuerto de salida admite perfecta-mente los 3mA que toma cadaled al conectarlos con resistoresen serie de 1k5. Como nicaprecaucin para el armado debeutilizar un zcalo de 18 patas pa-ra el PIC. Las conexiones de X1,C1 y C2 deben ser lo ms cortasposibles. Si usted repara TV y vi-deograbadores seguramente ten-dr cristales de 3,58MHz (dePALN o NTSC o inclusive dePALM). Puede utilizarlos sin ma-yor inconveniente pero recuerdeque los tiempos calculados esta-rn afectados de un coeficienteigual a 3,58/4.

    4.3 NUEVAS INSTRUCCIONES

    Nuestro programa va a haceruso de lo que se llama una su-

    brutina. Una subrutina es comoun segundo programa anexo alprincipal. El programa principalva a la subrutina a travs de unainstruccin "CALL" que no haba-mos empleado hasta ahora.

    Esta instruccin salta del pasodel programa donde se encuen-tra, a la subrutina y cuando seejecuta por completo vuelve almismo punto del programa endonde se haba producido el sal-to.

    Una subrutina debe estarsiempre dirigida a una etiquetapara que el salto se realice conun destino bien determinado.Por lo general, las subrutinas seescriben a continuacin del pro-grama principal, pero esto essimplemente una costumbre,bien podran ubicarse en otro lu-gar como el principio. Recuerdeque todo comienza cuando sepulsa reset o cuando se encien-de el equipo y, en ese momento,

    se ejecuta loindicado conla etiqueta re-set y se saltaal rengln si-guiente. Cuan-do terminauna subrutina,se debe colo-car una refe-rencia "RE-TURN", quesignifica retor-nar al siguien-te rengln delprogramaprincipal don-de est la in-vocacin a lasubrutina.

    Otra ins-truccin nuevaque no haba-mos utilizado

    es "decfsz" que siempre vaacompaada de un nmero he-xadecimal. Esta instruccin seutiliza para programar retardos.Por ejemplo, si su paso del pro-grama fuera:

    ........... decfsz 06

    Cuando se llega a esa instruc-cin se carga el registro z con lnmero hexadecimal 06 y se re-torna a la misma sentencia (mis-mo paso de programa), pero de-crementando el registro z en unaunidad, y as sucesivamente has-ta que z sea igual a cero, mo-mento en que se corta el lazosobre s mismo y se pasa a la si-guiente instruccin.

    Otra variante en la forma deescribir esta sentencia es conuna variable previamente defini-da en el encabezamiento delprograma. Por ejemplo, en nues-tro caso, podra escribirse del si-

    Electrnica y Computacin

    Saber Electrnica N 147 53

  • guiente modo:

    ; = = = = = = = = = = = = =

    CONST EQU 06- - - - - - - - - - - - - - - - - - - - - - - - - - - - ;= = = = = = = = = = = = = =- - - - - - - - - - - - - - - - - - - - - - - - - - - - ..... decfsz CONST

    En el encabezado se declaraque CONST = 06 luego, al hacerel decremento, se reemplazaCONST por su verdadero valornumrico.

    Esto parece ms una compli-cacin sin sentido, pero no esas; en un programa bien estruc-turado los cambios se realizanen el encabezado y, adems,muchas veces es necesario cam-biar solidariamente varios ope-randos y el mtodo propuesto lologra fcilmente.

    Tambin vamos a utilizar unainstruccin de doble uso y queforma parte de una subrutina(generalmente la cierra). Se tratade "retlw" que debe ir acompa-

    ado de un literal (nmero hexa-decimal). Esta operacin carga elregistro w con el literal que loacompaa y retorna al programaprincipal todo en un solo ren-gln. Su funcionamiento se apre-ciar mejor cuando veamos elprograma de aplicacin pero esequivalente a:

    movlw HEX (HEX = nmero hexadecimal)return

    Cuando se analiza la demoraen ejecutar retlw se la debe con-siderar doble, es decir, que siusamos un cristal de 4MHz estarutina dura 2S.

    A esta altura el lector deberecordar unas cuantas sentenciasy todava faltan unas cuantasms. Como ayuda para que nodeba estudiar todas las senten-cias de memoria le decimos quelo mejor es relacionarlas con pa-labras comunes del idioma in-gls. Por ejemplo "equ" provienede "equal" que significa igual. Enla figura 4.3.1 le damos una tablacon ms ayudas.

    Ahora, si usted no domina elidioma ingls esta ayuda no leva a servir de mucho. En ese ca-so, lo invitamos a adquirir el cur-so de ingls y francs en CD: deEditorial Quark, "Muzzy at theSeaside".

    4.4 EL PROGRAMA PRINCIPAL

    Para disear un programa us-ted debe tener en claro la fun-cin del proyecto. En nuestro ca-so queremos que al encender lafuente el led conectado a RB0 seencienda y apague en un cicloque pueda modificarse fcilmen-te para alterar el programa. Alapretar el pulsador de reset sedebe apagar el led y al soltarlose encender luego de un retar-do y continuar alternando pe-rodos de encendido y apagado.

    El programa completo lo va-mos a dividir en dos partes: unprograma principal y una subru-tina que llamamos retardar. Loshacemos as porque casi todoslos programas incluyen retardo yel diseo de esa subrutina lo po-demos emplear posteriormente ynos ahorraremos trabajo.

    Un programa debe estar es-tructurado en forma clara, se de-ben diferenciar claramente losdiferentes sectores y esto se haceno slo para que sea agradable ala vista, sino para facilitar los fu-turos cambios. El autor acostum-bra a diferenciar claramente 4secciones del programa separn-dolas son signos ===. La primeraseccin es el ttulo y la declara-cin de qu PIC se va a utilizar.La segunda es el encabezado endonde se le da nombre a los lite-rales (nmeros hexadecimales)ms importantes. La tercera es el

    Aprendiendo a Programar PICs

    54 Saber Electrnica N 147

  • programa principal y la cuartalas subrutinas (tabla 1).

    Analicemos el encabezado,las primeras lneas hasta la eti-queta ptob ya las conocemosdel programa anterior. Luego te-nemos tres sentencias que le dannombre reg1, reg2 y reg3 a tresregistros de uso general, ubica-dos en las posiciones de memo-ria RAM destinadas a los regis-tros. Recuerde que las primeras12 posiciones hasta 0B estnocupadas por registros fijos. A

    partir de 0C se ubican los regis-tros de propsitos generales delos cuales usaremos 3, a saber:0C, 0D y 0E.

    En esos registros volcamosinicialmente los literales 30, 40 y50 que nombramos como grue-so, medio y fino. Esto serealiza en las tres ltimas senten-cias del encabezado que sonaquellas que Ud. debe variar sidesea que el ritmo de encendidose haga ms lento o ms rpido.Desde luego que estas tres sen-

    tencias no son imprescindiblespero si no se usan, luego habraque buscar dentro de la subruti-na para cambiar los literales. Tra-bajando de esta manera es msfcil introducir cambios porquelos hacemos desde el encabeza-do.

    4.4 EL PROGRAMA PRINCIPAL

    La seccin principal del pro-grama es muy similar a la utiliza-da en el primer programa paraencender permanentemente unled (tabla 2).

    Siempre se comienza a anali-zar el programa observando quocurre al realizar un reset. En es-te caso, vemos que todo comien-za en la posicin 00 de la me-moria de programa. En la si-guiente posicin se enva el con-trol del programa a la posicincomenzar, en donde se predis-pone el puerto b para operar co-mo salida. Luego, comienza elprograma principal en el etiquetappal, en donde se carga el regis-tro w con el nmero hexadeci-mal 01. Cuando este nmero sedescarga en el puerto b se en-ciende el led conectado en RB0.

    Ahora se enva elcontrol a la subrutinademora porque preten-demos que el led quedeencendido algo menosde un segundo. Cuandose cumpla ese tiempovolver el control desdedemora continuandopor la carga de w con elhexadecimal 00. Al des-cargar w en el punto bse produce el apagadode led conectado enRB0.

    Nuevamente el con-

    Electrnica y Computacin

    Saber Electrnica N 147 55

    Tabla 1; Secuenciador de encendido de un ledlist p=16C84 ;micro PIC16C84;===========================================================portb equ 06 ;el puerto b se ubica en la direc-cin de ;memoria RAM06reg1 equ 0c ;asignacin de los resgistrosdonde se cargan los reg2 equ 0d ;diferentes literalesreg3 equ 0e ;grueso equ 40 ;al literal 40 lo llamamos gruesomedio equ 40 ;al literal 40 lo llamamos mediofino equ 50 ;al literal 50 lo llamamos fino;===========================================================reset org 0 ;un reset enva a la posicin 00de la memoria

    ;de programa.Goto comienzo ;reenvo al comienzo del programa

    --- --- --- ;------------------------------------------------- --- --- ;----------------------------------------------

    Tabla 2reset org 0 ;un reset enva el programa a la posicin 0

    goto comenzar ;se enva el control al comienzocomenzar movlw 00 ;se carga w con 00

    tris ptob ;se programa el puerto b como salidappal movlw 01 ;se carga w con 01

    movwf ptob ;se descarga w en el puerto b para;encender el led conectado RB0

    call demora ;se mantiene el led encendido por;un intervalo de tiempo

    movlw 00 ;se carga w con 00movwf ptob ;se descarga w en el puerto b para

    ;apagar el led de RB0call demora ;se mantiene el led apagado por

    ;un intervalo de tiempogoto ppal ;continua el programa en el principio

    ;hasta realizar un reset

  • trol pasa a la subrutina demoraen donde se queda por algo me-nos de 1 segundo antes de vol-ver al programa principal. Cuan-do vuelve es enviado de inme-diato al comienzo de ppal conun nuevo encendido de RB0 yas permanentemente hasta quese opere el reset.

    Usted puede pensar: paraqu tanta complejidad si con dostransistores armo un multivibra-dor y realizo el mismo efecto? Se-guro, pero no va a tener preci-sin de cristal en la frecuencia yel perodo de actividad no va aser exactamente el 50% del total,y si quiere cambiar algo tieneque desoldar, buscar resistores,capacitores, etc. adems tieneque realizar un clculo de los re-sistores de base del flip flop yluego elegir los capacitores ade-cuados y verificar la frecuenciade oscilacin y el perodo de ac-tividad con el osciloscopio.

    Aqu slo se sienta frente laPC y escribe el programa, y sidesea cambiarlo lo hace en la

    misma PC, una y mil veces sinpeligro de quemar componentes.

    4.5 LA SUBRUTINA DEMORA

    Esta subrutina es ms compli-cada que el programa principal.Lo que ocurre es que la disea-mos para uso general, ya que lavamos a aplicar en una infinidadde programas. En principio, lademora la vamos a poder variarcon tres nmeros hexadecimalesque fueron definidos en el enca-bezamiento como grueso, me-dio y fino porque operan deese modo sobre el retardo final(tabla 3).

    Lo ms importante es no ma-rearse con tantos ruidos y retor-nos. La subrutina comienza car-gando los registros de uso gene-ral con los nmeros hexadeci-males declarados en el encabe-zado. Luego que los tres regis-tros especiales estn cargadoscon los hexadecimales 30, 40 y50 se comienza a decrementar el

    registro 3 de a una unidad;mientras el registro tenga un n-mero mayor o igual a 1 se conti-na este proceso, pero al llegara cero se salta a la siguiente sen-tencia que justamente es un "go-to". Es como si el control retor-nara y fuera a dem1 tantas vecescomo lo indica el nmero hexa-decimal cargado en el registro 1.Luego la subrutina pasa a la si-guiente sentencia que comienzaa decrementar el nmero carga-do en reg2, slo que el "goto" esa la etiqueta dem2 que es ante-rior a la dem1, es decir, que sevuelve a pasar por "dem1" a ha-cer todo el primer decrementodel nmero guardado en "reg3" yrecin despus se hace el si-guiente decremento en el regis-tro "reg2". Cuando "reg2" llega acero se produce el primer decre-mento de "reg3" y para que seproduzca el segundo tienen quedecrementarse a cero "reg2". Enuna palabra, que la subrutina damuchsimas vueltas sobre "dem1", muchas sobre "dem2" y pocas

    sobre "dem3". Final-mente cuando "reg3"llega a cero, se pasaretlw0 que reenva elcontrol al programaprincipal justo en lasentencia que invoca la subrutina peroantes de retornar lle-va el registro w a ce-ro. El programa ter-mina en "end" que nopuede considerarsecomo una sentencia,ya que no realiza nin-guna tarea; sin em-bargo, su existenciaes imprescindible pa-ra que el programa-dor de PICs de porterminada su tarea.

    Aprendiendo a Programar PICs

    56 Saber Electrnica N 147

    Tabla3Demora movlw grueso ;recarga w con el nmero hexadecimal

    ;grueso es decir, con 30movwf reg1 ;se vuelca grueso en el registro

    ;reg 1dem3 movlw medio ;se carga w con el nmero hexadecimal

    ;medio es decir con 40movwf reg2 ;se vuelca "medio" en el registro

    ;reg2.dem2 movlw fino ;se carga w con el nmero hexadecimal "fino"

    ;es decir con 50.movwf reg3 ;se vuelca "fino" en el registro reg3.

    dem1 decfsz reg3 ;se decrementa el registro reg3 en una unidad;y si el resultado es cero se salta a la siguiente

    ;instruccin, si no se sigue decrementando.goto dem1 ;retorno a la frecuencia etiqueta dem1.decfsz reg2 ;idem con reg2.goto dem2 ;retorno a la etiqueta dem2.decfsz reg3 ;idem con reg1.goto dem1 ;retorno a la etiqueta dem3.retlw 0 ;se carga w con 0 y se retorna al programa

    ;principal.end.

  • Cuando no se coloca el progra-ma ensamblador emite un men-saje de error.

    Sabemos que la subrutina"demora" tiene una cierta dura-cin. Con un mnimo conoci-miento de matemticas podemoscalcular ese retardo en funcinde los nmeros hexadecimalesque hallamos elegido.

    Tomemos primero el "loop"(rulo) ms interno de la subruti-na; mientras no se cumpla que"reg 3" = 0 se consume un ciclode instruccin por vuelta (genri-camente podemos decir que to-das las sentencias consumen unciclo salvo las de salto como la"goto" que consume dos).

    Nmero de ciclos "reg 3" =3 x "grueso"

    = 3 x 80 (ya que 50 Hex =80 decimal)

    = 240 ciclos de instruccin

    Para calcular la demora de losdos loops siguientes es conve-niente realizar un diagrama delos mismos tal como el mostradoen la figura.4.5.1.

    Ahora vemos que el loop in-termedio dura 2 + 1 + 1 + 1 = 5ciclos de instruccin a los cua-les se les suman los 240 ciclosdel loop ms interno. En totalseran 5 + 240 = 245. Pero esteloop es recorrido hasta que elhexadecimal 40 (equivalente aldecimal 64) se anule:

    nmero de ciclos "reg 2" =245 x medio

    = 245 x 64= 15.860 ciclos de instruc-

    cin.

    El loop ms externo dura 2 +1 + 1 + 1 = 5 ciclos de instruc-cin a los cuales se les sumanlos 15.860. Pero este loop es re-corrido hasta que el hexadecimal40 (equivalente al decimal 64) seanule:

    nmero de ciclos "reg 1" =15.860 x fino

    = 15.860 x 64= 1.015.040 ciclos de instruc-

    cin.

    Nos quedaran 1 + 1 ciclos al

    comienzo de la subrutina y 2 ci-clos al final para llegar a un va-lor de 1.015.044 ciclos de ins-truccin.

    La duracin de un ciclo deinstruccin depende del cristalutilizado. Si usamos un cristal de4MHz cada ciclo de instruccindura 1 y tendramos una de-mora de 1,015 seg. El led estaraencendido casi un segundo yapagado otro tanto.

    4.6 DIAGRAMAS DE FLUJO

    Prcticamente todas las pala-bras de este artculo describien-do como funciona el programaprincipal y la subrutina de de-mora pueden representarse enun diagrama de flujo como elmostrado en la figura.4.6.1 parael programa principal o el mos-trado en la figura.4.6.2 para larutina de demora.

    4.7 CONCLUSIONES Y EJERCICIOS

    Si usted era un "analgico"puro y vio encender y apagar unled comandado por un micro-procesador, seguramente se ha-br emocionado con su obra.Deje que los "digitales" se burlenmenospreciando su obra; ellosnunca podrn aprender las tcni-cas analgicas en el poco tiempoque usted le llevar aprender lasdigitales. Un dispositivo actualtiene un microprocesador perotambin tiene un entorno anal-gico al que se debe controlar yese entorno es nuestra ruina.

    Los microprocesadores son f-ciles de reprogramar, aprovecheesta cualidad intrnseca de losmismos y haga cambios en elprograma; desde l ms elemen-

    Electrnica y Computacin

    Saber Electrnica N 147 57

  • tal que es cambiar el ritmo deencendido hasta algunos mscomplejos como hacer que losperiodos de actividad e inactivi-dad sean diferentes (debernrealizar dos subrutinas de demo-ra por ejemplo "demoact" y "de-mono"). Pruebe todo lo quequiera que un microprocesadorno se quema por un error deprogramacin.

    Si quiere darle una aplicacinprctica a nuestro dispositivo uti-lcelo como generador de ondascuadradas de audio de frecuen-cia fija. En el prximo artculovamos a encender leds en se-cuencia y vamos a aprender autilizar un puerto como entraday otro como salida ampliandonuestras posibilidades de controlsobre el microprocesador.

    Hasta hoysabemos pocode micropro-cesadores perosi usted realizlos dispositi-vos segura-mente ya esta-r viendo un programa ms claroy adems ya est seguro de queesta vez podr terminar su

    aprendizaje y casi sin realizargasto alguno, gracias a nuestraquerida revista "Saber".

    Aprendiendo a Programar PICs

    58 Saber Electrnica N 147

    Videos de ElectrnicaEn castellano, con temas completos.

    Unicos pensados para el mercado local, prepa-rados por expertos del Centro Japons de Infor-

    macin ElectrnicaPdalos en Editorail Quark SRL

    Herrera 761 (1295) Capital Federal