Tutorial: Microcontroladores y el PIC16F84



Documentos relacionados
SISTEMA ALARMA DOMESTICO MEMORIA

Programador de PIC s y Memorias EEPROM

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

Capítulo 1 Introducción a la Computación

Instalación y uso de Check 2000 Client Server con ZENworks 2

DISEÑO E IMPLEMENTACIÓN DE UNA TARJETA DE ADQUISICIÓN DE DATOS PARA EL LABORATORIO DE TELECOMUNICACIONES DE LA FIEC.

REGISTROS DE DESPLAZAMIENTO

AUTOMATIZACION. Reconocer la arquitectura y características de un PLC Diferenciar los tipos de entradas y salidas

UNIVERSIDAD DON BOSCO

UNIDADES DE ALMACENAMIENTO DE DATOS

La forma de manejar esta controladora es mediante un ordenador utilizando algún lenguaje de programación (Por ejemplo.: C, Visual Basic, Logo,...).

PIC MICRO ESTUDIO Timer Monoestable/Biestable ajustable hasta 99H 59M 59S Timer 2T Clave:

Programando con SinaProg. Manual de usuario para programar microcontroladores Atmel AVR en Windows con SinaProg

Usando los Codificadores Cuadráticos

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

Guía para construir un programador y una mini placa de desarrollo para el microcontrolador PIC

PROGRAMACIÓN DE PICs EN LENGUAJE C

CAPITULO IV CONCLUSIONES Y RECOMENDACIONES

Guía resumida para utilizar el microcontrolador CY7C68013

M.T.I. Arturo López Saldiña

Temporizadores y contadores en tiempo real: El módulo Timer0 y el prescaler del PIC

Capítulo 5. Cliente-Servidor.

podemos enfocar al funcionamiento del robot, es decir la parte de electrónica. Para que el

Programación y diseño de dispositivos mediante microcontroladores PIC

DESCRIPCION DEL SITEMA MASTER.

MikroProgrammer 22 Clave: F502 Programador USB de Microcontroladores PIC y Memorias EEPROM Manual de Referencia v1.1

Edición de Ofertas Excel Manual de Usuario

Control Digital en PC con MS-DOS

TARJETA CONVERSORA ANALOGA/DIGITAL (A/D)

Anexo B. Comunicaciones entre mc y PC

Microchip Tips & Tricks...

Módulo 1 El lenguaje Java

Programador de microcontroladores PICs ENIGMA

Especificaciones técnicas de los prototipos:

Guía de Usuario Programador USB

FUNDAMENTOS DE PROGRAMACION CON C#

Actividad 4: Comunicación entre PLC s vía Ethernet

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta

Cuestionario: Programación en C y máscaras (II)

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Quark Pro 2 Cargador de Microcontroladores PIC y Memorias EEPROM 24CXX

CAPITULO 6 GUIA DE USUARIO

Práctica PLC1: Introducción a la programación del PLC Siemens 314IFM en el entorno Step-7

Metodologías de diseño de hardware

Conexión a red LAN con servidor DHCP

Familias de microcontroladores de radio frecuencia.

CAPÍTULO 3 VISUAL BASIC

Lectura 2: El Sistema Operativo y sus Funciones

picojava TM Características

Gestión digital sencilla de controladores de fuentes de alimentación analógicas

Programación en C para plataforma CADmega128, basada en microcontrolador Atmel megaavr

Ardunio. Control Led desde Lazarus

COMUNIDAD DE FORMADORES DEL EMPRENDIMIENTO TECNOLÓGICO FEMPRETEC

INTERRUPCIONES. La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales:

Desarrollo de una plataforma de enseñanza de laboratorio para educación a distancia.

WINDOWS : TERMINAL SERVER

Figura 1. Símbolo que representa una ALU. El sentido y la funcionalidad de las señales de la ALU de la Figura 1 es el siguiente:

La Pirámide de Solución de TriActive TRICENTER

Una computadora es un dispositivo electrónico, operando bajo el control de las instrucciones almacenadas en su propia unidad de memoria.

Introducción a la Firma Electrónica en MIDAS

CONECTANDO EL SOFTWARE EN REDES

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

