lunes, 13 de agosto de 2012

PROGRAMANDO EN BASIC: Lenguaje de alto Nivel para Microcontroladores.


Basic es un lenguaje de programación de alto nivel, este lenguaje nos proporciona herramientas, fácil de usar al momento de interactuar con los elementos internos de un microcontrolador, es decir el código necesario para poder  utilizar el Timer, el LCD, el ADC, el RCT, entre otras herramientas internas que nos proporciona el microcontrolador, es tan fácil de programar, que cualquier niño lo podría hacer.


Encendido y Apagado de un LED

El siguiente proyecto hará que un led se encienda y se apague con una frecuencia de 1Hz.

Esquema Electrónico:


Programa del Microcontrolador:



Explicación del programa:

$regfile = M8def.dat    
//con esta palabras reservadas del Bascom-AVR configuramos el tipo de microcontrolador a usar, para este caso el Atmega8.

$crystal = 8000000         
//Este comando es para definir el cristal, es decir el oscilador o nuestra frecuencia de trabajo, para este caso vamos a usar un cristal de 8 Mhz.

Config PORTB.0 = Output           
//Este comando nos permite configurar si los puertos van a ser entradas o salidas, para este ejemplo se configura el PIN B0 del microcontrolador Atmega8, como salida.

Led alias PORTB.0          
//con el comando Alias, se pone nombre a los puertos, para el ejemplo al PIN B0, le estamos dando el nombre de Led.

Led=0                                  
//Esta es una asignación de valor, es decir le estamos dando el valor de “0 lógico” a la variable Led, que en definitiva es el PIN B0.

Do
Loop     
End
//Esta es la parte más importante del programa, pues en el vamos a escribir todo nuestro programa, en este caso el Bascom-AVR, nos proporciona un lazo indefinido con la palabra reservada DO. Es decir todo este comando hace que todo su contenido se repita una u otra vez, es un lazo cerrado indefinido.

Toggle Led
//El comando Toggle, hace que se invierta el valor de la variable, o se aplique el complemento de la variable, o más claramente, se aplica un operación not a la variable que engloba este comando.

Wait 1
//Con este comando, se establece los retardos de tiempo, para nuestro ejemplo estamos haciendo un retardo de 1 segundo.

ANEXOS.

Anexo 1: Programando en Bascom-AVR.

Hacemos doble clic en el icono de Bascom-AVR:


Nos aparecerá la siguiente ventana de inicio del inicio del programa:


Creamos una hoja nueva, para ello nos vamos a la pestaña FILE:


Le damos clic en new, nos generara una nueva hoja en blanco, esta nueva hoja tan simple como una hoja de texto nos proporcionara todas las herramientas necesarias para programar microcontroladores de la fábrica Atmel, pero utilizaremos para su programación el lenguaje de alto nivel como Basic.
Nos genera el documento en blanco, como se muestra a continuación:


Así que empecemos a escribir el programa, al final de redactar todo el programa nos quedara algo así:


Para terminar, debemos de compilar el programa, así que le damos clic en el icono del chip de color negro o presionamos la tecla F7, nos presentara la siguiente ventana:


Si no hemos tenidos errores en la escritura, no se presentara problemas en la compilación.
Para terminar con este anexo para la utilización del programa Bascom-AVR, solo déjenme mostrarles todos los archivos generados por el programa después de compilar.


De esta listas los archivos más importantes son los archivos de extensión  “. Bas” y el archivo de extensión “.hex”, el archivo de extensión .bas, contiene el programa escrito en Bascom-AVR, este archivo puede ser abierto por Notepad o WordPad.

El otro archivo de extensión .hex, es el más importante a la hora de pasar el programa escrito en Bascom-AVR hacia el microcontrolador, es decir el archivo necesario para grabar el microcontrolador.
Anexo 2: Simulaciones en ISIS Profesional 7.7 SP2. (Proteus).

Dibujamos el esquema presentado en proteus, tal como se muestra a continuación:


Cargamos es programa hecho en Bascom-AVR, para ello hacemos doble clic en elemento del microcontrolador Atmega8, nos presentara la siguiente ventana:


En la sección donde dice: “Program File”, hacemos clic en el icono de la carpeta abierta, nos abrirá la ventana de examinar, es allí donde seleccionaremos el archivo de extensión “.hex”, que nos a generado el programa Bascom-AVR.


Para finalizar de cargar el programa, le damos clic en abrir, y luego en Ok.


Empezamos a simular nuestro programa, para medir el tiempo establecido en los cambios de valor, yo he utilizado el Osciloscopio que incorporar Proteus en sus libreriras par medir dicho tiempo, veamos:



Activando los cursos del Osciloscopio, tomamos las medias:


Veamos que la señal de valor bajo (0 lógico), está activa por un tiempo de 1 Segundo, en frecuencia seria de 1Hz, lo mismo ocurre con el valor lógico alto (1 lógico).

NOTA:

Para poder implementar este pequeño ejemplo de programación hecho en lenguaje Basic para  microcontroladores Atmel, debemos añadir al circuito electrónico una resistencia de 220 Ohmios, a la hora de grabar el programa al microcontrolador debemos de configurar el reloj a usar que es de 8Mhz, recuerden que el microcontrolador Atmega8, de fábrica viene configurado con un cristal interno de 1Mhz.















No hay comentarios:

Publicar un comentario