Você está na página 1de 39

CAPTULO 1 MICROCONTROLADORES PIC

Introduccin.

Enestecaptuloseestablecenlasrazonesquehanllevadoalaelecci nde unmicrocontroladorfrente aunmicroprocesadoryseintentanrecoger todos los conocimientos y herramientas necesarias para programar los microcontroladores PIC de la compaa Microchip. Estos microcontroladoreshansidoelegidospararealizarlastareasdeunidadde controly gestin de lascomunicaciones PC<>RPC por subajo precio, altascapacidades,porlosencilloqueesellenguajeensambladoryporla facilidad para programar el micro sin necesidad de recurrir a programadorescomerciales.

1.1 Controlador y microcontrolador.


Recibe el nombre de controlador el dispositivo que se emplea para el manejodeunoovariosprocesos.Porejemplo,elcontroladorqueregulael funcionamiento de un horno dispone de un sensor que mide constantemente su temperatura interna y, cuando traspasa los l mites prefijados,generalassealesadecuadasqueaccionanlosactuadoresque intentanllevarelvalordelatemperaturadentrodelrangoestipulado. Aunqueelconceptodecontroladorhapermanecidoinvariableatravsdel tiempo, su implementacin fsica ha variado frecuentemente. Hace tres dcadas,loscontroladoresseconstruanexclusivamenteconcomponentes de lgica discreta, posteriormente se emplearon los microprocesadores, queserodeabanconchipsdememoriayE/Ssobreunatarjetadecircuito impreso. En la actualidad, todos los elementos del controlador se han podidoincluirenunchip,elcualrecibeelnombrede microcontrolador.

Realmenteconsisteenunsencilloperocompletocomputadorcontenido enelcorazn(chip)deuncircuitointegrado.

Un microcontrolador dispone normalmente de los siguientes componentes: ProcesadoroCPU(UnidadCentraldeProceso). MemoriaRAMparalosdatos. MemoriaparaelprogramatipoROM/EEPROM/FLASH. LneasdeEntrada/Salidaparacomunicarseconelexterior. Diversos mdulos para el control de perifricos (temporizadores, PuertosSerieyParalelo,ConversoresAnalgico/Digital,Conversores Digital/Analgico,generadordePWM...). El microcontrolador es en definitiva un circuito integrado que incluye todos los componentes de un miniordenador. Debido a su reducido tamaoesposiblemontarelcontroladorenelpropiodispositivoalque gobierna. En este caso el controlador recibe el nombre de controlador empotrado(embeddedcontroller).

1.2 Diferencias microcontrolador.

entre

microprocesador

El microprocesador es un circuito integrado que contiene la Unidad CentraldeProceso(CPU),tambinllamadaprocesador,deunordenador.

Laspatasdeunmicroprocesadorsacanalexteriorlaslneasdesusbuses dedirecciones,datosycontrol,parapermitirconectarleconlamemoriay losmdulosdeE/S.Sedicequeunmicroprocesadoresunsistemaabierto porquesuconfiguracinesvariabledeacuerdoconlaaplicacinalaque sedestine. Unmicrocontroladoresunsistemacerradoqueyacontienelamemoriay elinterfazconlosperifricos.

Sislosedispusiesedeunmodelodemicrocontrolador, stedeberatener muchosrecursosparapoderseadaptaralasexigenciasdelasdiferentes aplicaciones, lo cual en muchos casos supondra un despilfarro. En la prctica,cadafabricantedemicrocontroladoresofertaunelevadonmero

demodelosdiferentes,desdelosmssencilloshastalosmspotentes.Es posibleseleccionarlacapacidaddelasmemorias,elnmerodelneasde E/S,lacantidadypotenciadeloselementosauxiliares,lavelocidadde funcionamiento,etc.Portodoello,unaspectomuydestacadodeldise o eslaseleccindelmicrocontroladorautilizar.

1.3 Seleccin del microcontrolador.


Antesdeseleccionarunmicrocontroladoresimprescindibleanalizarlos requisitosdelaaplicacin: Procesamientodedatos:puedesernecesarioqueelmicrocontrolador realiceclculoscrticosenuntiempolimitado.Enesecasodebemos asegurarnos de seleccionar un dispositivo suficientemente rpido paraello.Porotrolado,habr quetenerencuentalaprecisinde losdatosamanejar:sinoessuficienteconunmicrocontroladorde8 bits,puede ser necesario acudir amicrocontroladores de 16 32 bits,oinclusoahardwaredecomaflotante.Unaalternativam s baratayquiz suficienteesusarlibrerasparamanejarlosdatosde altaprecisin. Entrada/Salida:paradeterminarlasnecesidadesdeEntrada/Salida del sistema es conveniente dibujar un diagrama de bloques del mismo,detalformaqueseasencilloidentificarlacantidadytipode seales a controlar. Una vez realizado este anlisis puede ser necesario aadir perifricos hardware externos (multiplexores, decodificadores...)ocambiaraotromicrocontroladormsadecuado aesesistema.

Consumo: algunos productos que incorporan microcontroladores estnalimentadosconbaterasysufuncionamientopuedesertan vitalcomoactivarunaalarmaantirrobo.Lomsconvenienteenun

casocomostepuedeserqueelmicrocontroladorestenestadode bajoconsumopero quedespierte antelaactivacindeunaseal (unainterrupcin)yejecuteelprogramaadecuadoparaprocesarla.

Memoria: para detectar las necesidades de memoria de nuestra aplicacindebemossepararlaenmemoriavoltil(RAM),memoria novoltil(ROM,EPROM,etc.)ymemorianovoltilmodificable (EEPROM,FLASH).

Anchodepalabra:elcriteriodediseodebeserseleccionarelmicro controlador de menor ancho de palabra que satisfaga los requerimientosdelaaplicacin.Usarunmicrocontroladorde4bits supondrunareduccinenloscostesimportante,mientrasqueuno de8bitspuedeserelmsadecuadosielanchodelosdatosesde unbyte.Losmicrocontroladoresde16y32bits,debidoasuelevado coste, deben reservarse para aplicaciones que requieran sus altas prestaciones(Entrada/Salidapotenteoespaciodedireccionamiento muyelevado).

Diseo de la placa: la seleccin de un microcontrolador concreto condicionar el diseo de la placa de circuitos. Debe tenerse en cuenta que quiz usar un microcontrolador barato encarezca el restodecomponentesdeldiseo.

