lunes, 17 de marzo de 2014

Frecuencímetro 16f648. Interface serie-usb. Programación Basic.

Página principal

Frecuencímetro 16f648.

Interface serie-usb.

Programación Basic.

xsetaseta@gmail.com

Estamos otra vez aquí con otro frecuencímetro, este es una continuación del frecupl2.html, esta vez la visualización se realiza en el PC.
El 16F648 se configura como un medidor de frecuencia con autorango, y la medida se manda a través de un interface serie-usb, donde en el PC se visualiza la frecuencia.
La diferencia entre el montaje original y este, aparte de la eliminación del LCD y la eliminación del pulsador de cambio de escala, es la utilización de un cristal de 16MHz. La alimentación de 5V la toma del  propio USB, con lo cual solo es pinchar y usar.
Para las diferentes pruebas he utilizado como medida el propio reloj del PIC a 16MHz.
La programación esta hecha en C mediante el compilador CCS. Se utiliza la emulación por software de la interface serie.
En principio la programación en el lado del PIC no fue difícil se hizo relativamente rápido. Para la visualización se utilizó en un principio un terminal de serie como el cutecom en linux. El funcionamiento era correcto pero poco vistoso, por lo que decidí hacer un programa especifico. Aquí tuve la disyuntiva de hacerlo en C que era lo lógico, o retornar al pasado, y volver mis inicios en la programación, el Basic.
Navegando por la red encontré la página http://basic.mindteq.com donde  hace una recopilación de los diferentes interpretes y compiladores de Basic que existen.
Probando uno y probando otro he realizado varios programas de visualización de frecuencia con diferentes compiladores de Basic. Por lo que este montaje se a convertido en un ejercicio de programación Basic.


Esquema del circuito y su simulación



Montaje del circuito en placa Board.



Adaptador Serie-Usb.  En mi caso es un PL2303 Serial Port.
En windows hace falta drivers, linux ya los tiene.

Programa del PIC


Programación en Basic

El primer basic que probé fue el Freebasic  , es un programa que compila programas hechos en Basic, Puede tener un alto nivel de compatibilidad con QuickBASIC. Existen versiones para Windows y Linux y está bastante bien documentado y extendido. He realizado dos programas uno para consola y otro con interface gtk.

Programa en Freebasic consola.


Programa en Freebasic gtk.

Rapidq
Es un buen programa de compilación de basic, existe versiones para Windows y Linux, en este caso el programa lo he hecho para Windows. Es muy fácil de utilizar con entorno ide.

Programa en Rapidq para windows.

Purebasic
Es el único programa propietario usado, tiene versiones para diferentes plataformas.
Te permite usarlo gratis para un numero bajo de líneas de programa, suficiente para nuestro propósito.
Completo y fácil de usar.


Gambas_3
Es un entorno de desarrollo de basic, muy completo, bastante parecido a Vbasic, muy bueno, para hacer programas de todo tipo, bases de datos, juegos, etc... El único pero,  es que debes tener instalado las librerías para su funcionamiento, y que de unas versiones a otras debes de recopilar los programas.


Todos los programas en basic



Saludos
SETA43

Juan Galaz


Bibliografía:

http://basic.mindteq.com
Freebasic 
http://gambas.sourceforge.net/en/main.html
http://rapidq.phatcode.net/download/
http://www.purebasic.com/