NOTA IMPORTANTE: el
PICCLITE es una versión antigua del compilador C de HITECH. Sin embargo, el código
fuente de todos los proyectos, puede actualizarse fácilmente a la versión actual PRO.
Por otro lado, en caso de utilizar la versión PRO, los proyectos que usan el LCD
solamente requieren de un solo archivo header universal
keyH5.h
Es por eso que, antes de proceder a la revisión de estos proyectos
se recomienda revisar la información
básica sobre el lenguaje ANSI C, los compiladores disponibles y los temas tutoriales.
En todos los proyectos, el primer archivo listado
contiene la función "main".
Asegúrese de haber integrado el PICCLITE al MPLAB
IDE. De no haberlo hecho, por favor siga primero las
instrucciones aquí.
1. Programa para cuenta binaria en los
LEDS conectados a RB0..RB7, con opción de control del incremento a través del
microswitch en RA1 (SW1).
Para hacer funcionar este
programa, es necesario abrir un proyecto nuevo en MPLAB-IDE. Para tal fin, siga los
siguientes pasos:
-Elija un directorio ó carpeta en el cual almacenar los siguientes
archivos: LED.C, pic.h, 16F84.h
El nombre de la carpeta puede ser, por ejemplo "PROYECTO LEDS".
-Siga el procedimiento detallado en este archivo: CREAR UN PROYECTO DENTRO DE
MPLAB.PDF
-Abra el proyecto con "project", "open". Si es
necesario busque con el browser el archivo LEDS.MPC que se encuentra en el directorio
seleccionado en el punto anterior y ábralo. Una vez abierto el proyecto, dé un doble
clic sobre el archivo LED.C. Aquí aparece una ventana con el programa escrito en lenguaje
C. Compile el archivo con "project" y "build all". Aquí se crea un
nuevo archivo LED.HEX, el cual puede ser cargado en el sistema EDUPIC 16F84 mediante el
programa WINPIC. |
2. Programa para manejo de los puertos A y
B. El programa lee un número "n" (0...7) de los microswitches SW1..SW3 y
enciende secuencialmente los leds B0...B(n).
Elija un
directorio ó carpeta en el cual almacenar los siguientes archivos: PUERTOAYB.c,
pic.h, 16F84.h El nombre de la carpeta puede
ser, por ejemplo "PROYECTO PUERTOAYB"
-Proceda de manera similar a los siguientes pasos explicados en el
programa 1. |
3. Programa para EDUPIC 16F84, para
escribir un mensaje en un LCD 16 x 1, ó 16 x 2. El programa incluye funciones de
inicialización del LCD, borrar el LCD, posicionamiento del cursor en cualquier posición,
escritura de un solo caracter: PutChar(a), y escritura de un mensaje:
PrintString("hola")
Proceda de la misma manera
que en el programa 1. Elija un directorio en el cual almacenar los siguientes archivos: LCD.C, IO.C, delay.C, IO.H, delay.H, pic.h, 16F84.h. Si cuenta con el disco de aplicación del sistema EDUPIC,
entonces el directorio será EDUPIC>archivos16F84>PICCLITE PROY>PROYECTO LCD.
-Al trabajar con el "project wizard", repita el procedimiento de
arriba, pero ahora el nombre del proyecto es "LCD". Cuando llegue a la ventana
en donde aparece la opción "add", asegúrese de que todos los archivos arriba
listados queden seleccionados.
-Abra el proyecto con "project", "open". Si es
necesario busque con el browser el archivo LCD.MPC que se encuentra en el directorio
seleccionado. Una vez abierto el proyecto, dé un doble click sobre el archivo LCD.C.
Compile el archivo con "project" y "build all". Aquí se crea un nuevo
archivo LCD.HEX, el cual puede ser cargado en el sistema EDUPIC con el programa WINPIC.
-El programa funciona tanto para un LCD 16 x 1 como 16 x 2. Pero recuerde
que el LCD 16 x 1, está organizado electrónicamente como 2 renglones de 8 caracteres
cada uno. |
4. Programa para multiplicar 2 números a
y b (0...15), leídos de los microswitches SW1...SW4. El resultado de la multiplicación
se muestra en formato binario, en los leds B0...B7.
-Elija
un directorio ó carpeta en el cual almacenar los siguientes archivos: MULTv2.c,
pic.h, pic16F84.h
-Proceda de manera similar a los siguientes pasos explicados en el
programa 1. |
5. Programa para EDUPIC 16F84, utiliza la
función print(x) para mostrar números enteros de 16 bits en el LCD. El programa
multiplica 2 números enteros y muestra el resultado de la operación en el LCD. Utiliza
también una novedosa función de conversión de hexadecimal a decimal-ASCII.
Los
archivos que debe integrar a su proyecto son: trebol.c, IO.C, delay.C, IO.H, delay.H, pic.h, pic16F84.h |
6. Programa escrito en C que hace uso de
una subrutina en lenguaje ensamblador mediante las directivas #ASM, #ENDASM. Al ejecutar
el programa, primero realiza una cuenta binaria (0..255) en los LEDS utilizando lenguaje
ensamblador. Al final de la cuenta, desde lenguaje C, escribe en el LCD el caracter '*',
con una variable previamente inicializada desde la rutina en lenguaje ensamblador.
-Los
archivos que debe integrar a su proyecto son: ASMYC.C, IO.C, IO.H, DELAY.C, DELAY.H, PIC.H, P16F84.INC,
PIC1684.H. No olvide almacenar todos estos archivos en una misma
carpeta antes de dar de alta su proyecto en MPLAB. |
7. Uso de la función SPRINTF. Dicha
función realiza la conversión de número enteros positivos o negativos, o en formato de
punto flotante previamente almacenados en memoria, a códigos decimal-ASCII, listos para
ser enviados a dispositivos como un LCD o una terminal RS232. El resultado de la
conversión se entrega en un arreglo previamente definido en la función, como se muestra
en el ejemplo. Los archivos que debe integrar a su proyecto
son: EJEMPLO SPRINTF.C, pic.h, 16F84.h |
8. Programa escrito en C (para la versión
compilador Hitech C PRO*), para el sistema EDUPIC 16F84, provisto de un LCD y teclado
hexadecimal. Hace uso de la función GetBot( ) para detectar e identificar la opresión de
una tecla, y mostrarla en el LCD a través de la función PutChar( ). Se muestra el manejo
de tablas "look up" a través de arreglos de valores almacenados en
memoria flash, para realizar la conversión de código, como se muestra abajo, para los
arreglos "key" y "asc" de 16 valores cada uno.
const
char key[16] = {0xEE,0xED,0XEB,0XE7,0XDE,0XDD,0XDB,0XD7,0XBE,0XBD,0XBB,0XB7,0X7E,0X7D,0X7B,0X77};
const char asc[16] =
{0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x41,0x42,0x43,0x44,0x45,0x46};
Los archivos que debe integrar a su proyecto son: GETCHAR12.C,
IO.C, DELAY.C, IO.H, delay.h. Almacene todos estos archivos en una misma carpeta y abra un
proyecto nuevo en MPLAB para PICCLITE. El archivo principal "main", está en el
programa GETCHAR12.C.
* las versiones LITE y PRO del compilador de HiTech tienen algunas
diferencias y pueden generarse mensajes de error al compilar un mismo programa con ambas
versiones. En la versión PRO, se usa únicamente la directiva #include <htc.h>, que
reemplaza a las anteriores #include <pic.h> y #include <p16f84.h> usadas en la
versión LITE. |
|