Losmicrocontroladoresmspopularesseencuentran,sinduda,entrelas mejoreselecciones:

8048(Intel).Eselpadredelosmicrocontroladoresactuales,elprimerode todos.Suprecio,disponibilidadyherramientasdedesarrollohacenque todavaseamuypopular.

8051(Intelyotros).Essindudaelmicrocontroladormspopular.Fcilde programar,peropotente.Est biendocumentadoyposeecientosdeva rianteseincontablesherramientasdedesarrollo.

80186, 80188 y 80386 EX (Intel). Versiones en microcontrolador de los populares microprocesadores 8086 y 8088. Su principal ventaja es que permitenaprovecharlasherramientasdedesarrolloparaPC.

68HC11y68HC12(MotorolayToshiba).Esunmicrocontroladorde8bits potenteypopularcongrancantidaddevariantes.

683xx(Motorola). Surgidoapartirdelapopularfamilia68k,alaquese incorporan algunos perifricos. Son microcontroladores de altsimas prestaciones.

PIC(MicroChip). Familiademicrocontroladoresqueganapopularidad da a da. Fueron los primeros microcontroladores RISC. Sern los empleadosenesteproyecto.

Es preciso resaltar en este punto que existen innumerables familias de microcontroladores, cada una de las cuales posee un gran n mero de variantes.

1.4

Recursos

comunes

todos

los

microcontroladores.
Alestartodoslosmicrocontroladoresintegradosenunchip,suestructura fundamentalysuscaractersticasbsicassonmuyparecidas.Todosdeben disponer de los bloques esenciales Procesador, memoria de datos y de instrucciones,lneasdeE/S,osciladorderelojymduloscontroladoresde perifricos.Sinembargo,cadafabricanteintentaenfatizarlosrecursosm s idneosparalasaplicacionesalasquesedestinanpreferentemente. En este apartado se hace un recorrido de todos los recursos que se encuentran en todos los microcontroladores describiendo las diversas alternativas y opciones que pueden encontrarse segn el modelo seleccionado. 1.4.1 Arquitectura bsica Aunque inicialmente todos los microcontroladores adoptaron la arquitectura clsica de von Neumann, en el presente se impone la arquitecturaHarvard.LaarquitecturadevonNeumannsecaracterizapor disponerdeunasolamemoriaprincipaldondesealmacenantantodatos comoinstrucciones.Adichamemoriaseaccedeatrav sdeunsistemade busesnico(direcciones,datosycontrol). LaarquitecturaHarvarddisponededosmemoriasindependientes:una, quecontienesloinstruccionesyotra,slodatos.Ambasdisponendesus respectivossistemasdebusesdeaccesoyesposiblerealizaroperaciones deacceso(lecturaoescritura)simultneamenteenambasmemorias. LosmicrocontroladoresPICusanlaarquitecturaHarvard. 1.4.2 Procesador (CPU). Seencargadedireccionarlamemoriadeinstrucciones,recibirelcdigo OP de la instruccin en curso, su decodificacin y la ejecucin de la

operacin que implica la instruccin, as como la bsqueda de los operandosyelalmacenamientodelresultado. Existentresorientacionesencuantoalaarquitecturayfuncionalidadde losprocesadoresactuales: CISC: Un gran nmero de procesadores usados en los microcontroladores estn basados en la filosofa CISC (ComputadoresdeJuegodeInstruccionesComplejo).Disponende msde80instruccionesmquinaensurepertorio,algunasdelas cualessonmuysofisticadasypotentes,requiriendomuchosciclos para su ejecucin. Una ventaja de los procesadores CISC es que ofrecenalprogramadorinstruccionescomplejasqueactancomo macros.

RISC: Tanto la industria de los ordenadores como la de los microcontroladores estn decantndose hacia la filosofa RISC (Computadores de Juego de Instrucciones Reducido). En estos procesadores el repertorio de instrucciones mquina es muy reducido y las instrucciones son simples y, generalmente, se ejecutanenunciclo(enrealidadencuatro,perosecuencialmente, deformaqueacadacicloderelojseterminalaejecucindeuna instruccin excepto en las instrucciones de salto). La sencillez y rapidezdelasinstruccionespermitenoptimizarelhardwareyel softwaredelprocesador.

SISC: En los microcontroladores destinados a aplicaciones muy concretas, el juego de instrucciones, adems de ser reducido, es especfico,osea,lasinstruccionesseadaptanalasnecesidadesde laaplicacinprevista.Estafilosofasehabautizadoconelnombre deSISC(ComputadoresdeJuegodeInstruccionesEspecfico).

1.4.3 Memoria. En los microcontroladores, la memoria de instrucciones y datos est integradaenelpropiochip.Unapartedebesernovol til,tipoROM,yse destina a contener las instrucciones del programa. Otra parte de la memoriaser tipoRAM,voltil,ysedestinaaguardarlasvariablesylos datos. La RAM en estos dispositivos es de poca capacidad pues slo debe contenerlasvariablesyloscambiosdeinformacinqueseproduzcanen eltranscursodelprograma. LosusuariosdeordenadoresestnhabituadosamanejarMegabytesde memoria, pero los diseadores de aplicaciones con microcontroladores trabajan concapacidades deROM comprendidas entre 512bytes y8k bytesydeRAMcomprendidasentre20y512bytes(enlagamamediade microcontroladores,enlaaltasesuperanestascifras). SegneltipodememoriaROMquedisponganlosmicrocontroladores,la aplicacinyutilizacindelosmismosesdiferente.Sedescribenlascinco versiones de memoria no voltil que se pueden encontrar en los microcontroladoresdelmercado. ROMconmscara.Esunamemorianovoltildeslolecturacuyo contenidosegrabadurantelafabricacindelchip.Elelevadocoste del diseo de lamscaraslo hace aconsejable elempleo delos microcontroladoresconestetipodememoriacuandoseprecisan cantidadessuperioresavariosmilesdeunidades. OTP.Elmicrocontroladorcontieneunamemorianovoltildeslo lecturaprogramableunasolavezporelusuario.OTP(OneTime Programmable).Eselusuarioquienpuedeescribirelprogramaen elchipmedianteunsencillograbadorcontroladoporunprograma desde un PC. La versin OTP es recomendable cuando es muy