PIC-Ready2. Placa adicional. Manual de usuario. MikroElektronika

ÍNDICE DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ

Herramientas hardware y software para el desarrollo de aplicaciones con Microcontroladores PIC bajo plataformas GNU/Linux

MODULO Nº12 TRANSISTORES MOSFET

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

Curso Online de Microsoft Project

Placa de control MCC03

HARDWARE DE SISTEMA AUTOMÁTICO DE RASTREO DE VEHÍCULOS MEDIANTE TECNOLOGÍAS GPRS Y GPS

solecméxico Circuitos de disparo 1 CIRCUITOS DE DISPARO SCHMITT - TRIGER

Guía de Usuario Convertidor USB-Serial

Tema: INSTALACIÓN Y PARTICIONAMIENTO DE DISCOS DUROS.

T3-Rondas V 1.1. Help-Pc, S.L. C/ Pintor Pau Roig, 39 L Premià de Mar Barcelona Tel. (93) Fax marketing@t2app.

UNIVERSIDAD TECNICA DEL NORTE

En el presente capítulo se describe la programación del instrumento virtual y cómo

Manual de software. Dynamic Cloud. 10/2014 MS-Dynamic_Cloud v1.2

PLAN DE PRUEBAS DE LA SKILLS 16 ELECTRÓNICA

MODULO Nº6 TIRISTORES UNIDIRECCIONALES

SOFTWARE DE RECUENTO DE DINERO

Práctica No. 1. Consulta de las versiones del SO

Estructuras de Sistemas Operativos

Comunicación entre un PLC S y WinCC Advanced

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

Conexión de GPS a Open CPN.

Informática 4º ESO Tema 1: Sistemas Informáticos. Sistemas Operativos (Parte 2)

Interoperabilidad de Fieldbus

Autor: Microsoft Licencia: Cita Fuente: Ayuda de Windows

Tema 7. SISTEMAS SECUENCIALES SISTEMAS SECUENCIALES SÍNCRONOS

Técnicas de Programación

Workflows? Sí, cuántos quiere?

Programador de PICs, memorias EEPROM I 2 C y memorias EEPROM MicroWire (zócalo incorporado) Equipos Electrónicos

Una computadora de cualquier forma que se vea tiene dos tipos de componentes: El Hardware y el Software.

CREACIÓN DEL PRIMER PROYECTO EN mikrobasic PRO for AVR

Soporte Técnico de Software HP

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

Introducción a PHP. * No es necesario declarar previamente las variables.

CORPORACIÓN MEXICANA DE INVESTIGACIÓN EN MATERIALES, S.A. DE CV

MACROS. Automatizar tareas a través del uso de las macros.

CONCLUISIONES Y RECOMENDACIONES

Transcripción:

Tutorial: Microcontroladores y el PICF Juan Pablo Caram de octubre de 00 Resumen El objetivo de este documento es introducir al lector en el tema de los microcontroladores, y llevarlo rápida y económicamente a desarrollar prototipos utilizando el microcontrolador PICF, sin depender de compleja instrumentación de laboratorio, y con componentes disponibles en cualquier local comercial del rubro. Además las herramientas de trabajo y el software aquí expuesto son de libre distribución. Índice. Microcontroladores.. Introducción................. Características................ Proceso de Desarrollo........... El PICF.. Introducción................. Desarollo de Software............ Programación................ Circuito Base............... Ejemplo.. Descripción................. Programa.................. Circuito.................. Ejemplo.. Descripción................. Programa.................. Circuito.................. Más allá de este documento A. Recursos en Internet y Bibliografia B. Lista de Componentes del Programador C. Lista de Componentes para los Ejemplos D. Configuracion del Prog. Microcontroladores.. Introducción Estos dispositivos son, en un solo chip, un pequeño computador, ya que cuentan con memoria para un programa, una CPU, memoria de datos y almacenamiento, y puertas de entrada y salida, que les permite funcionar como el cerebro de dispositivos electronicos mas complejos. Su comportamiento puede ser fácilmente descrito por un programa escrito en distintos posibles lenguajes. Las aplicaciones de estos dispositivos son tantas como lo permita la imaginación, y están en mas lugares de los que se cree. Por nombrar algunos, se encuentran en casi todos los automobiles, hornos microondas, telefonos celulares, etc... Características Los microcontroladores, o µc de ahora en adelante, son dispositivos digitales que pueden interactuar con el resto de un circuito a travez de sus pines o líneas de datos, que pueden configurarse como entradas o salidas. Cuando son entradas, pueden adquirir datos, interpretando si en ellos existe un valor lógico o 0, mientras que cuando son salidas, pueden controlar su valor lógico. Entonces su trabajo es básicamente interpretar los valores en sus pines de entrada y realizar alguna acción según estos, mediante los pines de salida. Para responder a eventos, como el cambio de estado en un pin de entrada por ejemplo, los µcs cuentan con un recurso conocido como interrupciones. Estos son los eventos para los que se detiene la ejecución del programa y se ejecuta una parte específica de éste como respuesta.

