ENTORNO DE PROTO PR OTON N I DE PLUS Y PI C K I T 2 CL CL ON ON
Una vez se tenga la configuración del hardware y el software de programación, para la transferencia en archivo hexadecimal hexadecimal en el microcontrolador microcontrolador PIC. PIC. Ahora debe estar pensando cómo crear el archivo hexadecimal? ¿Qué ocurre si quiero cambiar la velocidad de parpadeo de los LED etc., etc.? La respuesta es que se tiene que escribir el proyecto en algún lenguaje de programación y, a continuación, usando un transductor, llamado compilador, convertir el programa escrito en el procesador a .hex. Un lenguaje de programación es una colección de palabras, llamados comandos o declaraciones y un grupo de normas para usarlos. Al igual que cualquier otro idioma. Como el inglés tiene palabras, y un conjunto de normas, llamadas gramática para usarlo. El resto de la historia se se encuentra en que usted, desarrolle desarrolle el software para utilizar estos comandos y la gramática para hacer algo útil. Un número de lenguajes de programación están disponibles, estos incluyen Asembler, C / C + +, Basic, Pascal, JAL y muchos otros. Todos estos idiomas se diferencian en el conjunto de comandos.
L e n g u a j e B as as i c
El lenguaje de programación Basic nos permite escribir programas para microcontroladores de una manera muy fácil y rápida; es de rápido aprendizaje y disponible de varias librerías de programación, que nos permite dedicarnos a la lógica del programa y no caer en algoritmos grandes y complejos. Recordemos que un microcontrolador, entre ellos el PIC, es un dispositivo al cual se le conectan entradas y salidas, mediante un programa guardado en su memoria se entrelazan y dan resultado a sistemas lógicos de tipo combinacional y/o secuencial. Se trata de una programación muy popular, tanto para microcontroladores, así como PC. Los comandos y la sintaxis del lenguaje l enguaje son bastante simples. En este tutorial vamos a utilizar el compilador del lenguaje BASIC y entorno de desarrollo integrado llamado PROTON BASIC. También puede encontrar muchos otras
empresas prestadoras de los compiladores de lenguaje BASIC, como MikroBasic de mikroelektronica. Puede descargar la versión de prueba de PROTONBASIC de www.picbasic.org que es el sitio oficial de compiladores de lenguajes BASIC para microcontroladores PIC. Mantenga en mente que el lenguaje BASIC seguirá siendo el mismo, pero el compilador será diferente para otras series de microcontroladores, como ATMEL, etc., tenga en cuenta que este es un compilador usado para microcontroladores PIC. La versión libre de PROTON BASIC tiene algunas limitaciones. Es compatible sólo con algunas familias de PICS de la serie 16F como el PIC 16F628A, 16F84A entre otros, no es compatible con la serie 18F en absoluto. En segundo lugar el archivo de origen está limitado a 50 líneas de código que está bien para principiantes pero no para las aplicaciones reales. Cuando se ha instalado correctamente el protón Basic IDE (Integrated Development Environment) se vería así:
Donde podrá observar que hay dos ventanillas uno de mayor tamaño del panel a la derecha, es el editor principal, donde podrá escribir y editar Programas en lenguaje BASIC. El panel izquierdo más pequeño que se llama 'Código Explorer' y en este se consigna las etiquetas, las variables y registros, etc. disponibles en el programa. Esto es sólo para facilitar el desarrollo, de lo contrario puede ser desactivado.
Este software compilar el programa de lenguaje BASIC en el archivo. Hexadecimal. Después de que se carga el Kit PIC Clon y abrir el archivo. Hex es transferido en el microcontrolador. Este IDE puede facilitar un poco más la configuración de programación ya que después de compilar el IDE automáticamente KIT PIC CLON carga y abre el archivo compilado. Hex listo para ser transferido a microcontrolador. Para hacer esto haga clic en Configuración en la vista y luego en compilar y programar Opciones. Seleccione la etiqueta del programador. El programador seleccionado se muestra en esta figura:
Haga clic en el botón Instalar nuevo programador. Una serie de programadores predefinidos están en la lista ubique e instale el PIC KIT 2 Clon.
Como se muestra, el PIC KIT 2 Clon, no aparece en la lista. Seleccione la opción Crear una entrada personalizada para el Programador y haga clic en Siguiente, escriba el nombre del programador y haga clic en Siguiente. En el Nombre del archivo programador entrar, PIC KIT CLON.EXE y haga clic en Siguiente. Ahora un cuadro de diálogo realizara la búsqueda de la carpeta en la que PIC KIT CLON.EXE se encuentra. Suponga que en D: \ PIC KIT CLON D carpeta. Usted puede elegir buscar de manera automática o Manualmente. Si pulsa un botón Buscar manualmente aparecerá una ventana y usted tendrá que localizar carpeta donde se
copió PIC KIT CLON. Después de que usted seleccione, haga clic en Aceptar y luego en Siguiente. Ahora su PIC KIT CLON también se integra con el IDE de BASIC PROTON. Si por alguna razón no lo hace. No te preocupe, todo lo que tiene que hacer, es, después de compilar el programa, cargar manualmente PIC KIT CLON y abrir el hex. Botones para compilar
Estos dos botones están ubicados en la barra de herramientas superior de IDE. El botón de la izquierda es para compilar solamente. Cuando se activa sólo compila el programa y produce el .hex. El otro botón es para compilar y programar, a su lado hay una pequeña flecha, haga clic en la flecha y una lista de programadores aparece. Seleccione PIC KIT CLON, que es el que acabamos de configurar, si usted desea compilar y cargar el programa, sólo se pulsa este botón. Es cr i b i r s u p r i m e r p r o g r a m a
Bueno, por fin está todo hecho, y es tiempo para probar si podemos escribir nuestro propio programa. Vamos a guardar todos nuestros programas en una carpeta separada Sea: D: \ PICPROJECTS. PROTON tiene un problema conocido, no permite un espacio en el nombre de archivo, o su extensión. Así que no guarde sus programas en 'Mis documentos' o cualquier otra carpeta con un espacio en su nombre, puede utilizar un guión bajo. Si está utilizando la versión de DEMO no permite un número como último carácter del nombre de archivo. Bueno, en la ventana del editor IDE realizar el programa siguiente: Device = 16f84A XTAL = 20 A L L_ D I GI T AL =true O u t p u t PORTB
PORTB=255 En d
Nótese que los comandos toman un color mientras se escriben, esto facilita la lectura del programa. Después de realizar el programa guardarlo en la carpeta de D: \ PICPROJECTS y el nombre del archivo como «LEDS.bas. BAS indica que este es el archivo de código fuente de BASIC. Ahora haga clic en el botón de Compilar y programar. Esto invocará el compilador, que transformara estos comandos en archivo .HEX comprensible para el microcontrolador PIC, si todo sale bien, será automáticamente PIC KIT CLON que cargue el contenido de LEDS.hex en el P I C1 6 F 8 4 A .
Ahora, asegúrese que su programador PIC KIT CLON está conectado al puerto USB de su computador. Haga clic en el botón WRITE. Esto trasladará el programa en el microcontrolador.
Cuando el mensaje se muestra en verde, asegúrese de que ha sido programado el PIC realizando la activación del botón READ. Realizado el montaje Todos los indicadores LED conectado al PORTC del P I C1 6 F 8 4 A . Deberían encenderse. Si se obtiene este resultado está hecho, y listo para proceder a experimentos regulares. Si no lo hace, es el proceso de volver a comprobar todo, debe haber algo mal en alguna parte. Para la construcción de su programador USB visite el siguiente Link: http://www.forosdeelectronica.com/f24/programador-microcontroladores-picmemorias-puerto-usb-pickit2-clone-18080/
PI C 1 8 F4 5 5 0 Los Microcontroladores PIC tienen dualidad de componentes internos, que comprende los registros, temporizadores, la Memoria y otros dispositivos integrados, y un mundo exterior, que consta de otros dispositivos, como LCD, Teclados, altavoces, sensores. Con el fin de comunicarse con estos dispositivos el microcontrolador utiliza sus pines, también llamados I / O. El número de estas líneas I / O es una de las de las
características principales de un microcontrolador. Cuanto más líneas I / O, más dispositivos y sensores son conectados a él. En nuestro caso, utilizaremos el microcontrolador 1 8 F 4 5 5 0 , dispositivo de 40 pines, un Pin MCLR, cuatro de alimentación y dos para el oscilador. El resto de los 33 pines de I / O están disponibles para la conexión de otros dispositivos. La operación de los pines "puede coincidir con la organización de 8-bits, todos ellos de forma similar a los registros, agrupados en cinco puertos llamados A, B, C, D y E. con varias características en común: • Por razones prácticas, que muchos Pines I/ O tienen dos o tres funciones. En caso de que alguna de estas funciones alternativas se encuentre activa, el pin no se pueden utilizar simultáneamente como entrada / salida. • Cada puerto tiene su "satélite", es decir, un Registro correspondiente TRIS: TRISA, TRISB, TRISC etc., que determina el rendimiento, pero no el contenido de los bits del puerto.
En la configuración de algunos bits del registro TRIS (bit = 0), el pin del puerto correspondiente se habilita como salida. Del mismo modo, mediante el establecimiento de algunos bits del registro TRIS (bit = 1), el pin del puerto correspondiente está configurado como entrada. Esta regla es fácil de recordar 0 = salida, 1 = entrada.
Otros lenguajes de programación requieren volver a establecer los bits adecuados de los registros TRIS antes de usar el puerto. Aunque este método es compatible con BASIC PROTON, un simple comando hace lo mismo. D e v i c e =1 8 F 4 5 5 0 O u t p u t PORTC I n p u t PORTE.0
En este programa, el comando de salida se ha fijado para todo el puerto PORTC, y el comando de entrada para el Bit menos significativo del puerto PORTE.0. Esto práctica también se puede utilizar en los registros asociados TRISC y TRISE asociados.
Pi n e s A / D
Como hemos visto, cada pin de un microcontrolador tiene más de una función. Aunque la mayoría de los datos y la comunicación son en formato digital, las características analógicas son también muy importantes. Un gran número de sensores trabajan con salidas de tipo analógica. Así, que la entrada analógica es esencial para trabajar con estos dispositivos. El PIC18F4550 tiene un número de pines, que pueden adquirir datos analógicos, los mismos pines también pueden ser configurados como digitales, si no son usados en función analógica.
PORTA
Es el Puerto más utilizado para adquirir datos analógicos. Por defecto, este puerto, es configurado como análogo, cuando el procesador se restablece. Con el fin de habilitar la totalidad del Puerto A, o determinados pines, como digital, algunos registros tienen que ser configurados. Al igual que el registro TRISA, que configura la dirección de pines individuales, hay también un registro ADCON0 . Este registro tiene tres bits que corresponden a los 7 canales de entrada analógica. Internamente hay un Convertidor de análogo/digital, por lo que sólo se puede acceder a un canal la vez. Al cambiar el
número en el registro ADCON0 todos los canales están incluidos en la muestra, uno por uno si se desea. En caso de que no quiere aplicar la función analógica en todos, los pines del Pic 18F4550 se utiliza el siguiente comando: A L L_ D I GI T AL true
Esto configura todas las líneas como digital y activa la función de apagado analógico. Esto se implementa en el registro ADCON1 . Si usted necesita una combinación de pines analógicos y digitales, entonces tendrá que jugar con este registro. Con el fin de usar un pin como entrada analógica el bit de TRIS correspondiente se debe establecer como 1, o con el comando INPUT, de modo que pueda adquirir los datos analógicos. PORTB
PORTB es el segundo puerto comúnmente más utilizado. Este es también un puerto bidireccional, y tiene asociado un Registro TRISB. Los bits del registro TRISB correspondiente a los bits PORTB determinan si el pin del puerto actuará como entrada o salida. Este puerto no tiene entradas analógicas, sin embargo, se asocian varias funciones de otros con alfileres individuales, de estas funciones se hará referencia en las secciones apropiadas.
Pines RB6 y RB7
Estos pines merecen una nota especial. Los pines RB6 y RB7 del PORTB se utilizan también para la programación del microcontrolador. RB3, LVP
La mayoría de los programadores utilizan un alto voltaje en modo de programación, lo que significa que el microcontrolador necesita 12V en el pin MCLR para la programación. Sin embargo, algunos programadores utilizan la baja tensión de Programación. Con el fin de utilizar un modo de programación de bajo voltaje, el pin RB3 debe estar conectado a VDD. Es criterio de cada programador colocar en '1 lógico ' este pin para utilizarlo en modo LVP. Así que mantenga esto en mente, mientras esté utilizando RB3 en sus proyectos.
RB 0 ( I n t e r r u p c ió n )
Normalmente, el microcontrolador ejecuta una instrucción a la vez, y mientras se está ejecutando una instrucción no puede controlar otro evento, como pulsar un botón o procedentes de señales. Este problema ha sido superado mediante el uso de interrupciones. Vamos a hablar de esto más adelante en la sección adecuada. RB0, se puede configurar mediante registros internos, no sólo para actuar como terminal de entrada, sino también para activar un evento de interrupción cada vez que su estado ha cambiado. R es i st e n c i a s I n t e r n a s
Muchos dispositivos de entrada como interruptores, teclados, etc. requieren una resistencia pull-up, lo que da un «1» lógico al PIN cuando no hay '0 'en el dispositivo de entrada. PORTB tiene un grupo de resistencias internas que pueden ser activadas a través de funciones especiales, o el comando BASIC: Declare PORTB_PULLUPS true
El Uso de un teclado matricial requiere de resistencias en las columnas. Si está conectado a otro puerto, el circuito de teclado debe tener sus resistencias. Sin embargo, se puede conectar directamente al PORTB, por sus pull-up resistencias internas. PORTC
PORTC es similar a PORTB, como bi-direccional también un puerto digital. Tiene un registro de TRISC asociados que determina la dirección de los pines del puerto. PORTC tiene un número de funciones adicionales relacionadas con sus pines. Por ejemplo se utilizan RC6 y RC7 para la comunicación USART. PORTD
PORTD y el registro TRISD son los mismos que PORTC, otras funciones relevantes se discutirán en las correspondientes secciones del Tutorial, en algunos proyectos se utiliza este puerto para el LCD. PORTE y TRI SE
PORTE es un puerto de 4 bits de ancho, es tanto digital como analógico. Por defecto estos son analógicos, para utilizarlos como registro digital deberá estar configurado. O utilizar una declaración verdadera All_digital para habilitarlos de forma digital. Para Obtener mayor información del PIC 18f4550 visite la siguiente página: http://www.scribd.com/doc/2940003/PIC18F4550