HOME

PRODUCTOS

PROYECTOS

TUTORIALES

VIDEOS

FREEWARE

PROGRAMAS

FUNCIONES C

EMPRESA

ENGLISH

                   

tutorial: uso de la función printf( ) para PICS 16/18

 

 

EVOLUPIC002.jpg (38534 bytes)

 

Descripción:

Una de las funciones más versátiles en ANSI C es printf( ). La función, que es una librería estándar del compilador, permite trasmitir información a través del puerto serial asíncrono del sistema. Es posible, en una misma instrucción, enviar tanto arreglos (strings), como uno ó varios mensajes de texto, caracteres de control, y valores de variables enteras o de punto flotante, con formatos predefinidos.

Utilizando el sistema EB88, que cuenta con un puerto serial asíncrono y una interfaz RS232, conectado a través de un cable serial DB9 con una computadora PC ejecutando el software "Hyperterminal", es posible hacer pruebas inmediatas de esta función.

La función printf( ) puede usarse ya sea con el compilador CCS ó HITECH. Se muestran programas de prueba para ambos compiladores. En el caso del compilador HiTech, en la carpeta del proyecto deben incluirse la librería auxiliar KEYH8.H.

 

Primeramente, para poder realizar pruebas con la función printf( ), es necesario configurar la PC para que funcione como una terminal de comunicaciones. Puede usar el programa "Hyperterminal" que ya se encuentra incluído en todos los sistemas WINDOWS. Siga las instrucciones que se dan en este archivo: CONFIGURAR HYPERTERMINAL.PDF

El sistema EB88 cuenta con 1 conector DB9 para el puerto serial estándar de comunicaciones RS232, que habrá de usarse en el desarrollo de este tema.

Para probar los programas, conecte un cable serial DB9-DB9 de la PC al sistema, o un cable de interfaz USB-SERIAL.

COMUNICACIONSERIAL10.jpg (56572 bytes)

 

 

PROGRAMA DE PRUEBA 1 :

Para el compilador CCS. Escribir un mensaje de texto.

1. Genere un proyecto en MPLAB, usando el compilador CCS, con los siguientes archivos: CCSSALUDOS.c y 16F88.h Abajo se muestra una vista de la ventana de MPLAB.

2. Observe los resultados de su programa en la ventana de comunicaciones de Hyperterminal, programado a 300 bps. Oprima repetidamente el botón de reset en EVOLUPIC.

wpeA.jpg (51541 bytes)

 

 

 

wpe2.jpg (27954 bytes)

 

Debe primeramente compilar el programa y luego cargar el archivo .hex al EVOLUPIC Bootloader 16F88, con el software TINY. Se utiliza el mismo cable serial para probar el programa.

Resultado del programa de prueba 1 en la ventana de Hyperterminal. Cada vez que se oprime el botón de reset de EVOLUPIC, se envía el mensaje mostrado. Observe que en el formato de la función printf ( ), se incluyeron los caracteres de control:

\r para enviar un "return" y

\n para enviar un "line feed".

 

PROGRAMA DE PRUEBA 2:

Para el compilador CCS. Escribir mensajes de texto, intercalando el valor de una variable de punto flotante y otra variable entera.

1. Genere un proyecto en MPLAB, para el compilador CCS, usando los siguientes archivos: CCSPRINTF1TINY.c y 16F88.h. Repita los procedimientos del programa de prueba 1. Abajo se muestran las ventanas en MPLAB y la ejecución del programa en Hyperterminal (2400 bps).

wpeB.jpg (60481 bytes)

 

 

wpe4.jpg (28902 bytes)

Con base en la ventana mostrada arriba, el programa declara e inicializa previamente una variable de punto flotante a=23.4 y otra entera b=12. Usando la función printf( ), en una sola línea, podemos definir el envío de ambas variables, junto con sus textos, a través del puerto serial.
%3.1f   define el formato de la variable de punto flotante: 3 dígitos en total y 1 dígito después del punto decimal.
%4d     define el formato de la variable entera: 4 dígitos en total
\r\n      son los caracteres de control "return" y "line feed" para saltar un renglón después de mostrar la primera variable y la segunda
a,b       son las variables cuyos valores habrán de mostrarse con los formatos previamente definidos en ese orden.

 

PROGRAMA DE PRUEBA 3:

Para el compilador HITECH. Escribir mensajes de texto, con ECO.

1. Genere un proyecto en MPLAB, para el compilador HITECH, usando los siguientes archivos: HITECHPUERTOSERIAL.c, keyH8.h. Abajo se muestra la ventana del proyecto abierto en MPLAB. Compile el programa y cargue el archivo resultante HITECHPUERTOSERIALhex en el sistema EB88. Pruebe el programa con el software HYPERTERMINAL configurado a 9600 bps: CONFIGURAR HYPERTERMINAL.PDF

2. Use este programa como base para desarrollar cualquier otra aplicación para el puerto serial, utilizando las funciones printf( ), getch( ) y init_comms( ).

3. En la versión "Lite" del compilador HiTech, no está soportado el manejo de la función printf( ) con variables de punto flotante.

wpeB.jpg (68508 bytes)