Un caso típico es el de un botón pulsador conectado a un pin, y se desea realizar alguna acción determinada al pulsarlo. Las interrupciones pueden no solo ser el cambio de estado de un pin y dependera de las características del µc en cuestión. Características mas sofisticadas disponibles en algunos µcs, entre otras, son: Figura : Programación archivo.hex Puerto serial, USB, u otro. Software Programador Convertidor análogo digital: Convierte un voltaje presente en una línea de entrada en un valor numérico manipulable por el programa. Microcontrolador Hardware Programador Modulador por ancho de pulso, o PWM: Generador de onda cuadrada de frecuencia fija pero con ancho de pulso controlable. Comunicación serial por hardware: Permite enviar y recibir datos serialmente en forma síncrona y asíncrona... Proceso de Desarrollo. Desarrollo del software. Una vez determinada la funcionalidad del µc en un circuito, se debe escribir el programa que regirá su funcionamiento. Generalmente, los µcs se programan en leguaje Assembler, sin embargo, existen compiladores para leguajes de alto nivel, como C y C++, que pueden resultar de utilidad cuando se desea minimizar el tiempo de desarrollo. Es importante considerar que el codigo Assembler (.asm o.s) generado por los compiladores es generalmente mas largo e ineficiente que aquel concebido originalmente en Assembler. Figura : Desarrollo de Software El último paso es ensamblar el programa en Assembler, procedimiento que lo convierte en codigo binario específico para cada µc. El programa que ensambla es denominado obviamente ensamblador.. Programación. Este proceso corresponde a utilizar un programa en el PC que toma el código ensamblado (.hex) para el µc específico, y lo envia mediante algún puerto (serial, paralelo, USB, etc.) a un dispositivo que lo escribe en la memoria del µc. Se acostumbra denominar programador tanto al sofware como al hardware involucrados de este propósito, por separado, lo que puede llevar a confusión.. Prueba real y corección de errores. Una vez programado el µc, se puede instalar en el circuito final para comprobar su adecuado funcionamiento. Existen heramientas de software que permiten simular el comportamiento de un µc, muy utiles cuando el programa alcanza cierta complejidad. Para resolver problemas en un circuito real, el instrumento mas utilizado es el analizador lógico. Usuario archivo.asm Ensamblador archivo.c Compilador archivo.hex. El PICF.. Introducción El microcontrolador PICF de Microchip (www.microchip.com) es uno de los microcontroladores mas utilizados en proyectos electrónicos pequeños. A diferencia de versiones mas avanzadas como el igualmente popular PICFX, este carece de convertidor A/D, PWM, comunicación serial por hardware y a la

