El Mundo de Los Microcontroladores - Capítulo 1 - Libro_ Microcontroladores PIC - Programación en...

20
TOC Capitulo 1 Capitulo 2 Capítulo 3 Capítulo 4 Apéndice A El mundo de los microcontroladores Capítulo 1 Libro: Microcontroladores PIC Programación en BASIC Capítulo 1: Mundo de los microcontroladores La situación actual en el campo de los microcontroladores se ha producido gracias al desarrollo de la tecnología de fabricación de los circuitos integrados. Este desarrollo ha permitido construir las centenas de miles de transistores en un chip. Esto fue una condición previa para la fabricación de un microprocesador. Las primeras microcomputadoras se fabricaron al añadirles periféricos externos, tales como memoria, líneas de entrada/salida, temporizadores u otros. El incremento posterior de la densidad de integración permitió crear un circuito integrado que contenía tanto al procesador como periféricos. Así es cómo fue desarrollada la primera microcomputadora en un solo chip, denominada más tarde microcontrolador. 1.1 Introducción 1.2 Números, números, números... 1.3 Detalles importantes 1.4 Microcontroladores PIC Los principiantes en electrónica creen que un microcontrolador es igual a un microprocesador. Esto no es cierto. Difieren uno del otro en muchos sentidos. La primera y la más importante diferencia es su funcionalidad. Para utilizar al microprocesador en una aplicación real, se debe de conectar con otros componentes, en primer lugar con la memoria. Aunque el microprocesador se considera una máquina de computación poderosa, no está preparado para la comunicación con los dispositivos periféricos que se le conectan. Para que el microprocesador se comunique con algún periférico, se deben utilizar los circuitos especiales. Así era en el principio y esta práctica sigue vigente en la actualidad. Por otro lado, al microcontrolador se le diseña de tal manera que tenga todas las componentes integradas en el mismo chip. No necesita de otros componentes especializados para su aplicación, porque todos los circuitos necesarios, que de otra manera correspondan a los periféricos, ya se encuentran incorporados. Así se ahorra tiempo y espacio necesario para construir un dispositivo. Para entender con más facilidad las razones del éxito tan grande de los microcontroladores, vamos a prestar atención al siguiente ejemplo. Hace unos 10 años, diseñar un dispositivo electrónico de control de un ascensor de un edificio de varios pisos era muy difícil, incluso para un equipo de expertos. ¿Ha pensado alguna vez en qué requisitos debe cumplir un simple ascensor? ¿Cómo lidiar con la situación cuando dos o más personas llaman al ascensor al mismo tiempo? ¿Cuál llamada tiene la prioridad? ¿Cómo solucionar las cuestiones de seguridad, de pérdida de electricidad, de fallos, de uso indebido? Lo que sucede después de resolver estos problemas básicos es un proceso meticuloso de diseñar los dispositivos adecuados utilizando un gran número de los chips especializados. Este proceso puede tardar semanas o meses, dependiendo de la complejidad del dispositivo. Cuando haya terminado el proceso, llega la hora de diseñar una placa de circuito impreso y de montar el dispositivo.¡Un dispositivo enorme! Es otro trabajo difícil y tardado. Por último, cuando todo está terminado y probado adecuadamente, pasamos al momento crucial y es cuando uno se concentra, respira profundamente y enciende la fuente de alimentación. Esto suele ser el punto en el que la fiesta se convierte en un verdadero trabajo puesto que los dispositivos electrónicos casi nunca funcionan apropiadamente desde el inicio. Prepárese para muchas noches sin dormir, correcciones, mejoras... y no se olvide de que todavía estamos hablando de cómo poner en marcha un simple ascensor. Cuando el dispositivo finalmente empiece a funcionar perfectamente y todo el mundo esté satisfecho, y le paguen por el trabajo que ha hecho, muchas compañías de desarrollo estarán interesadas en su trabajo. Por supuesto, si tiene suerte, cada día le traerá una oferta de trabajo de un nuevo inversionista. Sin embargo, si lo requieren para trabajar en el control de los elevadores de un nuevo edificio que tiene cuatro pisos más de los que ya maneja su sistema de control. ¿Sabe cómo proceder? ¿Cree acaso que se pueden controlar las demandas de sus clientes? Pensamos que usted va a construir un dispositivo universal que se puede utilizar en los edificios de 4 a 40 pisos, una obra Featured Development Tools EasyPIC v7 Development System EasyPIC v7 is top selling PIC Development Board for 250 Microchip PIC MCUs in DIP packaging. It features USB 2.0 programmer/debugger and over 17 essential modules necessary in development. Board comes with PIC18F45K22. [more info] Login | Cart (0) Products Solutions Store Distributors Libstock Contact Us search here

description

Resena que indica la composicion de un microcontrolador y su funcionamiento

