Seccion 1- Teoria de Microcontroladores Abril-2010

download Seccion 1- Teoria de Microcontroladores Abril-2010

of 97

Transcript of Seccion 1- Teoria de Microcontroladores Abril-2010

DIGIBOOK - SECCION 1 TEORA GENERAL DE MICROCONTROLADORES

DIGIBOOK SECCION 1TEORIA GENERAL DE MICROCONTROLADORES

Gua de Proyectos Microcontrolados By: Ing. Oscar J. Cabrales B.e-mail: [email protected] Colombia Cel: 310-7374112Mat. Prof: NS 206-45262

1 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

DIGIBOOK - SECCION 1 TEORA GENERAL DE MICROCONTROLADORES

PROBLEMALa preparacin de profesionales especializados en reas relacionadas con la Electrnica Digital Microcontrolada es de gran importancia actual y futura para la regin y el pas. El sector industrial colombiano est abocado a una inminente competencia de calidad en el mercado nacional e internacional, lo cual exige una gran flexibilidad de adaptacin y una calidad suficiente a costos competitivos. Estas condiciones slo se logran con una gran dedicacin de recursos humanos y econmicos a la transferencia e incorporacin de nuevas tecnologas en los lenguajes de programacin que facilite y optimice los recursos de un microcontrolador en el desarrollo de proyectos en el sector productivo tales como robtica, visin artificial, control numrico, control digital, el control adaptativo, la microelectrnica, la economa energtica, la gestin de la produccin, informtica industrial, la telemtica industrial, la gestin ambiental, etc.

OBJETIVOS ESPECIFICOSImpartir informacin bsica relevante a la Electrnica Digital, unificar criterios fundamentales previos a la incursin en el mundo de los microcontroladores. Introducir al estudiante en las tcnicas de interfaz de perifricos avanzados, diseo optimizado de desarrollo tecnolgico con circuitos digitales microcontrolados segn las caractersticas del fabricante. Desarrollar habilidades en la programacin estructurada de la familia 18F de microchip, respetando la sintaxis y estructura de un cdigo para microcontroladores.

BIBLIOGRAFIAMICROELECTRONIC CIRCUITS. Adel. S. Sedra & K. C. Smith. Editorial OXFORD UNINERSITY PREES Diseo Electrnico. Circuitos y sistemas. Savant, Roden y Carpenter. 2. Edition. Addison Wesley App Notes de Microchip (www.microchip.com) Tutorial PIC Basic profesional Tutorial MPLAB IDE versin 7.1 de Microchip Data sheet microcontroladores microchip

METODOLOGIALos cursos se desarrollarn a travs de clases tericas fundamentales acompaadas de prcticas como proyectos de aplicacin en los temas que lo requieran. Elaboracin de prototipos, maquetas, y montaje de circuitos en protoboard, sustentacin y verificacin de las prcticas de laboratorios.

OBJETIVO GENERALDesarrollar habilidades en la programacin de microcontroladores microchip de la gama alta mediante la aplicacin del programa LPM2 y el verstil software de simulacin avanzada Proteus Profesional.

2 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

DIGIBOOK - SECCION 1 TEORA GENERAL DE MICROCONTROLADORES

Autor de DIGIBOOKIng. OSCAR JOS CABRALES BAENA

Ingeniero Electrnico nacido el 5 de Noviembre de 1978 en Momps Bolvar (Colombia). Curs el bachillerato en el colegio Nacional Pinillos de Momps y egresado de ingeniero electrnico de la Universidad de Pamplona en abril de 2001. 9 aos de experiencia laboral en docencia universitaria y desarrollo tecnolgico. Actualmente reside en valledupar cesar y es docente de tiempo completo en la Universidad Popular del Cesar (Valledupar-Colombia). Director, asesor y jurado de diversos trabajos de grado. Docente en Ingeniera Electrnica, Ingeniera de Sistemas, Ingeniera Elctrica, Ingeniera Mecatrnica, Tecnologa en Redes y Sistemas Teleinformticos. Ha sido profesor de tiempo completo ocasional en la Universidad de Pamplona, Universidad Popular del Cesar, Instituto Superior de Educacin Rural ISER y corporacin UPARSISTEM DE VALLEDUPAR en el rea de mantenimiento de computadoras, electrnica analgica, circuitos digitales, lenguajes de programacin visual y programacin de microcontroladores. Con amplia experiencia en Control y Automatizacin, programacin WEB, Diseo de Redes de computadoras, programacin orientada a objetos como Visual Basic .NET, programacin de Microcontroladores Microchip y Motorola, Diseo Web, Bases de datos ACCESS, My SQL, lenguaje assembler, arreglos lgicos programables FPGA, VHDL, Programacin de DSP (Digital Signal Processor), lenguajes de programacin visuales bajo plataforma Windows, PLCs NAIS, FESTO, control avanzado de perifricos del Computador (Puerto Paralelo, serial, USB, MODEM, Tarjeta de Red, Tarjeta de sonido), sistemas de posicionamiento global GPS, sistemas biomtricos, sistemas GPRS SMS GSM, sistemas IVR-DTMF, RFID, Protocolos TCPIP SNMP, comunicacin inalmbrica ZIGBEE, sistemas SCADA y diseo de circuitos impresos asistido por Computador EAGLE, PROTEUS. Con trabajo de grado propuesto para laurear con el proyecto LABORATORIO DE IDIOMAS INTELIGENTE CON TECNOLOGIA DE AVANZADA, artculos publicados en revista cientfica indexada, conferencista y ponente en diversos eventos cientficos a nivel internacional. Fundador de la empresa en rgimen comn DIGISOFT ELECTRONIC Ltda en el ao 2005 y la empresa en rgimen simplificado DIGITAL CONTROL B&J en el ao 2009. Diseador del sistema de control de acceso biomtrico BIOMETRIC SYSTEM 1.0 instalado en las principales clnicas y hospitales del cesar. Diseador del novedoso sistema de asignacin de turno computarizado FOTOTURNO SOFT 1.0, diseador del aplicativo SMART HOTEL SOFT de automatizacin de hoteles y moteles.

3 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

DIGIBOOK - SECCION 1 TEORA GENERAL DE MICROCONTROLADORES

4 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

DIGIBOOK - SECCION 1 TEORA GENERAL DE MICROCONTROLADORES