vez tiene menos memoria y puertos (conjuntos de lineas de datos) disponibles. Sin embargo, su fácil uso, bajo precio y altísima difusión, lo hacen el µc favorito en un gran rango de aplicaciones. De todos modos, muchas de las características que este µc no posee pueden ser implementadas por software. Afortunadamente el compilador de JAL compila y ensambla a la vez, entregando el archivo.hex listo para programar. Con cualquier editor de texto puede escribir su código y grabarlo en un archivo.jal, para luego compilar desde la carpeta de JAL con el comando RA RA RA/T0CKl MCLR Vss RB0/INT RB RB RB Figura : Pines en el PICF PICF 9 0 RA RA0 OSC/CLKIN OSC/CLKOUT Vdd RB RB RB RB Este dispositivo tiene líneas de entrada/salida, con tecnología TTL/CMOS, es decir, V para un estado lógico y 0v para el estado 0. Requiere un oscilador externo de hasta 0MHz, se programa mediante un juego de instrucciones en Assembler, que manejan datos de bits, cuenta con un timer, un watchdog timer y responde a interrupciones ante cambios de estado en las líneas de la puerta B, RB hasta RB, al flanco de subida o bajada en la línea RB0/INT, y al overflow del timer... Desarollo de Software El proceso de desarrollo de aplicaciones para el PIC es equivalente a lo descrito en la figura. Aquí se describen algunos lenguajes de programación disponibles, con sus respectivos compiladores. JAL Este lenguaje fue desarrollado específicamente para µcs PIC, lo que hace muy intuitivo trabajar con el. Su estructura es muy similar a la de Pascal, y cuenta con librerías para realizar múltiples tareas comunes. Evento que ocurre al incrementar un registro por sobre su valor maximo../bin/jal -slib archivo.jal donde archivo.jal es el archivo donde reside su codigo. El parametro -slib indica al compilador que debe buscar las librerías utilizadas en la carpeta lib. JAL generara los archivos archivo.asm y archivo.hex, que corresponden al código en Assembler y ensamblado respectivamente. C y PIC LITE Este compilador de C, desarrollado por Hitech (www.htsoft.com) es la versión gratuita de un compilador de características profesionales. La disponibilidad de PIC LITE en el futuro no está asegurada, pero existen otros compiladores disponibles grauitamente con características similares. El uso de C puede ser muy conveniente para aquellos que ya estan familiarizados con este lenguaje y quieren minimizar la curva de aprendizaje y desarrollo con µcs. El compilador tiene numerosas opciones que deben ser consideradas y todo está adecuadamente documentado. Éste también genera automáticamente el archivo.hex. ASSEMBLER Los programas concebidos originalmente en Assembler son los mas eficientes, sin embargo el proceso de desarrollo es tedioso y requiere de un aprendizaje mas largo que con lenguajes de mas alto nivel. Para seguir esta via, se recomienda leer la hoja de datos, que permite familiarizarse con el conjunto de instrucciones. A la hora de ensamblar las opciones son varias, pero se recomienda utilizar las soluciones mas probadas. En el caso de Linux, gpasm es el ensablador del conjunto de aplicaciones gputils. En Windows, MPLAB de Microchip provee el ensablador por defecto para los PICs.

.. Programación Existen, en internet, numerosas duplas software/hardware para programar µcs PIC disponibles en forma gratuita para diferentes sistemas operativos. Es importante considerar que, por lo general estas duplas hardware/software son interdependientes; lo que a veces dificulta encontrar una combinación que cumpla las espectativas del desarrollador. Aquí se presenta una dupla con la que se pretende lograr los objetivos de simplicidad, bajo costo y disponibilidad tanto para Linux como para Windows. Para que el PICF entre en modo de programación se debe forzar un estado lógico 0 en RB (pin ) y RB (pin ), mientras que MCLR (pin ) se lleva a 0 para resetear, y, finalmente se lleva y mantiene durante toda la programación a un voltaje de a V. Una vez que se ha entrado en el modo de programación, se utiliza RB para ingresar serialmente la información, y RB se utiliza como señal de reloj para aceptar cada bit en RB. Los detalles que se refieren al protocolo de programación pueden encontrarse en la documentación del fabricante. El circuito denominado COM logra estas especificaciones en forma muy minimalista, e incluso toma poder del puerto serial, por lo que no requiere de alimentación externa. Figura : Programador Serial Minimalista (COM) este circuito es muy simple, y se suguiere construirlo directamente en una PCB, lo que lo hará mas confiable y duradero. Reg. 0 DB9 Hembra (Puerto Serial) Figura : Programador Terminado C=00uF R, R, R y D Base DIP (para PICF) Las resistencias pueden ser de baja potencia (/W), el diodo D es un diodo rectificador cualquiera, aunque se recomienda el N, y el condensador C es electrolítico. El 0 es un regulador de voltaje que entrega V (out) cuando tiene una entrada (in) mayor. El diseño minimalista de este circuito requiere que el puerto serial del PC entregue los niveles de voltaje y potencia adecuados. Por esta razón el programador puede (y así ha resultado en ciertos casos) no funcionar en Notebooks. De todos modos, segun la especificación de programación ya descrita, este circuito puede ser modificado para utilizar una fuente de alimentación externa. TXD () GND () RTS () DTR () CTS () R 0k D 0 in R.k R.k out C 00u PICF 9 MCLR VSS VDD RB RB 0 PROG Este software programador puede ser utilizado con este y otros circuitos programadores. La configuración del tipo de hardware y puerto serial se realiza mediante un archivo de configuración. Ver anexo con un archivo de configuracion de ejemplo. Una vez configurado y conectado el hardware adecuadamente, la programación se lleva a cabo con el siguiente comando prog -x archivo.hex.. Circuito Base Al lado izquierdo de la figura se observan las entradas del puerto serial, con sus respectivos numeros de pin en el conector típico DB9. La implementación de En el circuito final, el PICF requiere ciertos componentes basicos, iguales para cualquier configuracion: un cristal y condensadores, que proveen la señal de reloj,

