librerias pic c

6
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 SET_TRIS_A(value) o SET_TRIS_B(value) o SET_TRIS_C(value) o SET_TRIS_D(value) o 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.

Upload: christianperez

Post on 19-Jan-2016

221 views

Category:

Documents


5 download

DESCRIPTION

LIBRERIA fast io

TRANSCRIPT

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 SET_TRIS_A(value)o SET_TRIS_B(value)o SET_TRIS_C(value)o SET_TRIS_D(value)o 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 LCDLas 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 CEl 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 <lcd.c>

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 MATRICIALEs 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 CEl 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