Transcript of El Mundo de Los Microcontroladores - Capítulo 1 - Libro_ Microcontroladores PIC - Programación en...

  • 14/3/2015 ElmundodelosmicrocontroladoresCaptulo1Libro:MicrocontroladoresPICProgramacinenBASIC

    http://www.mikroe.com/chapters/view/84/librodelaprogramaciondelosmicrocontroladorespicenbasiccapitulo1mundodelosmicrocontroladores/ 1/20

    TOC Capitulo1 Capitulo2 Captulo3 Captulo4 ApndiceA

    ElmundodelosmicrocontroladoresCaptulo1Libro:MicrocontroladoresPICProgramacinenBASIC

    Captulo1:Mundodelosmicrocontroladores

    Lasituacinactualenelcampodelosmicrocontroladoressehaproducidograciasaldesarrollodelatecnologadefabricacindeloscircuitosintegrados.Estedesarrollohapermitidoconstruirlascentenasdemilesdetransistoresenunchip.Estofueunacondicinpreviaparalafabricacindeunmicroprocesador.Lasprimerasmicrocomputadorassefabricaronalaadirlesperifricosexternos,talescomomemoria,lneasdeentrada/salida,temporizadoresuotros.Elincrementoposteriordeladensidaddeintegracinpermiticrearuncircuitointegradoquecontenatantoalprocesadorcomoperifricos.Asescmofuedesarrolladalaprimeramicrocomputadoraenunsolochip,denominadamstardemicrocontrolador.

    1.1Introduccin1.2Nmeros,nmeros,nmeros...1.3Detallesimportantes1.4MicrocontroladoresPIC

    Losprincipiantesenelectrnicacreenqueunmicrocontroladoresigualaunmicroprocesador.Estonoescierto.Difierenunodelotroenmuchossentidos.Laprimeraylamsimportantediferenciaessufuncionalidad.Parautilizaralmicroprocesadorenunaaplicacinreal,sedebedeconectarconotroscomponentes,enprimer lugarcon lamemoria.Aunqueelmicroprocesadorseconsideraunamquinadecomputacin poderosa, no est preparado para la comunicacin con los dispositivos perifricos que se le conectan. Para que elmicroprocesadorsecomuniqueconalgnperifrico,sedebenutilizarloscircuitosespeciales.Aseraenelprincipioyestaprcticasiguevigenteenlaactualidad.

    Porotrolado,almicrocontroladorselediseadetalmaneraquetengatodaslascomponentesintegradasenelmismochip.Nonecesitadeotroscomponentesespecializadosparasuaplicacin,porquetodosloscircuitosnecesarios,quedeotramaneracorrespondanalosperifricos,yaseencuentranincorporados.Asseahorratiempoyespacionecesarioparaconstruirundispositivo.

    Para entender con ms facilidad las razones del xito tan grande de los microcontroladores, vamos a prestar atencin al siguienteejemplo.Haceunos10aos,disearundispositivoelectrnicodecontroldeunascensordeunedificiodevariospisoseramuydifcil,inclusoparaunequipodeexpertos.Hapensadoalgunavezenqurequisitosdebecumplirunsimpleascensor?Cmolidiarconlasituacin cuandodosomspersonas llamanal ascensoralmismo tiempo?Cul llamada tiene laprioridad?Cmosolucionar lascuestionesdeseguridad,deprdidadeelectricidad,defallos,deusoindebido?Loquesucededespusderesolverestosproblemasbsicosesunprocesometiculosodedisear losdispositivosadecuadosutilizandoungrannmerode loschipsespecializados.Esteprocesopuedetardarsemanasomeses,dependiendodelacomplejidaddeldispositivo.Cuandohayaterminadoelproceso,llegalahoradedisearunaplacadecircuito impresoydemontareldispositivo.Undispositivoenorme!Esotrotrabajodifcilytardado.Porltimo,cuando todo est terminado y probado adecuadamente, pasamos al momento crucial y es cuando uno se concentra, respiraprofundamenteyenciende la fuentedealimentacin.Estosueleserelpuntoenelque la fiestaseconvierteenunverdadero trabajopuestoquelosdispositivoselectrnicoscasinuncafuncionanapropiadamentedesdeelinicio.Prepreseparamuchasnochessindormir,correcciones,mejoras...ynoseolvidedequetodavaestamoshablandodecmoponerenmarchaunsimpleascensor.

    Cuandoeldispositivofinalmenteempieceafuncionarperfectamenteytodoelmundoestsatisfecho,ylepaguenporeltrabajoquehahecho,muchascompaasdedesarrolloestarninteresadasensutrabajo.Porsupuesto,sitienesuerte,cadadaletraerunaofertadetrabajodeunnuevoinversionista.Sinembargo,silorequierenparatrabajarenelcontroldeloselevadoresdeunnuevoedificioquetienecuatropisosmsdelosqueyamanejasusistemadecontrol.Sabecmoproceder?Creeacasoquesepuedencontrolarlasdemandasdesusclientes?Pensamosqueustedvaaconstruirundispositivouniversalquesepuedeutilizarenlosedificiosde4a40pisos,unaobra

    FeaturedDevelopmentTools

    EasyPICv7DevelopmentSystem

    EasyPICv7istopsellingPICDevelopmentBoardfor250MicrochipPICMCUsinDIPpackaging.ItfeaturesUSB2.0programmer/debuggerandover17essentialmodulesnecessaryindevelopment.BoardcomeswithPIC18F45K22.[moreinfo]

    Login|Cart(0)

    Products Solutions Store Distributors Libstock ContactUs searchhere

  • 14/3/2015 ElmundodelosmicrocontroladoresCaptulo1Libro:MicrocontroladoresPICProgramacinenBASIC

    http://www.mikroe.com/chapters/view/84/librodelaprogramaciondelosmicrocontroladorespicenbasiccapitulo1mundodelosmicrocontroladores/ 2/20

    maestradeelectrnica.Bueno,inclusosiustedconsigueconstruirunajoyaelectrnica,suinversionistaleesperarardelantedelapuertapidiendounacmaraenelascensorounamsica relajanteencasode fallodeascensor.Ounascensorcondospuertas.De todosmodos, la ley deMurphy es inexorable y sin duda usted no podr tomar ventaja a pesar de todos los esfuerzos que ha hecho. Pordesgracia,todoloquesehadichohastaahorasucedeenlarealidad.Estoesloquededicarsealaingenieraelectrnicarealmentesignifica.Esascomosehacanlascosashastaaparicindelosmicrocontroladoresdiseadospequeos,potentesybaratos.Desdeesemomentosuprogramacindejdeserunaciencia,ytodotomotradireccin...

    Eldispositivoelectrnicocapazdecontrolarunpequeosubmarino,unagraounascensorcomoelanteriormentemencionado,ahoraest incorporado en un slo chip. Los microcontroladores ofrecen una amplia gama de aplicaciones y slo algunas se explorannormalmente. Le toca a usted decidir qu quiere que haga el microcontrolador y cargar un programa en l con las instruccionesapropiadas.Antesdeencendereldispositivoesrecomendableverificarsufuncionamientoconayudadeunsimulador.Sitodofuncionacomoesdebido,incorporeelmicrocontroladorenelsistema.Sialgunaveznecesitacambiar,mejoraroactualizarelprograma,hgalo.Hastacundo?Hastaquedarsatisfecho.Esopuederealizarsesinningnproblema.

    Sabaustedque todas laspersonaspuedenserclasificadasenunode10grupos,en losqueestn familiarizadosconelsistemadenumeracinbinarioyen losquenoestn familiarizadosconl.Sinoentendi loanteriorsignificaque todavapertenecealsegundogrupo.Sideseacambiarsuestado,leaelsiguientetextoquedescribebrevementealgunosdelosconceptosbsicosutilizadosmstardeenestelibro(sloparaestarsegurodequeestamoshablandoenlosmismostrminos).

    1.2NMEROS,NMEROS,NMEROS...

  • 14/3/2015 ElmundodelosmicrocontroladoresCaptulo1Libro:MicrocontroladoresPICProgramacinenBASIC

    http://www.mikroe.com/chapters/view/84/librodelaprogramaciondelosmicrocontroladorespicenbasiccapitulo1mundodelosmicrocontroladores/ 3/20

    Lamatemticaesunagranciencia!Todoestanlgicoysimple...Eluniversodelosnmerossepuededescribirconslodiezdgitos.Noobstante,realmentetienequeseras?Necesitamosexactamenteesos10dgitos?Porsupuestoqueno,esslocuestindelhbito.Acurdesedelasleccionesdelaescuela.Porejemplo,qusignificaelnmero764?Cuatrounidades,seisdecenasysietecentenas.Muysimple!Sepodraexpresardeunaformamsdesarrollada?Porsupuestoques:4+60+700.Anmsdesarrollado?S:4*1+6*10+7*100.Podraestenmeroparecerunpocomscientfico?Larespuestaessotravez:4*100+6*101+7*102.Qusignificaesto realmente? Por qu utilizamos exactamente estos nmeros 100, 101 y 102 ? Por qu es siempre el nmero 10? Es porqueutilizamos10dgitosdiferentes(0,1,2...8,9).Enotraspalabras,esporqueutilizamoselsistemadenumeracinenbase10,esdecirelsistemadenumeracindecimal.

    SISTEMADENUMERACINBINARIO

    Qupasarasiutilizramosslodosnmeros0y1?Sislopudiramosafirmar(1)onegar(0)quealgoexiste.Larespuestaesnadaespecial,seguiramosutilizandolosmismosnmerosdelamismamaneraqueutilizamoshoyenda,noobstanteellospareceranunpocodiferentes.Porejemplo:11011010.Cuntassonrealmente11011010pginasdeunlibro?Paraentenderlo,sigalamismalgicacomoenelejemploanterior,peroenelordeninvertido.Tengaencuentaquesetratadearitmticaconslodosdgitos0y1,esdecir,delsistemadenumeracinenbase2(sistemadenumeracinbinario).

    Evidentemente,setratadelmismonmerorepresentadoendossistemasdenumeracindiferentes.Lanicadiferenciaentreestasdosrepresentacionesyaceenelnmerodedgitosnecesariosparaescribirunnmero.Undgito(2)seutilizaparaescribirelnmero2enelsistemadecimal,mientrasquedosdgitos(1y0)seutilizanparaescribiraquelnmeroenelsistemabinario.Ahoraestdeacuerdoquehay10gruposdegente?Bienvenidoalmundodelaaritmticabinaria!Tienealgunaideadedndeseutiliza?Exceptoenlascondicionesdelaboratorioestrictamentecontroladas,loscircuitoselectrnicosmscomplicadosnopuedenespecificarconexactitudladiferenciaentredosmagnitudes(dosvaloresdevoltaje,porejemplo),sisondemasiadopequeos(mspequeosqueunospocosvoltios).Laraznson losruidoselctricosy fenmenosquesepresentandentrode loque llamamos entornode trabajoreal(algunosejemplosdeestosfenmenossonloscambiosimprevisiblesdelatensindealimentacin,cambiosdetemperatura,toleranciaalos valores de los componentes etc...) Imagnese una computadora que opera sobre nmeros decimales al tratarlos de la siguientemanera:0=0V,1=5V,2=10V,3=15V,4=20V...9=45V!?

    Alguiendijobateras?

    Unasolucinmuchomsfcilesunalgicabinariadonde0indicalaausenciadevoltaje,mientrasque1indicalapresenciadevoltaje.Esmsfcildeescribir0o1envezdenohayvoltajeohayvoltaje.Medianteelcerolgico(0)yunolgico(1)laelectrnicaseenfrentaperfectamentey realizacon facilidad todas lasoperacionesaritmticas.Evidentemente, se tratadeelectrnicaqueen realidadaplicaaritmticaenlaquetodoslosnmerossonrepresentadosconslodosdgitosydondesloesimportantesabersihayvoltajeono.Porsupuesto,estamoshablandodeelectrnicadigital.

    SISTEMADENUMERACINHEXADECIMAL

    Enelprincipiodeldesarrollodelascomputadoraseraevidentequealagentelecostabamuchotrabajarconnmerosbinarios.Poreso,seestableciunnuevosistemadenumeracin,queutilizaba16smbolosdiferentes.Esllamadoelsistemadenumeracinhexadecimal.Estesistemaestcompuestode10dgitosalosqueestamosacostumbrados(0,1,2,3,...9)ydeseisletrasdelalfabetoA,B,C,D,EyF.Culeselpropsitodeestacombinacinaparentementeextraa?Bastaconmirarcmotodoen lahistoriade losnmerosbinariosencajaperfectamenteparalograrunamejorcomprensindeltema.

  • 14/3/2015 ElmundodelosmicrocontroladoresCaptulo1Libro:MicrocontroladoresPICProgramacinenBASIC

    http://www.mikroe.com/chapters/view/84/librodelaprogramaciondelosmicrocontroladorespicenbasiccapitulo1mundodelosmicrocontroladores/ 4/20

    Elmayornmeroquepuedeserrepresentadocon4dgitosbinarioseselnmero1111.Correspondealnmero15enelsistemadecimal.EnelsistemahexadecimalesenmeroserepresentaconsloundgitoF.Eselmayornmerodeundgitoenelsistemahexadecimal.Sedacuentadelagranutilidaddeestasequivalencias?Elmayornmeroescritoconochodgitosbinariosesalavezelmayornmerodedosdgitosenelsistemahexadecimal.Tengaencuentaqueunacomputadorautilizanmerosbinariosde8dgitos.Acasosetratadeunacasualidad?

    CDIGOBCD

    ElcdigoBCD(BinaryCodedDecimalCdigobinariodecimal)esuncdigobinarioutilizadopararepresentaralosnmerosdecimales.Consisteennmerosbinariosde4dgitosquerepresentanlosprimerosdiezdgitos(0,1,2,3...8,9).Aunquecuatrodgitospuedenhacer16combinacionesposiblesentotal,elcdigoBCDnormalmenteutilizaalasprimerasdiez.

    CNVERSINDESISTEMASDENUMERACIN

    Elsistemadenumeracinbinarioeselqueutilizanlosmicrocontroladores,elsistemadecimaleselquenosresultamscomprensible,mientrasqueelsistemahexadecimalpresentaunbalanceentrelosdos.Poreso,esmuyimportanteaprendercmoconvertirlosnmerosdeunsistemadenumeracinaotro,porejemplo,cmoconvertirunaseriedecerosyunosaunaformaderepresentacincomprensibleparanosotros.

    ConversindeNmerosBinariosaDecimales

    Losmismosdgitosenunnmerobinariotienenponderacionesdiferentesloquedependedesusposicionesdentrodelnmeroqueestnrepresentando.Adems,cadadgitopuedecontener1o0,ysuponderacinsepuededeterminarcon facilidadal contarsuposicinempezandoporladerecha.Parahacerunaconversindeunnmerobinarioadecimalesnecesariomultiplicarlosdgitos(0o1)consuponderacindeposicin(20,21,22,23etc.)ysumartodoslosresultados.Lamagiadelaconversindeunnmerobinarioadecimalfuncionademaravilla...Tieneduda?Veamoselsiguienteejemplo:

    Cabedestacarqueesnecesarioutilizarslodosdgitosbinariospararepresentara todos losnmerosdecimalesde0a3.Para losnmerosmayores,sedebenutilizarlosdgitosbinariosadicionales.Porconsiguiente,pararepresentarlosnmerosde0a7esnecesarioutilizartresdgitosbinarios,pararepresentarlosnmerosde0a15cuatrodgitosetc.Dichodemanerasencilla,elmayornmerobinarioquesepuederepresentarutilizandondgitosseobtienealelevarlabase2alapotencian.Luego,alresultadoseleresta1.Porejemplo,sin=4:

    241=161=15

    Porconsiguiente,alutilizar4dgitosbinarios,esposiblerepresentarlosnmerosdecimalesde0a15,queson16valoresdiferentesentotal.

    CONVERSINDENMEROSHEXADECIMALESADECIMALES

    Para realizarunaconversindeunnmerohexadecimaladecimal,cadadgitohexadecimaldebesermultiplicadoconelnmero16elevadoalvalordesuposicin.Despus,elresultadoobtenidosedebesumar.Porejemplo:

    CONVERSINDENMEROSHEXADCIMALESABINARIOS

    No es necesario realizar ningn clculo para convertir un nmero hexadecimal a binario. Los dgitos hexadecimales se reemplazansimplementeporloscuatrodgitosbinariosapropiados.Yaqueeldgitohexadecimalmximoesequivalentealnmerodecimal15,esnecesarioutilizarcuatrodgitosbinariospararepresentarundgitohexadecimal.Porejemplo:

    Lasiguienteestablacomparativaquecontienelosvaloresdenmeros0255representadosentressistemasdenumeracindiferentes.Estoesprobablementelamaneramsfcildeentenderlgicacomnaplicadaatodoslossistemasdenumeracin.

  • 14/3/2015 ElmundodelosmicrocontroladoresCaptulo1Libro:MicrocontroladoresPICProgramacinenBASIC

    http://www.mikroe.com/chapters/view/84/librodelaprogramaciondelosmicrocontroladorespicenbasiccapitulo1mundodelosmicrocontroladores/ 5/20

    MARCARLOSNMEROS

    Elsistemadenumeracinhexadecimal,juntoconlossistemasbinarioydecimal,seconsideranlosmsimportantesparanosotros.Esfcilrealizar una conversin de cualquier nmero hexadecimal a binario, ademses fcil de recordarlo.Sin obstante, estas conversionespuedenprovocarunaconfusin.Porejemplo,qusignificaenrealidadlasentencia:Esnecesariocontar110productosenunacadenademontaje?Dependiendodelsistemaencuestin (binario,decimalohexadecimal),el resultadopodraser6,110o272productos,respectivamente.Porconsiguiente,paraevitarequivocaciones,diferentesprefijosysufijosseaadendirectamentea losnmeros.Losprefijos$y0xmarcanlosnmeroshexadecimales.Porejemplo,elnmerohexadecimal10AFsepuedeescribircomo$10AFo0x10AF.Demanerasimilar,losnmerosbinariosnormalmenteobtienenelprefijo%.Siunnmeronotienenisufijoniprefijoseconsideradecimal.Desafortunadamente,estaformademarcarlosnmerosnoesestandarizada,porconsiguientedependedelaaplicacinconcreta.

    BIT

    Lateoradicequeunbiteslaunidadbsicadeinformacin...Vamosaolvidarloporunmomentoydemostrarquesesoenlaprctica.Larespuestaesnadaespecialunbitesunslodgitobinario.Similaraunsistemadenumeracindecimalenelquelosdgitosdeunnmeronotienenlamismaponderacin(porejemplo,losdgitosenelnmero444sonlosmismosperotienenlosvaloresdiferentes),elsignificadodeunbitdependedelaposicinquetieneennmerobinario.Enestecasonotienesentidohablardeunidades,centenasetc.enlosnmerosbinarios,susdgitossedenominanelbitcero(elprimerbitaladerecha),elprimerbit(elsegundobitaladerecha)etc.Adems,yaqueelsistemabinarioutilizasolamentedosdgitos(0y1),elvalordeunbitpuedeser0o1.Noseconfundasiseencuentraconunbitquetieneelvalor4,16o64.Sonlosvaloresrepresentadosenelsistemadecimal.Simplemente,noshemosacostumbradotantoautilizarlosnmerosdecimalesqueestasexpresionesllegaronasercomunes.Seracorrectodecirporejemplo,elvalordelsextobitencualquiernmerobinarioequivalealnmerodecimal64.Perotodossomoshumanosylosviejoshbitosmuerendifcilmente.Adems,cmolesuenanmerounounocerounocero...?

    BYTE

    Unbyteconsisteen8bitscolocadosunojuntoalotro.Siunbitesundgito,eslgicoquelosbytesrepresentenlosnmeros.Todaslasoperacionesmatemticassepuedenrealizarpormediodeellos,comopormediodelosnmerosdecimalescomunes.Similaralosdgitosdecualquiernmero,losdgitosdeunbytenotienenelmismosignificado.Elbitdelextremoizquierdotienelamayorponderacin,poresoesdenominadoelbitmssignificativo(MSB).Elbitdelextremoderechotienelamenorponderacin,poresoesdenominadoelbitmenossignificativo(LSB).Puestoquelos8dgitosdeunbytesepuedencombinarde256manerasdiferentes,elmayornmerodecimalquesepuederepresentarconunbytees255(unacombinacinrepresentauncero).Unnibbleouncuartetorepresentaunamitaddebyte.Dependiendodelamitaddelnmeroencuestin(izquierdaoderecha),selesdenominanibblesaltosobajos,respectivamente.

    Ustedseguramentehapensadoalgunavezencmoeslaelectrnicadentrodeuncircuito integradodigital,unmicrocontroladorounmicroprocesador.Cmosonloscircuitosquerealizanlasoperacionesmatemticascomplicadasytomandecisiones?Sabaquesusesquemas,aparentementecomplicadasconsistenenslounospocoselementosdiferentes,denominadoscircuitoslgicosocompuertaslgicas?

    1.3DETALLESIMPORTANTES

    ElfuncionamientodeestoselementosesbasadoenlosprincipiosestablecidosporelmatemticobritnicoGeorgeBooleenlamitaddelsiglo19esdecir,antesdelainvencindelaprimerabombilla.Laideaprincipaleradeexpresarlasformaslgicaspormediodelasfuncionesalgebraicas.TalideaprontosetransformenunproductoprcticoqueseconvirtimstardeenloquehoyendaconocemoscomocircuitoslgicosY(AND),O(OR)oNO(NOT).ElprincipiodesufuncionamientoesconocidocomoalgebradeBoole.

    CIRCUITOSLGICOS

    Algunas instrucciones de programa funcionan de lamismamanera que las compuertas lgicas. A continuacin vamos a explicar elprincipiodesufuncionamiento.

    CompuertaY(AND)

  • 14/3/2015 ElmundodelosmicrocontroladoresCaptulo1Libro:MicrocontroladoresPICProgramacinenBASIC

    http://www.mikroe.com/chapters/view/84/librodelaprogramaciondelosmicrocontroladorespicenbasiccapitulo1mundodelosmicrocontroladores/ 6/20

    Una compuerta lgica Y dispone de dos o msentradasydeunasalida.Enestecasolacompuertautilizada dispone de slo dos entradas. Un unolgico (1) aparecer en su salida slo en caso dequeambasentradas(AyB)seanllevadasaalto(1).La tabla a la derechamuestra la relacinentre lasentradasysalidasdelacompuertaY.

    Elprincipiodefuncionamientoeselmismocuandolacompuerta disponga de ms de dos entradas: lasalidaproporcionaununolgico(1)slositodaslasentradas son llevadas a alto (1). Cualquier otracombinacin de voltajes de entrada proporcionarun cero lgico (0) en su salida. Utilizada en elprograma,laoperacinYlgicoesrealizadaporunainstruccindeprograma,de laquevamosahablarms tarde. Por ahora basta con conocer que Ylgicoenunprogramaserefierealarealizacindeeste tipo de operacin sobre los bitscorrespondientesdedosregistrosdiferentes.

    Demanerasimilar,lacompuertaOtambindisponede dos o ms entradas y de una salida. Si lacompuerta dispone de slo dos entradas, esaplicable losiguiente: lasalidaproporcionaununolgico(1)siunauotraentrada(AoB)esllevadaaalto(1).EncasodequelacompuertaOdispongadems de dos entradas, es aplicable lo siguiente: Lasalidaproporcionaununolgico(1)siporlomenosuna entrada es llevada a alto (1). Si todas lasentradas estn a cero lgico (0), la salida estar acerolgico(0)tambin.

    Enunprograma,laoperacinOlgicoserealizadelamismamaneraquelaoperacinYlgico.

    CompuertaO(OR)

    CompuertaNO(NOT)

    LacompuertalgicaNOdisponedeunasolaentradayunasolasalida,porloquefuncionamuysimplemente.Cuandouncerolgico(0)aparezcaensuentrada,lasalidaproporcionaununolgico(1)yviceversa.Estosignificaqueestacompuertainviertelassealesporsmismasyporesoesdenominadainversor.

    EnelprogramalaoperacinlgicaNOserealizasobreunbyte.Elresultadoesunbyteconlosbitsinvertidos.Silosbitsdeunbyteseconsiderannmero,el valor invertidoesuncomplementoaesenmero.El complementodeunnmeroesel valorqueseaadealnmerohastallegaralmayornmerobinariode8dgitos.Enotraspalabras,lasumadeundgitode8nmerosydesucomplementoessiempre255.

    COMPUERTA XOR (O EXCLUSIVA)

    LacompuertaXOR(OEXCLUSIVA)esunpococomplicadaencomparacinconlasdems.Representaunacombinacindetodaslascompuertasanteriormentedescritas.Lasalidaproporcionaununolgico(1)slosisusentradasestnenestadoslgicosdiferentes.

  • 14/3/2015 ElmundodelosmicrocontroladoresCaptulo1Libro:MicrocontroladoresPICProgramacinenBASIC

    http://www.mikroe.com/chapters/view/84/librodelaprogramaciondelosmicrocontroladorespicenbasiccapitulo1mundodelosmicrocontroladores/ 7/20

    Enelprograma,estaoperacinseutilizaconfrecuenciaparacomparardosbytes.Larestasepuedeutilizarconelmismopropsito(sielresultadoes0, losbytes son iguales).Adiferenciade la resta, la ventajadeestaoperacin lgicaesquenoesposibleobtener losresultadosnegativos.

    REGISTRO

    Unregistroounaceldadememoriaesuncircuitoelectrnicoquepuedememorizarelestadodeunbyte.

    REGISTROSSFR

    Adiferenciadelosregistrosquenotienenningunafuncinespecialypredeterminada,cadamicrocontroladordisponedeunnmeroderegistrosdefuncionesespeciales(SFR),conlafuncinpredeterminadaporelfabricante.Susbitsestnconectadosaloscircuitosinternosdelmicrocontroladortalescomotemporizadores,convertidoresA/D,osciladoresentreotros.Estosignificaquedirectamentemanejanelfuncionamientodeestoscircuitos,oseadelmicrocontrolador.Imagneseochointerruptoresquemanejanelfuncionamientodeuncircuitopequeodentrodelmicrocontrolador.LosregistrosSFRhacenexactamentelomismo.

    Enotraspalabras,elestadodelosbitsderegistrossefijadentrodeprograma,losregistrosSFRdirigenlospequeoscircuitosdentrodelmicrocontrolador, estos circuitos se conectan por los pines del microcontrolador a un dispositivo perifrico utilizado para... Bueno,dependedeusted.

    PUERTOSDEENTRADA/SALIDA(E/S)

    Parahacertilunmicrocontrolador,hayqueconectarloaundispositivoexterno,osea,aunperifrico.Cadamicrocontroladortieneunooms registros (denominados puertos) conectados a los pines en el microcontrolador. Por qu se denominan como puertos deentrada/salida?Porqueustedpuedecambiarlafuncindecadapincomoquiera.Porejemplo,usteddeseaquesudispositivoenciendayapaguelostressealesLEDsyquesimultneamentemonitoreeelestadolgicode5sensoresobotonesdepresin.Unodelospuertosdebeestarconfiguradodetalmaneraquehayatressalidas(conectadasalosLEDs)ycincoentradas(conectadasalossensores).Esoserealizasimplementepormediodesoftware,loquesignificaquelafuncindealgnpinpuedesercambiadaduranteelfuncionamiento.

  • 14/3/2015 ElmundodelosmicrocontroladoresCaptulo1Libro:MicrocontroladoresPICProgramacinenBASIC

    http://www.mikroe.com/chapters/view/84/librodelaprogramaciondelosmicrocontroladorespicenbasiccapitulo1mundodelosmicrocontroladores/ 8/20

    Unadelascaractersticasmsimportantesdelospinesdeentrada/salida(E/S)eslacorrientemximaquepuedenentregar/recibir.EnlamayoradelosmicrocontroladoreslacorrienteobtenidadeunpinessuficienteparaactivarunLEDuotrodispositivodebajacorriente(1020mA).Otracaractersticaimportantedelospinesesquepuedendisponerdelosresistorespullup.Estosresistoresconectanlospinesalpolopositivodelvoltajedelafuentedealimentacinysuefectosepuedeveralconfigurarelpincomounaentradaconectadaauninterruptormecnicooaunbotndepresin.Lasltimasversionesdelosmicrocontroladorestienenlasresistenciaspullupconfigurablesporsoftware.CadapuertodeE/SnormalmenteestbajoelcontroldeunregistroSFRespecializado,loquesignificaquecadabitdeeseregistrodeterminaelestadodelpincorrespondienteenelelmicrocontrolador.Porejemplo,alescribirununolgico(1)aunbitdelregistrodecontrol(SFR),elpinapropiadodelpuertoseconfiguraautomticamentecomosalida.Esosignificaqueelvoltajellevadoaesepinsepuedeleercomo0o1lgico.Encasocontrario,alescribir0alregistroSFR,elpinapropiadodelpuertoseconfiguracomosalida.Suvoltaje(0Vo5V)correspondealestadodelbitapropiadodelregistrodelpuerto(0o1lgico,respectivamente).

    UNIDADDEMEMORIA

    La unidad dememoria es una parte del microcontrolador utilizada para almacenar los datos. La manera ms fcil de explicarlo escompararloconunarmariograndeconmuchoscajones.Simarcamos loscajonesclaramente,ser fcilaccederacualquieradesuscontenidosalleerlaetiquetaenlapartedelanteradelcajn.Demanerasimilar,cadadireccindememoriacorrespondeaunalocalidaddememoria.Elcontenidodecualquierlocalidadsepuedeleeryselepuedeaccederaldireccionarla.Lamemoriasepuedeescribirenlalocalidadoleer.

    Hayvariostiposdememoriadentrodelmicrocontrolador:

    MemoriaROM(ReadOnlyMemory)memoriadeslolectura

    LamemoriaROMseutilizaparaguardarpermanentementeelprogramaqueseestejecutando.Eltamaodeprogramaquesepuedeescribirdependedeltamaodeestamemoria.Losmicrocontroladoresactualesnormalmenteutilizaneldireccionamientode16bits,quesignificaquesoncapacesdedireccionarhasta64Kbdememoria,osea65535localidades.Porejemplo,siustedesprincipiante,suprogramaexcederpocasvecesellmitedevarioscientosdeinstrucciones.HayvariostiposdememoriaROM.

    ROMdemscara(enmascarada)MROM

    LaROMenmascaradaesuntipodeROMcuyocontenidoesprogramadoporelfabricante.Eltrminodemscaravienedelprocesodefabricacin,dondelaspartesdelchipseplasmanenlasmascarasutilizadasduranteelprocesodefotolitografa.Encasodefabricacindegrandesseries,elprecioesmuybajo.Olvidelaideademodificarla...

    OTPROM(OneTimeProgrammableROM)ROMprogramableunasolavez

    Lamemoriaprogramableunasolavezpermitedescargarunprogramaenelchip,perocomodicesunombre,unasolavez.Sisedetectaunerrordespusdedescargarlo,lonicoquesepuedehaceresdescargarelprogramacorrectoenotrochip.

  • 14/3/2015 ElmundodelosmicrocontroladoresCaptulo1Libro:MicrocontroladoresPICProgramacinenBASIC

    http://www.mikroe.com/chapters/view/84/librodelaprogramaciondelosmicrocontroladorespicenbasiccapitulo1mundodelosmicrocontroladores/ 9/20

    UVEEPROM(ROMErasableprogrammableROM)ROMprogramableborrableporrayosultravioleta

    Elencapsuladodeestemicrocontroladortieneunaventanareconocibleenlapartealta.Esopermiteexponerlasuperficiedelchipdesilicioalaluzdeultravioletayborrarelprogramacompletamenteenvariosminutos.Luegoesposibledescargarunnuevoprogramaenl.Lainstalacindeestaventanaescomplicada,loqueporsupuestoafectaalprecio.Desdenuestropuntodevista,desgraciadamente,demaneranegativa...

    MemoriaFlash

    Estetipodememoriaseinventenlosaos80enloslaboratoriosdelacompaaINTEL,comoformadesarrolladadelamemoriaUVEPROM. Ya que es posible escribir y borrar el contenido de esta memoria prcticamente un nmero ilimitado de veces, losmicrocontroladoresconmemoriaFlashsonperfectosparaestudiar,experimentarypara la fabricacinenpequeaescala.Por lagranpopularidaddeestamemoria,lamayoradelosmicroconroladoressefabricancontecnologaflashhoyenda.Siustedvaacomprarunmicrocontrolador,steesendefinitivalaopcinperfecta!

    MEMORIARAM(RandomAcMemoriaRAM(RandomAccessMemory)memoriadeaccesoaleatorio

    Alapagarlafuentedealimentacin,sepierdeelcontenidodelamemoriaRAM.Seutilizaparaalmacenartemporalmentelosdatosylosresultadosinmediatoscreadosyutilizadosduranteelfuncionamientodelmicrocontrolador.Porejemplo,sielprogramaejecutalaadicin(decualquiercosa)esnecesariotenerunregistroquerepresentaloquesellamasumaenvidacotidiana.Contalpropsito,unodelosregistrosdelaRAMesdenominadosumayseutilizaparaalmacenarlosresultadosdelaadicin.

    MemoriaEEPROM(ElectricallyErasableProgrammableROM)ROMprogramableyborrableelctricamente

    ElcontenidodelaEEPROMsepuedecambiarduranteelfuncionamiento(similaralaRAM),perosequedapermanentementeguardadodespusdelaprdidadelafuentedealimentacin(similaralaROM).Porlotanto,laEEPROMseutilizaconfrecuenciaparaalmacenarlosvalorescreadosduranteelfuncionamiento,quetienenqueestarpermanentementeguardados.Porejemplo,siustedhadiseadounallaveelectrnicaounalarma,seraestupendopermitiralusuariocreareintroducirunacontraseaporsucuenta.Porsupuesto,lanuevacontraseatienequeestarguardadaalapagarlafuentedealimentacin.EntalcasounasolucinperfectaeselmicrocontroladorconunaEEPROMembebida.

    INTERRUPCIN

    Lamayoradeprogramasutilizaninterrupcionesduranteejecucindeprogramaregular.Elpropsitodelmicrocontroladorgeneralmenteconsisteenreaccionaraloscambiosensuentorno.Enotraspalabras,cuandoocurrealgo,elmicrocontroladorreaccionadealgunamanera...Porejemplo,alapretarelbotndelmandoadistancia,elmicrocontroladorloregistrayrespondealcomandocambiandodecanal,subiendoobajandoelvolumenetc.Sielmicrocontroladorpasarlamayoradeltiempocomprobandovariosbotonessinpararlashoras,losdas,estonoseranadaprctico.Porlotanto,elmicrocontroladoraprendiuntrucodurantesuevolucin.Envezdeseguircomprobandoalgnpinobit,elmicroconroladordejasutrabajodeesperaraunexpertoquereaccionarsloencasodequesucedaalgodignodeatencin.LasealqueinformaalprocesadorcentralacercadetalacontecimientosedenominaINTERRUPCIN.

    BUS

    Elbusestformadopor8,16omscables.Haydostiposdebuses:elbusdedireccionesyelbusdedatos.Elbusdedireccionesconsisteentantaslneascomoseannecesariasparadireccionarlamemoria.SeutilizaparatransmitirladireccindelaCPUalamemoria.Elbusdedatosestananchocomolosdatos,enestecasoesde8bitsocablesdeancho.Seutilizaparaconectartodosloscircuitosdentrodelmicrocontrolador.

    UNIDADCENTRALDEPROCESAMIENTO(CentralprocessorunitCPU)

    Comoindicasunombre,estoesunaunidadquecontrolatodoslosprocesosdentrodelmicrocontrolador.Consisteenvariasunidadesmspequeas,delasquelasmsimportantesson:

    Decodificadordeinstrucciones.EslapartequedescodificalasinstruccionesdelprogramayaccionaotroscircuitosbasndoseenestoUnidadlgicaaritmtica(ArithmeticalLogicalUnit ALU) realiza todas lasoperacionesmatemticasy lgicassobre datos. El conjunto de instrucciones que es diferente para cada familia de microcontrolador expresa lascapacidadesdeestecircuitoyAcumuladororegistrodetrabajo.EsunregistroSFRestrechamenterelacionadoconelfuncionamientodelaALU.Es un tipo de escritorio de trabajo utilizado para almacenar todos los datos sobre los que se debe realizar algunaoperacin (sumar, mover). Tambin almacena los resultados preparados para el procesamiento futuro. Uno de losregistros SFR,denominadoRegistroStatus (PSW),estestrechamente relacionadoconelacumulador.Muestraelestado de un nmero almacenado en el acumulador (el nmero es mayor o menor que cero etc.) en cualquierinstantedado.Elacumuladoresdenominadoregistrodetrabajo(workingregister),osea,registroWosolamenteW.

  • 14/3/2015 ElmundodelosmicrocontroladoresCaptulo1Libro:MicrocontroladoresPICProgramacinenBASIC

    http://www.mikroe.com/chapters/view/84/librodelaprogramaciondelosmicrocontroladorespicenbasiccapitulo1mundodelosmicrocontrolador 10/20

    COMUNICACINSERIE

    Laconexinparalelaentreelmicrocontroladorylosperifricosatravsdelospuertosdeentrada/salidaesunasolucinperfectaparalasdistanciascortashastavariosmetros.Noobstante,cuandoesnecesarioestablecercomunicacinentredosdispositivosalargasdistanciasnoesposibleutilizarlaconexinparalela.Envezdeeso,seutilizalaconexinenserie.

    Hoyenda,lamayoradelosmicrocontroladoresllevanincorporadosvariossistemasdiferentesparalacomunicacinenserie,comounequipoestndar.Culdeestossistemasseutilizarenuncasoconcreto,dependedemuchosfactores,delosquemsimportantesson:

    Concuntosdispositivoselmicrocontroladortienequeintercambiarlosdatos?Culeslavelocidaddelintercambiodedatosobligatoria?Culesladistanciaentrelosdispositivos?Esnecesariotransmitiryrecibirlosdatossimultneamente?

    UnadelascosasmsimportantesencuantoalacomunicacinenserieeselProtocoloquedebeserestrictamenteobservado.Esunconjuntodereglasqueseaplicanobligatoriamenteparaquelosdispositivospuedaninterpretarcorrectamentelosdatosqueintercambianmutuamente.Afortunadamente,losmicrocontroladoresseencargandeesoautomticamente,asqueeltrabajodeprogramador/usuarioesreducidoalaescrituraylecturadedatos.

    VELOCIDADDETRANSMISINDEDATOS

    Lavelocidaddetransmisindedatos(datarate)eseltrminoutilizadoparadenotarelnmerodebitstransmitidosporsegundo[bps].Fjesequeestetrminoserefiereabits,ynoabytes!Elprotocolonormalmenterequierequecadabytesetransmitajuntoconvariosbitsdecontrol.Esoquieredecirqueunbyteenunflujodedatosserialpuedeconsistiren11bits.Porejemplo,sivelocidaddetransmisinseriales300bpsunmximode37yunmnimode27bytessepuedentransmitirporsegundo.

    Lossistemasdecomunicacinserialmsutilizadosson:

    I2C(InterIntegratedCircuit)CircuitoInterIntegrado

    Circuitointerintegradoesunsistemaparaelintercambiodedatosserialentrelosmicrocontroladoresyloscircuitosintegradosdenuevageneracin.Seutilizacuandoladistanciaentreellosescorta(elreceptoryeltransmisorestnnormalmenteenlamismaplacadecircuitoimpreso).Laconexinseestablecepormediodedoslneasunaseutilizaparatransmitirlosdatos,mientrasquelaotraseutilizaparalasincronizacin(lasealdereloj).Comosemuestraenlafigura,undispositivoessiempreelprincipal(mastermaestro),elquerealizaeldireccionamientodeunchipsubordinado(slaveesclavo)antesdequeseinicielacomunicacin.Deestamaneraunmicrocontroladorpuedecomunicarsecon112dispositivosdiferentes.Lavelocidaddetransmisindedatosesnormalmente100Kb/seg(elmodoestndar)o 10 Kb/seg (modo de velocidad de transmisin de datos baja). Recientemente han aparecido los sistemas con la velocidad detransmisindedatosde3.4Mb/sec.LadistanciaentrelosdispositivosquesecomunicanporelbusI2Cestlimitadaaunosmetros.

    SPI(SERIALPERIPHERALINTERFACEBUS)BUSSERIALDEINTERFAZDEPERIFRICOS

  • 14/3/2015 ElmundodelosmicrocontroladoresCaptulo1Libro:MicrocontroladoresPICProgramacinenBASIC

    http://www.mikroe.com/chapters/view/84/librodelaprogramaciondelosmicrocontroladorespicenbasiccapitulo1mundodelosmicrocontrolador 11/20

    Unbusserialdeinterfazdeperifricosesunsistemaparalacomunicacinserialqueutilizatresdecuatrolneaspararecibirlosdatos,para transmitir losdatos,parasincronizary (opcional)paraseleccionareldispositivoconelquesecomunica.Estoes laconexin fullduplex,loquesignificaquelosdatosseenvanyserecibensimultneamente.LavelocidaddetransmisindedatosmximaesmayorqueenelmdulodeconexinI2C.

    UART(UNIVERSALASYNCHRONOUSRECEIVER/TRANSMITTER)TRANSMISORRECEPTORASNCRONOUNIVERSAL

    Este tipodeconexinesasncrona, loquesignificaquenoseutilizauna lneaespecialpara transmitir la sealde reloj.Enalgunasaplicacionesesterasgoescrucial(porejemplo,enmandardatosadistanciaporRFoporluzinfrarroja).Puestoqueseutilizaslounalneadecomunicacin,tantoelreceptorcomoeltransmisorrecibenyenvanlosdatosavelocidadmismaquehasidopredefinidaparamantenerlasincronizacinnecesaria.Estoesunamanerasimpledetransmitirdatospuestoquebsicamenterepresentaunaconversindedatosde8bitsdeparaleloaserial.Lavelocidaddetransmisinnoesalta,eshasta1Mbit/sec.

    OSCILADOR

    Los pulsos uniformes generados por el oscilador permiten el funcionamiento armnico y sncrono de todos los circuitos delmicrocontrolador. El oscilador se configura normalmente de tal manera que utilice un cristal de cuarzo o resonador cermico paraestabilizacin de frecuencia. Adems, puede funcionar como un circuito autnomo (como osciladorRC). Es importante decir que lasinstruccionesdelprogramanoseejecutanalavelocidadimpuestaporelmismoosciladorsinovariasvecesmsdespacio.Esoocurreporquecadainstruccinseejecutaenvariosciclosdeloscilador.Enalgunosmicrocontroladoressenecesitaelmismonmerodeciclosparaejecutar todas las instrucciones,mientrasqueenotrosel tiempodeejecucinnoeselmismopara todas las instrucciones.Porconsiguiente, si el sistema utiliza el cristal de cuarzo con una frecuencia de 20MHZ, el tiempo de ejecucin de una instruccin deprogramanoes50nS,sino200,400o800nSdependiendodeltipodelmicrocontrolador.

    CIRCUITODEALIMENTACIN

    Hayquemencionardoscosasdignasdeatencinconrelacinalcircuitodelafuentedealimentacindemicrocontroladores:

    Brown out es un estado potencialmente peligroso que ocurre al apagar el microcontrolador o en caso de que elvoltaje de la fuente de alimentacin salga de unos mrgenes debido al ruido elctrico. Como el microcontroladordisponedevarioscircuitosquefuncionananivelesdevoltajediferentes,eseestadopuedecausaruncomportamientodescontrolado.Paraevitarlo,elmicrocontroladornormalmentetieneuncircuitoincorporadoparaelbrownoutreset.Elcircuitoreiniciainmediatamenteelmicrocontroladorsielvoltajedealimentacincaepordebajodellmite.Elpindereset(reinicio),marcado frecuentementeconMCLR (MasterClearReset),sirveparael reinicioexternodelmicrocontroladoralaplicaruncero(0)oununo(1) lgicodependiendodel tipodelmicrocontrolador.Encasodequeelcircuitobrownoutnoestincorporado,unsimplecircuitoexternoparaelbrownoutresetsepuedeconectaralpinMCLR.

    TEMPORIZADORES/CONTADORES

    Elosciladordelmicrocontroladorutiliza cristal de cuarzopara su funcionamiento.Aunquenose tratade la solucinmssimple, haymuchasrazonesparautilizarlo.Lafrecuenciadelosciladoresdefinidaconprecisinymuyestable,asquesiempregeneralospulsosdelmismoancho,loqueloshaceperfectosparamedicindetiempo.Talesosciladoresseutilizanenlosrelojesdecuarzo.Siesnecesariomedireltiempotranscurridoentredoseventos,bastaconcontarlospulsosgeneradosporesteoscilador.Estoesexactamenteloquehaceeltemporizador.

  • 14/3/2015 ElmundodelosmicrocontroladoresCaptulo1Libro:MicrocontroladoresPICProgramacinenBASIC

    http://www.mikroe.com/chapters/view/84/librodelaprogramaciondelosmicrocontroladorespicenbasiccapitulo1mundodelosmicrocontrolador 12/20

    Lamayoradelosprogramasutilizaestoscronmetroselectrnicosenminiatura.GeneralmentesonregistrosSFRde8o16bitscuyocontenidoseaumentaautomticamenteconcadapulso.Unavezquesellenaelregistro,segeneraunainterrupcin!

    Sieltemporizadorutilizaelosciladordecuarzointernoparasufuncionamiento,esposiblemedireltiempoentredoseventos(elvalorderegistroenelmomentodeiniciarlamedicinesT1,enelmomentodefinalizarlamedicinesT2,eltiempotranscurridoesigualalresultadodelarestaT2T1).Silosregistrosseaumentanconlospulsosquevienendelafuenteexterna,taltemporizadorseconvierteenuncontador.Estoesunaexplicacinsimpledesufuncionamiento.Esunpocomscomplicadoenprctica.

    CMOFUNCIONANLOSTEMRPORIZADORES?

    Enprctica,lospulsosgeneradosporelosciladordecuarzosonllevadosalcircuitounavezporcadaciclodemquinadirectamenteoporelpreescalador,loqueaumentaelnmeroenelregistrodeltemporizador.Alincorporaralcuarzoqueoscilaconunafrecuenciade4MHz se aplica lo siguiente:si una instruccin (un ciclo demquina) dura cuatro perodos del oscilador de cuarzo, este nmero sercambiadounmillndevecesporsegundo(cadamicrosegundo).

    Es fcil demedir los intervalos de tiempo cortos de lamanera descrita anteriormente (hasta 256microsegundosporquees elmayornmeroqueunregistropuedecontener).Estaobviadesventajasepuedesuperardevariasmaneras:alutilizarelosciladormslento,pormedioderegistrosconmsbits,delpreescaladorodelainterrupcin.Lasprimerasdossolucionestienenalgunasdebilidadesasqueserecomiendautilizarelpreescaladory/olainterrupcin.

    UTILIZARUNPREESCALADORENELFUNCIONAMIENTODELTEMPORIZADOR

    Unpreescaladoresundispositivoelectrnicoutilizadoparadividirlafrecuenciaporunfactorpredeterminado.Estoquieredecirquesenecesitallevar1,2,4omspulsosasuentradaparagenerarunpulsoalasalida.Lamayoradelosmicrocontroladoresdisponendeunoomspreescaladoresincorporadosysutasadedivisinpuedesercambiadadentrodelprograma.Elpreescaladorseutilizacuandoesnecesariomedirlosperodosdetiempomslargos.

  • 14/3/2015 ElmundodelosmicrocontroladoresCaptulo1Libro:MicrocontroladoresPICProgramacinenBASIC

    http://www.mikroe.com/chapters/view/84/librodelaprogramaciondelosmicrocontroladorespicenbasiccapitulo1mundodelosmicrocontrolador 13/20

    UTILIZARUNAINTERRUPCINENELFUNCIONAMIENTODELTEMPORIZADOR

    Sielregistrodeltemporizadoresde8bits,elmayornmeroquesepuedeescribirenles255.Enlosregistrosde16bitseselnmero65.535. Si se excede este nmero, el temporizador se reinicia automticamente y el conteo comienza de nuevo en cero. Esto esdenominadodesbordamientoosobreflujo(overflow).Permitidoporelprograma,eldesbordamientopuedeprovocarunainterrupcin,loqueabrecompletamentenuevasposibilidades.Porejemplo,elestadoderegistrosutilizadosparacontarsegundos,minutosodaspuedeserimplementadoenunarutinadeinterrupcin.Elprocesoentero(exceptolarutinadeinterrupcin)sellevaacabointernamente,loquepermitequeloscircuitosprincipalesdelmicrocontroladorfuncionenregularmente.

    La figura anterior describe el uso de una interrupcin en el funcionamiento del temporizador. Al asignarle un preescalador altemporizador,seproducenretrasosdeduracinarbitrariaconmnimainterferenciaenlaejecucindelprogramaprincipal.

    CONTADORES

    Si un temporizador se suministra por los pulsos ingresados por el pin de entrada en el microcontrolador, se produce un contador.Evidentemente,eselmismocircuitoelectrnicocapazdefuncionarendosmodosdiferentes.Lanicadiferenciaesquelospulsosparacontarse ingresanporelpindeentradayquesuduracin(anchura)noesdefinida.Poreso,nosepuedenutilizarparamedicindetiempo,sinoqueseutilizanparaotrospropsitos,porejemplo:contarlosproductosenlacadenademontaje,nmeroderotacionesdelejedeunmotor,pasajerosetc.(dependiendodelsensorutilizado).

    TEMPORIZADORPERROGUARDIN(WATCHDOG)

    ElperroguardinesuntemporizadorconectadoaunosciladorRCcompletamenteindependientedentrodelmicrocontrolador.

    Sielperroguardinesthabilitado,cadavezquecuentahastaelmximovalorenelqueocurreeldesbordamientodelregistrosegeneraunasealdereiniciodelmicrocontroladorylaejecucindeprogramainiciaenlaprimerainstruccin.Elpuntoesevitarqueesoocurraalutilizarelcomandoadecuado.

    Laideasebasaenelhechodequecadaprogramaseejecutaenvariosbucles,mslargosocortos.Silasinstruccionesquereinicianeltemporizadorperroguardinsecolocanenlugaresestratgicosdelprograma,aparteloscomandosqueseejecutanregularmente,elfuncionamientodelperroguardinnoafectaralaejecucindelprograma.Siporcualquierrazn(confrecuenciaporlosruidoselctricos)elcontadordeprogramasequedaatrapadodentrodeunbucleinfinito,elvalordelregistrocontinuaraumentadoporeltemporizadorperroguardinalcanzarelmximovalor,elregistrosedesbordary,aleluya!Ocurreelreinicioyelprogramaserejecutadodesdeelprincipio!

  • 14/3/2015 ElmundodelosmicrocontroladoresCaptulo1Libro:MicrocontroladoresPICProgramacinenBASIC

    http://www.mikroe.com/chapters/view/84/librodelaprogramaciondelosmicrocontroladorespicenbasiccapitulo1mundodelosmicrocontrolador 14/20

    CONVERTIDORA/D

    Lassealesexternassonmuydiferentesdelasqueentiendeelmicrocontrolador(solamente0Vy5V),asquedebenserconvertidasparaqueelmicrocontroladorpuedaentenderlas.Unconvertidoranalgicodigitalesuncircuitoelectrnicoencargadodeconvertir lassealescontinuasennmerosdigitalesdiscretos.Enotraspalabras,estecircuitoconvierteunnmerorealenunnmerobinarioyseloenvaalaCPUparaserprocesado.Estemduloseutilizaparamedirelvoltajeenelpindeentrada(voltajeanalgico).Elresultadodeestamedicinesunnmero(elvalordigital)utilizadoyprocesadomstardeenelprograma.

    ARQUITECTURAINTERNA

    TodoslosmicrocontroladoresactualesutilizanunodedosmodelosbsicosdearquitecturadenominadosHarvardyvonNeumann.SondosmanerasdiferentesdelintercambiodedatosentrelaCPUylamemoria.

    ARQUITECTURADEVONNEUMANN

  • 14/3/2015 ElmundodelosmicrocontroladoresCaptulo1Libro:MicrocontroladoresPICProgramacinenBASIC

    http://www.mikroe.com/chapters/view/84/librodelaprogramaciondelosmicrocontroladorespicenbasiccapitulo1mundodelosmicrocontrolador 15/20

    LosmicrocontroladoresqueutilizanlaarquitecturavonNeumanndisponendeunsolobloquedememoriaydeunbusdedatosde8bits.Comotodoslosdatosseintercambianpormediodeestas8lneas,estebusestsobrecargado,ylacomunicacinporsimismaesmuylentaeineficaz.LaCPUpuedeleerunainstruccinoleer/escribirdatosde/enlamemoria.Losdosprocesosnopuedenocurriralavezpuestoquelasinstruccionesylosdatosutilizanelmismobus.Porejemplo,sialgunalneadeprogramadicequeelregistrodelamemoriaRAMllamadoSUMdebeseraumentadoporuno(instruccin:incfSUMA),elmicrocontroladorharlosiguiente:

    ElmismobusdedatosseutilizaparatodasestasoperacionesintermediasalintercambiarlosdatosentrelaCPUylamemoria.

    ARQUITECTURADEHARVARD

    Losmicrocontroladoresqueutilizanestaarquitecturadisponendedosbusesdedatosdiferentes.Unoesde8bitsdeanchoyconectalaCPUconlamemoriaRAM.Elotroconsisteenvariaslneas(12,14o16)yconectaalaCPUylamemoriaROM.Porconsiguiente,laCPUpuedeleerlasinstruccionesyrealizarelaccesoalamemoriadedatosalavez.PuestoquetodoslosregistrosdelamemoriaRAMsonde8bitsdeancho, todos losdatosdentrodelmicrocontroladorquese intercambiansonde lamismaanchura.Duranteelprocesode laescrituradeprograma,slosemanejanlosdatosde8bits.Enotraspalabras,todoloqueustedpodrcambiarenelprogramayaloquepodrafectarserde8bitsdeancho.TodoslosprogramasescritosparaestosmicrocontroladoressernalmacenadosenlamemoriaROMinternadelmicrocontroladordespusdehabersidocompiladosacdigomquina.Noobstante,estaslocalidadesdememoriaROMnotienen8,sino12,14o16bits.4,6o8bitsadicionalesrepresentanunainstruccinqueespecificaalaCPUquhacerconlosdatosde8bits.

    Lasventajasdeestaarquitecturasonlassiguientes:

    Todos losdatosenel programasondeunbyte (8bits) deancho.Comounbusdedatosutilizadopara lecturadeprograma tieneunas lneasms(12,14o16), tanto la instruccincomoeldatosepueden leersimultneamentealutilizar estos bits adicionales. Por eso, todas las instrucciones se ejecutan en un ciclo salvo las instrucciones desaltoquesondedosciclos.Elhechodequeunprograma(laROM)y losdatostemporales(laRAM)estnseparados,permitea laCPUpoderejecutardosinstruccionessimultneamente.Dichodemanerasencilla,mientrasqueserealizalalecturaoescrituradelaRAM(quemarcaelfindeunainstruccin),lasiguienteinstruccinseleepormediodeotrobus.EnlosmicrocontroladoresqueutilizanlaarquitecturadevonNeumann,nuncasesabecuntamemoriaocuparalgnprograma. Generalmente, la mayora de las instrucciones de programa ocupan dos localidades de memoria (unacontieneinformacinsobreQUsedeberealizar,mientrasquelaotracontieneinformacinsobreCULdatosedeberealizar). Sin embargo, esto no es una frmula rgida, sino el casoms frecuente. En losmicrocontroladores queutilizanunaarquitecturaHarvard,elbusdelapalabradeprogramaesmsanchoqueunbyte,loquepermiteque cada palabra de programa est compuesto por una instruccin y un dato. En otras palabras, una localidad dememoriaunainstruccindeprograma.

    JUEGODEINSTRUCCIONES

    1. Leer la parte de la instruccin de programa que especifica QU es lo que debe realizar (en este caso es lainstruccinparaincrementarincf)

    2. Seguir leyendo la misma instruccin que especifica sobre CUL dato lo debe realizar (en este caso es elcontenidodelregistroSUMA)

    3. Despus de haber sido incrementado, el contenido de este registro se debe escribir en el registro del que fueledo(direccindelregistroSUMA)

  • 14/3/2015 ElmundodelosmicrocontroladoresCaptulo1Libro:MicrocontroladoresPICProgramacinenBASIC

    http://www.mikroe.com/chapters/view/84/librodelaprogramaciondelosmicrocontroladorespicenbasiccapitulo1mundodelosmicrocontrolador 16/20

    ElnombrecolectivodetodaslasinstruccionesquepuedeentenderelmicrocontroladoresllamadoJuegodeInstrucciones.Cuandoseescribeunprogramaenensamblador,enrealidadseespecificaninstruccionesenelordenenelquedebenserejecutadas.Larestriccinprincipaleselnmerodeinstruccionesdisponibles.Losfabricantesnormalmenteelijenentreunadedossolucionesopuestasydiseanlosmicrocontroladoresqueaplicanelmayoroelmenornmeroposibledeinstrucciones.Enotraspalabras,elijenentredosjuegosdeinstruccionesRISCoCISC,respectivamente.

    RISC(REDUCEDINSTRUCTIONSETCOMPUTER)COMPUTADORACONJUEGODEINSTRUCCIONESREDUCIDAS

    Enestecasolaideaesqueelmicrocontroladorreconoceyejecutaslooperacionesbsicas(sumar,restar,copiaretc...)Lasoperacionesmscomplicadasserealizanalcombinarstas.Porejemplo,multiplicacinsellevaacaboalrealizaradicinsucesiva.Escomointentarexplicarleaalguienconpocaspalabrascmollegaralaeropuertoenunanuevaciudad.Sinembargo,notodoestanoscuro.Porltimo,no es tan difcil explicar dnde est el aeropuerto si se utilizan las palabras adecuadas tales como: a la derecha, a la izquierda, elkilmetroetc.

    CISC(COMPLEXINSTRUCTIONSETCOMPUTER)COMPUTADORASCONJUEGODEINTRUCCIONESCOMPLEJO

    CISC es opuesto aRISC! Losmicrocontroladores diseados para reconocerms de 200 instrucciones diferentes realmente puedenrealizarmuchascosasaaltavelocidad.Noobstante,unodebesabercmoutilizartodaslasposibilidadesqueofreceunlenguajetanrico,loquenoessiempretanfcil...

    CMOELEGIRUNMICROCONTROLADOR?

    Bueno,siustedesprincipiante,yhatomadodecisindetrabajarconlosmicrocontroladores.Felicitacionesporlaeleccin!Noobstante,aprimeravista,noesfcillaeleccindelmicrocontroladormsadecuadocomoparecealaprimeravista.Elproblemanoeselpequeorangodedispositivosaelegir,sinotodolocontrario!

    Antesdeempezaradisearundispositivobasadoenunmicrocontrolador,tomeencuentalosiguiente:cuntasentradas/lneassonnecesariasparasufuncionamiento,realizaraeldispositivootrasoperacionesademsencender/apagarunrel,necesitaalgnmoduloespecializadotalcomoeldecomunicacinenserie,convertidorA/Detc.Cuandoustedtieneunaclaraimagendeloquequiere,elrangodeseleccinsereduceconsiderablemente,ylequedapensarenelprecio.Vaatenervariosdispositivos?Varioscientos?Unmilln?Detodosmodosahoraesmsclaro.Siestpensandoentodasestascosasporprimeravez,todoleparecerunpococonfuso.Poresarazn,vayapasoapaso.Antesquenada,seleccionealfabricante,esdecir,lafamiliademicrocontroladoresqueofrece.Luego,aprendaatrabajarconunmodeloparticular.Sloaprendaloquenecesiteaprender,noentredemasiadoendetalles.Resuelvaelproblemaespecficoylepasarunacosaincreblesercapazdemanejarcualquiermodeloquepertenecealamismafamilia...

    Msomenos,todosepareceamontarenbicicleta:despusdevariascadasinevitablesenelprincipio,sercapazdemantenerelequilibrioymontarencualquierotrabicicleta.Porsupuesto,nuncaseolvidatantodemontarenbicicleta,comodeladestrezadeprogramacin!

    1.4MICROCONTROLADORESPIC

    ElnombreverdaderodeestemicrocontroladoresPICmicrocontroladordeinterfazperifrico(PeripheralInterfaceController),conocidobajoelnombrePIC.Suprimerantecesorfuecreadoen1975porlacompaaGeneralInstruments.EstechipdenominadoPIC1650fuediseadoparapropsitoscompletamentediferentes.Aproximadamentediezaosmstarde,alaadirunamemoriaEEPROM,estecircuitoseconvirtienunverdaderomicrocontroladorPIC.

    Siestinteresadoenaprendermssobreeso,sigaleyendo.

    Laideaprincipaldeestelibroesproporcionarlainformacinnecesariaalusuarioparaqueseacapazdeutilizarlosmicrocontroladoresenlaprctica.Paraevitarexplicacionespesadasylashistoriasinfinitassobrelascaractersticastilesdelosmicrocontroladoresdiferentes,estelibrodescribeelfuncionamientodeunmodeloparticularquepertenecealaclasemediaalta.EsPIC16F887bastantepoderosopara ser digno de atencin y bastante simple para poder ser utilizado por cualquiera. As, los siguientes captulos describen estemicrocontroladorendetalleytambinserefierenalafamiliaPICentera..

    TodoslosmicrocontroladoresPICutilizanunaarquitecturaHarvard,loquequieredecirquesumemoriadeprogramaestconectadaalaCPUpormsde8lneas.Haymicrocontroladoresde12,14y16bits,dependiendodelaanchuradelbus.LasiguientetablarmuestralascaractersticasprincipalesdeestastrescategorasdelosmicrocontroladoresPIC.

    Familia ROM[Kbytes]RAM

    [bytes] PinesFrecuenciadereloj[MHz]

    EntradasA/D

    Resolucindel

    convertidorA/D

    Comparadores

    Temporizadoresde8/16bits

    Com.serial

    SalidasPWM

    Otros

    Arquitecturadelagamabajade8bits,palabradeinstruccinde12bits

    PIC10FXXX 0.3750.75 1624 68 48 02 8 01 1x8

    PIC12FXXX 0.751.5 2538 8 48 03 8 01 1x8 EEPROM

  • 14/3/2015 ElmundodelosmicrocontroladoresCaptulo1Libro:MicrocontroladoresPICProgramacinenBASIC

    http://www.mikroe.com/chapters/view/84/librodelaprogramaciondelosmicrocontroladorespicenbasiccapitulo1mundodelosmicrocontrolador 17/20

    PIC16FXXX 0.753 251341444 20 03 8 02 1x8 EEPROM

    PIC16HVXXX 1.5 25 1820 20 1x8 Vdd=15V

    Arquitecturadelagamamediade8bits,palabradeinstruccinde14bits

    PIC12FXXX 1.753.564128 8 20 04 10 1 12x81x16 01 EEPROM

    PIC12HVXXX 1.75 64 8 20 04 10 1 12x81x16 01

    PIC16FXXX 1.7514 643681464 20 013 8or10 02 12x81x16

    USARTI2CSPI 03

    PIC16HVXXX 1.753.564128

    1420 20 012 10 2 2x81x16

    USARTI2CSPI

    Arquitecturadelagamaaltade8bits,palabradeinstruccinde16bits

    PIC18FXXX 4128 25639361880 3248 416 10or12 03 02x823x16

    USB2.0CAN2.0USARTI2CSPI

    05

    PIC18FXXJXX 8128 1024393628100 4048 1016 10 2 02x823x16

    USB2.0USARTEthernetI2CSPI

    25

    PIC18FXXKXX 864 76839362844 64 1013 10 2 1x83x16

    USARTI2CSPI 2

    Como se puede ver en la tabla de la pgina anterior, salvo los monstruos de 16 bits PIC 24FXXX y PIC 24HXXX todos losmicrocontroladores tienen laarquitecturaHarvardde8bitsypertenecenaunade las tresgrandesgrupos.Poreso,dependiendodeltamaodepalabradeprogramaexistenlaprimera,lasegundaylaterceracategorademicrocontroladores,esdecirmicrocontroladoresde12,14o16bits.Puestoquedisponendelncleosimilarde8bits,todosutilizanelmismojuegodeinstruccionesyelesqueletobsicodehardwareconectadoamsomenosunidadesperifricas.

    LosmicrocontroladoresPICconpalabrasdeprogramade14bitsparecenserlamejoropcinparalosprincipiantes.Aquestelporqu...

    JUEGODEINSTRUCCIONES

    Eljuegodeinstruccionesparalosmicrocontroladores16F8XXincluye35instruccionesentotal.LaraznparaunnmerotanreducidodeinstruccionesyaceenlaarquietecturaRISC.Estoquieredecirquelasinstruccionessonbienoptimizadasdesdeelaspectodelavelocidadoperativa, la sencillez de la arquitectura y la compacidad del cdigo. La desventaja de la arquitectura RISC es que se espera delprogramadorquehaga frenteaestas instrucciones.Porsupuesto,estoesrelevanteslosiseutilizael lenguajeensambladorpara laprogramacin.EstelibroserefierealaprogramacinenellenguajedealtonivelBasic,loquesignificaquelamayorpartedeltrabajoyafuehechoporalguienms.As,slosetienenqueutilizarinstruccionesrelativamentesimples.

    TIEMPODEEJECUCINDEINSTRUCCIONES

    Todaslasinstruccionesseejecutanenunciclo.Lanicasexcepcionespuedenserlasinstruccionesderamificacincondicionalolasinstruccionesquecambianelcontenidodelcontadordeprograma.Enamboscasos,dosciclosderelojsonnecesariosparalaejecucindelainstruccin,mientrasqueelsegundocicloseejecutacomounNOP(Nooperation).Lasinstruccionesdeuncicloconsistenencuatrociclos de reloj. Si se utiliza un oscilador de 4MHz, el tiempo nominal para la ejecucin de la instruccin es 1mS. En cuanto a lasinstruccionesderamificacin,eltiempodeejecucindelainstruccines2S.

    JuegodeinstruccionesdelosmicrocontroladoresPICde14bits:

    I N ST RUCC I N DESCR I PC I N O PERAC I N BANDERA CLK *

    Instruccionesparalatransmisindedatos

    MOVLWk MoverliteralaW k>w 1

    MOVWFf MoverelcontenidodeWaf W>f 1

    MOVFf,d Moverelcontenidodefad f>d Z 1 1,2

    CLRW BorrarelcontenidodeW 0>W Z 1

    CLRFf Borrarelcontenidodef 0>f Z 1 2

    SWAPFf,d Intercambiardenibblesenf f(7:4),(3:0)>f(3:0),(7:4) 1 1,2

    Instruccionesaritmticolgicas

    ADDLWk SumarliteralaW W+k>W C,DC,Z 1

    ADDWFf,d SumarelcontenidodeWyf W+f>d C,DC,Z 1 1,2

    SUBLWk RestarWdeliteral kW>W C,DC,Z 1

    SUBWFf,d RestarWdef fW>d C,DC,Z 1 1,2

    ANDLWk ANDWconliteral WANDk>W Z 1

    ANDWFf,d ANDWconf WANDf>d Z 1 1,2

    IORLWk ORinclusivodeWconliteral WORk>W Z 1

    IORWFf,d ORinclusivodeWconf WORf>d Z 1 1,2

    XORWFf,d ORexclusivodeWconliteral WXORk>W Z 1 1,2

    XORLWk ORexclusivodeWconf WXORf>d Z 1

    INCFf,d Sumar1af f+1>f Z 1 1,2

    DECFf,d Restar1af f1>f Z 1 1,2

    RLFf,d RotarFalaizquierdaatravsdelbitdeAcarreo C 1 1,2

    RRFf,d RotarFaladerechaatravsdelbitdeAcarreo C 1 1,2

  • 14/3/2015 ElmundodelosmicrocontroladoresCaptulo1Libro:MicrocontroladoresPICProgramacinenBASIC

    http://www.mikroe.com/chapters/view/84/librodelaprogramaciondelosmicrocontroladorespicenbasiccapitulo1mundodelosmicrocontrolador 18/20

    COMFf,d Complementarf f>d Z 1 1,2

    Instruccionesorientadasabit

    BCFf,b Ponera0elbitbdelregistrof 0>f(b) 1 1,2

    BSFf,b Ponera1elbitbdelregistrof 1>f(b) 1 1,2

    Instruccionesdecontroldeprograma

    BTFSCf,b Saltarsibitbderegistrofes0 Skipiff(b)=0 1(2) 3

    BTFSSf,b Saltarsibitbdereg.fes1 Skipiff(b)=1 1(2) 3

    DECFSZf,d Disminuirfen1.Saltarsielresultadoes0. f1>dskipifZ=1 1(2) 1,2,3

    INCFSZf,d Incrementarfen1.Saltarsielresultadoes1. f+1>dskipifZ=0 1(2) 1,2,3

    GOTOk Saltaraunadireccin k>PC 2

    CALLk Llamaraunasubrutina PC>TOS,k>PC 2

    RETURN Retornardeunasubrutina TOS>PC 2

    RETLWk RetornarconliteralenW k>W,TOS>PC 2

    RETFIE Retornardeunainterupcin TOS>PC,1>GIE 2

    Otrasinstrucciones

    NOP Nooperacin TOS>PC,1>GIE 1

    CLRWDT Reiniciareltemporizadorperroguardin 0>WDT,1>TO,1>PD TO,PD 1

    SLEEP Ponerenestadodereposo 0>WDT,1>TO,0>PD TO,PD 1

    *1SiunregistrodeE/Sestmodificado,elvalorutilizadoserelvalorpresentadoenlospinesdelmicrocontrolador.*2SilainstruccinseejecutaenelregistroTMRysid=1,elpreescaladorserborrado.*3Sielcontadordeprogramaestmodificadooelresultadodepruebaesununolgico(1), la instruccintieneunaduracindedosciclos.ElsegundocicloseejecutacomounNOP

  • 14/3/2015 ElmundodelosmicrocontroladoresCaptulo1Libro:MicrocontroladoresPICProgramacinenBASIC

    http://www.mikroe.com/chapters/view/84/librodelaprogramaciondelosmicrocontroladorespicenbasiccapitulo1mundodelosmicrocontrolador 19/20

    tableofcontents|nextchapter

    ArquitecturadelosmicrocontroladoresPICde8bits.Culesdeestosmdulospertenecernalmicrocontrolador,dependerdeltipodemicrocontrolador.

    MikroElektronika Embedded SolutionsPICSolutionPICDev.BoardsPICCompilersPICProgrammersPICKitsPICBooks

    PIC32SolutionPIC32Dev.BoardsPIC32CompilersPIC32ProgrammersPIC32Kits

    dsPICSolutiondsPICDev.BoardsdsPICCompilersdsPICProgrammersdsPICKitsdsPICBooks

    AVRSolutionAVRDev.BoardsAVRCompilersAVRProgrammersAVRKits

    STM32SolutionSTM32Dev.BoardsSTM32CompilersSTM32ProgrammersSTM32Kits

    TivaCSeriesSolutionTivaCDev.BoardsTivaCCompilersTivaCProgrammersTivaCKits

    8051Solution8051Dev.Boards8051Compilers8051Programmers8051Books8051Kits

    FT90xSolutionFT90xDev.BoardsFT90xCompilersFT90xProgrammersFT90xKits

    AdditionalSoftwareVisualTFTVisualGLCDPackageManagerGLCDFontCreatorTimerCalculator

    AddonboardsClickBoardsmikromediashieldsCommunicationStorage

    RealTimeClockDisplayMeasurementAudio&VoicePowerSupplyGPSGSM/GPRS

  • 14/3/2015 ElmundodelosmicrocontroladoresCaptulo1Libro:MicrocontroladoresPICProgramacinenBASIC

    http://www.mikroe.com/chapters/view/84/librodelaprogramaciondelosmicrocontroladorespicenbasiccapitulo1mundodelosmicrocontrolador 20/20

    Copyright19982015.MikroElektronika.Allrightsreserved.Alltradeand/orservicesmarksmentionedarethepropertyoftheirrespectiveowners.

    Support Forum mikroBUS Letsmake Press Legal Archive AboutUs Customization