y las lineas de alimentación, Vdd, y tierra, Vss. MCLR es el reset, por lo que debe mantenerse en estado lógico durante su funcionamiento. Esto se puede observar en la figura del ejemplo.. Ejemplo.. Descripción La forma mas demostrativa y simple posible de iniciarse con un µc es hacer parpadear un LED. Para esto, se debe implementar un programa que continuamente cambie el estado de un pin y espere cierto tiempo antes de repetir. En este ejemplo utilizaremos JAL como lenguaje de programación del PIC... Programa : -- Ejemplo : : -- Inclusiones : include f_ : include jlib : : -- Configuracion : pin_b_direction = output 9: 0: -- Variables : var bit led is pin_b : led = high : : -- Loop Principal : forever loop : -- Cambio de estado del pin : led =! led : -- Retardo 9: delay_ms(0) 0: end loop El alto nivel de JAL parmite que el código sea autoexplicativo, y además se incluyen comentarios (con el prefijo ). Los archivos incluidos, en las líneas y contienen definiciones específicas del PICF, como las correspondientes posiciones de memoria para pin_b y pin_b_direction, y las funciones que generan el retardo. En la línea se define la dirección del pin RB, como salida en este caso. En las líneas y se define la variable led, se le asigna a RB y se asigna su estado inicial activo. Finalmente, entre las líneas y 0 se encuentra el loop del programa, que se ejecuta indefinidamente. En este se cambia el estado del pin/led. En la linea, y en la linea 9 se llama a una función que detiene la ejecucion durante 0ms. La función delay_ms() ejecuta un retardo de ms multiplicado por el parámetro. Su funcionamiento se basa en el hecho de que una instrucción (en Assembler) tarda tiempos de reloj, por lo que se ejecuta un loop el número de veces que tome el tiempo requerido según la velocidad del reloj. Esto se encuentra especificado en el programa dado que se incluyó la versión de MHz (linea ) de las funciones específicas de este PIC... Circuito +V R 0k C.u Figura : Circuito Ejemplo PICF MCLR VSS OSC OSC VDD RB 9 0 +V R 0 LED X MHz C,C En la figura se observa la circuitería mínima del PIC con excepción de aquella conectada al pin que corresponde a la aplicación específica descrita en este ejemplo. En este caso, cuando RB está en estado tiene V y encederá el LED. Debe limitarse la corriente que pasara por el LED con una resistencia (R), para no dañarlo o dañar el puerto del PIC. Una configuración alternativa es conectar el par LED/resistencia a Vdd (V) y a RB, lo que causará que el LED se encienda cuando RB tenga un estado lógico 0. Estos conceptos deben mantenerse en mente al considerar cuanta corriente puede un pin entregar o recibir como máximo. p

