HOME

PRODUCTOS

PROYECTOS

TUTORIALES

VIDEOS

FREEWARE

PROGRAMAS

FUNCIONES C

EMPRESA

ENGLISH

                   

 Funciones de librería en ANSI C para el sistema EB88, para los compiladores HiTech y CCS.

 

Funciones para LCD, teclado, delay, y convertidores A/D, disponibles en los archivos header keyh8.h para HiTech y  keyadc.h para CCS. Si usa CCS debe incluir además en la carpeta del proyecto, el archivo 16F88adc.h

hitech.jpg (1548 bytes) ccs.jpg (13855 bytes)

DESCRIPCION

InitIO( ); initLCD( ); Envía los comandos para inicializar el LCD. El cursor va a la posición (0,0).
ClearScreen( ); clearLCD( ); Pone las 16 celdas del LCD en blanco.
GotoXY(1,5); cursorXY(1,5); Posiciona el cursor en el renglón 1, celda 5
PrintString("ANSI C"); PutLCD("1234"); Escribe el texto entrecomillado, iniciando en la celda en donde se encuentre posicionado el cursor. Máximo 8 caracteres.
PrintString(wob); stringLCD(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.
PutChar('*'); PutLCD('*'); Escribe el caracter indicado en el LCD en la posición en donde se encuentre el cursor.
PutChar(53);   PutLCD(53);   se envía al LCD el código ASCII del número 5, cuyo valor decimal es 53
PutChar(x);   PutLCD(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);

_delay(300);

delay_ms(100);

delay_us(100);

Realiza un retraso en milisegundos ó microsegundos. El valor máximo es 30000 en HITECH y 1000 en CCS. _delay( ) es solo para HITECH, parámetro en microsegundos.

w=GetBot( );

w=GetBot( );

Espera la opresión de una tecla. Regresa de la función con el código ASCII de la tecla oprimida y lo asigna a la variable w.

SetBot( );

SetBot( );

Recibe hasta 7 caracteres del teclado hexadecimal y los acomoda como string en un arreglo que lleva el nombre bot[ ], y que está definido como variable global. Si se escriben menos de 7 caracteres, debe terminarse con la tecla "F". Envía ECO después de cada caracter.

WrtBot( );

WrtBot( );

Esta función complementa a la anterior. Escribe en el LCD, iniciando en la posición en donde se encuentre el cursor, el string contenido en el arreglo que lleva el nombre bot[ ], definido como variable global.
z=CANAL3ADC( ); z=CANAL3ADC( ); Regresa de la función con el valor de conversión del ADC canal 3 (pin RA3), en 10 bits y lo asigna a la variable z, que debe ser definida como unsigned long int.

 

Funciones del puerto serial que se proporcionan en archivos de texto. Si requiere usar la función, abra el archivo, copie y pegue en su programa.

  z=timed_getc( ); Función similar a getchar( ) con "timeout". Espera un caracter en el buffer de recepción durante 100 ms y regresa. Si no hay dato, z=0. Si lee algún caracter, z toma el valor del dato leído. Puede modificarse el "timeout" de 100 ms a cualquier otro valor.
  RCVECO(&array); Función para el puerto serial. Antes de llamar a la función, debe definirse un arreglo de 6 elementos, en este ejemplo, con el nombre "array". Es equivalente a la función gets( ) de las librerías estándar de ANSI C, pero envía ECO después de cada caracter recibido.
Funciones para utilizar simultáneamente el LCD y el puerto serial en el sistema EB88 Funciones para utilizar simultáneamente el LCD y el puerto serial en el sistema EB88 Se proporcionan funciones para activar y desactivar el puerto serial, de tal manera que el usuario puede operar simultáneamente el LCD y el puerto serial en un programa para el sistema EB88.
  CCS-FUNCIONES-PARA-PUERTO-SERIAL Utilerías para el puerto serial del sistema EB88. En este archivo de texto, copie y pegue en su programa las utilerías que requiera.

 

Función CCS para leer el valor de la temperatura del sensor DS18B20 del sistema EB88. Requiere de la librería ONEWIRE.h.

  z=ds1820_read( ) z debe definirse previamente como variable de punto flotante. La función regresa con el valor de la temperatura en grados centígrados, leída del sensor DS18B20, con 2 enteros y un decimal.
  ONEWIRE.h Librería auxiliar que debe incluirse en el programa principal para utilizar la función citada en la fila de arriba. El archivo incluye todas las funciones necesarias para su correcta operación.

 

Funciones utilizadas para leer ó almacenar datos en la EEPROM

write_eeprom(0,BOR); write_eeprom(0,BOR); Escribe en la EEPROM, en la dirección 0, el contenido de la variable "BOR". Direcciones y datos válidos entre valores de (0...255) en 16F88.
BOR=read_eeprom(2); BOR=read_eeprom(2); Lee el contenido de la dirección 2 en EEPROM, y lo asigna a la variable "BOR". Direcciones y datos válidos entre valores de (0...255) en 16F88.

 

Funciones de librería estándar ANSI C que pueden emplearse en los compiladores HiTech y CCS

init_comms( );   función solamente utilizada con el compilador HiTech para inicializar el puerto serial. Esta función requiere la librería KEYH8.h
x=getch( ); //sin eco

x=getche( ); //con eco

 

x=getchar( ); 

 

espera un caracter del puerto serial, en valor ASCII y lo asigna a la variable x. Librería <stdio.h>. Use la directiva #use rs232 para CCS. Si usa HiTech, entonces la función es getch( ) ó  getche( ) recibe un caracter y envía el ECO. Requieren librería KEYH8.h. Vea la aplicación aquí.
  putchar('*'); se envía al puerto serial el código ASCII del asterisco. En el monitor de la terminal observaremos un asterisco.
  putchar(53);   se envía el código ASCII del número 5, cuyo valor decimal es 53. En la pantalla terminal observaremos el número 5.
putch(x); putchar(x);   se envía por el puerto serial, en un solo caracter, el valor de x, que debe ser un código ASCII. Si usa HiTech, entonces la función es putch( ) y requiere librería KEYH8.h. Vea la aplicación aquí.
  gets(array);  recibe caracteres del puerto serial, hasta que se recibe el caracter CR (código decimal 13). Con los caracteres recibidos, genera un string en el arreglo "array". No hay eco de los caracteres recibidos.
printf( ); printf( ); Envía por el puerto serial, un string con el formato especificado. Se trata de una función de formatos múltiples. Librería <stdio.h> Favor de consultar el tutorial manejo de la función printf( )
y=atoi(array);

y=atol(array);

y=atoi(array);

y=atol(array);

convierte el string que se almacenó en el arreglo "array" en un valor entero. del tipo "int" ó "long int". Librería <stdlib.h>.
z=atof(array); z=atof(array); convierte el string que se almacenó en el arreglo "array" en un valor con formato punto flotante. Librería <stdlib.h>
sprintf(array,"%5.2f",a); sprintf(array,"%u",a); sprintf(array,"%lu",a); sprintf(array,"%3d",a); sprintf(array,"%5.2f",a); sprintf(array,"%u",a); sprintf(array,"%lu",a); sprintf(array,"%3d",a); convierte la variable "a", que es de punto flotante (f), entero (u), entero largo (lu), decimal (d), a un string que se almacenará en el arreglo de nombre "array". Esta función se emplea para convertir a un string lo que se enviará posteriormente al display LCD. El formato es similar al utilizado en printf( ). Librería <stdio.h>
LEN=strlen(wob); LEN=strlen(wob); la variable LEN toma el valor de la longitud del string de nombre "wob". <string.h>
strcpy(leo,"AMIGOS"); strcpy(leo,"AMIGOS"); almacena en el arreglo "leo", un string con el texto indicado, en este caso "AMIGOS". Para usar esta función debe incluirse la librería <string.h>