|
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. |
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 |
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 |
|