cortoelciclodediseodelproducto,obien,enlaconstruccinde prototiposyseriesmuypequeas.Tantoenestetipodememoria comoenlaEPROM,sesueleusarlaencriptacinmediantefusibles paraprotegerelcdigodeprograma. EPROM. Los microcontroladores que disponen de memoria EPROM (Erasable Programmable Read OnIy Memory) pueden borrarseygrabarsemuchasveces.Lagrabacinserealiza,comoen elcasodelosOTP,conungrabadorgobernadodesdeunPC.Si, posteriormente, se desea borrar el contenido, disponen de una ventanadecristalensusuperficieporlaquesesometealaEPROM arayosultravioletadurantevariosminutos.Lascpsulassonde materialcermicoysonmscarosquelosmicrocontroladorescon memoriaOTPqueestnhechosconmaterialplstico. EEPROM.Setratade memoriasde slolectura, programablesy borrables elctricamente EEPROM (Electrical Erasable ProgrammableReadOnIyMemory).Tantolaprogramacincomo elborrado serealizanelctricamente desdeelpropiograbadory bajoelcontroldeunPC.Nodisponendeventanadecristalenla superficie.LosmicrocontroladoresdotadosdememoriaEEPROM puedengrabarseyborrarsecuantasvecessequierasinserretirados delcircuitoenelqueseinstalen.Paraelloseusangrabadoresen circuitoqueconfierenunagranflexibilidadyrapidezalahorade realizar modificacionesenelprogramade trabajo.Elnmero de veces que puede grabarse y borrarse una memoria EEPROM es finito, por lo que no es recomendable una reprogramacin continua.Estetipodememoriaesrelativamentelenta. FLASH.Setratadeunamemorianovoltil,debajoconsumo,que sepuedeescribiryborrar.FuncionacomounaROMyunaRAM peroconsumemenosyesmspequea.AdiferenciadelaROM,la

memoriaFLASHesprogramableenelcircuito.Esmsrpidayde mayor densidad que la EEPROM. La alternativa FLASH est recomendadafrentealaEEPROMcuandoseprecisagrancantidad de memoria de programa no voltil. Es ms veloz y tolera ms ciclos de escritura/borrado, adems de poder ser programada a nivelbajodetensin. 1.4.4 Puertos de Entrada/Salida. Los puertos de entrada/salida de un microcontrolador permiten la comunicacinconlosperifricosexternos.Adems,muchasdelaspatas que configuran el puerto suelen tener varias funciones multiplexadas, comoporejemploserpuertodeE/Syentradaanalgicaalconvertidor A/D. 1.4.5 El reloj del microcontrolador. Todos los microcontroladores disponen de un circuito oscilador que genera una onda cuadrada de alta frecuencia, que proporciona los impulsosderelojusadosenlasincronizacindetodaslasoperacionesdel sistema. Generalmente,elcircuitoderelojestincorporadoenelmicrocontrolador yslosenecesitanunospocoscomponentesexterioresparaseleccionary estabilizarlafrecuenciadetrabajo.Dichoscomponentessuelenconsistir enuncristaldecuarzojuntoaelementospasivos(doscondensadoresdel orden de los picofaradios), un resonador cermico (no hacen falta condensadores)ounaredRC. Aumentar la frecuencia de reloj supone disminuir el tiempo en que se ejecutanlasinstrucciones,peroellovaacompaadodeunincrementodel consumodeenerga.

1.4.6 Recursos especiales de los microcontroladores. Cadafabricanteofertanumerosasversionesdeunaarquitecturabsicade microcontrolador.Enalgunasamplalascapacidadesdelasmemorias,en otras incorpora nuevos recursos, en otras reduce las prestaciones al mnimo para aplicaciones muy simples, etc. La labor del diseador es encontrarelmodelomnimoquesatisfagatodoslosrequerimientosdesu aplicacin.Deestaforma,seminimizarelcoste. Los principales recursos especficos que incorporan los microcontroladoresson: TemporizadoresoTimers. PerroguardinoWatchdog. ProteccinantefallodealimentacinoBrownout. Estadodereposoodebajoconsumo. ConversorA/D. ConversorD/A. Comparadoranalgico. ModuladordeanchuradepulsosoPWM. PuertosdeE/Sdigitales. Puertosdecomunicacinserie/paralelo. 1.4.6.1 Temporizadores o Timers. Seempleanparacontrolarperiodosdetiempo(temporizadores)ypara llevar la cuenta de acontecimientos que suceden en el exterior (contadores).

Paralamedidadetiempossecargaunregistroconelvaloradecuadoya continuacindichovalorsevaincrementandoodecrementandoalritmo delosimpulsosderelojoalgnmltiplohastaquesedesbordeylleguea 0,momentoenelqueseproduceunainterrupcin.

Cuandosedeseancontaracontecimientosquesematerializanporcambios de nivel o flancos en alguna de las patas del microcontrolador, el mencionadoregistrosevaincrementandoodecrementandoalritmode dichosimpulsos. 1.4.6.2 Perro guardin o Watchdog Cuandoelordenadorsebloqueaporunfallodelsoftwareuotracausa,se pulsaelbotndelresetysereiniciaelsistema.Perounmicrocontrolador funcionasinelcontroldeunsupervisorydeformacontinuada.ElPerro guardinconsisteenuntemporizadorque,cuandosedesbordaypasapor 0,provocaunresetautomticamenteenelsistema. Sedebedisearelprogramadetrabajoquecontrolalatareadeformaque refresqueoinicialicealPerroguardinantesdequeprovoqueelreset.Si fallaelprogramaosebloquea,noserefrescar alPerroguardiny,al completarsutemporizacinprovocarelresetdelmicro. 1.4.6.3 Proteccin Brownout Setratadeuncircuitoquereseteaalmicrocontroladorcuandoelvoltajede alimentacin (VDD) es inferior a un voltaje mnimo (brownout). Mientras el voltaje de alimentacin sea inferior al de brownout el dispositivosemantienereseteado,comenzandoafuncionarnormalmente cuandosesobrepasadichovalor. 1.4.6.4 Estado de reposo de bajo consumo ante fallo de alimentacin o