INDICE SECCION 1REFLEXIONES LA MAGIA DE PENSAR EN GRANDE LA LEY DE MURPHY (lase merfi) PARA INGENIEROS ELECTRNICOS TEORA GENERAL DE MICROCONTROLADORES RESEA HISTRICA DE MICROPROCESADORES Y MICROCONTROLADORES DISEO DE SISTEMAS CON MICROPROCESADOR INTRODUCCIN A LOS MICROCONTROLADORES DIFERENCIA ENTRE MICROPROCESADOR Y MICROCONTROLADOR VENTAJAS DEL MICROCONTROLADOR Vs MICROPROCESADOR C Vs P VENTAJAS DEL MICROPROCESADOR Vs MICROCONTROLADOR P Vs C CONTROLADOR Y MICROCONTROLADOR APLICACIONES DE LOS MICROCONTROLADORES EL MERCADO DE LOS MICROCONTROLADORES QU MICROCONTROLADOR EMPLEAR? VENTAJAS DE LOS MICROCONTROLADORES PIC MICROCHIP Vs OTROS FABRICANTES RECURSOS COMUNES A TODOS LOS MICROCONTROLADORES RECURSOS ESPECIALES DE LOS MICROCONTROLADORES LAS GAMAS DE PIC LA GAMA ENANA: PIC12CXXX DE 8 PINES CON INSTRUCCIONES DE 12 /14 BIT GAMA BAJA O BSICA: PIC16C5X CON INSTRUCCIONES DE 12 BITS GAMA MEDIA. PIC16FXXX CON INSTRUCCIONES DE 14 BITS GAMA ALTA: PIC17CXXX, PIC18FXXXX CON INSTRUCCIONES DE 16 BITS COMPARACION ENTRE GAMA ALTA (18F) Y LAS OTRAS GAMAS DE MICROCHIP (16XXXX, 14XXXX, 12XXXX) VENTAJAS DE GAMA ALTA Vs GAMA MEDIA (18F) Vs (16F) GENERALIDADES DE LOS PIC ARQUITECTURA DE MICROPROCESADORES CLASES DE CPUS (UNIDAD CENTRAL DE PROCESAMIENTO) ARQUITECTURA, CPU Y CARACTERISTICAS FUNCIONALES DEL PIC HERRAMIENTAS PARA EL DESARROLLO DE APLICACIONES MICROCONTROLADAS CON PIC CONCEPTOS DE PROGRAMACIN DE MICROCONTROLADORES CONCEPTOS DE PROGRAMACIN ESTRUCTURADA MACRO DE ASSEMBLER ARGUMENTOS O PARAMETROS DECLARACION DE UNA MACRO SUBRUTINAS O PROCEDIMIENTO SUBRUTINAS ANIDADAS FUNCION INSTRUCCIN, COMANDO O NMEMNICO ETIQUETA (LABEL VARIABLE (GPR): (GENERAL PURPOSE REGISTER) (REGISTRO DE PROPOSITO GENERAL) DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

PG5 7 8 10 10 13 14 14 16 16 17 18 18 19 20 22 25 29 29 30 31 32 32 34 36 36 37 38 40 41 43 43 43 43 43 44 44 44 44 44

5 de 97

DIGIBOOK - SECCION 1 TEORA GENERAL DE MICROCONTROLADORESREGISTRO (FILE) (SFR) (SPECIAL FUNCTION REGISTER) (REGISTRO DE PROPOSITO ESPECIAL CONSTANTE VARIABLE (REGISTRO): BANDERA (FLAG) DEL PROGRAMA CONTADOR (COUNTER) LIBRERA DE SUBRUTINAS SINTAXIS DE PROGRAMACIN DIRECTIVA DE ASSEMBLER TECNICA POLLING (SONDEO DE ENTRADAS INTERRUPCIONES (INT) INTERNAS Y EXTERNAS INTERRUPCIONES VECTORIZADAS PRIORIDAD DE INTERRUPCIONES (High or Low Priority) (lase jai or lou prairiri) MAIN PROGRAM (PROGRAMA PRINCIPAL (lase mein program) BANCOS DE MEMORIA (MEMORY BANK) SET DE INSTRUCCIONES DE LA FAMILIA 18F (INSTRUCTIONS SET) CICLO DE MAQUINA MEMORIAS DE UN MICROCONTROLADOR PIC MEMORIA ROM: (MEMORIA DE SOLO LECTURA) MEMORIA DE PROGRAMA EEPROM FLASH (MEMORIA DE INSTRUCCIONES) MEMORIA DE DATO EEPROM MEMORIA DE DATO RAM-S PARA USUARIO, (REGISTROS DE PROPOSITO GENERAL GPR) MEMORIA DE DATO RAM-S PARA CONFIGURACION INTERNA DEL MICROCONTROLADOR MEMORIA DE PILA RAM-S: (STACK MEMORY) GLOSARIO TCNICO DE ELECTRNICA DIGITAL CODIGO ASCII STANDARD (CDIGOS 0 127) CODIGO ASCII EXTENDIDO (CDIGOS 128 255) SOFTWARE Y HARDWARE PARA EL DESARROLLO DE PROYECTOS MICROCONTROLADOS HERRAMIENTAS Y MATERIALES ELEMENTOS Y DISPOSITIVOS ELECTRNICOS DISPOSITIVOS DE SENSORICA PROVEEDORES DE DISPOSITIVOS ELECTRNICOS PAGINAS WEB RECOMENDADAS BIBLIOGRAFIA RECOMENDADA 44 44 44 44 45 45 45 45 45 46 46 47 47 47 47 47 48 48 48 48 48 48 49 50 71 71 72 73 73 76 80 82 84

6 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

DIGIBOOK - SECCION 1 TEORA GENERAL DE MICROCONTROLADORES

REFLEXIONESPara que un sueo se haga realidad, slo hace falta un soador (Walt Disney) Si lo puedes imaginar... Lo puedes hacer (Albert einstein). Calidad es satisfacer necesidades y brindar confianza Muchas veces la cantidad conspira contra la calidad. La intencin es la compaera activa de la atencin, es la manera de convertir procesos automticos en procesos conscientes. (Dipak Chopra) La nica diferenca entre una persona rica y una pobre es lo que hacen en su tiempo libre. (Robert Kiyosaky) El unico tiempo que existe es aquel del cual somos conscientes (Dipak Chopra) Si le das un pedazo de queso a un ratn, luego querr un vaso de leche. En la vida debemos soportar lo que oportunamente no pudimos evitar. Informacin es todo aquello que reduce el umbral de incertidumbre. El 99% de tus miedos no se realizarn Felicidad es una manifestacin externa de un sentimiento interno de nuestras vidas. Es la condicin interior de un buen corazn. Felicidad es una vida que consiste no en tener muchas cosas, sino en estar contento con lo que uno tiene. Nadie tiene el monopolio de la razon ni la exclusividad de la mentira. Los ricos construyen redes (Robert Kiyosaky) Libertad es tener opciones (Robert Kiyosaky) Hay que ser fuerte, no rudo ni mandon (Robert Kiyosaky) El que te hieran no te da derecho a ser cruel El problema de los sueos es la realidad Busque una manera de materializar sus sueos La diferencia entre una persona rica y una persona pobre est en sus palabras, y sus palabra se convierten en sus ideas. (Robert Kiyosaky) Entre a ms personas logras darles lo que ellas quieren, ms ellos te daran lo que tu quieres (Robert Kiyosaky) No aceptes un empleo por lo que puedes ganar sino por lo que puedes aprender (Robert Kiyosaky) Los orientales represental en vocablo crisis con un ideograma compuesto: peligro + oportunidad Un ser humano considera que hay un problema cuando una situacion es diferente a como considera que debe ser, as que muchas veces solo es necesario cambiar la concepcin de la situacin y el problema desaparecer. El cambiar las expectativas depende de nosotros pues somos quienes las hemos creado. No es la realidad en si misma lo que determina que exista un problema, es la forma en que la persona percibe dicha realidad. La forma como usted interpreta la realidad, es su realidad. Nuestras creencias son Autojustificadoras, cuando creemos algo nos inventamos la forma de comprobarlo. Querer + creer = poder Mientras perseguimos lo inalcanzable hacemos imposible lo realizable (robert agree) Un paradigma es la manera en que usted ve al mundo Es importante ensear lo que aprendemos pues de esta forma tenemos una motivacion social Hbito es el encuentro entre el conocimiento (qu hacer), la capacidad (cmo hacer) y la actitud (porqu hacer, querer hacer, motivacin) Dialctica es el arte de dialogar, argumentar y discutir.

7 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

DIGIBOOK - SECCION 1 TEORA GENERAL DE MICROCONTROLADORESRetrica es el arte del bien decir, de dar al lenguaje escrito o hablado eficacia bastante para deleitar, persuadir o conmover. A veces se gana y a veces se aprende... porque experiencia es lo que se adquiere cuando no se consigue lo que se busca. Para saber el valor de un semestre pregntale a un estudiante que reprob el examen final. Para saber el valor de un mes pregntale a una madre que ha dado a luz prematuramente. Para saber el valor de una hora pregntale a los amantes que esperan verse.

8 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

DIGIBOOK - SECCION 1 TEORA GENERAL DE MICROCONTROLADORES

LA MAGIA DE PENSAR EN GRANDE1. Mantente fresco cuando otros estn furiosos y pierdan la cabeza. T tienes el control sobre tus emociones, no lo pierdas. No se trata de no demostrar tu molestia, sino de hacerlo mesuradamente, sin despus arrepentirte de una accin cometida en un momento de descontrol. 2. Recuerda que cada discusin tiene al menos tres puntos de vista: el tuyo, el del otro y los de terceros, los cuales probablemente estn ms cerca de la objetividad. Siendo ms verstil y viendo las cosas desde la perspectiva de los dems enriquecers tu propio punto de vista. 3. Espera a calmarte antes de hablar. Ten en cuenta que la relacin es ms importante que la discusin. Dle ms relevancia a las personas que a las opiniones. 4. Trata a toda persona con la cual tengas contacto como si fuera un pariente rico, de quien esperas ser incluido en su testamento. Nunca te arrepientas de tratar muy bien a la gente. Es el mejor negocio en todos los sentidos. 5. Busca el lado positivo y agradable, aun de las situaciones ms complicadas y dolorosas. Es una disciplina que te ayudar a pasar ms fcilmente los momentos difciles, y a convertir los problemas en oportunidades. 6. Establece el hbito de hacer preguntas y, sobre todo, de escuchar las respuestas. Pregunta antes de reaccionar. Algunas veces disparamos y despus preguntamos. Tambin preguntamos, pero escuchamos para contestar, y no para tratar de entender. 7. No hagas o digas nada que pueda herir o hacerle dao a otra persona. Afrrate al proverbio que dice que todo lo que uno haga, se devolver. La gente no recuerda tanto lo que t dices o haces, sino la intencin con la que lo haces. 8. S consciente de la diferencia entre anlisis amigable y crtica destructiva. Observa si el propsito de tus palabras es ayudar, desahogarte o hacer dao. 9. Ten presente que si toleras a los dems, ellos tambin sern pacientes contigo en los aspectos no muy gratos de tu personalidad. 10. El verdadero lder sabe reconocer sus errores y aceptar responsabilidad. No olvides que un conflicto bien manejado fortalece la relacin, y te ayuda a aprender de las diferencias. El pensamiento positivo es una disciplina que, ejercitada con constancia, te dar el poder de cambiar tu entorno y, por consiguiente, tu vida.

9 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

DIGIBOOK - SECCION 1 TEORA GENERAL DE MICROCONTROLADORES

LA LEY DE MURPHY (lase merfi) PARA INGENIEROS ELECTRNICOSPrcticamente todo en nuestra vida est bajo la influencia de la ley de Edsel Murphy. Su estudio es tan importante, que se la incluye en los cursos de oficiales militares, astronautas, pilotos, etc. La electrnica no escapa a la influencia de esta peculiar ley. Solo con un profundo dominio de sus principios, estar preparado para enfrentar los imprevistos. Y aunque no podr evitar que ciertas cosas ocurran, al menos estar prevenido, sabr por que ocurren, aprender aceptarlas y tal vez, solo tal vez, lograr reducir sus efectos. La ley bsica de Murphy es: Si algo puede ir mal, ir... He aqu algunos enunciados de la ley de Murphy (o atribuidos a l), especialmente aplicados al campo de la electrnica. PROYECTO Y DISEO En todo presupuesto el costo final exceder el gasto previsto por un factor de 3. Si el modelo de prueba funciona perfectamente, el producto terminado jams. En un clculo matemtico, todo error que pueda filtrarse, lo har. Y ser en el sentido que ms dao haga en el clculo. En cualquier clculo dado, la cifra que obviamente es la correcta, ser la raz del error. Las valores siempre se indicarn en los trminos menos usuales. Por ejemplo potencia en WPMPO, etc. Las tolerancias se acumularn unidireccionalmente hacia la mxima dificultad del proyecto. La probabilidad de omisin de un valor en un diagrama, es directamente proporcional a su importancia. Las especificaciones de los fabricantes sobre el rendimiento se deben multiplicar por un factor igual a 0,5. En especificaciones, la Ley de Murphy anula la ley de Ohm. ENSAMBLADO Si un proyecto requiere de "n" componentes, la disponibilidad ser de "n-1". Las partes intercambiables no lo sern. Partes que no debern ni podrn ser armadas indebidamente, lo sern. La pieza ms delicada, siempre se caer. El manual de armado y/u operacin se botar con el material de embalaje. El recolector habr pasado 5 minutos antes su carrera al depsito de basura. La necesidad de una modificacin de diseo de mayor entidad aumenta a medida de irse completando el armado y cableado de la unidad. Un componente seleccionado al azar de un grupo con una confiabilidad del 99%, pertenecer al 1%. La disponibilidad de un componente es inversamente proporcional a su necesidad. De necesitarse una resistencia (o condensador) de determinado valor, no se encontrar. Ms an, no se podr lograr mediante ninguna combinacin serie o paralelo. Todo cable cortado a la medida ser demasiado corto. Si los cables se pueden conectar de dos o ms formas diferentes, la primera de ellas es la que causa ms daos. Los miliampermetros sern conectados en paralelo, y los voltmetros en serie con la fuente de poder. PRUEBAS Componentes idnticos probados bajo condiciones idnticas no lo sern en la prueba final, despus de haber sido armado el equipo. Un oscilador auto-oscilante, no lo ser. Un oscilador controlado por cristal oscilar en una frecuencia distinta; si oscila. Un circuito amplificador atenuara la seal de entrada. Un transistor PNP se revelar como NPN. Un circuito de seguridad destruir otros. Si un circuito no puede fallar, fallar. Un circuito costoso protegido por un fusible instantneo, proteger al fusible, quemndose primero.

10 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

DIGIBOOK - SECCION 1 TEORA GENERAL DE MICROCONTROLADORES

REPARACIONES Una vez quitado el ltimo de los 20 tornillos de la tapa, para revisar el fusible, se descubrir que el cable de alimentacin estaba desconectado. Una vez colocado el ltimo de los 20 tornillos de la tapa; encontrara debajo del diagrama, el fusible que quit para revisar. La probabilidad de que determinado componente sea la causa del problema aumenta en forma proporcional a la dificultad para reemplazarlo y a su precio; e inversamente a su disponibilidad. Si puede localizar la pieza daada, no tendr herramientas para sacarla. Cuando logre sacarla, en la tienda de repuestos le dirn que no la tienen, pero que est pedida. Cuando por fin la consiga, descubrir que no estaba daada y no necesitaba cambiarla. Si un trabajo se ha hecho mal, todo lo que haga para mejorarlo slo lo empeorara. Cualquier pieza al caer rodar al rincn menos accesible del taller. La facilidad de localizacin de una pieza que ha cado al suelo es directamente proporcional a su tamao e inversamente a su importancia para la terminacin del trabajo. Una herramienta caer siempre donde pueda hacer mayor dao. (Tambin conocida como "Ley de la Gravedad Selectiva".) Si tiene que comprobar, uno por uno, cierta cantidad de componentes de un circuito para localizar el que est defectuoso; ese ser el ultimo de todos, sin importar el orden en que realice la comprobacin. Si es necesario retocar un ajuste, ser el menos accesible. De ser necesario el manual de servicio, no estar disponible. Si dispone del manual de servicio, no lo necesitar. Si consigue una fotocopia del diagrama, el problema se encuentra en la parte que quedo borrosa. Los trabajos urgentsimos, y muy bien pagados, slo llegan cuando usted ha aceptado un trabajo urgentsimo, pero mal pagado. CLIENTES El cliente que paga menos es el que ms se queja. El cliente que llama todos los das para preguntar si esta reparado su aparato, tardara 3 semanas en pasar a recogerlo cuando est terminado. Si hay dos maneras de pronunciar el nombre de un cliente, usted lo pronunciar de la que no es. No importa cuanto les cobre, si no es gratis, siempre les parecer caro. El 50% de los usuarios de aparatos electrnicos solo lee las instrucciones despus de haber estropeado el equipo con su uso indebido, el otro 50% ni aun as las lee. GENERALIDADES En un instrumento o dispositivo caracterizado por una cierta cantidad de errores en ms y en menos, el error total ser la suma de cada uno, sumados en el mismo sentido. La probabilidad de un error tal en un circuito es directamente proporcional al dao que puede causar. En todo error dado, la culpa nunca podr ser determinada si ms de una persona ha estado involucrada. Cuando un error ha sido descubierto y corregido, se descubrir que estaba bien desde el principio. Si usted es el cliente, una garanta de sesenta das es la promesa de que el aparato dejara de funcionar el da sexagsimo primero. Si usted es el responsable de la garanta, el aparato dejara de funcionar mucho antes. CONCLUSION Si algo puede ir mal, ir ! ....y ser en el peor momento. Si dos cosas pueden salir mal, ocurrirn al mismo tiempo.

11 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

SECCIO N 1 CONCEPTOS DE PROGRAMACIN ESTRUCTURADA

TEORA GENERAL DE MICROCONTROLADORESRESEA HISTRICA DE MICROPROCESADORES Y MICROCONTROLADORES A partir de 1971, el panorama de la electrnica cambio radicalmente con la aparicin del microprocesador. Vendra la poca de oro del Z-80, el 8085, el 6800 y otros microprocesadores utilizados como elementos centrales en aparatos de control y se consolidaran las tcnicas de integracin, el estudio de las memorias, la programacin en lenguaje de maquina y la adaptacin de perifricos de todo tipo. En 1980, aproximadamente, los fabricantes de circuitos integrados dieron a conocer un nuevo chip llamado microcontrolador, el cual contena toda la estructura de un microcomputador, es decir, unidad central de proceso (CPU), memoria RAM, memoria ROM y circuitos entrada salida. Este se concibi como un dispositivo programable que puede ejecutar un sin numero de tareas y procesos. Desde este momento, el diseo de productos electrnicos cambi radicalmente. Circuitos lgicos, manejo de perifricos, temporizadores y estructura de computadores, todo programable y alojado en un solo integrado, es decir, un pequeo computador para todas las aplicaciones. La compaa estadounidense INTEL (inteligente) es la compaa pionera en el campo de fabricacin de microprocesadores (uP), seguida de la compaa AMD (Advanced Micro Device). LA LEY DE MOORE: El doctor GORDON MOORE uno de los fundadores de INTEL CORPORATION, formul en el ao 1965: El nmero de transistores contenidos en un microprocesador se duplica ms o menos cada 18 meses. Esto implica que otros aspectos tales como velocidad de procesador, memoria RAM y disco duro se comportarn con una dinmica similar.

EVOLUCION CRONOLGICA DE LOS MICROPROCESADORESFecha Fabric ante uP # Byte Memo ria de Prog Frec MHz # Bit del bus de memo ria de prog 4 8 Comentario

15/Nov/197 1 1/Ab/1972

INTEL INTEL

4004 8008

640B 16KB

0.1 0.2

1973

INTEL

8080

64kB

2

8

1973

MOTO ROLA INTEL ZILOG MOTO ROLA

6800

Primer P del mundo con 1800 transistores se desarroll la calculadora BUSICOM, 3500 transistores, fue el antecedente del procesador que sirvi de base para el primer computador personal en el ao 1974 llamado ALTAIR. 10 veces ms potente que el 8008. 6200 transistores, fue el corazn del primer computador personal en el ao 1974 llamado ALTAIR. Costaba $400 dlares de la poca, 64KB de memoria de programa, 2MHz de velocidad. En unos meses se vendieron decenas de miles de unidades. Microsoft (Bill Gates y Paul Allen) crearon el BASIC para este computador en 1975. Motorola: Sonido en movimiento. Empresa japonesa, escogida por MAKINTOSH Y APPLES para sus PC.

1975 1975 1975

8085 Z80 6809

12 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

SECCIO N 1 CONCEPTOS DE PROGRAMACIN ESTRUCTURADAJunio/1978 INTEL 8086 1MB 5,8, 10M Hz 16 Fue el corazn del IBM PC,el gigante azul que acapar la venta de computadores personales en el mundo. 29000 transistores con la tecnologa de 3 micras

1978 Junio/1979

MOTO ROLA INTEL

68000 8088 1MB 5,8, 10M Hz 8 Igual al 8086 pero con bus de 8 bit para hacerlos ms econmico

1979 1979 1979 1979 1979

ZILOG MOTO ROLA MOTO ROLA MOTO ROLA MOTO ROLA INTEL ZILOG MOTO ROLA INTEL

Z800 68010 68020 68030 68040

19801980 1980 1980 1/Feb/1982

C 8048 (INTEL) PRIMER MICROCONTROLADOR80186 Z8000 68020 80286 1GB 8,10 , 12 MHz 16 Introduce el concepto de memoria virtual, 134000 transistores con la tecnologa de 1.5 micras. Con este P otras empresas se animaron a competir con IBM (Internacional Business Machine) (negocio internacional de mquinas) creando otras marcas de PC. Se aproxima a 15 millones los PC vendidos en el mundo con este procesador. 275000 transistores. Se incrementa la velocidad y capacidad reprocesamiento por el bus de 32 bit Sacrifican el bus de 32 bit del 80386DX para hacerlo ms comercial en costos. Este P es famoso por popularizar el entorno grfico y sistema operativo Windows que no haba calado mucho con las versiones anteriores de uP. Incorpora la memoria cach de nivel 1 (L1) en el propio chip, lo que acelera la transferencia de informacin, incluye un co-procesador matemtico en el propio chip. Se sobrepasa el milln de transistores usando la tecnologa de 0.8 micra. Aparecen los juegos de computadora y entornos grficos en lugar de comandos con el antiguos sistema operativo MS-DOS (Sistema operativo de disco de Microsoft) Igual al anterior pero eliminaron el co-

17/Oct/1985

INTEL

80386DX

4GB

33 MHz 33 MHz

32

1988

INTEL

80386SX

4GB

16

10/Ab/1989

INTEL

80486DX

4GB

50 MHz

32

Ab/1991

INTEL

80486SX

4GB

50

32

13 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

SECCIO N 1 CONCEPTOS DE PROGRAMACIN ESTRUCTURADAMHz procesador matemtico dentro del microprocesador para reducir costos y hacerlo ms comercial. INTEL se ve obligado a poner nombre a sus P porque otras empresas estaban fabricando P y utilizaban los mismos nmeros de serie que Intel. Popularizaron Windows 95 Versin de Pentium Pro para el mercado domstico. La tecnologa MMX est compuesta de 57 nuevas instrucciones y 4 tipos de datos nuevos que realizan de forma optimizado trabajos cclicos en procesos de comprensin de vdeo, audio y grficos. Mejora los servidores de red para empresas, Internet, tecnologa de 0.32 micras capaz de incluir 5.5 millones de transistores, velocidad de memoria cach mejorada con un segundo chip interno en el uP Combina lo mejor de Pentium pro y Pentium MMX

1993

INTEL

Pentium P5

4GB

60200 MHz

32

27/Mar/1995

INTEL

Pentium MMX

4GB

233 MHz

64

27/Mar/1995

INTEL

Pentium Pro

4GB

150233 MHz

64

27/Mar/1995

INTEL

Pentium II

4GB

27/Mar/1995

INTEL

Pentium II

4GB

233, 266, 300 MHz 233, 266, 300 MHz

64

64

Combina lo mejor de Pentium pro y Pentium MMX

INTEL INTEL INTEL

INTEL

Pentium III Pentium IV PIV D DOUBLE CORE PIV QUAD CORE

14 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

SECCIO N 1 CONCEPTOS DE PROGRAMACIN ESTRUCTURADA

DISEO DE SISTEMAS CON MICROPROCESADORAntes de existir el microcontrolador, se utilizaban para control los sistemas con microprocesador, el cual necesitaba varios elementos externos para llevar a cabo sus funciones. Cuando se hace un diseo de este tipo se utilizan varios mdulos:

Microprocesador (CPU o Unidad Central de Proceso). Es el encargado de controlar el sistema, ejecuta las funciones escritas en la memoria de programa. Memorias ROM (Memoria de solo lectura). Se utilizan para almacenar el programa y no pierden la informacin aunque se retire la alimentacin del sistema. Memorias RAM (Memoria de acceso aleatorio). Se utilizan para guardar datos temporales durante la ejecucin del programa. estas memorias se conocen como memorias voltiles por que pierden la informacin al retirarle la alimentacin al sistema. Decodificadores de direcciones. Sirve para acceder correctamente a las memorias y a los dispositivos perifricos del microprocesador.

El proceso de diseo involucra los siguientes pasos:

Seleccin de los circuitos. Diseo del mapa de memoria. Diseo del decodificador de direcciones. Montaje del circuito y programacin

Si consideramos la estructura del microcontrolador, se puede ver que cumple con los requerimientos descritos anteriormente.

15 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

SECCIO N 1 CONCEPTOS DE PROGRAMACIN ESTRUCTURADA

INTRODUCCIN A LOS MICROCONTROLADORESLos microcontroladores estn conquistando el mundo. Estn presentes en nuestro trabajo, en nuestra casa y en nuestra vida, en general. Se pueden encontrar controlando el funcionamiento de los ratones y teclados de los computadores, en los telfonos, en los hornos microondas y los televisores de nuestro hogar. Pero la invasin acaba de comenzar y el siglo XXI es testigo de la conquista masiva de estos diminutos computadores, que gobernarn la mayor parte de los aparatos que fabricaremos y usamos los humanos. El Microcontrolador es un circuito integrado programable que contiene todos los elementos necesarios para controlar un sistema El desarrollo de cada nuevo dispositivo electrnico trae consigo tcnicas de diseos diferentes, por lo general ms simples. En los anos 70, para construir un reloj digital se necesitaba acoplar un gran nmero de circuitos lgicos como contadores, divisores, decodificadores y redes combinatorias. Hoy en da es comn encontrar microcontroladores en las cafeteras, hornos microondas, videograbadoras, alarmas automviles, etc. Las aplicaciones son infinitas, el nico lmite es la imaginacin. La posibilidad de manejar seales de entrada y salida, as como su capacidad para procesar datos y tomar decisiones, lo convierten en uno de los elementos ms verstiles que existen actualmente.

DIFERENCIA ENTRE MICROPROCESADOR Y MICROCONTROLADORMICROPROCESADOR: es un circuito integrado que contiene la Unidad Central de Proceso (CPU), tambin llamada procesador, de un computador. La CPU est formada por la Unidad de Control, que interpreta las instrucciones, y el Camino de Datos, que las ejecuta. Los pines de un microprocesador sacan al exterior las lneas de sus buses de direcciones, datos y control, para permitir conectarle con la Memoria y los Mdulos de E/S y configurar un computador implementado por varios circuitos integrados. Se dice que un microprocesador es un sistema abierto porque su configuracin es variable de acuerdo con la aplicacin a la que se destine. (Figura 1.1.)

Figura 1.1. Estructura de un sistema abierto basado en un microprocesador. La disponibilidad de los buses en el exterior permite que se configure a la medida de la aplicacin.

16 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

SECCIO N 1 CONCEPTOS DE PROGRAMACIN ESTRUCTURADASi slo se dispusiese de un modelo de microcontrolador, ste debera tener muy potenciados todos sus recursos para poderse adaptar a las exigencias de las diferentes aplicaciones. Esta potenciacin supondra en muchos casos un despilfarro. En la prctica cada fabricante de microcontroladores oferta un elevado nmero de modelos diferentes, desde los ms sencillos hasta los ms poderosos. Es posible seleccionar la capacidad de las memorias, el nmero de lneas de E/S, la cantidad y potencia de los elementos auxiliares, la velocidad de funcionamiento, etc. Por todo ello, un aspecto muy destacado del diseo es la seleccin del microcontrolador a utilizar.

Figura 1.2. El microcontrolador es un sistema cerrado. Todas las partes del computador estn contenidas en su interior y slo salen al exterior las lneas que gobiernan los perifricos.

17 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

SECCIO N 1 CONCEPTOS DE PROGRAMACIN ESTRUCTURADA

VENTAJAS DEL MICROCONTROLADOR Vs MICROPROCESADOR C Vs PComo se puede ver, existen algunas ventajas importantes cuando se realiza el diseo de un circuito utilizando un microcontrolador: 1. El circuito impreso es mucho ms pequeo ya que muchos componentes se encuentran dentro el circuito integrado.2.

El costo de sistema total es mucho menor, al reducir el nmero de componentes. El consumo de potencia total es mucho menor (Stand By). Los problemas de ruido que pueden afectar el bus de comunicacin externo de los sistemas con microprocesador se eliminan, debido a que todo el sistema principal se encuentra en un solo encapsulado. El tiempo de desarrollo de un sistema se reduce notablemente Sistema Robusto: al estar todo el sistema en su solo chip puede funcionar en ambientes inhspitos de alta temperatura, vibracin, etc.

3.

4.

5.

6.

VENTAJAS DEL MICROPROCESADOR Vs MICROCONTROLADOR P Vs C1. Mayor velocidad de ejecucin y procesamiento. (GHz) 2. Se pueden implementar programas de mayor complejidad de procesamiento (MATLAB). 3. Las aplicaciones tienen una mejor interfaz grfica hombre mquina (Sistemas SCADA) 4. Mayor memoria RAM (GBytes) 5. Mayor memoria EEPROM (disco duro GBytes) 6. Facilidad de programacin y edicin de cdigo fuente (Lenguajes grficos y de alto nivel)

18 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

SECCIO N 1 CONCEPTOS DE PROGRAMACIN ESTRUCTURADA

CONTROLADOR Y MICROCONTROLADORRecibe el nombre de controlador el dispositivo que se emplea para el gobierno de uno o varios procesos. Por ejemplo, el controlador que regula el funcionamiento de un horno dispone de un sensor que mide constantemente su temperatura interna y, cuando traspasa los lmites prefijados, genera las seales adecuadas que accionan los efectores que intentan llevar el valor de la temperatura dentro del rango estipulado. Aunque el concepto de controlador ha permanecido invariable a travs del tiempo, su implementacin fsica ha variado frecuentemente. Hace tres dcadas, los controladores se construan exclusivamente con componentes de lgica discreta, posteriormente se emplearon los microprocesadores, que se rodeaban con chips de memoria y E/S sobre una tarjeta de circuito impreso. En la actualidad, todos los elementos del controlador se han podido incluir en un chip, el cual recibe el nombre de microcontrolador. MICROCONTROLADOR: Realmente consiste en un sencillo pero completo computador contenido en el corazn (chip) de un circuito integrado. MICROCONTROLADOR: Es un circuito integrado de alta escala de integracin que incorpora la mayor parte de los elementos que configuran un controlador. UN MICROCONTROLADOR DISPONE NORMALMENTE DE LOS SIGUIENTES COMPONENTES 1. 2. 3. 4. 5. Procesador o P (CPU - Unidad Central de Proceso). Memoria RAM para Contener los datos. Memoria para el programa tipo ROM/PROM/EPROM. Lneas de E/S para comunicarse con el exterior. Diversos mdulos para el control de perifricos (temporizadores, Puertas Serie y Paralelo, CAD: Conversores Analgico/Digital, CDA: Conversores Digital/Analgico, etc.). 6. Generador de impulsos de reloj que sincronizan el funcionamiento de todo el sistema. LOS PRODUCTOS QUE PARA SU REGULACIN INCORPORAN UN MICROCONTROLADOR DISPONEN DE LAS SIGUIENTES VENTAJAS 1. Aumento de prestaciones: un mayor control sobre un determinado elemento representa una mejora considerable en el mismo. 2. Aumento de la fiabilidad: al reemplazar el microcontrolador por un elevado nmero de elementos disminuye el riesgo de averas y se precisan menos ajustes. 3. Reduccin del tamao en el producto acabado: La integracin del microcontrolador en un chip disminuye el volumen, la mano de obra. 4. Mayor flexibilidad: las caractersticas de control estn programadas por lo que su modificacin slo necesita cambios en el programa de instrucciones. El microcontrolador es en definitiva un circuito integrado que incluye todos los componentes de un computador. Debido a su reducido tamao es posible montar el controlador en el propio dispositivo al que gobierna. En este caso el controlador recibe el nombre de controlador empotrado (embedded controller).

19 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

SECCIO N 1 CONCEPTOS DE PROGRAMACIN ESTRUCTURADA

APLICACIONES DE LOS MICROCONTROLADORESCada vez existen ms productos que incorporan un microcontrolador con el fin de aumentar sustancialmente sus prestaciones, reducir su tamao y coste, mejorar su fiabilidad y disminuir el consumo. Algunos fabricantes de microcontroladores superan el milln de unidades de un modelo determinado producidas en una semana. Este dato puede dar una idea de la masiva utilizacin de estos componentes. Los microcontroladores estn siendo empleados en multitud de sistemas presentes en nuestra vida diaria, como pueden ser juguetes, horno microondas, frigorficos, televisores, computadoras, impresoras, mdems, el sistema de arranque de nuestro coche, etc. Y otras aplicaciones con las que seguramente no estaremos tan familiarizados como instrumentacin electrnica, control de sistemas en una nave espacial, etc. Una aplicacin tpica podra emplear varios microcontroladores para controlar pequeas partes del sistema. Estos pequeos controladores podran comunicarse entre ellos y con un procesador central, probablemente ms potente, para compartir la informacin y coordinar sus acciones, como, de hecho, ocurre ya habitualmente en cualquier PC.

EL MERCADO DE LOS MICROCONTROLADORESAunque en el mercado de la microinformtica la mayor atencin la acaparan los desarrollos de los microprocesadores, lo cierto es que se venden cientos de microcontroladores por cada uno de aqullos. Existe una gran diversidad de microcontroladores. Quiz la clasificacin ms importante sea entre microcontroladores de 4, 8, 16 32 bits. Aunque las prestaciones de los microcontroladores de 16 y 32 bits son superiores a los de 4 y 8 bits, la realidad es que los microcontroladores de 8 bits dominan el mercado y los de 4 bits se resisten a desaparecer. La razn de esta tendencia es que los microcontroladores de 4 y 8 bits son apropiados para la gran mayora de las aplicaciones, lo que hace absurdo emplear micros ms potentes y consecuentemente ms caros. Uno de los sectores que ms tira del mercado del microcontrolador es el mercado automovilstico. De hecho, algunas de las familias de microcontroladores actuales se desarrollaron pensando en este sector, siendo modificadas posteriormente para adaptarse a sistemas ms genricos. El mercado del automvil es adems uno de los ms exigentes: los componentes electrnicos deben operar bajo condiciones extremas de vibraciones, choques, ruido, etc. Y seguir siendo fiables. El fallo de cualquier componente en un automvil puede ser el origen de un accidente. En cuanto a las tcnicas de fabricacin, cabe decir que prcticamente la totalidad de los microcontroladores actuales se fabrican con tecnologa CMOS (Complementary Metal Oxide Semiconductor). Esta tecnologa supera a las tcnicas anteriores por su bajo consumo y alta inmunidad al ruido. Pese a estar diseados con tecnologa CMOS, los uC no son vulnerables a las descargas electroststicas (ESD) pues sus terminales estn protegidos por diodos zener. La distribucin de las ventas segn su aplicacin es la siguiente: Una tercera parte se absorbe en las aplicaciones relacionadas con los computadores y sus perifricos. La cuarta parte se utiliza en las aplicaciones de consumo (electrodomsticos, juegos, TV, vdeo, etc.) El 16% de las ventas mundiales se destin al rea de las comunicaciones. Otro 16% fue empleado en aplicaciones industriales. El resto de los microcontroladores vendidos en el mundo, aproximadamente un 10% fueron adquiridos por las industrias de automocin. Hasta el ao 2007 la empresa Microchip es pionera en el mundo en el nmero de microcontroladores vendidos.

Tambin los modernos microcontroladores de 32 bits van afianzando sus posiciones en el mercado, siendo las reas de ms inters el procesamiento de imgenes, las comunicaciones, las aplicaciones militares, los procesos industriales y el control de los dispositivos de almacenamiento masivo de datos.

20 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

SECCIO N 1 CONCEPTOS DE PROGRAMACIN ESTRUCTURADA

QU MICROCONTROLADOR EMPLEAR?Al seleccionar un microcontrolador para un diseo concreto hay que tener en cuenta multitud de factores, como la documentacin y herramientas de desarrollo disponibles y su precio, la cantidad de fabricantes que lo producen y por supuesto las caractersticas del microcontrolador (tipo de memoria de programa, nmero de temporizadores, interrupciones, etc.): COSTO: Como es lgico, los fabricantes de microcontroladores compiten duramente para vender sus productos. Y no les va demasiado mal ya que sin hacer demasiado ruido venden 10 veces ms microcontroladores que microprocesadores. Para que nos hagamos una idea, para el fabricante que usa el microcontrolador en su producto una diferencia de precio en el microcontrolador de algunos pesos es importante (el consumidor deber pagar adems el coste del empaquetado, el de los otros componentes, el diseo del hardware y el desarrollo del software). Si el fabricante desea reducir costes debe tener en cuenta las herramientas de apoyo con que va a contar: emuladores, simuladores, ensambladores, compiladores, etc. Es habitual que muchos de ellos siempre se decanten por microcontroladores pertenecientes a una nica familia. APLICACIN. Antes de seleccionar un microcontrolador es imprescindible analizar los requisitos de la aplicacin: PROCESAMIENTO DE DATOS: puede ser necesario que el microcontrolador realice clculos crticos en un tiempo limitado. En ese caso debemos asegurarnos de seleccionar un dispositivo suficientemente rpido para ello. Por otro lado, habr que tener en cuenta la precisin de los datos a manejar: si no es suficiente con un microcontrolador de 8 bits, puede ser necesario acudir a microcontroladores de 16 32 bits, o incluso a hardware de coma flotante. Una alternativa ms barata y quiz suficiente es usar libreras para manejar los datos de alta precisin. ENTRADA SALIDA: para determinar las necesidades de Entrada/Salida del sistema es conveniente dibujar un diagrama de bloques del mismo, de tal forma que sea sencillo identificar la cantidad y tipo de seales a controlar. Una vez realizado este anlisis puede ser necesario aadir perifricos hardware externos o cambiar a otro microcontrolador ms adecuado a ese sistema. CONSUMO: algunos productos que incorporan microcontroladores estn alimentados con bateras y su funcionamiento puede ser tan vital como activar una alarma antirrobo. Lo ms conveniente en un caso como ste puede ser que el microcontrolador est en estado de bajo consumo pero que despierte ante la activacin de una seal (una interrupcin) y ejecute el programa adecuado para procesarla. MEMORIA: para detectar las necesidades de memoria de nuestra aplicacin debemos separarla en memoria voltil (RAM), memoria no voltil (ROM, EEPROM, etc.) y memoria no voltil modificable (EEPROM). Este ltimo tipo de memoria puede ser til para incluir informacin especfica de la aplicacin como un nmero de serie o parmetros de calibracin. El tipo de memoria a emplear vendr determinado por el volumen de ventas previsto del producto: de menor a mayor volumen ser conveniente emplear EEPROM, OTP y ROM. En cuanto a la cantidad de memoria necesaria puede ser imprescindible realizar una versin preliminar, aunque sea en pseudo-cdigo, de la aplicacin y a partir de ella hacer una estimacin de cunta memoria voltil y no voltil es necesaria y si es conveniente disponer de memoria no voltil modificable. ANCHO DE PALABRA COMANDO O INSTRUCCION (WIDE INSTRUCTIONS): el criterio de diseo debe ser seleccionar el microcontrolador de menor ancho de palabra que satisfaga los requerimientos de la aplicacin. Usar un microcontrolador de 4 bits supondr una reduccin en los costos importante, mientras que uno de 8 bits puede ser el ms adecuado si el ancho de los datos es de un byte. Los microcontroladores de 16 y 32 bits, debido a su relativo alto costo deben reservarse para aplicaciones que requieran sus altas prestaciones (Entrada/Salida potente o espacio de direccionamiento muy elevado). 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 de gama baja incremente el precio del resto de componentes del diseo. Por ejemplo si se requiere un conversor anlogo digital entonces es preferible comprar un uC con dicha funcin en lugar de implementarlo externamente.

21 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

SECCIO N 1 CONCEPTOS DE PROGRAMACIN ESTRUCTURADALOS MICROCONTROLADORES MS POPULARES SE ENCUENTRAN, SIN DUDA, ENTRE LAS MEJORES ELECCIONES: 8048 (Intel). Es el padre de los microcontroladores actuales, el primero de todos. Su precio, disponibilidad y herramientas de desarrollo hacen que todava sea muy popular. 8051 (Intel, ATMEL y otros). Es sin duda el microcontrolador ms popular. Fcil de programar, pero potente. Est bien documentado y posee cientos de variantes e incontables herramientas de desarrollo. 80186, 80188 y 80386 EX (Intel). Versiones en microcontrolador de los populares microprocesadores 8086 y 8088. Su principal ventaja es que permiten aprovechar las herramientas de desarrollo para PC. 68HC11 (Motorola y Toshiba). Es un microcontrolador de 8 bits potente y popular con gran cantidad de variantes. 683xx 68HC908 (Motorola). Surgido a partir de la popular familia 68k, a la que se incorporan algunos perifricos. Son microcontroladores de altsimas prestaciones. PIC 12XXX, 16FXXX, 17XXX, 18FXXX (MICROCHIP). Familia de microcontroladores que gana popularidad da a da. Fueron los primeros microcontroladores RISC.

VENTAJAS DE LOS MICROCONTROLADORES PIC MICROCHIP Vs OTROS FABRICANTESQu es lo que ocurre con los PIC?, Por qu estn en boca de todos?. Hemos buscado en multitud de bibliografa y realmente nadie da una respuesta concreta, pero una aproximacin a la realidad puede ser esta: Los PIC tienen ngel, tienen algo que fascina a los diseadores, puede ser la velocidad, el precio, la facilidad de uso, la informacin, las herramientas de apoyo... . Quizs un poco de todo eso es lo que produce esa imagen de sencillez y utilidad. Para las aplicaciones ms habituales (casi un 90%) la eleccin de una versin adecuada de PIC es la mejor solucin; sin embargo, dado su carcter general, otras familias de microcontroladores son ms eficaces en aplicaciones especficas, especialmente si en ellas predomina una caracterstica concreta, que puede estar muy desarrollada en otra familia. Los detalles ms importantes que vuelven atraen a los profesionales de la microelectrnica y microinformtica y las razones de la excelente acogida que tienen los PIC son los siguientes: Sencillez de manejo: Tienen un juego de instrucciones reducido; 33 gama baja, 35 en la gama media, 75 gama alta. Buena informacin, fcil de conseguir y econmica. Precio: Su coste es comparativamente inferior al de sus competidores. 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 software se pueden recoger libremente a travs de Internet desde Microchip (http://www.microchip.com). Existe una gran variedad de herramientas hardware que permiten grabar, depurar, borrar y comprobar el comportamiento de los PIC. Diseo rpido. La gran variedad de modelos de PIC permite elegir el que mejor responde a los requerimientos de la aplicacin.

22 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

SECCIO N 1 CONCEPTOS DE PROGRAMACIN ESTRUCTURADAUna de las razones del xito de los PIC se basa en su utilizacin. Cuando se aprende a manejar uno de ellos, conociendo su arquitectura y su repertorio de instrucciones, es muy fcil emplear otro modelo. Diversidad de modelos de microcontroladores con prestaciones y recursos diferentes. La gran variedad de modelos de microcontroladores PIC permite que el usuario pueda seleccionar el ms conveniente para su proyecto. Herramientas de soporte potentes y econmicas. La empresa Microchip y otras que utilizan los PIC ponen a disposicin de los usuarios numerosas herramientas para desarrollar hardware y software. Son muy abundantes los programadores, los simuladores software, los emuladores en tiempo real, Ensambladores, Compiladores C, Intrpretes y Compiladores BASIC, etc. La arquitectura Harvard y la tcnica de segmentacin son los principales recursos en los que se apoya el elevado rendimiento que caracteriza estos dispositivos programables, mejorando dos caractersticas esenciales: 1. Velocidad de ejecucin. 2. Eficiencia en la compactacin del cdigo. Lneas de E/S de alta corriente. Las lneas de E/S de los PIC pueden proporcionar o absorber una corriente de salida de hasta 25 mA, capaz de excitar directamente ciertos perifricos como led o microrels tipo REED.

23 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

SECCIO N 1 CONCEPTOS DE PROGRAMACIN ESTRUCTURADA

RECURSOS COMUNES A TODOS LOS MICROCONTROLADORESAl estar todos los microcontroladores integrados en un chip, su estructura fundamental y sus caractersticas bsicas son muy parecidas. Todos deben disponer de los bloques esenciales Procesador, memoria de datos y de instrucciones, lneas de E/S, oscilador de reloj y mdulos controladores de perifricos. Sin embargo, cada fabricante intenta enfatizar los recursos ms idneos para las aplicaciones a las que se destinan preferentemente. En este apartado se hace un recorrido de todos los recursos que se hallan en todos los microcontroladores describiendo las diversas alternativas y opciones que pueden encontrarse segn el modelo seleccionado.

ARQUITECTURA BSICA: Aunque inicialmente todos los microcontroladores adoptaron la arquitectura clsica de von Neumann, en el momento presente se impone la arquitectura Harvard. La arquitectura de von Neumann se caracteriza por disponer de una sola memoria principal donde se almacenan datos e instrucciones de forma indistinta. A dicha memoria se accede a travs de un sistema de buses nico (direcciones, datos y control). La arquitectura Harvard dispone de dos memorias independientes una, que contiene slo instrucciones y otra, slo datos. Ambas disponen de sus respectivos sistemas de buses de acceso y es posible realizar operaciones de acceso (lectura o escritura) simultneamente en ambas memorias.

Figura 1.3. La arquitectura Harvard dispone de dos memorias independientes para datos y para instrucciones, permitiendo accesos simultneos.

EL PROCESADOR O CPU: Es el elemento ms importante del microcontrolador y determina sus principales caractersticas, tanto a nivel hardware como software. Se encarga de direccionar la memoria de instrucciones, recibir el cdigo OP de la instruccin en curso, su decodificacin y la ejecucin de la operacin que implica la instruccin, as como la bsqueda de los operandos y el almacenamiento del resultado. MEMORIA: En los microcontroladores la memoria de instrucciones o programa y la memoria de datos RAM est integrada en el propio chip. Una parte debe ser no voltil, tipo PROM EEPROM, y se destina a contener el programa de instrucciones que gobierna la aplicacin. Otra parte de memoria ser tipo RAM, voltil, y se destina a guardar las variables y los datos. Hay dos peculiaridades que diferencian a los microcontroladores de los computadores personales: 1. No existen sistemas de almacenamiento masivo como disco duro o disquetes. 2. Como el microcontrolador slo se destina a una tarea en la memoria de programa, slo hay que almacenar un nico programa de trabajo (no es multitarea como windows, linux u otro sistema operativo). RAM STATICA: La RAM en estos dispositivos es de poca capacidad pues slo debe contener las variables y los cambios de informacin que se produzcan en el transcurso del programa. Por otra parte, como slo existe un programa activo, no se requiere guardar una copia del mismo en la RAM pues se ejecuta directamente desde la EEPROM de programa. Los usuarios de computadores

24 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

SECCIO N 1 CONCEPTOS DE PROGRAMACIN ESTRUCTURADApersonales estn habituados a manejar Megabytes Y GigaBytes de memoria, pero, los diseadores con microcontroladores trabajan con capacidades de memoria de programa EEPROM comprendidas entre 512 bytes y 32 k bytes y de RAM comprendidas entre 20 y 1536 bytes aproximadamente. TIPOS DE MEMORIA DE PROGRAMA EN LOS MICROCONTROLADORES: Segn el tipo de memoria de programa que dispongan los microcontroladores, la aplicacin y utilizacin de los mismos es diferente. Se describen las cinco versiones de memoria de programa no voltil que se pueden encontrar en los microcontroladores del mercado. 1. ROM CON MSCARA: Es una memoria no voltil de slo lectura cuyo contenido se graba durante la fabricacin del chip. El elevado coste del diseo de la mscara slo hace aconsejable el empleo de los microcontroladores con este tipo de memoria cuando se precisan cantidades superiores a varios miles de unidades. 2. OTP: El microcontrolador contiene una memoria no voltil de slo lectura programable una sola vez por el usuario. OTP (One Time Programmable). Es el usuario quien puede escribir el programa en el chip mediante un sencillo grabador controlado por un programa desde un PC. La versin OTP es recomendable cuando es muy corto el ciclo de diseo del producto, o bien, en la construccin de prototipos y series muy pequeas. Tanto en este tipo de memoria como en la EPROM, se suele usar la encriptacin mediante fusibles para proteger el cdigo contenido. 3. UV-EPROM: Los microcontroladores que disponen de memoria EPROM (Erasable Programmable Read OnIy Memory) pueden borrarse y grabarse muchas veces. La grabacin se realiza, como en el caso de los OTP, con un grabador gobernado desde un PC. Si, posteriormente, se desea borrar el contenido, disponen de una ventana de cristal en su superficie por la que se somete a la EPROM a rayos ultravioleta durante varios minutos. Las cpsulas son de material cermico y son ms caros que los microcontroladores con memoria OTP que estn hechos con material plstico. 4. EEPROM: Se trata de memorias de slo lectura, programables y borrables elctricamente EEPROM (Electrical Erasable Programmable Read OnIy Memory). Tanto la programacin como el borrado, se realizan elctricamente desde el propio grabador y bajo el control programado de un PC. Es muy cmoda y rpida la operacin de grabado y la de borrado. No disponen de ventana de cristal en la superficie. Los microcontroladores dotados de memoria EEPROM una vez instalados en el circuito, pueden grabarse y borrarse cuantas veces se quiera sin ser retirados de dicho circuito. Para ello se usan grabadores en circuito que confieren una gran flexibilidad y rapidez a la hora de realizar modificaciones en el programa de trabajo. El nmero de veces que puede grabarse y borrarse una memoria EEPROM es finito, por lo que no es recomendable una reprogramacin continua. Son muy idneos para la enseanza y la Ingeniera de diseo. Se va extendiendo en los fabricantes la tendencia de incluir una pequea zona de memoria EEPROM en los circuitos programables para guardar y modificar cmodamente una serie de parmetros que adecuan el dispositivo a las condiciones del entorno. Este tipo de memoria es relativamente lenta. Por ejemplo el PIC 16C84. 5. EEPROM FLASH son muy tiles al permitir que los microcontroladores que las incorporan puedan ser reprogramados In Circuit, es decir, sin tener que retirar el circuito integrado de la tarjeta. As, un dispositivo con este tipo de memoria incorporado al control del motor de un automvil permite que pueda modificarse el programa durante la rutina de mantenimiento peridico, compensando los desgastes y otros factores tales como la compresin, la instalacin de nuevas piezas, etc. La reprogramacin del microcontrolador puede convertirse en una labor rutinaria dentro de la puesta a punto. Entre los Microcontroladores de este tipo se puede mencionar el 16F84, 16F628, 18F452. Aparte de que las memorias EPROM "Flash" tienen una entrada de escritura, mientras estn funcionando se comportan como las EPROM normales. La nica diferencia se encuentra en como se cargan y se borran los datos en la memoria. Mientras que durante el proceso de programacin de las memorias EPROM convencionales se necesita una tensin bien definida durante cierto intervalo de tiempo, y para borrar el componente hay que exponerlo a luz ultravioleta, en las E.Flash ambos procesos estn controlados y se llevan a cabo internamente. Para tal efecto la memoria recibe una secuencia de comandos predefinida (borrar, programar) que incluye algunas precauciones especiales

25 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

SECCIO N 1 CONCEPTOS DE PROGRAMACIN ESTRUCTURADA

(determinadas por el fabricante) destinadas a evitar que se borre cualquier dato por error. El comando se transfiere a la memoria EPROM "Flash" mediante una serie de operaciones de escritura, como se indica en la tabla 1. Los dos primeros comandos "Lectura/Reset" preparan la memoria para operaciones de lectura. El comando "Autoseleccin" permite leer el cdigo del fabricante y el tipo de dispositivo. El comando "Byte" carga el programa dentro de la memoria EPROM, mientras que "Borrar Chip" acta durante el proceso de borrado, que no dura ms de un minuto. Desde el punto de vista lgico podemos afirmar que la memoria EPROM "Flash" est dividida en sectores que se pueden borrar individualmente con la ayuda del comando "Borrar Sector". Las memorias EPROM "Flash" disponen de otro mecanismo, basado en la divisin en sectores, que las protege de acciones de escritura o lectura no deseadas. Cuando un sector est protegido de esta forma no se puede realizar una operacin de lectura o sobre escritura con una tensin de 5V. Este hecho es muy importante y se debe tener siempre presente cuando se utilicen estos dispositivos. Solamente se puede eliminar esta proteccin con la ayuda de un programador especial. Durante el proceso de programacin o borrado se puede leer, mediante un comando de acceso en "lectura", el estado de la memoria EPROM "Flash" en la misma posicin que el byte de programado o borrado. Mientras se borra un sector se puede leer cualquier direccin que pertenezca al sector. Durante la secuencia de programacin, el bit de orden superior (DQ7) del byte que se est leyendo toma el valor negado del bit que se est programando, mientras que DQ5 se mantiene a 0. Cuando el ciclo de programacin termina correctamente se deshace esta inversin y los bits 5 y 7 toman los valores planeados. Como durante una secuencia de borrado parece que todas las posiciones de la memoria estn programadas con el valor FFH, el bit 7 permanece invariablemente a cero durante este proceso. Cuando alguno de los dos procesosexcede cierto lmite de tiempo, que est determinado internamente, se produce un "error de temporizacin", entonces el bit 5 toma el valor 1 mientras que el bit 7 se mantiene invertido. La funcin que implementa el bit 6 est condicionada por el requisito de compatibilidad. El bit 3 se utiliza cuando se borran simultneamente varios sectores. Sin embargo, el emulador descrito no tiene estas caractersticas.

26 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

SECCIO N 1 CONCEPTOS DE PROGRAMACIN ESTRUCTURADA

PUERTOS DE ENTRADA / SALIDA (Input / Output): La principal utilidad de los pines que posee la cpsula que contiene un microcontrolador es soportar las lneas de E/S que comunican al computador interno con los perifricos exteriores. Segn los controladores de perifricos que posea cada modelo de microcontrolador, las lneas de E/S se destinan a proporcionar el soporte a las seales de entrada, salida y control. Se conocen como puerto A,B,C,D,E. RELOJ PRINCIPAL: Todos los microcontroladores disponen de un circuito oscilador que genera una onda cuadrada de alta frecuencia, que configura los impulsos de reloj usados en la sincronizacin de todas las operaciones del sistema. Generalmente, el circuito de reloj est incorporado en el microcontrolador y slo se necesitan unos pocos componentes exteriores para seleccionar y estabilizar la frecuencia de trabajo. Dichos componentes suelen consistir en un cristal de cuarzo junto a elementos pasivos o bien un resonador cermico o una red R-C. Aumentar la frecuencia de reloj supone disminuir el tiempo en que se ejecutan las instrucciones pero tambin implica un incremento del consumo de energa. Algunos C (18F2550 por ejemplo) disponen de oscilador interno programable desde 31KHz hasta 8 MHz, es decir, no se requiere comprar cristal, la desventaja es que no suelen ser tan preciso como un cristal externo.

RECURSOS ESPECIALES DE LOS MICROCONTROLADORESCada fabricante oferta numerosas versiones de una arquitectura bsica de microcontrolador. En algunas ampla las capacidades de las memorias, en otras incorpora nuevos recursos, en otras reduce las prestaciones al mnimo para aplicaciones muy simples, etc. La labor del diseador es encontrar el modelo mnimo que satisfaga todos los requerimientos de su aplicacin. De esta forma, minimizar el coste, el hardware y el software.

LOS PRINCIPALES RECURSOS ESPECFICOS QUE INCORPORAN LOS MICROCONTROLADORES SON1. TEMPORIZADORES O TIMERS: Se emplean para controlar periodos de tiempo (temporizadores) y para llevar la cuenta de acontecimientos que suceden en el exterior (contadores). Para la medida de tiempos se carga un registro con el valor adecuado y a continuacin dicho valor se va incrementando o decrementando al ritmo de los impulsos de reloj o algn mltiplo hasta que se desborde y llegue a 0, momento en el que se produce un aviso. Cuando se desean contar acontecimientos que se materializan por cambios de nivel o flancos en alguna de los pines del microcontrolador, el mencionado registro se va incrementando o decrementando al ritmo de dichos impulsos. 2. PERRO GUARDIN WATCHDOG TIMER WDT: Cuando el computador personal se bloquea por un fallo del software u otra causa, se pulsa el botn del reset y se reinicializa el sistema. Pero un microcontrolador funciona sin el control de un supervisor y de forma continua las 24 horas del da. El Perro guardin consiste en un temporizador (2 ms hasta 131 seg dependiendo del PIC) que, cuando se desborda y pasa por 0, provoca un reset automticamente en el sistema. Se debe disear el programa que controla la tarea de forma que refresque o inicialice al Perro guardin antes de que provoque el reset. Si falla el programa o se bloquea, no se refrescar al Perro guardin y, al completar su temporizacin, provocar el reset. 3. ESTADO DE REPOSO O BAJO CONSUMO SLEEP, STAND BY O POWER SAVING: Son abundantes las situaciones reales de trabajo en que el microcontrolador debe esperar, sin hacer nada a que se produzca algn acontecimiento externo que le active de nuevo en funcionamiento (interrupcin). Para ahorrar energa, (factor clave en los aparatos porttiles), los microcontroladores disponen de una instruccin especial (SLEEP en los PIC), que les pasa al estado de reposo o de bajo consumo en el cual los requerimientos de potencia son mnimos. En dicho estado se detiene el reloj u oscilador principal y se congelan sus circuitos asociados, quedando sumido en un

27 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

SECCIO N 1 CONCEPTOS DE PROGRAMACIN ESTRUCTURADAprofundo sueo el microcontrolador. Al activarse una interrupcin ocasionada por el acontecimiento esperado, el microcontrolador se despierta y reanuda su trabajo. En este estado el uC consume menos de 200nA y slo despertar (wake up) mediante una interrupcin externa. El modo sleep es muy necesario en aplicaciones que se alimentarn a partir de bateras. 4. PROTECCIN ANTE FALLO DE ALIMENTACIN O BROWN OUT RESET BOR: Se trata de un circuito que resetea al microcontrolador cuando el voltaje de alimentacin (VDD) es inferior a un voltaje mnimo (brown out). Mientras el voltaje de alimentacin sea inferior al de brown out el dispositivo se mantiene reseteado, comenzando a funcionar normalmente cuando sobrepasa dicho valor. til Para aplicaciones que funcionarn con bateras, cuando la batera est baja de carga el PIC no funcionar por proteccin. 5. RESET DE ENCENDIDO (POWER ON RESET) POR: Todos los PIC tienen la facultad de generar una autoreinicializacin o autoreset al conectarles la alimentacin. 6. TEMPORIZACION DE ENCENDIDO (POWER UP TIMER) PWRT: Es una opcin para que el C espere un tiempo (aproximadamente 75mS) antes de empezar a ejecutar instrucciones despus de alimentar el PIC. Es til para evitar funcionamientos errticos del C por ruido o rebotes al conectar la alimentacin. 7. CDIGO DE PROTECCIN (CODE PROTECT) CP: Cuando se procede a realizar la grabacin del programa mediante el hardware cargador (loadder code), el PIC puede protegerse para evitar su lectura. Tambin disponen los PIC de posiciones reservadas para registrar nmeros de serie, cdigos de identificacin, prueba, etc. 8. INTERRUPCION MEDIANTE PINES EXTERNOS: Los pines de interrupcin externa constituye uno de los aspectos ms importantes en un microcontrolador pues ofrece la posibilidad de interactuar de una manera ptima con perifricos externos de entrada tales como: teclados de computadora, receptores IR, RF, USB, teclados, pulsadores, etc. Los pines de interrupcin externa ms comunes son RB0, RB1, RB2, RB4, RB5, RB6, RB7 para gama alta. 9. PRIORIDAD DE INTERRUPCIONES: PRIORITY INTERRUPTIONS (LASE PRAIRIRI INTERROPSHIONS): La gama alta permite programar prioridad LOW OR HIGH a cada interrupcin dependiendo de la importancia y urgencia en el circuito y/o aplicacin. 10. INTERRUPCIONES VECTORIZADAS: Algunos C poseen una direccin nica (vector de interrupcin independiente) para cada evento de interrupcin, esto optimiza el tiempo en deteccin y facilita el manejo de cada interrupcin. Los C microchip no disponen de esta opcin, sin embargo, algunos C motorola si permiten dicha funcin. 11. PULL UP (lase pul ap)/ PULL DOWN (lase pul daun) INTERNO: Los C PIC tiene Pull UP interno en el puerto B (B0 a B7), no disponen de pull down. La resistencia interna de Pull UP es alrededor de 3K. El puerto B del PIC es el nico que tiene la opcin de Pull UP interno, es decir, por software se puede garantizar que el PIC interpretar como 1 lgico todas los pines del puerto B configurados como entrada y que estn al aire (input float). Esto es prctico cuando se debe conectar pulsadores o teclados matriciales a un C y no se desea comprar resistores externos de PULL UP. Los microcontroladores son fabricados con tecnologa CMOS (Complementary Metal Oxide Semiconductor) lo cual implica que tienen alta impedancia de entrada (sus entradas requieren muy baja corriente, en el orden de A), si una entrada se deja al aire (input float) el C lo interpretar como ruido (debido al ruido electromagntico EMI presente en el ambiente o efecto antena y se puede inducir una tensin fantasma en los pines de entrada que estn flotando). Pull UP EXTERNO: es una resistencia externa que se conecta de una entrada del microcontrolador hacia +VCC. Un PULL DOWN es lo mismo pero conectada hacia tierra. La funcin de estas resistencias (del orden 1K a 100K) es garantizarle un estado a los pines al aire o input float (lase input flout) del PIC configurados como entrada. 12. CAPACIDAD DE CORRIENTE: MODO SINK (IOL ), MODO SOURCE (IOH) : Para la gama media y alta de microchip, la corriente mxima de salida en modo sink (sumidero) o cero lgico es de 25 mA y la corriente mxima de salida en modo source (fuente) o uno lgico es de 25 mA. Este aspecto es de singular importancia pues indica la potencia que puede transmitir el PIC a los perifricos de salida tales como Rels, Led, Motores, etc. EL ABANICO DE ENTRADA Y SALIDA (Fan In / Fan Out) de un Circuito integrado est relacionado con las

28 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

SECCIO N 1 CONCEPTOS DE PROGRAMACIN ESTRUCTURADAimpedancias de entrada y salida del mismo. Las corrientes en un PIC alimentado a 5V son:

IOL = 25mA (modo sink o sumidero lase sink) corriente de salida en 0 lgico IOH = 25mA (modo source o fuente lese soors) corriente de salida en 1 lgico IIL = 1A (Corriente de entrada en cero lgico) IIH = 1A (Corriente de entrada en uno lgico) Considerando que un led (diodo emisor de luz) requiere para encender una tensin de 2V mnimo y una corriente entre 5 a 50 mA, se puede afirmar que un PIC puede encender directamente hasta 5 led por un solo terminal. Obviamente si la carga requiere ms corriente (un rel convencional exige 30mA aproximadamente) se debe conectar un buffer (impulsador de corriente) o un transistor en emisor o colector comn. Por ser un dispositivo construido con tecnologa CMOS (Complementary Metal Oxide semiconductor) los PIC presentan una alta impedancia de entrada, esto implica que la corriente de entrada por cada pin est en el orden de los microamperios, es decir, se puede aplicar a un C la salida directa de cualquier sensor sin necesidad de una etapa previa de acondicionamiento de corriente (amplificador seguidor de voltaje o buffer amplificador de corriente). 13. CONVERSOR A/D (CAD): Los microcontroladores que incorporan un Conversor A/D (Analgico/Digital) pueden procesar seales analgicas, tan abundantes en las aplicaciones. Suelen disponer de un multiplexor que permite aplicar a la entrada del CAD diversas seales analgicas desde los pines del circuito integrado. La familia 16F87X y 18FXX2 disponen de un conversor A/D de 8 canales a 10 bit de resolucin y la familia 18FXXXX disponen de un conversor A/D de 13 canales a 10 bit de resolucin. 14. CONVERSOR D/A (DAC): Transforma los datos digitales obtenidos del procesamiento del computador en su correspondiente seal analgica que saca al exterior por una de los pines de la cpsula. No todos los C traen esta opcin en su interior. Los PICs gama enana, baja, media y alta no disponen de esta opcin. 15. COMPARADOR ANALGICO: Algunos modelos de microcontroladores (16F62X) disponen internamente de un Amplificador Operacional que acta como comparador entre una seal fija de referencia y otra variable que se aplica por una de los pines de la cpsula. La salida del comparador proporciona un nivel lgico 1 0 segn una seal sea mayor o menor que la otra. Tambin hay modelos de microcontroladores con un mdulo de tensin de referencia que proporciona diversas tensiones de referencia que se pueden aplicar en los comparadores. 16. PUERTAS DE ENTRADA/SALIDA E/S DIGITALES: Todos los microcontroladores destinan algunas de sus pines a soportar lneas de E/S digitales. Por lo general, estas lneas se agrupan de ocho en ocho formando Puertas. Las lneas digitales de las Puertas pueden configurarse como Entrada o como Salida cargando un 1 un 0 en el bit correspondiente de un registro destinado a su configuracin. 17. PUERTAS DE COMUNICACIN USART, I C, PARALELO, SPI, USB: Con objeto de dotar al microcontrolador de la posibilidad de comunicarse con otros dispositivos externos, otros buses de microprocesadores, buses de sistemas, buses de redes y poder adaptarlos con otros elementos bajo otras normas y protocolos. Algunos modelos disponen de recursos que permiten directamente esta tarea, entre los que destacan: UART (UNIVERSAL ASYNCRONOUS RECEPTION TRANSMISION). USART (UNIVERSAL SYNCRONOUS ASYNCRONOUS RECEPTION TRANSMISION).2

29 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

SECCIO N 1 CONCEPTOS DE PROGRAMACIN ESTRUCTURADA

PARALLEL PORT :Puerto paralelo esclavo para poder conectarse con los buses de otros microprocesadores. USB (Universal Serial Bus), que es un moderno bus serie para los PC de ala velocidad. Bus I2C (INTERFAZ DE CIRCUITOS INTEGRADOS), que es un interfaz serie de dos hilos desarrollado por Philips. CAN (Controller Area Network), para permitir la adaptacin con redes de conexionado multiplexado desarrollado conjuntamente por Bosch e Intel para el cableado de dispositivos en automviles. En EE.UU. se usa el J185O. SPI: Interfaz de Perifricos Serial MSSP: Master Synchronous Serial Port

18. PROGRAMMING (ICSP) VIA TWO PINS: Reprogramacin in Circuit, es decir, no es necesario retirar el PIC del circuito, pues los datos se cargan a la memoria de programa mediante el puerto serial UART RS232 Tx y Rx. 19. DEPURACIN DEL PROGRAMA IN CIRCUIT: IN-CIRCUIT DEBUG (ICD) VIA TWO PINS: La gama alta permite realizar (mediante un hardware especfico) una depuracin (debugger= delete bug = eliminar cucarachas o bichos) de un cdigo fuente. Esta depuracin se realiza con la PC conectada en tiempo real, el programa se ir ejecutando lnea por lnea en el editor (MPLAB SIMULATOR) y en el circuito hardware mediante el puerto serial RS232 del PIC y del PC. 20. HARDWARE MULTIPLICADOR CON UNA INSTRUCCION: 8 X 8 SINGLE-CYCLE HARDWARE MULTIPLIER: La gama alta incluye una instruccin (MULLW) para multiplicar 1 byte x 1 byte y ofrece la respuesta en 2 bytes. 21. MODULOS CAPTURA COMPARACION PWM CCP: Captura una trama de datos serial y luego la compara con registros internos, til en aplicaciones de sensores ultrasnicos. El mdulo PWM (PULSE WIDE MODULATION) son circuitos que proporcionan en su salida pulsos de ciclo til (tiempo en 1 lgico) variable y periodo constante, que se ofrecen al exterior a travs de los pines del encapsulado. Suelen emplearse para el control de velocidad de motores de DC y Servomotores. 22. LEVEL STACK (NIVELES DE PILA) (LASE LEVOeL SSTeAK): La pila (Stack) es una zona de memoria RAM independiente de la memoria de datos y de la memoria de programa del C. Su estructura es del tipo LIFO (Last In First Out) por lo que el ltimo dato que se guarda es el primero que sale. La pila se carga con cada instruccin CALL o con la generacin de una interrupcin, se descarga con cada instruccin RETURN o RETFIE. Cuando el diseador realiza ms de 31 llamados de subrutina (CALL lase coll) sin regresar (sin uso del RETURN lase ruitorn) el puntero de pila (STACK POINTER) se desborda y se presenta el fenmeno denominado OVERFLOW STACK (desbordamiento de pila lase overflou ssteak), lo cual es un error de programacin pues el puntero de programa (Pointer Program) salta a un lugar inesperado. Lo deseable en un C es que disponga de una gran memoria de pila independiente de la memoria de datos. 23. MEMORIA EEPROM DE DATO: Es una memoria relativamente pequea (64 a 256 bytes) en la cual se pueden guardar los datos del programador y no se pierden incluso al desconectar la alimentacin del circuito. 24. LOW VOLTAGE DETECT (LVD): Detecta si un voltaje aplicado al uC es menor de un nivel programado. Es til para detectar si la batera de alimentacin est agotada. 25. SELECCIN DE OSCILADOR: Dependiendo de la frecuencia natural del cristal, se debe seleccionar el modo de oscilacin y los condensadores de estabilizacin. En gama alta 18FXX2 si se desea una frecuencia superior a 25MHz, se debe activar el modo PLL (phase locked loop) multiplicador de frecuencia del cristal por 4. Por ejemplo,

30 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

SECCIO N 1 CONCEPTOS DE PROGRAMACIN ESTRUCTURADApara trabajar a 40MHz (frecuencia mxima de la familia 18FXX2) lo correcto es conectar un cristal de 10MHz con condensadores de 27pF y activar el circuito PLL del C. La frecuencia mxima de la familia 16F87X es 20MHz y la frecuencia mxima de la familia 18FXXXX es 48MHz. La familia 18FXXXX tiene la opcin de trabajar con un oscilador interno configurable desde 31KHz hasta 8MHz. El oscilador de la familia 18FXXXX se puede configurar de las siguientes maneras:1. XT : CRYSTAL/RESONATOR 2. XTPLL : CRYSTAL/RESONATOR WITH PLL ENABLED 3. HS : HIGH-SPEED CRYSTAL/RESONATOR 4. HSPLL HIGH-SPEED CRYSTAL/RESONATOR WITH PLL ENABLED 5. EC EXTERNAL CLOCK WITH FOSC/4 OUTPUT 6. ECIO EXTERNAL CLOCK WITH I/O ON RA6 7. ECPLL EXTERNAL CLOCK WITH PLL ENABLED AND FOSC/4 OUTPUT ON RA6 8. ECPIO EXTERNAL CLOCK WITH PLL ENABLED, I/O ON RA6 9. INTHS INTERNAL OSC USED AS MICROCONTROLLER CK SOURCE, HS OSC USED AS USB CK SOURCE 10. INTXT INTERNAL OSC USED AS MICROCONTROLLER CLOCK SOURCE, XT OSC USED AS USB CK SOURCE 11. INTIO INTERNAL OSC USED AS MICRO CK SOURCE, EC OSC USED AS USB CK SOURCE, DIGITAL I/O ON RA6 12. INTCKO INT OSC USED AS MICRO CK SOURCE, EC OSC USED AS USB CK SOURCE, FOSC/4 OUTPUT ON RA6

31 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

SECCIO N 1 CONCEPTOS DE PROGRAMACIN ESTRUCTURADA

LAS GAMAS DE PICUna de las labores ms importantes del ingeniero de diseo es la eleccin del microcontrolador que mejor satisfaga las necesidades del proyecto con el mnimo presupuesto. Para resolver aplicaciones sencillas se precisan pocos recursos, en cambio, las aplicaciones grandes requieren numerosos y potentes. Siguiendo esta filosofa Microchip construye diversos modelos de microcontroladores orientados a cubrir, de forma ptima, las necesidades de cada proyecto. As, hay disponibles microcontroladores sencillos y baratos para atender las aplicaciones simples y otros complejos y ms costosos para las de mucha envergadura. Microchip dispone de cuatro familias de microcontroladores de 8 bits para adaptarse a las necesidades de la mayora de los clientes potenciales. En la mayor parte de la bibliografa encontrar tan solo tres familias de microcontroladores, con lo que habrn despreciado la llamada gama enana, que es en realidad una subfamilia formada por componentes pertenecientes a las otras gamas. En nuestro caso hemos preferido comentarla dado que los PIC enanos son muy apreciados en las aplicaciones de control de personal, en sistemas de seguridad y en dispositivos de bajo consumo que gestionan receptores y transmisores de seales. Su pequeo tamao los hace ideales en muchos proyectos donde esta cualidad es fundamental.

LA GAMA ENANA: PIC12CXXX DE 8 PINES CON INSTRUCCIONES DE 12 /14 BITSu principal caracterstica es su reducido tamao, al disponer todos sus componentes de 8 pines. Se alimentan con un voltaje de corriente continua comprendido entre 2,5 V y 5,5 V, y consumen menos de 2 mA cuando trabajan a 5 V y 4 MHz. El formato de sus instrucciones puede ser de 12 o de 14 bits y su repertorio es de 33 o 35 instrucciones, respectivamente. En la Figura 2.1 se muestra el diagrama de conexionado de uno de estos PIC.

Figura 2.1. Diagrama de conexiones de los PIC12CXXX de la gama enana. Aunque los PIC enanos slo tienen 8 pines, pueden destinar hasta 6 como lneas de E/S para los perifricos porque disponen de un oscilador interno R-C. En la Tabla 2.1 se presentan las principales caractersticas de los modelos de esta subfamilia, que el fabricante tiene la intencin de potenciar en un futuro prximo. Los modelos 12C5xx pertenecen a la gama baja, siendo el tamao de las instrucciones de 12 bits; mientras que los 12C6xx son de la gama media y sus instrucciones tienen 14 bits. Los modelos 12F6xx poseen memoria Flash para el programa y EEPROM para los datos.

MODELO

PIC12C508 PIC12C509 PIC12C670 PIC12C671 PIC12C672

MEMORIA PROGRAM A 512x12 1024x12 512x14 1024x14 2048x14

MEMORIA DATOS 25x8 41x8 80x8 128x8 128x8

FRECUENC LINEA IA MAXIMA S E/S 4 MHz 4 MHz 4 MHz 4 MHz 4 MHz 6 6 6 6 6

ADC TEMPORIZAD 8BIT ORES S TMR0 + WDT TMR0 + WDT TMR0 + WDT 2 TMR0 + WDT 4 TMR0 + WDT

PINES

8 8 8 8 8

32 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

SECCIO N 1 CONCEPTOS DE PROGRAMACIN ESTRUCTURADAPIC12C680 PIC12C681 512X12 FLASH 1024x14 FLASH 80x8 16x8 4 MHz EEPROM 80x8 16x8 4 MHz EEPROM 6 6 4 TMR0 + WDT TMR0 + WDT 8 8

Tabla 2.1. Caractersticas de los modelos PIC12C(F)XXX de la gama enana.

GAMA BAJA O BSICA: PIC16C5X CON INSTRUCCIONES DE 12 BITS

Figura 2.2: Diagrama de pines de los PIC de la gama baja que responden a la nomenclatura PIC16C54/56. Se trata de una serie de PIC de recursos limitados, pero con una de la mejores relaciones coste/prestaciones. Sus versiones estn encapsuladas con 18 y 28 pines y pueden alimentarse a partir de una tensin de 2,5 V, lo que les hace ideales en las aplicaciones que funcionan con pilas teniendo en cuenta su bajo consumo (menos de 2 mA a 5 V y 4 MHz). Tienen un repertorio de 33 instrucciones cuyo formato consta de 12 bits. No admiten ningn tipo de interrupcin y la Pila slo dispone de dos niveles.

Tabla 2.2. Caractersticas de los modelos PIC16C5X de la gama baja Para terminar el comentario sobre los componentes de la gama baja conviene nombrar dos restricciones importantes: La pila slo dispone de dos niveles lo que supone no poder encadenar ms de dos subrutinas. Los microcontroladores de la gama baja no admiten interrupciones.

33 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

SECCIO N 1 CONCEPTOS DE PROGRAMACIN ESTRUCTURADA

GAMA MEDIA. PIC16FXXX CON INSTRUCCIONES DE 14 BITS

Es la gama ms variada y completa de los PIC. Abarca modelos con encapsulado desde 18 pines hasta 68, cubriendo varias opciones que integran abundantes perifricos. Dentro de esta gama se halla el fabuloso PIC16X84 y sus variantes. El 16F877 y 16F84A son uno de los modelos ms representativos de la gama media. En esta gama sus componentes aaden nuevas prestaciones a las que posean los de la gama baja, hacindoles ms adecuados en las aplicaciones complejas. Admiten interrupciones, poseen comparadores de magnitudes analgicas, convertidores A/D, puertos serie y diversos temporizadores. El repertorio de instrucciones es de 35, de 14 bits cada una y compatible con el de la gama baja. Sus distintos modelos contienen todos los recursos que se precisan en las aplicaciones de los microcontroladores de 8 bits. Tambin dispone de interrupciones y una Pila de 8 niveles que permite el anidamiento de subrutinas. En la Tabla 2.3 se presentan las principales caractersticas de los modelos de esta familia.

Tabla 2.3. Caractersticas relevantes de los modelos PIC16X8X de la gama media. Encuadrado en la gama media tambin se halla la versin PIC14C000, que soporta el diseo de controladores inteligentes para cargadores de bateras, pilas pequeas, fuentes de alimentacin ininterrumpibles y cualquier sistema de adquisicin y procesamiento de seales que requiera gestin de la energa de alimentacin. Los PIC 14C000 admiten cualquier tecnologa de las bateras como Li-Ion, NiMH, ect, Ph y Zinc. El temporizador TMR1 que hay en esta gama tiene un circuito oscilador que puede trabajar asncronamente y que puede incrementarse aunque

34 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

SECCIO N 1 CONCEPTOS DE PROGRAMACIN ESTRUCTURADAel microcontrolador se halle en el modo de reposo (sleep), posibilitando la implementacin de un reloj en tiempo real. Las lneas de E/S presentan una carga pull-up activada por software.

GAMA ALTA: PIC17CXXX, PIC18FXXXX CON INSTRUCCIONES DE 16 BITSSe alcanzan hasta las 75 instrucciones de 16 bits (wide instructions o ancho de instruccin) en el repertorio y sus modelos (algunos de la serie 17CXXXX) disponen de un sistema de gestin de interrupciones vectorizadas (cada interrupcin tiene una direccin nica) y priorizadas (low or high priority) muy potente. Tambin incluyen variados controladores de perifricos, puerto USB 2.0 de alta y baja velocidad, puertas de comunicacin serie y paralelo con elementos externos, un multiplicador hardware de gran velocidad y mayores capacidades de memoria, que alcanza ms de 32 KByte en la memoria de instrucciones y hasta 2048 bytes en la memoria de datos. Quizs la caracterstica ms destacable de los componentes de esta gama (17CXXX) es su arquitectura abierta, que consiste en la posibilidad de ampliacin del microcontrolador con elementos externos. Para este fin, los pines pueden ofrecer al exterior las lneas de los buses de datos, direcciones y control, a las que se conectan memorias o controladores de perifricos. Esta facultad obliga a estos componentes a tener un elevado nmero de pines comprendido entre 40 y 44. Esta filosofa de construccin del sistema es la que se empleaba en los microprocesadores y no suele ser una prctica habitual cuando se emplean microcontroladores.

COMPARACION ENTRE GAMA ALTA (18FXXXX) Y LAS OTRAS GAMAS DE MICROCHIP (16XXXX, 14XXXX, 12XXXX) (18FXXXX) Vs (16XXXX, 14XXXX, 12XXXX)Un PIC 18F452 dispone hasta de 32K bytes = 16KWord de memoria de programa y considerando que cada instruccin o rengln de programa consume 2 bytes (16 bit) entonces el nmero real de lneas que se puede programar en un PIC 18FXXXX es 16384 (la familia 16F87X slo tiene 8164). La memoria RAM es de mximo 2048 bytes (la familia 16F87X slo tiene 368), es decir, puedo declarar un total de 2048 variables de 8 bit 1024 variables de 16 bit las cuales se encuentran distribuidas en bancos de 256 variables cada uno. La memoria EEPROM de dato es de 256 bytes. Por otra parte cabe destacar que posee 31 niveles de pila (level stack) versus 8 niveles de pila de la familia gama media 16F87X. Recordemos que los niveles de pila aluden al nmero de subrutinas o llamados (CALL) anidados que se pueden realizar en la programacin sin regresar (RETURN). Otra ventaja trascendental de la familia gama alta 18FXXXX sobre la gama media 16FXXX alude a la memoria de programa lineal direccionable hasta 32K de la familia 18FXXXX, lo cual elimina el gran inconveniente relacionado con la engorrosa paginacin que se debe hacer con la familia gama media despus de las 2048 primeras lneas de programa debido a que las instrucciones GOTO, CALL, RETURN no funcionan si la etiqueta o subrutina invocada no est en la misma pgina de memoria. La familia 18FXXXX tiene la opcin de activar Prioridad de Interrupciones alta o baja (High priority or Low Priority), lo cual es til en ciertas aplicaciones. Los C 18FXXXX con la opcin PLL (Phase Locked Loop) activa puede multiplicar la frecuencia del cristal por 4, en efecto, con un cristal de 10MHz y el PLL activo puede operar a 40MHz, lo cual implica 10MIPs (millones de instrucciones por segundo) versus los 20MHz mximo (5MIPs) de la gama media. La gama alta tambin puede multiplicar un byte por un byte con una instruccin simple (MULWF) y soporta compilacin en lenguaje C.

35 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

SECCIO N 1 CONCEPTOS DE PROGRAMACIN ESTRUCTURADA

36 de 97DigiBook (Gua de Proyectos Microcontrolados)Marzo /2010

SECCIO N 1 CONCEPTOS DE PROGRAMACIN ESTRUCTURADA

VENTAJAS DE GAMA ALTA Vs GAMA MEDIA (18FXXXX) Vs (16FXXX)Un PIC 18FXXXX dispone de hata 32K bytes = 16KWord de memoria de programa y considerando que cada instruccin o rengln de programa consume 2 bytes (16 bit) entonces el nmero mximo y real de lneas que puedo programar en un PIC 18FXXXX es 16384 instrucciones (la familia 16F87X slo soporta 8164 instrucciones de 14 bits). La memoria RAM mxima es de 2048 bytes para la familia 18FXXXX y 1536 para la familia 18FXX2 (la familia 16F87X slo tiene 368), es decir, puedo declarar un total de 2048 variables de 8 bit 1024 variables de 16 bit (tipo word) las cuales se encuentran distribuidas en bancos de 256 variables cada uno. La memoria EEPROM de dato es de 256 bytes, igual a la gama media 16F87X. 31 niveles de pila (level stack) versus 8 niveles de pila de la familia gama media 16F87X y 2 niveles de la gama baja. Los niveles de pila aluden al nmero de subrutinas o llamados (CALL) anidados que se pueden realizar en la programacin sin regresar (RETURN). La memoria de programa lineal direccionable hasta 32K: la familia 18FXXXX elimina el gran inconveniente relacionado con la paginacin que se debe hacer con la familia gama media despus de las 2048 primeras lneas de programa debido a que las instrucciones GOTO, CALL, RETURN no funcionan si la etiqueta o subrutina invocada no est en la misma pgina de memoria. La familia 18F tiene la opcin de activar Prioridad de Interrupciones (lase prairiri interrupshions) alta o baja (High priority or Low Priority), lo cual es til en ciertas aplicaciones. Los C 18F con la opcin PLL (Phase Locked Loop) activa puede multiplicar la frecuencia del cristal por 4, en efecto, con un cristal de 12MHz y el PLL activo puede operar a 48MHz, lo cual implica 12MIPs (millones de instrucciones por segundo) versus los 20MHz mximo (5MIPs) de la gama media. La mxima frecuencia de operacin es de 48MHz para la familia 18FXXXX y 40 MHz para la familia 18FXX2. La gama alta puede multiplicar un byte por un byte con una instruccin simple (MULWF) La gama alta soporta compilacin en lenguaje C de Microchip Pese a las obvias ventajas de la gama alta 18F sobre la gama media la diferencia de precios no es muy significativa, alrededor de un 20 %. La familia 18F ampli el set de instrucciones a 75, vs 35 de la gama media. La familia 18F mediante el registro BSR brinda la opcin de prescindir del confuso concepto (para algunos programadores) de bancos de memoria para configurar o manipular los registros de p