lunes, 16 de diciembre de 2013

USO DE SERIAL “ADIVINA”


DESCRIPCIÓN

Se programará el microcontrolador FRDM-KL25Z para que al ingresar un texto (en forma de pregunta) a través del teclado de la computadora, se muestre en la pantalla un texto predefinido (a manera de respuesta para le pregunta formulada).


OBJETIVO

Utilizar el componente de comunicación serial asíncrona para ingresar instrucciones al microcontrolador por medio del teclado de la computadora, y que en respuesta a esas instrucciones se desplieguen mensajes en pantalla, ubicados en la pestaña “Terminal” del software “Codewarrior”.


REQUERIMIENTOS.

HARDWARE.
Para esta práctica se requiere únicamente del microcontrolador FRDM-KL25Z.

ARQUITECTURA DEL SOFTWARE.

Tabla de funciones



Funciones en main

AS1_SendChar(*ap_letra);
//Función que envía caracteres a la terminal.


               
Tabla 1 Funciones empleadas en el programa principal



Diagramas de flujo

Fig. 3.1 Diagrama de flujo de la función main.


         
a)                                                                                            b).
Fig. 3.2 Diagrama de flujo de las funciones a). “AS1_OnRxChar” y b). “AS1_OnTxChar”, en Events.


Descripción de variables y constantes


Processor Expert

#define N_MEN 50
//Tamaño del arreglo de caracteres


typedef struct{byte mensajes[N_MEN];}mensajes;
//Variable "mensajes", de tipo estructura de arreglos,


mensajes m[]={"Bienvenido haz tu pregunta\n\r","\n*Si\n\r","\n*No\n\r","\n*Tal vez\n\r","\n*Seguro\n\r","\n*Podria ser\n\r","\n*Jamas\n\r"};
//Vector de mensajes


extern AS1_TComData ch_copia;
//Variable externa que guarda lo que el usuario escribe
byte *ap_mens=m;
//Apuntador para seleccionar mensajes
byte *ap_letra;
//Apuntador para seleccionar letras


int cont=1;
//Variable local contador


Tabla 2 Tabla de variables empleadas en el programa principal




Events.c
AS1_TComData ch_copia;
// Variable global "ch_copia", del tipo comunicación serial

extern byte *ap_letra;
//Variable externa, apuntador para seleccionar letras




Función AS1_OnRxChar

AS1_TComData ch;
// Variable local "ch", del tipo comunicación serial






Tabla 3 Tabla de variables empleadas en Events.c


Componentes

Se requiere incluir lo siguiente:
             Un componente AsynchroSerial, AS1
 (Nota: Para detalles sobre cómo incluir componentes, revisar la práctica “Encender-apagar un LED”).

Configuración del componente AS1

Seleccionando el componente que será editado, en el inspector de componentes se deben hacer los cambios señalados en la Fig. 3.

Fig. 3 Configuración del componente AS1.


Prueba de componentes

Una vez concluida la configuración de los componentes, en la ventana Components, se da click en el ícono de la esquina superior derecha, para generar e incluir en el Processor Expert el código de los componentes añadidos al proyecto. (Ver Fig. 4)

Fig. 4 Generación de código para el Processor Expert.

PROGRAMA FINAL



EVIDENCIAS.

Fotografias
http://microcontroladores-ipn-2013.blogspot.mx/2013/12/uso-de-serial-adivina-evidencia.html


REFERENCIAS.

“FRDM-KL25Z User's Manual”. Freescale

No hay comentarios:

Publicar un comentario