Sunteți pe pagina 1din 18

INSTITUTO POLITCNICO NACIONAL

CENTRO DE INVESTIGACIN EN COMPUTACIN

Manejo del Puerto serie en Linux para manipulacin de motor a pasos y despliegue de caracteres en un LCD

PRESENTA: FERNANDO GABINO RAMIREZ NEYRA.


DIRECTOR DE PROYECTO: D.R. JOS LUIS OROPESA. MATRICULA: B081304

MEXICO D.F. 17 DE DICIEMBRE DE 2008


1

PUNTOS A TRATAR

OBJETIVO GENERAL. OBJETIVOS ESPECIFICOS. PLANTEAMIENTO DEL PROBLEMA. JUSTIFICACIN. ESTADO DEL ARTE. DISEO Y DESARROLLO DEL PROYECTO. PRUEBAS Y RESULTADOS. RECOMENDACIONES REFERENCIAS BIBLIOGRFICAS.

OBJETIVO GENERAL
Al trmino de esta investigacin se podr recibir y transmitir informacin desde una PC (con sistema operativo Linux) hacia un microcontrolador, a travs del puerto serial. La informacin recibida por el microcontrolador determinara la tarea o funcin que este deber realizar. Las tareas o funciones que el microcontrolador deber realizar son: activar un motor a pasos para que el rotor gire un determinado nmero de grados, y desplegar mensajes de texto en una pantalla de cristal lquido.

OBJETIVOS PARTICULARES
Desarrollar e implementar el hardware que permita la comunicacin entre la PC y el microcontrolador para que este pueda manipular el motor a pasos y una pantalla de cristal liquido.

Desarrollar una interface grafica que permita la activacin y seleccin de los dispositivos que estarn conectados al microcontrolador, para que estos realicen su funcin (girar el eje del motor y desplegar mensajes en la pantalla de cristal lquido). Dicha interface grafica deber operar bajo el sistema operativo Linux, por lo cual esta ser programada con el lenguaje de programacin QT Linux.

Obtener mayor prctica y conocimiento en sobre el sistema operativo UNIX/Linux.

programacin
4

PLANTEAMIENTO DEL PROBLEMA


El proyecto ser divido en cuatro etapas : Documentacin. Diseo y desarrollo de Hardware. Diseo y desarrollo de Software. Pruebas.

JUSTIFICACIN
En la asignatura de programacin de sistemas que estoy cursando se han conocido y desarrollado una serie de temas sobre el sistema Operativo UNIX/Linux, los cuales deben ser llevados a la prctica para obtener un mayor conocimiento y experiencia en la programacin sobre ese sistema operativo. El tema elegido para desarrollarse en esta investigacin rene las caractersticas necesarias para comprobar la arquitectura y programacin del sistema operativo UNIX/Linux. .

Diseo y Desarrollo.

Hardware

Software

Diseo de Hardware
PIC16873A L293B MAX232 LCD MOTOR A PASOS

Diseo y Programacin del software

Programacin del Microcontrolador.

Programacin de la Interface grafica con QT Linux.

Programacin del Microcontrolador.

10

Rutina de Interrupcin
INCLUDE <P16F873A.INC> LIST P=16F873A
DATO EQU 0X21 #DEFINE RS PORTA,0 #DEFINE RW PORTA,1 #DEFINE E PORTA,2 ORG 0X00 goto INICIO ORG 0X04 ; Inicia Rutina de Interrupcin. INTER bcf STATUS, RP0 ; BANCO 0 ; btfss PIR1,RCIF ; goto ; movf RCREG,W ; GUARDAR EL DATO RECIBIDO movwf DATO ; guardo el dato recivido EN EL REGISTRO DATO ;bcf PIR1,RCIF ; LIMPIO BIT DE INTERRUPCION DE RECEPCION call INIT_LCD ; Anterior TX_DATO bcf PIR1,RCIF retfie ;RECUPERA DIRECCION DE INTERRUPCION
11

