ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Transmisión de Datos Práctica 4


Enviado por   •  11 de Noviembre de 2016  •  Prácticas o problemas  •  1.607 Palabras (7 Páginas)  •  197 Visitas

Página 1 de 7

[pic 1][pic 2]

Instituto Politécnico Nacional 

Unidad Profesional Interdisciplinaria en Ingeniería y Tecnologías Avanzadas

Transmisión de Datos

Práctica 4

Chequeo de paridad
Sensor de temperatura
ADC0804 y PIC a PC con RS-232

Viveros Villaseñor Bryan


Objetivo: Aterrizar el concepto del algoritmo de chequeo par simple implementando la detección de error en un sistema real de comunicaciones.

Desarrollo:

  1. Programación del PIC

Instrucción: Contará uno o ceros y agregará 0 o 1 según su convención. Simular Bits Erróneos.

Volví a utilizar el IDE mikroBasic Pro for PIC 

Para simular el error usé un dipswtich para seleccionar exactamente la posición del bit erroneo.

SYMBOL ADC = PORTB ‘Lo recibido del ACD está en el puerto B

SYMBOL err = PORTA  ‘El eror agregado por el DipSwitch en el Puerto A

        Procedimiento de lectura (y conteo de bits erróneos)

SUB PROCEDURE LEER()’Procedimiento para LEER la información mandada por ADC

    dim uarttxt as string[16] ‘y enviar al lcd y al módulo UART

    dim impar as byte ‘Variable de conteo de 1s

    dim i as integer ‘variable para for

    dim impb as bit    ‘bit de paridad

    DIM STR AS STRING[9]  ‘Cadena de bits mostrada en el LCD

    dim uarb as byte        ‘Byte enviado al UART

    delay_ms(300)                ‘Pausa de 300ms

    BYTETOSTR(ADC,TEMPBYTE) ‘Convierte el valor del byte recibido a texto

    ltrim(tempbyte)         ‘Recorta el byte extra

    LCD_OUT(1,1,TEMPBYTE)   ‘Muestra la temperatura muestreada en la LCD

    impar=0        ‘inicia el conteo de unos en cero

    uarb=ADC XOR err ‘Se suma el valor del del sensor al error

    for i=0 to 6

        impar=impar+ADC.i‘Se suman los 1 provenientes de la transmisión en paralelo

        if uarb.i then STR[i]=char(49) else STR[i]=char(48) end if

                ‘Se ponen 1s o 0s en la cadena que se vera en el display

    next i

    uarb.7=impar mod 2 ‘en el bit más significativo del ADC se pone la paridad

    if uarb.7 then STR[7]=char(49) else STR[7]=char(48) end if

                ‘Se agrega de igual manera a la cadena de texto

    str[8]=CHR(0)        ‘Se agrega fin de línea

    LCD_OUT(2,1,str) ‘Se muestra la el byte enviado por el uart

    IF (UART1_TX_IDLE=1) THEN ‘Si está listo uarb envía el byte

        UART1_Write(uarb)

    END IF

 END SUB

  1. Programación PC

Instrucción: Cacha los datos y cuenta los unos para determinar si es erróneo o no. En cualquier lenguaje de programación.

Utilicé Java y la librería Giovynet para la comunicación serial

   public static void main (String[] arg) throws Exception{

        SerialPort serialPort = new SerialPort();//Se crea un puerto serial

        List lstFreeSerialPort = serialPort.getFreeSerialPort();//Muestra los puertos disponibles

        if(lstFreeSerialPort.size()>0){//Si hay alguno disponible

            Parameters parameters = new Parameters();//Crea objeto de parametros

            parameters.setPort("COM8");//Seleccionamos el puerto con el que queremos trabajar

            parameters.setBaudRate(Baud._9600);//assigns baud rate

            parameters.setByteSize("8");// Seleccionamos 8 bits para manejar todos

            parameters.setParity("N");// y Sin chequeo de paridad para contralos nosotros mismos

            Com com  = new  Com(parameters);// Con los parametros se crea un nuevo objeto de comunicaciones

...

Descargar como (para miembros actualizados)  txt (6.5 Kb)   pdf (619.6 Kb)   docx (1 Mb)  
Leer 6 páginas más »
Disponible sólo en Clubensayos.com