LIBRERIAS PIC C

 LIBRERIAS INCORPORADAS o #USE FAST_IO (puerto) Esta directiva afecta al código que el compilador generara para las

Views 282 Downloads 0 File size 317KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview



LIBRERIAS INCORPORADAS o

#USE FAST_IO (puerto)

Esta directiva afecta al código que el compilador generara para las instrucciones de entrada y salida. Este método rápido de hacer I/O ocasiona que el compilador realice I/O sin programar el registro de dirección. El puerto puede ser A-G. [1] Ejemplo: #use fast_io(A)



FUNCIONES DE I/O DISCRETA o o o o o

SET_TRIS_A(value) SET_TRIS_B(value) SET_TRIS_C(value) SET_TRIS_D(value) SET_TRIS_E(value)

Estas funciones permiten escribir directamente los registros tri-estado para la configuracion de los puertos. Esto debe usarse con FAST_IO() y cuando se accede a los puertos de I/O como si fueran memoria, igual que cuando se utiliza una directiva #BYTE. Cada bit de value representa una patilla. Un ´1´ indica que la patilla es de entrada y un ´0´ que es de salida. [1] Ejemplo: SET_TRIS_B(0x0F); 

//pone B0, B1, B2 y B3 como estradas; B4, B5, B6 y B7 como salidas

PANTALLA LCD Las pantallas LCD(Liquid Cristal Display) sirven para representar letras, números y caracteres presentes en el código ASCII. Existen diversos fabricantes y modelos, siendo los mas comunes los de 16x2, 20x2 y 20x4, donde el primer número indica los caracteres máximos que se pueden escribir en una línea y el segundo numero significa las líneas de las que dispone una pantalla LCD. Por ejemplo 16x2 significa que se pueden escribir 16 caracteres por 2 líneas. [2] o

Pantalla LCD con Lenguaje C El compilador CCS incorpora un fichero(driver) para manejar fácilmente una pantalla LCD. El archivo es LCD.c y debe llamarse con un #include: #include LCD.c



  

lcd_init(); Es la primera función que debe ser llamada. Borra la pantalla LCD y la configura en formato de 4 bits, con dos líneas y con caracteres de 5x8 puntos, modo encendido, cursor apagado y sin parpadeo. [2] lcd_gotoxy(byte x, byte y); Indica la posicion de acceso al LCD. [2] lcd_getc(byte x, byte y); Lee el carácter de la posición (x,y). [2] lcd_putc(char s); S es una variable del tipo char. Esta función escribe la variable en la posición correspondiente. Si además se indica \f= se limpia la LCD \n= el cursor va a la posición (1,2) \b= el cursor retrocede una posición. El compilador de C ofrece una función mas practica para trabajar con la LCD: printf(string); printf(cstring, values…) printf(fname, cstring, values…) Donde string es una cadena o un arreglo de caracteres y values es una lista de variable separadas por comas y fname es una función. [2]



El formato a utilizar de forma adicional es %nt, donde n es opcional y puede ser:  1-9: especifica cuantos caracteres se deben especificar.  01-09: indica la cantidad de ceros a la izquierda  1.1-9.9: coma flotante Y t puede indicar:

Imagen1. Indicaciones que puede mostrar el formato t

 





El driver LCD.C trabaja con el puerto D o el puerto B. Por defecto trabaja con el puerto D. Sin embargo se puede modificar para que trabaje con el puerto C(no con el puerto A, E, por no tener 7 bits minimos para manejar la pantalla LCD), mediante una modificación del fichero LCD.C Luego de modificar el fichero se puede elegir entre el puerto C o D mediante el uso de directivas: #define use_portc_lcd false #define use_portd_lcd true #include O mediante el uso de la siguiente directive: #define LCD_DATA_PORT getenv(“SFR:PORTC”) La cual debe estar colocada antes que de declarer el driver de la pantalla LCD. [2]



TECLADO MATRICIAL Es un periférico especial para proyectos con microcontroladores. Vienen generalmente en dos presentaciones: 3x4 y 4x4. Donde el primer numero indica las cantidades de columnas y el segundo las cantidades de filas. [2] o

Teclado matricial con Lenguaje C El compilador de C posse el driver KBD.c para manejar un teclado 3x4. Las funciones que incorporan son las siguientes:  kbd_init() Inicializa el sistema para manejo del teclado. Debe ser la primera función del programa.  kbd_getc() Devuelve el valor de la tecla pulsada en función de la tabla que tiene programada.  Extracto del fichero KBD.c en donde se muestan los valores de las teclas

Imagen2. Extracto del fichero KBD.c 

El archivo KBD.c esta pensado para trabajar con el puerto B o el Puerto D. Basta activar o no la siguiente directiva: #define use_portb_kbd true //o

#define use_portb_kbd false

Imagen3. Ejemplo del fichero KBD.c y selección del puerto a trabajar



Las conexiones vienen dadas en el fichero y pueden modificarse. [2]

Imagen4. Conexiones-Fichero KBD.c

BIBLIOGRAFIA: [1] Manual de Usuario del compilador PCW de CCS. C Compiler for Microchip PicMicro. Escrito por Andrés Cánovas López. Reeditado par formato PDF por Víctor Dorado. Tomado de: http://www.cursos.ucv.cl/eie48700/referencias/CCS_C_Manual.pdf [2] MICROCONTROLADORES II. Manejo de Perifericos (Displays, LCD, Teclado y EEPROM). Profesor Luis Zurita. Marzo 18/2011. Tomado de: http://www.slideshare.net/lmzurita/manejo-de-perifericos-para-microcontroladores-en-c