Basic Para Pics
Enviado por renatobar • 22 de Septiembre de 2013 • 1.437 Palabras (6 Páginas) • 583 Visitas
Basic para Pics
Ing. Wilfrido González Bonilla
www.electronicaestudio.com
Muchos aficionados a la electrónica aun no se animan a aprender a manejar los
microcontroladores PIC debido a la creencia de que su lenguaje es muy complejo y
difícil de aprender. Como hemos visto en los artículos anteriores esto es falso. El
“Ensamblador” de los PIC es muy sencillo y el numero de instrucciones que el usuario
necesita dominar se limita a unas cuantas decenas.
También se cree que los programas para los PIC son muy largos y que puede tomar
muchos días o semanas el resolver una aplicación. Creo que esto no es
necesariamente verdad. Como vimos en el Secuenciador de Luces de un artículo
anterior, la aplicación se resuelve muy rápidamente con el uso de MACROS.
Bueno, quizás nunca podamos convencer a algunos de nuestros amigos lectores a
estudiar con nosotros los programas en Ensamblador. Pero el mundo de los PIC no
termina ahí, justamente lo contrario. El ensamblador es solo el principio porque los PIC
se pueden programar en otros lenguajes: BASIC y C principalmente.
¿Cómo puede ser esto posible?
Existen compiladores “especiales” en los que se puede editar en el lenguaje Basic o
C y obtener un file “hex” listo para que su grabador de PICs lo utilice.
Cuidado, algunos principiantes se confunden y piensan que con Visual Basic o que
con Turbo C van a poder programa un PIC. No, lo que se necesita es un programa
especial.
El lenguaje que quizás es el consentido de los programadores es el Basic y en él
nos concentraremos para que más adelante en otros artículos toquemos el C.
Existen muchos proveedores de software especializados en ofrecer compiladores
Basic para programar Pics. Algunos de los más conocidos los podemos encontrar en
las siguientes páginas de Internet:
http://www.letbasic.com/
http://www.melabs.com/
http://www.basicmicro.com/
Algunos de ellos ofrecen versiones gratis o “Demos”. Otros ofrecen compiladores muy
completos pero también mas caros.
PicBasic Pro de Micro Engineering Labs Inc. (http://www.melabs.com/) es uno de los
más conocidos. Este poderoso compilador pone al alcance del usuario potentes
instrucciones para comunicación serie, matemática de 16 bits, mediciones de censores
analógicos, PWM, sonido, y muchísimas más.
Además de general los files “hex” y también es capaz de generar los files “asm”. De
tal manera que sí se pueden hacer modificaciones de bajo nivel.
Otra magnífica carteristica de este compilador es que además de soportar al
PIC16F84 también soporta a muchos otros de la gran familia de MICROCHIP. Por
ejemplo los micros Flash PIC16F628, 16F876 y el 16F877.
Mencionemos algunas instrucciones
If . . Then
Salto condicional a otra instrucción.
For . . Next
Repite varias veces una serie de instrucciones.
Gosub
Llamada a una subrutina
High
Enciende un pin
Low
Apaga un pin
Serin
Entrada serie asíncrona en un pin. (RS232)
Serout
Salida serie asincrona en un pin. (RS232)
Adcin
Lee el convertidor analógico digital
Write
Escribe en la memoria EEPROM del PIC
Hpwm
Salida para generar modulación en anchura de pulsos
Estas son solo algunas de las instrucciones que se encuentran disponibles en este
compilador. Existen otras que nos permiten generar instrucciones para pantallas de
cristal liquido LCD, o para programar memorias EEPROM.
Con la tarjeta Entrenadora del PIC16F84 (Clave 502) se entrega un disco en el que
se incluye una seccion con programas en PBP (PICBasic Pro). A continuación vamos a
ver algunos ejemplos.
1.- Editar
Para Editar los programas en PBP se requiere de un editor de texto ASCII. Una
buena selección es el mismo paquete de MPLAB.
Cuando se edita un programa en Ensamblador el file que se genera tiene la extensión
“asm” como ya lo hemos visto. En este caso como el programa que estamos editando lo
haremnos para Basic, la extensión será “bas”.
MPLAB no genera automáticamente esta extensión, por esta razón una ves que
hemos tecleado el programa lo debemos salvar especificando la extensión “bas”.
Fig. 1
Veamos un ejemplo sencillo eje1.bas
'Para Test1
'***Usar compilador PBP***
'Enciende S1 durante un segundo
‘Declaracion de variables
S0 VAR PortB.0
S1 VAR PortB.1
S2 VAR PortB.2
S3 VAR PortB.3
S4 VAR PortB.4
S5 VAR PortB.5
S6 VAR PortB.6
S7 VAR PortB.7
‘Define todos los bits del Puerto B como salidas
TrisB = %00000000
Inicio:
PortB=0
S1=1
Pause 1000
S1=0
End
El objetivo de este programa es que al energizar la tarjeta se encienda el bit 0 del
Puerto B durante un segundo.
En primer lugar debemos observar que los comentarios ya no usan el ; (punto y
coma) sino una sola comilla ‘. En los teclados en Español se encuentra justamente
debajo del signo de interrogación. Al igual que en Ensamblador el comentario puede
inciar un renglón o usarse después de la instrucción. Todo lo que siga a la comilla simple
( ‘) será un comentario y no será considerado por el compilador.
Los pins del microcontrolador pueden accesarse de diferentes maneras. La más
sencilla seria:
PortB.0 = 1 ‘Enciende el bit 0 del Puerto B
PortB.5=0
...