1. ENTORNO DE PROTON IDE PLUS Y PIC
KIT 2 CLON
Una vez se tenga la configuración del hardware y el software de programación, para la
transferencia en archivo hexadecimal en el microcontrolador 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 encuentra en que usted, 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.
Lenguaje Basic
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 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
2.
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.
3.
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 pre-
definidos 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
4.
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.
Escribir su primer programa
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
ALL_DIGITAL=true
Output PORTB
PORTB=255
End
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 PIC16F84A.
5.
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 PIC16F84A.
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-pic-
memorias-puerto-usb-pickit2-clone-18080/
PIC 18F4550
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
6.
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 18F4550, 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.
7.
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.
Device=18F4550
Output PORTC
Input 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.
Pines 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
8.
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:
ALL_DIGITAL 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.
9.
RB0 (Interrupció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.
Resistencias Internas
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 TRISE
10.
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