Funcin Principal
INICIO

bucle

bsf STATUS,RP0 ;BANCO1 bcf STATUS,RP1 movlw 0xc0 movwf INTCON ;INT GLOBAL Y LAS DE OTRO TIPO movlw 0x00 movwf TRISB ;PUERTO B SALIDA B7 ...B0 movwf TRISA ;PUERTO A SALIDA A7 ...A0 movlw 0x80 movwf TRISC ;BIT 7 INPUT Y 6 OUTPUT PARA LA USART movlw .25 movwf SPBRG ;DETERMINA VELOCIDAD DE TRANSMISIO 9600 B/S bcf STATUS, RP0 movlw b'10010000' movwf RCSTA ;PUERTO SERIE Y RECEPCION CONTINUA call LCD_Inicializa ;INICIALIZA EL LCD bsf STATUS, RP0 ;BANCO 1 movlw b'00000100' movwf TXSTA ;MODO ASINCRONO bsf PIE1, RCIE ;HABILITO INTERRUPCION POR BUFFER LLENO bcf STATUS, RP0 ;BANCO 0 goto bucle INCLUDE <RETARDOS.INC> INCLUDE <LCD_8BIT.INC> END

12

Programacin de Interface Grafica


Las tareas y funciones que deber realizar la interface grafica son las siguientes:

Abrir puerto serie, para establecer comunicacin con el microcontrolador.


Mostrar cuadros de texto para introducir el desplazamiento angular y el mensaje de texto que se transmitir al microcontrolador, para que este lo despliegue en la pantalla de cristal liquido. Botn para iniciar la transmisin de datos hacia el microcontrolador. Cerrar el puerto serie.

Presentar opciones para cerrar ventana.

13

INTERFACE GRAFICA

14

Pruebas y Resultados

Se logro enviar caracteres al microcontrolador desde la interface grafica, para que este los despliegue en la pantalla de cristal liquido, aunque aun se tienen algunos problemas ya que el modulo LCD no fue programado para realizar funciones de desplazamiento y visualizar en todo momento el carcter recibido, por lo que en ocasiones el texto introducido en la interface grafica no es mostrado en LCD debido a que este escribe los datos en las posiciones de memoria que no son mostradas.

Al enviar cadenas de caracteres al microcontrolador este solo despliega en la pantalla de cristal lquido, el primer carcter de cada cadena en repetidas ocasiones, aunque esta prueba se realizo sobre el sistema operativo Windows y no hubo problema.

El motor a pasos no fue programado por motivos de tiempo por lo que no se pudo comprobar el funcionamiento de ese modulo.
15

Recomendaciones

La pagina web donde se consulto y presento la informacin de los temas vistos en clase tiene algunos errores, y en ocasiones comet esos mismos errores al realizar las practicas y aunque entiendo que debemos consultar otras fuentes de informacin, es recomendable que se realicen esas correcciones ya que para una persona nueva en el tema no le es muy sencillo encontrar esos errores.

Despus de tratar un tema en clase, dar un poco mas tiempo para estudiar y repasar ya que no todos los alumnos tenemos la misma formacin acadmica y para algunos es necesario estudiar un poco mas del tema visto es clase.

16

REFERENCIAS BIBLIOGRFICAS
El entorno de programacin UNIX. Brian W. Kernighan, Rob Pike. Ed. Prentice Hall. Advanced UNIX Programming. Marc J. Rochkind. Ed. Prentice Hall. UNIX Programmers reference. Jhon J. Valley. Ed. QUE corporation. LINUX Device Drivers. Jonathan Corbet, Alessandro Rubini y Greg Kroah-Hartman. Ed. OReilly. PROGRAMACIN AVANZADA EN UNIX. Jos Canosa. Ed. McGraw-Hill.

17

PAGINAS WEB CONSULTADAS

http://www.microchip.com http://www.linux.org http://www.trolltech.com http://www.kde.org

18

S-ar putea să vă placă și