Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Dialnet ProgramandoMicrocontroladoresPicEnLenguajeC 4587553 PDF
Dialnet ProgramandoMicrocontroladoresPicEnLenguajeC 4587553 PDF
ISSN 0122-1701 37
PCH: Genera cdigo para microcontroladores de 16 bits #INT_RB: Cambio en los pines B4, B5, B6, B7
en memoria de programa.
#INT_AD: Conversor A/D
En la siguiente grfica se muestra la funcin de los
compiladores #INT_TIMER1: Desbordamiento del TIMER1.
Figura 2.1 : Funcin de los compiladores Ejemplo: #USE DELAY (CLOCK = 4000000)
Scientia et Technica Ao XV, No 43, Diciembre de 2009. Universidad Tecnolgica de Pereira. 39
La directiva #USE DELAY debe aparecer antes de Ejemplo : Set_tris_A(0xff); puerto A como entrada
utilizar #USE RS232. Esta directiva habilita el uso de
funciones tales como GETCH, PUTCHAR y PRINTF. 2.5 FUNCIONES DE RETARDO
Output (Pin, Value) Esta funcin realiza retardos del valor especificado en
time. Dicho valor de tiempo es en milisegundos y el
Esta funcin saca el bit dado en value(0 o 1) por la patilla rango es 0-65535.
de I/O especificada en pin. El modo de establecer la
direccin del registro, est determinada por la ltima Para obtener retardos ms largos as como retardos
directiva #USE *_IO. 'variables' es preciso hacer llamadas a una funcin
separada; vase el ejemplo siguiente.
Ejemplo : output_bit( PIN_B0, 0);
Delay_us(Valor)
Output _high(pin)
Esta funcin realiza retardos del valor especificado en
Pone a 'uno' el pin indicado. El mtodo de acceso de I/O time. Dicho valor es en microsegundos y el rango va
depende de la ltima directiva #USE *_IO utilizada. desde 0 a 65535. Es necesario utilizar la directiva #use
delay antes de la llamada a esta funcin para que el
Ejemplo : Output_high(PIN_C0) compilador sepa la frecuencia de reloj.
Esta funcin pone a '1' el dgito especificado en bit(0-7 o Cuando se usan variables, string debe ser una constante.
0-15) del byte o palabra aportado en var. El carcter % se pone dentro de string para indicar un
valor variable, seguido de uno o ms caracteres que dan
Rotate_left(Direccin, bytes) formato al tipo de informacin a representar.
Esta funcin rota a la izquierda un bit de un array o de 2.8 MANEJO DEL MODULO LCD
una estructura. Ntese que la rotacin implica que el bit
MSB pasa a ser el bit LSB. Direccin puede ser un #INCLUDE <LCD.C>
identificador de un array o la direccin a un byte o a una
estructura, por ejemplo, &dato. bytes es el nmero de Librera que maneja el mdulo LCD, se debe poner
bytes implicados en la rotacin. siempre que se vaya a utilizar una de estas pantallas o
displays. Por defecto se utiliza conexin a 4 bitas entre el
Ejemplo : X = 0*50 microcontrolador y la pantalla LCD.
Rotate_left(&X, 1) ; 0*A0
Al puerto asignado para el manejo del mdulo LCD se le
Rotate_right (Direccin, bytes) asigna por defecto la siguiente configuracin de conexin
hacia la LCD.
Esta funcin rota a la derecha un bit de un array o de una
estructura. Ntese que esta rotacin implica que el bit Puert_X0 = Al terminal E de la LCD
LSB pasa a ser el bit MSB. address puede ser un Puerto_X1 = Al terminal RW de la LCD
identificador de un array o la direccin a un byte o a una Puerto_X2 = Al terminal RS de la LCD
estructura, por ejemplo, &dato. bytes es el nmero de Puerto_X4-X7 = Al los terminales D4 D7
bytes implicados en la rotacin. respectivamente
Puerto_X3 = No se conecta
2.7 MANEJO DEL PROTOCOLO RS232
Donde X puede ser el puerto (A, B, C, D, E ,G)
GETC() , GETCH(), GETCHAR()
PRINTF(LCD_PUTC,[STRING])
Estas funciones esperan un carcter por la patilla RCV
del dispositivo RS232 y retorna el caracter recibido. Est funcin permite escribir en la LCD, es decir, poner
caracteres que se vayan a visualizar en el modulo LCD.
Es preciso utilizar la directiva #USE RS232 antes de la
llamada a esta funcin para que el compilador pueda Ejemplo : Printf(lcd_putc,Hola Mundo); escribe Hola
determinar la velocidad de transmisin y la patilla Mundo en la LCD
utilizada. La directiva #USE RS232 permanece efectiva
hasta que se encuentre otra que anule la anterior. LCD_INIT()
Los procedimientos de I/O serie exigen incluir #USE Esta funcin inicializa la LCD (borra toda la pantalla)
DELAY para ayudar a sincronizar de forma correcta la
velocidad de transmisin. Se debe tener en cuenta que es Ejemplo : do
necesario adaptar los niveles de voltaje antes de conectar {
el PIC a un dispositivo RS-232. lcd_init();
printf(lcd_putc,Microcontroladores);
PUT() , PUTCHAR() delay_ms(1000);
}
Estas funciones envan un caracter a la patilla XMIT del while(true);
dispositivo RS232. Es preciso utilizar la directiva #USE
RS232 antes de la llamada a esta funcin para que el 3.0 EJEMPLOS DE PROGRAMACIN
compilador pueda determinar la velocidad de transmisin
y la patilla utilizada. La directiva #USE RS232 3.1 EJEMPLO MODULO LCD
permanece efectiva hasta que se encuentre otra que anule
la anterior. En el presente ejemplo se muestra como escribir en una
pantalla LCD utilizando el compilador PCW, los pasos
Printf ([funtion], string, [valor]) son los siguientes:
Scientia et Technica Ao XV, No 43, Diciembre de 2009. Universidad Tecnolgica de Pereira. 41
El cdigo es siguiente:
4. CONCLUSIONES
5. BIBLIOGRAFA
[4] www.microchip.com