Está en la página 1de 7

ESCUELA

POLITCNICA

NACIONAL

FACULTAD DE INGENIERA ELCTRICA Y ELECTRNICA

LABORATORIO DE CONTROL CON MICROPROCESADORES

PREPARATORIO
PRCTICA N: 4

TEMA: INTERFAZ DE COMUNICACIN SERIAL RS-232 y TCNICAS DE BARRIDO DE TECLADOS

REALIZADO POR:

David Pilamunga
Grupo: GR3

Fecha de entrega: 07 / mar / 2012


da mes ao

TRABAJO PREPARATORIO
1. Consulte los comandos del Visual Basic, Labview que permiten manejar el puerto de comunicacin serial del PC:

VISA Write Escribe los datos desde el buffer a un dispositivo o a una interfaz especfica a travs de VISA resource name. Sin embargo los datos son transferidos en forma sincrnica o asincrnica.

VISA Configure Serial Port Inicia el prtico Serial especificado por VISA resource name para la configuracin especificado. el VISA class que se puede conectar a VISA resource name de entrada determina el lugar a usar.

VISA Read Lee el numero especifico de bytes desde el dispositivo o la interfaz indicada por VISA resource name y regresa los datos en el buffer de lectura. Sin embargo los datos son ledos en forma sincrnica o asincrnica dependiendo de la plataforma. Al dar un clic derecho en el nodo y elegir modo sincrnico o asincrnico desde el acceso rpido en men para leer los datos en forma sincrnica. La operacin regresa solamente cuando termina la transferencia.

En la figura se muestra como enviar el comando de solicitud de identificacin al instrumento conectado al puerto serial COM!. El VISA Configure Serial Port abre la comunicacin con COM! Y fija este a 9600 baudios, 8 bits de datos, paridad impar un bit de parada y software XON/XOFF de handshaking. Entonces la funcin VISA Write enva el comando. La funcin Visa Read lle de regreso 200 bytes del buffer de lectura y el VI simple Error Handler verifica las condiciones de error. 2. Realizar un programa con el cual se pueda controlar la velocidad de un motor de DC, desde 0% al
100%, el valor de la velocidad se visualiza en el monitor del PC y en un LCD alfanumrico, el set point de velocidad se lo puede ingresar desde el computador o utilizando un teclado basado en pulsadores conectado al microcontrolador, el teclado debe tener botn de subir set point, botn de bajar set point y un botn para detener el motor, usar decodificacin en hardware para el teclado, si el motor se detiene usando el botn de paro encender una alarma visual, la alarma se desactiva si se ingresa un nuevo set point, ya sea desde el teclado o desde el PC. $regfile = "m164pdef.dat" $crystal = 8000000 $baud = 9600 Config Portc = Input Config Portd = Input Config Portd.7 = Output 'CONFIGURACION PUERTOS E INTERRUPCIONES Config Lcd = 16 * 2 Config Lcdbus = 4 Config Lcdpin = Pin , Db4 = Porta.0 , Db5 = Porta.1 , Db6 = Porta.2 , Db7 = Porta.3 , E = Porta.4 , Rs = Porta.5 Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 Config Timer1 = Pwm , Pwm = 10 , Prescale = 8 , Compare A Pwm = Clear Down Config Int0 = Falling On Int0 Selecc On Urxc Recibido Enable Urxc Enable Timer1 Enable Int0

Enable Interrupts Stop Timer1 'DIMENSIONAMIENTO VARIABLES

Dim Prende As Bit Dim A As Word Dim Tp As Word Dim Datoa As Word Dim Datob As Word Dim Resi As Word Dim C As Word Dim R As Word A = 102 Prende = 0 'PROGRAMA PRINCIPAL Do Pwm1a = A Tp = A * 100 Tp = A / 102 Tp = Tp * 10 Locate 1 , 1 Lcd "CONTROL MOTOR DC" If Prende = 0 Then Cls Locate 2 , 1 Lcd "Motor detenido" Portd.7 = 1 waitms 200 Else Portd.7 = 0 Cls Locate 2 , 1 Lcd "Velocidad: " ; Tp ; " " ; "%" waitms 200 End If Loop 'SUBRUTINAS Selecc: Waitms 200 If Prende = 1 Then nop If Pinc.0 = 0 Then Gosub Asciende

Else End If If Pinc.1 = 0 Then Gosub Desciende Else End If End If If Pinc.2 = 0 Then Gosub Control Else End If Return Asciende: If A = 1020 Then A = 1020 Elseif A < 1020 Then A = A + 102 Else End If Return Desciende: If A = 0 Then A=0 Elseif A > 0 Then A = A - 102 Else End If Return Control: Toggle Prende If Prende = 0 Then Stop Timer1 Elseif Prende = 1 Then Start Timer1 Else End If Return Recibido: R = Ischarwaiting() If R = 1 Then Gosub Validar Else End If If R = 0 Then Print "Valor erroneo"

Print "Pulse 1 para ingresar" Else End If Return 'Casos de la comunicacion Validar: Print "Seleccione opcion:" Print "1 para detener/prender" Print "2 para seleccionar velocidad" Datoa = Ischarwaiting() If Datoa = 1 Then Gosub Control Else End If If Datoa = 2 Then Print "Seleccione un porcentaje numerico 0 a 100 velocidad" Gosub Entrada Else Print "Error en la seleccion" End If Entrada: Datob = Ischarwaiting() If Datob > 100 Then Print "error" Else End If If Datob < 100 And Datob > 0 Then Resi = Datob Mod 10 If Resi = 0 Then C = Datob / 10 A = C * 102 Else Print "error en el valor" End If Else End If Return

3. Elabore un programa en un ambiente visual que permita establecer la comunicacin serial entre el microcontrolador y el computador, con el protocolo antes mencionado

Bibliografa: Apuntes de Cpntrol con Microprocesadores

También podría gustarte