HOME

PRODUCTOS

PROYECTOS

TUTORIALES

VIDEOS

FREEWARE

PROGRAMAS

FUNCIONES C

EMPRESA

ENGLISH

                   

tutorial:  librería universal ANSI C para programar el sistema EB88

 

libreria.jpg (36558 bytes)

 

Descripción: para simplificar la programación con cualquiera de los kits EDUPIC 16F628, EVOLUPIC 16F628 y EB88, tanto con el compilador HITECH como CCS, aquí se proporcionan las librerías universales. Este archivo debe ser declarado en el programa principal (main), y contiene las funciones necesarias para trabajar con retardos (DELAY), el LCD, el TECLADO y los convertidores AD. De esta forma ya no es necesario añadir un archivo separado por cada dispositivo.

Por favor tome note que, en algunos ejemplos que se ofrecen en este sitio web, se utilizaron las versiones anteriores key33.h, key34.h, KEYH.h (para HiTech), y key3.h (para CCS).

 Todos los ejemplos funcionarán también con las últimas versiones disponibles, que son las que se indican enseguida en los vínculos en fondo de color amarillo.

hitech.jpg (1548 bytes)

Para el compilador de HiTech, la última versión del archivo header universal es: keyh8.h Si usa la versión Lite del compilador de HiTech, para optimizar el uso de memoria FLASH y RAM, es conveniente aunque no necesario que en el propio archivo elija cuales funciones usará. Por ejemplo, si usa DELAY, LCD, TECLADO, ADC y USART, las líneas quedarán como en el ejemplo de abajo. Para cancelar alguna ó algunas de las funciones, la línea correspondiente se antecede de los símbolos // para que el compilador la considere como comentario.

//en estas 4 líneas debe definirse cuales
//funciones se usan (DELAY,LCD,TECLADO,ADC,USART)

#define DELAY
#define LCD
#define TECLADO
#define ADC
#define USART

Las funciones disponibles son:

PARA PUERTO SERIAL USART

FUNCION

DESCRIPCION

init_comms( ); función solamente utilizada con el compilador HiTech para inicializar el puerto serial.
z=getch( ); Espera un caracter del puerto serial y asigna su valor a la variable z, definida como char.
putch(x); Envía por el puerto serial el valor correspondiente a la variable x, definida como char.

PARA CONVERTIDOR ANALOGICO DIGITAL:

FUNCION

DESCRIPCION

z=CANAL3ADC( ); Inicializa el Convertidor Analógico Digital, realiza la conversión del canal 3 (RA3)

PARA DELAY Y LCD:

FUNCION

DESCRIPCION

InitIO( ); Envía los comandos para inicializar el LCD. El cursor va a la posición (0,0).
ClearScreen( ); Pone las 16 celdas del LCD en blanco.
GotoXY(1,5); Posiciona el cursor en el renglón 1, celda 5
PrintString("ANSI C"); Escribe el texto entrecomillado, iniciando en la celda en donde se encuentre posicionado el cursor. Máximo 8 caracteres.
PrintString(wob); La función acepta como parámetro de entrada un string, en este ejemplo de nombre "wob". Escribe en el LCD el contenido del string. Máximo 8 caracteres. Vea el programa de prueba HITECHLCD5.c
PutChar('*'); Escribe el caracter indicado en la posición en donde se encuentre el cursor. Observe que deben usarse diéresis y no comillas.
PutChar(53);   se envía el código ASCII del número 5, cuyo valor decimal es 53
PutChar(x);   se envía al LCD, en un solo caracter, el valor de la variable x, que debe ser un código ASCII.
DelayMs(100); Realiza un retraso de 100 milisegundos. Argumento máximo es 30000.
_delay(300); Realiza retraso de 300 microsegundos. Argumento máximo es 1000.

PARA TECLADO:

FUNCION

DESCRIPCION

w=GetBot( );

Espera la opresión de una tecla y regresa de la función con el código ASCII de la tecla oprimida.

SetBot( );

Recibe caracteres del teclado hexadecimal y los acomoda en un string en el arreglo de nombre bot[ ]. El string acepta 7 caracteres máximo. Si se escriben menos de 7 caracteres, debe terminarse con la tecla "F". Envía ECO después de cada caracter. Ver Programa de Prueba HITECHKEY5.c

WrtBot( );

Escribe en el LCD, iniciando en la posición en donde se encuentre el cursor, el string contenido en el arreglo bot[ ]. Ver Programa de Prueba HITECHKEY5.c

 

ccs.jpg (13855 bytes)

Para el compilador de CCS, en su versión PRO, la última versión del archivo header universal es: KEYADC.h no olvide incluir en la misma carpeta del proyecto, el archivo header del microcontrolador 16F88ADC.h Las funciones disponibles son:

PARA CONVERTIDOR ANALOGICO DIGITAL:

FUNCION

DESCRIPCION

z=CANAL3ADC( ); Inicializa el Convertidor Analógico Digital, y realiza la conversión del canal 3 (RA3)

PARA DELAY Y LCD:

FUNCION

DESCRIPCION

initLCD( ); Envía los comandos para inicializar el LCD. El cursor va a la posición (0,0).
clearLCD( ); Pone las 16 celdas del LCD en blanco.
cursorXY(1,5); Posiciona el cursor en el renglón 1, celda 5
stringLCD(wav);    En este ejemplo, "wav" es un arreglo con formato de string. Escribe el string en el LCD. Máximo 8 caracteres. Programa de prueba CCSLCD4.c
PutLCD("1234"); Escribe todo el string entrecomillado. Programa de prueba: CCSLCD2.c
PutLCD(53);   se envía al LCD el código ASCII del número 5, cuyo valor decimal es 53
PutLCD(x);   se envía al LCD, en un solo caracter, el valor de la variable x, que debe ser un código ASCII.
PutLCD('*'); Escribe el caracter indicado en la posición en donde se encuentre el cursor.
delay_ms(100); Retraso de 100 milisegundos. Argumento máximo 1000 milisegundos.

PARA TECLADO:

FUNCION DESCRIPCION

w=GetBot( );

Espera la opresión de una tecla y regresa de la función con el código ASCII de la tecla oprimida.

SetBot( );

Recibe caracteres del teclado hexadecimal y los acomoda en un string en el arreglo de nombre bot[ ]. El string acepta 7 caracteres máximo. Si se escriben menos de 7 caracteres, debe terminarse con la tecla "F". Envía ECO después de cada caracter. Ver Programa de Prueba  CCSKEY3.c

WrtBot( );

Escribe en el LCD, iniciando en la posición en donde se encuentre el cursor, el string contenido en el arreglo bot[ ]. Ver Programa de Prueba CCSKEY3.c