Son abundantes las situaciones en las que el microcontrolador debe esperar,sinhacernada,aqueseproduzcaalgnacontecimientoexterno que le ponga de nuevo en funcionamiento. Para ahorrar energ a los microcontroladoresdisponendeunainstruccinespecial(SLEEPenlos PIC),quelespasaalestadodereposoodebajoconsumo,enelcuallos requerimientosdepotenciasonmnimos.Endichoestadosedetieneel relojprincipalysecongelansuscircuitosasociados.Alactivarseuna interrupcin provocada por un evento externo, el microcontrolador se despiertayreanudasutrabajo. 1.4.6.5 Conversor A/D Los microcontroladores que incorporan un Conversor A/D (Analgico/Digital)puedenprocesarsealesanalgicascuyovaloroscile entrelatensindealimentacinyel0(paraotrotipodesealesharfalta una etapa previa de adaptacin de la seal). Suelen disponer de un multiplexorquepermiteaplicaralaentradadelconversorvariasseales analgicasendistintaspatasdelcircuitointegrado. 1.4.6.6 Conversor D/A Transforma datos digitales en su correspondiente seal analgica, que saca al exterior por una de las patas del micro. La inclusi n de un conversor D/Aen un micro esmucho msrara (y cara) que la de un conversorA/D.Lasalidaanalgicatieneunalimitacindecorrienteyde amplitud,porlo que enmuchasocasionesser necesaria unaetapade salida(amplificador+potencia). 1.4.6.7 Comparador analgico Algunos modelos de microcontroladores disponen internamente de un AmplificadorOperacionalqueactacomocomparadorentreunasealfija dereferenciayotravariablequeseaplicaporunadelaspatasdelmicro.

Lasalidadelcomparadorproporcionaunnivellgico10segnlaseal deentradaseamayoromenorqueladereferencia.Tambinhaymodelos de microcontroladores con un mdulo de tensin de referencia que proporcionadiversastensionesdereferenciaquesepuedenaplicarenlos comparadores. 1.4.6.8 Modulador de anchura de pulsos o PWM

Soncircuitosqueproporcionanensusalidapulsosdetensindeancho variable (modificable por software), muy usados en la regulacin de velocidaddemotoresyaplicacionesdeelectrnicadepotencia. 1.4.6.9 Puertos de E/S digitales Todos los microcontroladores destinan algunas de sus patas a proporcionar lneas de E/S digitales. Por lo general, estas lneas se agrupandeochoenochoformandoPuertos. LaslneasdigitalesdelosPuertospuedenconfigurarsecomoEntradao comoSalidacargandoun1un0enelbitcorrespondientedeunregistro destinado a su configuracin. Muchos micros tienen la capacidad de generarinterrupcionescuandocambialaentradadealgunadelasl neas. Esoesespecialmentetilcuandoelmicroestenestadodebajoconsumo, queaspuedeserdespertadoporuneventoexternoenunadesuspatas. 1.4.6.10 Puertos de comunicacin Lospuertosdecomunicacindotanalmicrocontroladordelaposibilidad de comunicarse con dispositivos externos, buses de microprocesadores, busesdesistemas,busesderedesyotroselementosbajodistintasnormas y protocolos. Algunos modelos de micros disponen de recursos que permitendirectamenteestatarea,entrelosquedestacan: UART,adaptadordecomunicacinserieasncrona.

USART,adaptadordecomunicacinseriesncronayasncrona Puertoparalelaesclavoparapoderconectarseconlosbusesdeotros microprocesadores.

USB(UniversalSerialBus),queesunbusseriedealtavelocidad. BusI2C,queesuninterfazseriededoshilosdesarrolladoporPhilips. CAN(ControllerAreaNetwork),parapermitirlacomunicaci ndelos distintossistemasdeunautomvil.

Microcontroladores PIC.

2.1 Caractersticas de los microcontroladores PIC de Microchip.


2.1.1 Introduccin. Los PIC tienen muchas caractersticas que han hecho que se hagan extremadamentepopularesenlos ltimosaos:lavelocidad,elprecio,la facilidaddeuso,lainformacinabundante,lasherramientasdeapoyo... Paralasaplicacionesmshabitualeslaeleccindeunaversinadecuada de PIC es la mejor solucin; sin embargo, otras familias de microcontroladores son ms eficaces en aplicaciones especficas, especialmentesienellaspredominaunacaractersticaconcreta,quepuede estarmuydesarrolladaenotrafamilia. LasrazonesdelaexcelenteacogidaquetienenlosPICsonlassiguientes: Sencillezdemanejo:Tienenunjuegodeinstruccionesreducido;35enla gamamedia,queunavezaprendidaspuedenserusadasencualquier otromicrocontroladorPIC. Buenainformacin,fcildeconseguiryeconmica.