. Ejemplo.. Descripción Este ejemplo es una extensión del ejemplo anterior, para ilustrar la implementación de respuesta a estímulos externos, mediante interrupciones. Utilizando el lenguaje C para el compilador PICLITE, implementamos un programa que permite encender y apagar un led al presionar un boton pulsador... Programa : #include pic.h : #include delay.h : : #define PORTBIT(adr, bit) : ((unsigned)(&adr)*+(bit)) : : // Variables globales : static volatile bit 9: led @ PORTBIT(PORTB,); 0: static volatile bit presionado = 0; : : // Funcion interrupcion : void interrupt isr() : { : if(intf){ : /* Ocurrio Interrupcion por INT : * --> Deshabilitamos interrup. : * por INT y al final restauramos 9: * en indicador de interrupcion. 0: */ : INTE = 0; : presionado = ; : INTF = ; : } : } : : // Rutina principal : void main() 9: { 0: ie(); /* Habilitada Ints. */ : : /* Loop permanente */ : for(;;){ : if(presionado){ : presionado = 0; : led =!led; : DelayUs(0); : INTE = ; 9: } 0: } : } Las líneas y incluyen librerías de funciones específicas para los PIC, y para retardos (función delayus()). El PIC específico y la velocidad de reloj se especifican al momento de compilar. La definición en la línea simplemente permite indicar la dirección de memoria para un bit específico de un byte. Las variables han sido definidas como volatile, que es un requisito para pines y variables que son modificadas desde la función interrupción. La variable led se refiere al estado de RB, y presionado indica si el pulsador ha sido presionado. La función isr() entre las líneas y está definida como la función interrupción con el indicador interrupt. El nombre de la función no tiene importancia. Esta es ejecutada cuando ocurre cualquiera de las posibles interrupciones, pero la variable INTF se torna verdadera si la interrupción fue producida por el pin RB0. Si es así, desactivamos las interrupciones por INT, marcamos verdadero presionado y reseteamos la variable INTF para poder detectar este tipo de interrupción posteriormente. La desactivación de la interrupción por INT, se hace para evitar nuevas interrupciones por el rebote del botón pulsador. Al hacer contacto un interruptor mecánico se producen rápidas oscilaciones antes de asentarse en su valor final, como se muestra en la figura. Esto se conove como rebote. Voltaje Figura : Rebote de Boton Boton Presionado V 0V Tiempo La función main() contiene el programa ejecutable. En este habilitamos las interrupciones en la línea 0, y en el loop permanente, al detectar que el botón ha sido presionado, reseteamos la variable presionado, cambiamos el estado del led, esperamos 0us para asegurarnos que se halla asentado el rebote del botón, y habilitamos

nuevamente las interrupciones por INT, en la linea. Las variables INTE e INTF son bits del registro INT- CON. Este byte de configuración del PIC contiene información y configuración de las interrupciones, que permiten activarlas o desactivarlas según fuente (como INTE) e indican si ha ocurrido cada tipo de interrupción (como INTF). Todos los registro de información y configuración se encuentran documentados en la hoja de datos del PIC. Para compilar el programa en archivo.c para el PICF, con un cristal de 0MHz utilizamos el comando El parametro -O indica optimización de código, necesaria para la presición de las funciones delayus() y reduce el tamaño total del código generado... Circuito +V R 0k C.u B R 0k Figura : Circuito Ejemplo +V PICF MCLR VSS RB0/INT OSC OSC VDD RB 9 0 +V R 0 LED X MHz C,C p. Más allá de este documento La variedad de microcontroladores y sus aplicaciones son mucho mayor que lo propuesto es este documento. Sin embargo el medio para abordar nuevos temas en este rubro puede ser algo confuso por lo que se sugieren algunos caminos a proseguir. La hoja de datos del PICF provee los detalles técnicos de su funcionamiento. La correcta interpretación y comprensión de este documento es el camino para dominar en totalidad este µc. Microchip provee tambien documentos denominados Application Notes, que describen aplicaciones y técnicas específicas a cada versión de PIC. Estos son muy picl -c -O -DXTAL_FREQ=0MHz programa.cilustrativos y son una forma mas dinámica de aprender al respecto, manteniendo el profesionalismo de los fabricantes. Por otro lado, la literatura disponible para este PIC es extensa, al igual que los recursos disponibles en Internet. Las aplicaciones posibles del PICF solo están limitadas por la imaginación. En Internet pueden encontrarse aplicaciones sorprendentemente creativas y otras con las que se obtienen desempeño inesperado con este PIC. PICFX Este PIC es el mas popular para aplicaciones de nivel intermedio y avanzado, y es una excelente opción para tener en mente cuando se requieren mas lineas de E/S, convertidores A/D, PWM, comunicación serial por hardware, entre otros. Existen versiones con distintas características como el tamaño de la memoria y numero de pines. Una vez que se ha dominado adecuadamente el PICF, adquirir los conocimientos para utilizar este nuevo PIC es considerablemente mas facil. El costo de la versión PICF, la mas poderosa, tiene un costo de aproximadamente el doble del PICF. Como se observa en la figura, la única modificacion al circuito del ejemplo anterior es la del pulsador B entre RB0/INT y +V, con resistencia Pull-Down. R mantiene el puerto en LOW (0), y al presionar, sube a HIGH (), por lo tanto, la interrupción se produce al presionar. Si se desea que la interrupción se produzca al soltar el pulsador, solo basta intercambiarlo con R. MOTOROLA HC0 Otros fabricantes pueden tener productos considerablemente diferentes, tanto en su funcionamiento, instrucciones de CPU o método de programación, sin embargo, los µc de nivel de entrada (entry-level) tienen mucho en común.

