Upload
jair-eviel-barrios-deluquez
View
230
Download
0
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