Precio:Sucosteesinferioraldesuscompetidores. Poseen una elevada velocidad de funcionamiento. Buen promedio de parmetros: velocidad, consumo, tamao, alimentacin, cdigo compacto,etc. Herramientas de desarrollo fciles y baratas. Muchas herramientas softwaresepuedendescargarrlibrementeatravsdeInternetdesde Microchip(http://www.microchip.com). Existe una gran variedad de herramientas hardware que permiten grabar, depurar, borrar ycomprobarelcomportamiento de losPIC, tantocomercialescomonocomerciales. Diseorpido. La gran variedad de modelos de PIC permite elegir el que mejor respondealosrequerimientosdelaaplicacin. Unadelasrazonesdel xitodelosPICsebasaensuutilizacin.Cuando se aprende a manejar uno de ellos, conociendo su arquitectura y su repertoriodeinstrucciones,esmuyfcilemplearotromodelo. 2.1.2 Arquitectura. La arquitectura del procesador sigue el modelo Harvard. En esta arquitectura, la CPU se conecta de forma independiente y con buses distintosconlamemoriadeinstruccionesyconladedatos. LaarquitecturaHarvardpermitealaCPUaccedersimultneamentealas dosmemorias.Adems,propicianumerosasventajasalfuncionamiento delsistemacomoseirndescribiendo. 2.1.3 Segmentacin. Seaplicalatcnicadesegmentacin(pipeline)enlaejecucindelas instrucciones.

La segmentacin permite al procesador realizar al mismo tiempo la ejecucindeunainstruccinylabsquedadelcdigodelasiguiente.De esta cada ciclo termina de ejecutarse una instruccin (un ciclo de instruccinequivaleacuatrociclosdereloj). Lasinstruccionesdesaltoocupandosciclosalnoconocerladirecci nde lasiguienteinstruccinhastaquenosehayacompletadoladebifurcacin. 2.1.4 Formato de las instrucciones.

Todaslasinstruccionesdelosmicrocontroladoresdelagamabajatienen unalongitudde12bits.Lasdelagamamediatienen14bitsym slasde lagamaalta.Estacaractersticaesmuyventajosaenlaoptimizacindela memoria de instrucciones y facilita enormemente la construcci n de ensambladoresycompiladores. 2.1.5 Juego de instrucciones. ProcesadorRISC(ComputadordeJuegodeInstruccionesReducido). Los modelos de la gama baja disponen de un repertorio de 33 instrucciones,35losdelagamamediaycasi60losdelaalta. 2.1.6 Arquitectura basada en un banco de registros Esto significa que todo el sistema (puertos de E/S, temporizadores, conversoresA/D,etc.)sonaccesiblesmedianteregistros. 2.1.7 Diversidad de modelos de microcontroladores con prestaciones y recursos diferentes LagranvariedaddemodelosdemicrocontroladoresPICpermitequeel usuariopuedaseleccionarelmsconvenienteparasuproyecto. 2.1.8 Herramientas de soporte potentes y econmicas La empresa Microchip y muchas otras, ponen a disposici n de los usuariosnumerosasherramientasparadesarrollarhardwareysoftware.

Son muy abundantes los programadores, los simuladores software, los emuladoresentiemporeal,Ensambladores,CompiladoresC,Intrpretesy CompiladoresBASIC,etc. LaarquitecturaHarvardyel"pipelining"sonlosprincipalesrecursosen losqueseapoyaelelevadorendimientoquecaracterizaestosdispositivos programables,mejorandodoscaractersticasesenciales: 1. Velocidaddeejecucin. 2. Eficienciaenlacompactacindelcdigo.

2.2 Las gamas de PIC


Pararesolveraplicacionessencillasseprecisanpocosrecursos,encambio, las aplicaciones grandes requieren muchos. Siguiendo esta filosof a Microchipconstruyediversosmodelosdemicrocontroladoresorientados a cubrir, de forma ptima, las necesidades de cada proyecto. As, hay disponibles microcontroladores sencillos y baratos para atender las aplicacionessimplesyotrosmscompletosymscostososparalasde muchaenvergadura. Microchipdisponedecuatrofamiliasdemicrocontroladoresde8bitspara adaptarsealasnecesidadesdelamayoradelosclientespotenciales. 2.2.1 La gama enana: PIC12C(F)XXX de 8 patas SetratadeungrupodePICderecienteaparicinquehaacaparadola atencindelmercado.Suprincipalcaractersticaessureducidotamao,al disponertodossuscomponentesde8patas.Sealimentanconunvoltaje decorrientecontinuacomprendidoentre2,5Vy5,5V,yconsumenmenos de2mAcuandotrabajana5Vy4MHz.Elformatodesusinstrucciones puedeserde12ode14bitsysurepertorioesde33o35instrucciones, respectivamente.

DiagramadeconexionesdelosPIC12Cxxxdelagamaenana.

AunquelosPICenanosslotienen8patas,puedendestinarhasta6para lneasdeE/Sparaperifricosporquedisponendeunosciladorinterno RC.

EnlaTablasepresentanlasprincipalescaractersticasdelosmodelosde estasubfamilia.Losmodelos12C5xxpertenecenalagamabaja,siendoel tamaodelasinstruccionesde12bits;mientrasquelos12C6xxsondela gamamediaysusinstruccionestienen14bits.Losmodelos12F6xxposeen memoriaFlashparaelprogramayEEPROMparalosdatos.

MODELO PIC12C508 PIC12C509 PIC12C670 PIC12C671 PIC12C672 PIC12C680 PIC12C681

MEMORIA PROGRAMA 512x12 1024x12 512x14 1024x14 2048x14 512X12FLASH 1024x14FLASH

MEMORIA DATOS 25x8 41x8 80x8 128x8 128x8 80x816x8 EEPROM 80x816x8 EEPROM

FRECUENCIA MAXIMA 4MHz 4MHz 4MHz 4MHz 4MHz 4MHz 4MHz

LINEAS E/S 6 6 6 6 6 6 6

ADC 8BITS

TIMERS TMR0+WDT TMR0+WDT TMR0+WDT

2 4 4

TMR0+WDT TMR0+WDT TMR0+WDT TMR0+WDT

CaractersticasdelosmodelosPIC12C(F)XXXdelagamaenana.

2.2.2 Gama baja o bsica: PIC16C5X con instrucciones de 12 bits.

DiagramadepatitasdelosPICdelagamabajaquerespondenalanomenclatura PIC16C54/56.

SetratadeunaseriedePICderecursoslimitados,peroconunadelas mejoresrelacionescoste/prestaciones.Hayversionesconencapsuladosde 18y28patasypuedenalimentarseapartirdeunatensi nde2.5V,loque leshaceidealesenlasaplicacionesquefuncionanconpilasteniendoen cuenta su bajo consumo (menos de 2 mA a 5 V y 4 MHz). Tienen un repertorio de 33 instrucciones de 12 bits. No admiten ning n tipo de interrupcinylaPilaslodisponededosniveles. AligualquetodoslosmiembrosdelafamiliaPIC16/17,loscomponentes delagamabajasecaracterizanporposeerlossiguientesrecursos: SistemaPOR(PowerOnReset).TodoslosPICtienenlafacultad de generar una autoreinicializacin o autoreset al conectarles la alimentacin. Perroguardin(WatchdogoWDT).Temporizadorqueproduceun resetautomticamentesinoesrecargadoantesquepaseuntiempo prefijado. Cdigodeproteccin.Cuandoseprocedearealizarlagrabacin del programa, puede protegerse para evitar su lectura. Tambin

disponenlosPICdeposicionesreservadaspararegistrarn meros deserie,cdigosdeidentificacin,prueba,etc.

CaractersticasdelosmodelosPIC16C(R)5Xdelagamabaja

LneasdeE/Sdealtacorriente.LaslneasdeE/SdelosPICpueden proporcionaroabsorberunacorrientedesalidacomprendidaentre 20y25mA.

Modo de reposo (Bajo consumo o sleep). Ejecutando una instruccin(SLEEP),laCPUyelosciladorprincipalsedetienenyse reducenotablementeelconsumo.

Para terminar el comentario introductorio sobre los componentes de la gamabajaconvienedestacardosrestriccionesimportantes: 1. Lapilaostackslodisponededosnivelesloquesupone nopoderencadenarmsdedossubrutinas. 2. Los microcontroladores de la gama baja no admiten interrupciones.

2.2.3 Gama

media.

PIC16CXXX/PIC16FXXX

con

instrucciones de 14 bits

PIC16F873delagamamedia.

Es la gama ms variada y completa de los PIC. Abarca modelos con encapsulado desde 18 patas hasta 68, cubriendo varias opciones que integranabundantesperifricos.Dentrodeestagamasehallaelfabuloso PIC16X84ysusvariantes. En esta gama sus componentes aaden nuevas prestaciones a las que posean los de la gama baja, hacindoles ms adecuados en las aplicacionescomplejas.Admiteninterrupciones,poseencomparadoresde magnitudes analgicas, convertidores A/D, puertos serie y diversos temporizadores. Elrepertoriodeinstruccionesesde35,de14bitscadaunaycompatible coneldelagamabaja.TambindisponedeinterrupcionesyunaPilade8 niveles que permite el anidamiento de subrutinas. En la Tabla se presentanlasprincipalescaractersticasdelosmodelosdeestafamilia.
CaractersticasrelevantesdelosmodelosPIC16X8Xdelagamamedia.

EncuadradoenlagamamediatambinsehallalaversinPIC14C000,que soporta el diseo de controladores inteligentes para cargadores de bateras, pilas pequeas, fuentes de alimentacin ininterrumpibles y cualquiersistemadeadquisicinyprocesamientodesealesquerequiera gestindelaenergadealimentacin.LosPIC14C000admitencualquier tecnologadelasbaterascomoLiIon,NiMH,NiCd,PhyZinc. EltemporizadorTMR1quehayenestagamatieneuncircuitooscilador quepuedetrabajarasncronamenteyquepuedeincrementarseaunqueel microcontroladorsehalleenelmododereposo(sleep),posibilitandola implementacindeunrelojentiemporeal. LaslneasdeE/Stienenresistenciasdepullupactivadasporsoftware. 2.2.4 Gama alta: PIC17CXXX con instrucciones de 16 bits. Sealcanzanlas58instruccionesde16bitsenelrepertorioysusmodelos disponendeunsistemadegestindeinterrupcionesvectorizadasmuy potente.Tambinincluyenvariadoscontroladoresdeperifricos,puertos decomunicacinserieyparaleloconelementosexternos,unmultiplicador hardware de gran velocidad y mayores capacidades de memoria, que alcanzalos8kpalabrasenlamemoriadeinstruccionesy454bytesenla memoriadedatos. Quizlacaractersticamsdestacabledeloscomponentesdeestagamaes suarquitecturaabierta,queconsisteenlaposibilidaddeampliaci ndel microcontroladorconelementosexternos.Paraestefin,laspatassacanal exteriorlaslneasdelosbusesdedatos,direccionesycontrol,alasquese conectanmemoriasocontroladoresdeperifricos.Estafacultadobligaa estoscomponentesatener unelevado numero de patitascomprendido entre 40 y 44. Esta filosofa de construccin del sistema es la que se empleabaenlosmicroprocesadoresynosueleserunaprcticahabitual cuando se emplean microcontroladores. En la tabla se muestran las

caractersticasmsrelevantesdelosmodelosdeestagama,ques lose utilizanenaplicacionesmuyespecialescongrandesrequerimientos.

CaractersticasrelevantesdelosmodelosPIC17XXdelagamaalta.

La gama media de los PIC.

Comentaremosendetallelagamamediayaquelosmicrocontroladores quesehanusadoenelproyecto,el16F84yel16F873,pertenecenala misma.Seexplicarnaqulosdetallesbsicosencastellanoperosepuede encontrar ms informacin (en ingls) en el CD adjunto: D:\Capitulo3\16F873\16F873.pdfyD:\Capitulo3\16F84\16F84.pdf

3.1 Registros.Organizacin datos.

de

la

memoria

de

LaampliacinderecursosenlosPICforz enloscatalogadoscomode gama media una nueva estructura y la modificacin de algunas instrucciones (partiendo, claro est, de la gama baja). Una de las diferenciasfundamentaleses,precisamente,laampliacindememoriade registros, a los que se unieron algunos nuevos de sistema, y la accesibilidad a parte de los mismosque antes quedaban ocultos, como OPTIONoTRIS. Deestemodoseopt pordosbancosderegistrosde128posicionescada uno,lamayoradeloscualessondepropsitogeneral.Estosdosbancos son compartidos por toda la gama media, si bien en algunos microcontroladores(comoel16F873)elnmerodebancoses4.

3.2 Registros especficos.


PC.Direccionamientodelprograma:ElPCconstade13bits,conlo queesposibledireccionarhasta8Kpalabras,separadasenbancos de 2K. El byte de menos peso de la direccin se guarda en el registroPCL,sitoenlaposicin0x02delbanco0,mientraslos5bits demspesoseguardanenlos5bitsdemenospesodelregistro PCLATH (direccin 0x08). Puesto que las instrucciones CALL y GOTO slo cuentan con 11 bits, sus saltos sern relativos a la pginaenlaqueestemos. STATUS. Registro de estado. En el se encuentran los flags de acarreo,cero,powerdown,timerout,seleccindebanco(RP1:RP0) yseleccindebancosparadireccionamientoindirecto. OPTION.Registrodeopciones. Permiteconfigurareldivisorde frecuencia,tipodeflancodelainterrupcin,yresistenciasdepull updelpuertoB. INTCON. Registro de Interrupciones. Permite activar las interrupcionesycomprobarlainterrupcinquehasaltado. LosregistrosPIE1yPIR1estnrelacionadosconelcomparador,ascomo CMCON y VRCON. El registro FSR es utilizado junto al INDF para direccionamientoindirecto. LosregistrosTMR0,(TMR1),PORTA,PORTB,(PORTC,PORTD)TRISAY TRISB(TRISC,TRISD)permitencontrolarlostimerylospuertos. Se han explicado los registros bsicos compartidos por toda la gama. Cuandosedeseeusarunperifricodelmicro(USART,conversorA/D, PWM...), habr que mirar la configuracin especfica en el archivo 16Fx.pdfcorrespondiente.

3.3 Lenguaje ensamblador.


HabiendoescogidolosdiseadoresdePIClafilosofaRISC,eljuegode instruccionesesreducido(33instruccionesenlagamabaja),siendo stas, adems,sencillasyrpidas,puestoquecasitodasseejecutanenun nico ciclodemquina(equivalentea4delrelojprincipal).Susoperandosson degranflexibilidad,pudiendoactuarcualquierobjetocomofuenteycomo destino(ortogonales). Poseetrestiposbiendiferenciadosdedireccionamiento,estosson: 1Inmediato:ElvalordeldatoestincluidoenelpropiocdigoOP,junto alainstruccin. 2Directo:Ladireccin deldatoest incluido enelpropiocdigoOP, juntoalainstruccin. 3Indirecto:Ladireccindelamemoriadedatosqueguardaeloperando estcontenidaenunregistro.Seguardaladireccindeseadaenelregistro FSRyseleeyescribeenelregistroapuntadoporelcontenidodeFSRa travsdelregistroINDF. Seexplicarnacontinuacinlasinstruccionesdelagamamedia,sibiense puedenemplearperfectamenteinstruccionescompuestas(mnemnicos)o macros,quesoninstruccionesqueseensamblancomovariasinstrucciones (as,BNZkBranchonNoZeroseensamblacomo BTFSS3,2yGOTO

k). Para ms informacin consultar la ayuda del programa MPLAB (incluidoenelCD)enlaseccinMPASM'sUserGuide,apndiceB,obien enelmanualdeayudadeGPASM(incluidoenelCD). Haytrestiposdeinstrucciones: Instruccionesorientadasabytesoaregistros. Instruccionesorientadasabits.

Instruccionesdecontrolyconliterales. Notas: Enlasinstruccionesorientadasaregistros,frepresentaunregistroyd representaeldestino.Sides0elresultadodelaoperacinsealmacenaen elregistrodetrabajo(W),sides1elresultadosealmacenaenf. Enlasinstruccionesorientadasabits brepresentaenbinariolaposicin (07)delbitdeseadodentrodelbyte(0eselLSB). Enlasinstruccionesconliteraleskrepresentaunaconstanteoliteral. xesunvalorindeterminadoquepuedeser0o1. Alejecutarse,algunasinstruccionesafectanadeterminadosflags,locual esmuy til.Porejemplo,paracomparardoscantidades,unaen Wyotra en f,las restamosSUBWF f,0 y comprobamossiel flag Z(cero) se ha puestoa1(cantidadesiguales)osies0(cantidadesdistintas).

Juegodeinstruccionesde14bits.

3.3.1 Directive Language (cdigo de precompilacin). Lasdirectivassoncomandosdeensambladorqueaparecenenelcdigo fuenteperoquenosetraducendirectamenteencdigosdeoperacin.Se usan para controlar el proceso de compilacin: entradas, salidas y colocacindelosdatos.

Sonpartedellenguajededirectivaslasinstrucciones: SEToPROCESSOR.Permiteelegireltipodeprocesador. ORG.Daunadireccinorigendesdelacualseempezarnaalmacenarlas instrucciones.Muy tilparapoderdividirelcdigoenvariosarchivos, dandoacadaunounorigendistinto. CONSTANT.Permitedefinirconstantes. INCLUDE.Sirveparaincluirotrosarchivos.ASMo.C. __CONFIG.Permiteconfigurarciertosbitsdeconfiguracin(habilitaro deshabilitarproteccindecdigo,WatchDog,BrownOutReset...). Para ms informacin consultar la ayuda del MPLAB en la seccin MPASM'sUserGuide,Captulo5. 3.3.2 Macros. Las Macros son conjutos de instrucciones y directivas definidas por el usuario que son evaluadas slo cuando sean llamadas por el cdigo ensamblador. LasMacrosaceptan argumentos,haciendo que seanmuy flexiblesysepuedaaproximarsuusoaldelasfuncionesenC. Sintaxis: <label>macro[<arg1>,<arg2>...,<argn>] ;elcdigovaaqu endm <label>eselnombreconelqueser llamadoelmacrodesdeelcdigo fuente(<label>[<arg1>,<arg2>...,<argn>]). Cadavezqueaparezcaelargumento<arg>enelmacro,ser sustituido conelvalorqueselehadadoalllamaralmacro.

Sisedeseanponeretiquetasdentrodeunmacro(parahacersaltosdentro delmismo)esmuyimportantequeseandefinidascomovariableslocales dentrodelmacro. Para ms informacin consultar la ayuda del MPLAB en la seccin MPASM'sUserGuide,Captulo7. 3.3.3 Uso de plantillas. Archivos *.inc . Alincluirlassiguienteslneas: listp=16f873;listdirectivetodefineprocessor #include<p16f873.inc>;processorspecificvariabledefinitions obien: listp=16f84;listdirectivetodefineprocessor #include<p16f84.inc>;processorspecificvariabledefinitions loquehacemosesprimero,definirelmicroquevamosausar,segundo, incluir el correspondiente archivo .inc , donde vienen definidos un montn de constantes. As, cuando queramos acceder al puerto A escribiremossimplementePORTA,yaqueenelfichero.incvienedefinido como:PORTA EQUH'0005'

Comoplantillasparaempezaraescribircdigoseusarelarchivo: MPLAB\TEMPLATE\Code\f84temp.asmobiensiseusaelPIC16F84A: MPLAB\TEMPLATE\Code\f84Atemp.asm ysiseusaelPIC16F873: MPLAB\TEMPLATE\Code\f873temp.asm

Programacin de microcontroladores.

4.1 Software necesario.


4.1.1 El MPLAB. Antes de comenzar a escribir programas es necesario conocer las herramientas disponibles paradesarrollarlos. Deentre ellaselentorno ms interesante es el MPLAB (incluido en el CD), no por ser el m s eficiente, yaquedehechoprobablementenoloes,sinoporserelm s accesible: se puede bajar gratis a travs de internet o pedirse, tambin gratis, a Sagitrn, su distribuidor en Espaa. Adems es grfico, funcionandoperfectamentebajoWindows.

EsteentornofuncionatipoContainer,esdecir,susdistintasopcionesson asociadasaprogramas,quesernejecutadoscuandoselaspulse.Deeste modobastar condefinirleunensamblador,unemuladoroungrabador distintoalosquellevapordefectoparaincorporarloinmediatamenteal entorno.

ElensambladorqueutilizapordefectoelMPLABesel MPASM conel queesposibleabrirunficheroenensamblador(*.asm)yensamblarlopara poderobtenerelficherodeentradadeungrabador(*.hex),perotambin esposibleelusodeproyectosqueutilicenvarios*.asm,permitiendoas reutilizarcdigoconmayorfacilidad. Unavezcorregidostodosloserrores,elprogramayaest listoparaser grabadoenelPICyprobadosobreelterreno,peroresultamsprctico (normalmente),ymsfiable,siantessellevaacabounasimulacinpor software. MPLAB tiene una herramienta de simulacin software, el MPLABSIM.Estaherramienta,sinembargo,tienelagrandesventajade nopodersimularalgunosperifricos,especialmentelaUSART(elpuerto serie). 4.1.2 El GPASM y GPSIM. Otra opcin interesante para usuarios Linux/Unix es el ensamblador GPASMyelsimuladorGPSIM,ambasherramientasGNUenconstante evolucin.GPASMeslaversinGNUdelensambladorMPASMdesde lneadecomandos.Soportatodaslasinstruccionesymodosquesoporteel MPASM. Se incluye en el CD en el directorio Capitulo3. Una vez descomprimidoconsultarelmanualgpasm.pdf. LaherramientadesimulacinbajoLinuxesGPSIM,yapesardenotener unafuncionalidad completa todava,se sigue desarrollando. Seincluye tambinenelCD.

4.2 Harware necesario.


4.2.1 Programacin serie en circuito. Losmicrocontroladores de lagamamedia pueden ser programadosde formaseriedirectamenteenelcircuitodondevanmontadosyaques lo necesitan una lnea para datos, otra para el reloj, otra para tensin de

alimentacin, otra para tensin de grabacin y otra de masa. Los microcontroladores16F87xpuedenprogramarsetambinanivelbajode tensin activando los flags correspondientes. Todos los programadores comercialesylosesquemasgratuitosdelaredsebasanenlasiguiente especificacintcnica(incluidaenelCD):InCircuitSerialProgramming (ICSP)Guide,(DS30277B). 4.2.2 Programador de puerto serie. JDM programmer. Dentro de los programadores gratuitos que estn en la red llama la atencin el JDM Programmer por ser muy fcil de construir, por no necesitar alimentacin externa, por permitir grabar tanto 16F84 como 16F873(ademsdeotrosmuchos)ypequeasmemoriasserie,yporser compatibleconelsoftwareICProg. Esquema:

Programadordemicrocontroladoresporpuertoserie.

Ladodelaspistas:Consultarseccindeplanos. Componentes:
R1Resistencia10K R2Resistencia1,5K R3Resistencia100K R4Resistencia1K R5Resistencia1K R6Resistencia1K Dz1Diodozener8,2V Dz2Diodozener5,1V

DL1Diodoled3mmverde DL2Diodoled3mmrojo D1,D2,D3,D4Diodo1N4148 C1Electroltico22uF/16V C2Electroltico100uF/16V Q1,Q2BC237(usarexactamenteestemodelo,yaquetieneVCEsatmuybaja) Q3BC307(usarexactamenteestemodelo,yaquetieneVCEsatmuybaja) ConectorDB9Hembraacodado Zcalo28pinodosde14pin Zcalo18pin Zcalo8pin(necesarioslosisequierenprogramarmemorias)

Realizacin:Estecircuitopuedemontarsedeformamuysencillaenuna placa de prueba, aunque se recomienda su montaje con soldadura. Partiendodeunaplacadeprototiposobiendeunaplacafabricadaseg n sedescribeenelcaptulo5,procederdelasiguientemanera: Soldarlospuentes,loszcalosyelconectoracodadoloprimero.Despus soldarlasresistencias y condensadores. Por ltimo soldar losdiodosy transistores. El JDM es muy ingenioso ya que toma la tensin de programacin directamente de un pin del puerto serie en estado bajo (>+12 V), y se quedaconlastensindealimentacinqueleproporcionaundiodozener de5.2V.Elpuertoserienotieneningnproblemaenalimentarelcircuito ya que puede proporcionar hasta 100mA. Es posible que en algunos porttiles

Cable:SerecomiendacompraruncableserieestndarmachohembraNO nullmodem.Sisequierefabricar,entoncesesnecesario haceruncable queconectelospines7,8,3,4y5entreelpuertoseriedelordenadoryel programador. Uso: Insertarelmicrocontroladoraprogramar(noesnecesarioapretarlo mucho,yesconvenientetocarlacarcasadelordenadorprimerooalgo que est puesto atierra). Enchufarelcablealordenador.Programar el micro.Desenchufarelcable.Extraerelmicroconunaspinzasoconmucho cuidado. ParaprogramarusandoelpuertoparaleloserecominedausarelPIC800o elprogramador_paralelo(compatibleconProPic2yconsupropiafuente dealimentacin)incluidosenelCD. 4.2.3 El ICPROG. El IcProg es un software para Windows muy verstil y sencillo que permite programar todo tipo de circuitos integrados que sean programables con protocolo serie: 12C508, 16C84, 16F84, PIC 16F87x, 24C16,24C32,93C46,90S1200,59C11,89C2051,89S53,250x0,AVR,80C51 etc... Esmuysencillodeusar.Primerohayqueconfigurarelprogramador: Settings>Hardware yconfigurarcomoseindicaenlasiguienteimagen:

ICProg.ConfiguracindelJDMProgrammer.

Luegoseeligeelprocesadorausar: Settings>Device>MicrochipPIC Seseleccionaelarchivoaprogramar: File>Open(tipoIHX8*.hex) Sepuedenquitaroponerlosfusibles,eligireltipodeoscilador...enelcaso denohaberloselegidoenelcdigofuenteconladirectiva__CONFIG. SepulsaF5paraempezaraprogramar.Sitodohaidocorrectamentedar unmensaje de Verify Successful. Sino,dar unmensajeVerify Failed; comprobar que el cable est correctamente enchufado y el micro correctamente colocado ( si se coloca el micro al revs en el programadorpuederesultardaado!!). Para ms informacin y para descargar la ltima versin (en el Cd se incluyeelICProgversin0.9eyelficherodeayuda): http://www.icprog.com/

4.2.4 Programacin en Linux. Para usar un programador de puerto paralelo o serie en Linux se recomiendalapgina:http://www.gnupic.org/seccinProgrammers. Enellaencontraremossoftware paraprogramadoresserie (elPTK4Les compatible con el JDM Programmer al menos para programar el PIC16F84)yparaprogramadoresdepuertoparaleloindependientesdel hardware(hayqueconfigurarquescadapatadelpuerto)comoelMIPI. SeincluyenenelCDtresdiseosdeprogramadoresdepuertoparalelo:el PIC800(http://www.miguelo.com.ar),elprogramador_paraleloyelNo PartsPICProgrammer.

Você também pode gostar