Este es el caso la nueva línea Q de µcs Motorola. Han sido introducidos al mercado para competir con Microchip por este sector. A pesar de que todavía la disponibilidad de herramientas de software hoy es escasa, esta familia de dispositivos tiene ciertos atractivos, como lo son su precio, inferior al del PICF en todos sus modelos, convertidores A/D en casi todos ellos, PWM, oscilador interno, y la disponibilidad gratuita del popular entorno de desarrollo Code Warrior. Ademas estan disponibles en encapsulados de y pines. A. Recursos en Internet y Bibliografia WWW.MICROCHIP.COM Sitio del fabricante de los PIC. Aqui encontrara las hojas de datos y application notes para todos los modelos de PIC disponibles. WWW.HTSOFT.COM Hitech produce el compilador PIC LITE para C. Este puede bajarse gratuitamente de su sitio web. La versión completa de este producto es uno de los compiladores mas poderosos existentes para microcontroladores PIC. JAL.SOURCEFORGE.NET Sitio de la comunidad de desarrollo de JAL. Aqui puede bajar JAL para Linux, Windows o MacOS X, bajar la documentacion y acceder a numerosos ejemplos. WWW.GNUPIC.ORG Recopilacion de recursos para el manejo y desarrollo de aplicaciones con PICs para Linux. Incluye links a ensambladores, desensambladores, compiladores, simuladores, programadores y mas. En la seccion programadores encontrara un link para bajar el Prog. B. Lista de Componentes del Programador Resistencias de.kω (Valor no critico). Regulador de Voltaje 0. Diodo N u otro diodo rectificador de senal. Condensador Electrolitico de 00µF. Conector DB9 Hembra para PCB en 90 o. Base DIP. C. Lista de Componentes para los Ejemplos Cristal para mictrocontrolador de MHz. Condensadores de pf. Condensador de.µf (Valor no critico). Resistencia de 0kΩ (Valor no critico). Resistencia de 0Ω (Valor no critico). Boton pulsador siempre abierto. D. Configuracion del Prog Este programa requiere un archivo de configuracion que indique el puerto serial a utilizar, y el tipo de hardware programador. Para el hardware expuesto en este documento, solo debe modificar este archivo para el puerto serial que desea utilizar (lineas a ). : port serial : : ### for serial port: : base= 0xf # com, ttys0 : #base= 0xf # com, ttys : #base= 0xe # com, ttys : #base= 0xe # com, ttys : 9: # settings for UniprogIV / BR0 0: # and similar seriel PIC programmers. : no_power_cc = 0 : : power: TxD : mclr: TxD : data: DTR : data_f: CTS : clock: RTS Resistencia de 0kΩ (Valor no critico).