Microcontroladores 5ra Parte

Embed Size (px)

Citation preview

  • 8/14/2019 Microcontroladores 5ra Parte

    1/26

    MICROCONTROLADORES

    M.Sc. Csar Augusto Pea C.

    Profesor de planta Ingeniera mecatrnicaUniversidad de Pamplona

  • 8/14/2019 Microcontroladores 5ra Parte

    2/26

    COMUNICACIN SERIAL RS232

    (ASINCRNICA)UART: Transmisin/Recepcin Asncrona Universal

    PICINTERFAZNivelesRS232

    Niveles

    TTL

  • 8/14/2019 Microcontroladores 5ra Parte

    3/26

    NIVELES RS232

    15 v

    5 v

    -5 v

    -15 v

    0 Lgico

    1 Lgico

    Indeterminado0 v

    25 v

    3 v

    -3 v

    -25 v

    0 Lgico

    1 Lgico

    Indeterminado0 v

    Transmisor Receptor

  • 8/14/2019 Microcontroladores 5ra Parte

    4/26

    ESTRUCTURA DE UN

    CARCTER

  • 8/14/2019 Microcontroladores 5ra Parte

    5/26

    INTERFAZ PC-PIC

  • 8/14/2019 Microcontroladores 5ra Parte

    6/26

    LECTURA DE DATOS

    T2 = 1 /Velocidad de transmisin

    T1 = 1.5 T2

    Velocidad de transmisin = 1200 BpsT2 = 833 ST = 1.5 * 833 S = 1249.5 S

  • 8/14/2019 Microcontroladores 5ra Parte

    7/26

    RECEPCIN DE UN BYTE

    Verificar Rx

    Si esta en Rx = 1 significa que NO se estn transmitiendo datos

  • 8/14/2019 Microcontroladores 5ra Parte

    8/26

    RECEPCIN DE UN BYTESi Rx cambia a 0 significa que el PIC esta recibiendo un dato (estecambio) ocurre puesto que esta leyendo el comienzo del bit de indicio

    NBITS = 80 0 0 0 0 0 0 00

    RECEPBit de acarreo

  • 8/14/2019 Microcontroladores 5ra Parte

    9/26

    RECEPCIN DE UN BYTESe realiza un retardo equivalente a 1.5 bits, se limpia el carry, se rota elregistro auxiliar RECEP, se pone en 1 el bit 7 del mismo en caso queRx sea 1 de lo contrario se deja en 0 y se decrementa NBITS.

    NBITS = 70 0 0 0 0 0 0 00

    RECEPBit de acarreo

  • 8/14/2019 Microcontroladores 5ra Parte

    10/26

    RECEPCIN DE UN BYTESe realiza un retardo equivalente a 1 bits, se limpia el carry, se rota elregistro auxiliar RECEP y se pone en 1 el bit 7 del mismo en caso queRx sea 1 de lo contrario se deja en 0 y se decrementa NBITS.

    NBITS = 61 0 0 0 0 0 0 00

    RECEPBit de acarreo

  • 8/14/2019 Microcontroladores 5ra Parte

    11/26

    RECEPCIN DE UN BYTESe realiza un retardo equivalente a 1 bits, se limpia el carry, se rota elregistro auxiliar RECEP y se pone en 1 el bit 7 del mismo en caso queRx sea 1 de lo contrario se deja en 0 y se decrementa NBITS.

    NBITS = 51 1 0 0 0 0 0 00

    RECEPBit de acarreo

  • 8/14/2019 Microcontroladores 5ra Parte

    12/26

    RECEPCIN DE UN BYTESe realiza un retardo equivalente a 1 bits, se limpia el carry, se rota elregistro auxiliar RECEP y se pone en 1 el bit 7 del mismo en caso queRx sea 1 de lo contrario se deja en 0 y se decrementa NBITS.

    NBITS = 40 1 1 0 0 0 0 00

    RECEPBit de acarreo

  • 8/14/2019 Microcontroladores 5ra Parte

    13/26

    RECEPCIN DE UN BYTESe realiza un retardo equivalente a 1 bits, se limpia el carry, se rota elregistro auxiliar RECEP y se pone en 1 el bit 7 del mismo en caso queRx sea 1 de lo contrario se deja en 0 y se decrementa NBITS.

    NBITS = 31 0 1 1 0 0 0 00

    RECEPBit de acarreo

  • 8/14/2019 Microcontroladores 5ra Parte

    14/26

    RECEPCIN DE UN BYTESe realiza un retardo equivalente a 1 bits, se limpia el carry, se rota elregistro auxiliar RECEP y se pone en 1 el bit 7 del mismo en caso queRx sea 1 de lo contrario se deja en 0 y se decrementa NBITS.

    NBITS = 21 1 0 1 1 0 0 00

    RECEPBit de acarreo

  • 8/14/2019 Microcontroladores 5ra Parte

    15/26

    RECEPCIN DE UN BYTESe realiza un retardo equivalente a 1 bits, se limpia el carry, se rota elregistro auxiliar RECEP y se pone en 1 el bit 7 del mismo en caso queRx sea 1 de lo contrario se deja en 0 y se decrementa NBITS.

    NBITS = 10 1 1 0 1 1 0 00

    RECEPBit de acarreo

  • 8/14/2019 Microcontroladores 5ra Parte

    16/26

  • 8/14/2019 Microcontroladores 5ra Parte

    17/26

    RECEPCIN DE UN BYTEAl detectar que el registro NBITS es igual a cero el PIC reconoce quela transmisin del dato ha finalizado

    NBITS = 01 0 1 1 0 1 1 00

    RECEPBit de acarreo

  • 8/14/2019 Microcontroladores 5ra Parte

    18/26

    PROGRAMA DE RECEPCIN DE DATOS;AUTOR: CSAR AUGUSTO PEA c;PIC: 16F84A;FUNCION: ;ESTE PROGRAMA RECIBE DATOS (BYTE DE 8 BITS) SERIALMENTE ENVIADOS; POR LA COMPUTADORA A LA PATILLA DE RA0 Y POSTERIORMENTE MUESTRA LOS DATOS EN EL PUERTO B

    ;CARACTERISTICAS:

    ;OSCILLATOR: XT;WATCHDOG TIMER: OFF;POWER UP TIMER: ON;CODE PROTECT: OFF

    INCLUDE "P16F84A.Inc";*******DEFINICION DE REGISTROS**********************************

    CBLOCK .12REG1, REG2, REG3, RECEP, NBITS

    ENDCRX equ 0h ;PATILLA QUE RECIBE LOS DATOS;*******DEFINICION DE DATOS**************************************VALOR1 EQU .7 ;para controlar numero de ciclos del retardo bymedioVALOR2 EQU .1 ;1246 CICLOS DE RETARDO

    VALOR3 EQU .56VALOR4 EQU .5 ;para controlar numero de ciclos del retardo byVALOR5 EQU .1 ;830 CICLOS DE RETARDOVALOR6 EQU .52;*******PROGRAMA*************************************************

    ORG 00goto INICIO

  • 8/14/2019 Microcontroladores 5ra Parte

    19/26

    PROGRAMA DE RECEPCIN DE DATOS

    org 05INICIO bsf STATUS,RP0 ;PASA AL BANCO 1

    movlw b'00000001'movwf TRISAclrf TRISBbcf STATUS,RP0 ;PASA AL BANCO 0

    clrf PORTAclrf PORTB

    movlw b'00000101' ;Carga un dato por defecto en el puerto Bmovwf PORTB

    RECIBIR nop

    btfsc PORTA,RX ;linea de recepcion esta en bajo?goto RECIBIR ;ciclo hasta recibir bit de comienzocall BYMEDIO ;llama rutina de bymediomovlw 8 ;carga contador con el numero de bitsmovwf NBITSclrf RECEP

    RNEXT bcf STATUS,C ;limpia carryrrf RECEP,1btfsc PORTA,RX ;pregunta por el estado de la lineabsf RECEP,7 ;si rx esta en alto pone el bit 7 de RECEPcall BYdecfsz NBITSgoto RNEXT

    movf RECEP,w ;pasa el dato del registro RECEP al PORTBmovwf PORTBgoto RECIBIR

  • 8/14/2019 Microcontroladores 5ra Parte

    20/26

    PROGRAMA DE RECEPCIN DE DATOSBYMEDIO movlw VALOR1 ;retardo de bit y medio

    movwf REG1TRES movlw VALOR2

    movwf REG2DOS movlw VALOR3

    movwf REG3

    UNO decfsz REG3goto UNOdecfsz REG2goto DOSdecfsz REG1goto TRESretlw 0

    BY movlw VALOR4 ;retardo de bitmovwf REG1

    TRES2 movlw VALOR5movwf REG2

    DOS2 movlw VALOR6

    movwf REG3UNO2 decfsz REG3goto UNO2decfsz REG2goto DOS2decfsz REG1goto TRES2

    retlw 0end

  • 8/14/2019 Microcontroladores 5ra Parte

    21/26

    PROGRAMA DE TRANSMISIN DE DATOS

    ;AUTOR: CSAR AUGUSTO PEA c;PIC: 16F84A;FUNCION: ;ESTE PROGRAMA ENVIA DATOS (BYTE DE 8 BITS) SERIALMENTE HACIA LA COMPUTADORA

    ;POR LA PATILLA DE RA1

    ;CARACTERISTICAS:;OSCILLATOR: XT;WATCHDOG TIMER: OFF;POWER UP TIMER: ON;CODE PROTECT: OFF

    INCLUDE "P16F84A.Inc"

    ;*******DEFINICION DE REGISTROS**********************************CBLOCK .12

    REG1, REG2, REG3, TRANS, NBITSENDC

    RX equ 0h ;PATILLA QUE RECIBE LOS DATOSTX equ 1h ;PATILLA QUE TRANSMITE DATOS

    ;*******DEFINICION DE DATOS**************************************VALOR4 EQU .5 ;para controlar numero de ciclos del retardo byVALOR5 EQU .1 ;830 CICLOS DE RETARDOVALOR6 EQU .52;*******PROGRAMA*************************************************

    ORG 00goto INICIO

  • 8/14/2019 Microcontroladores 5ra Parte

    22/26

    PROGRAMA DE TRANSMISIN DE DATOS

    org 05INICIO bsf STATUS,RP0 ;PASA AL BANCO 1

    movlw b'00000001'movwf TRISAclrf TRISB

    bcf STATUS,RP0 ;PASA AL BANCO 0clrf PORTAclrf PORTB

    movlw b'00000101' ;Carga un dato por defecto en el puerto Bmovwf PORTB

    movlw .7 ;Dato a transmitiraddlw 30h ;convierte caracter PCcall ENVIAR

    NADA nopgoto NADA

    ENVIAR movwf TRANS ;Carga dator en el registro a transmitirmovlw .8 ;Carga el nmero de bitsmovwf NBITS ;Carga el contadorbcf PORTA,TX ;Pone la lnea en bajocall BY ;Retardo que genera el bit de arranque

  • 8/14/2019 Microcontroladores 5ra Parte

    23/26

    PROGRAMA DE TRANSMISIN DE DATOSOTROBIT bcf PORTA,TX ;Pone la lnea en bajo

    bcf STATUS,C ;Limpia el carryrrf TRANS ;Rota el registro de transmisionbtfsc STATUS,C ;verifica el estado del bit de acarreobsf PORTA,TX ;Pone la lnea en altocall BY ;Retardo que genera el bit de datos

    decfsz NBITS ;Decrementa el contadorgoto OTROBIT ;Transmitir el siguiente bitbsf PORTA,TX ;Pone la lnea en altocall BY ;Retardo que genera el bit de paradaretlw 0goto INICIO

    BY movlw VALOR4 ;retardo de bitmovwf REG1

    TRES2 movlw VALOR5movwf REG2

    DOS2 movlw VALOR6movwf REG3

    UNO2 decfsz REG3goto UNO2decfsz REG2goto DOS2decfsz REG1goto TRES2retlw 0

    end

  • 8/14/2019 Microcontroladores 5ra Parte

    24/26

    PROGRAMA DE TRASMISIN Y

    RECEPCIN DE DATOS DEL PC

    PROGRAMA DE TRASMISIN Y

  • 8/14/2019 Microcontroladores 5ra Parte

    25/26

    PROGRAMA DE TRASMISIN YRECEPCIN DE DATOS DEL PC

    PROGRAMA DE TRASMISIN Y

  • 8/14/2019 Microcontroladores 5ra Parte

    26/26

    PROGRAMA DE TRASMISIN YRECEPCIN DE DATOS DEL PC