Escolar Documentos
Profissional Documentos
Cultura Documentos
Clase 21
Comunicacin Serial con el PIC16F877 La USART en modo asncrono contiene los siguientes elementos: Circuito de Muestreo Generador de Baudios Transmisor Asncrono Receptor Asncrono
El Circuito de muestreo funciona sobre el m dulo de recepci n! en el terminal RC"#R$#%T& 'l muestrea tres (eces el (alor por all recibido para decidir por ma)ora cual es su (alor real& El Generador de Baudios *ara el protocolo asncrono RS-+,+C! la frecuencia en baudios -bits por segundo. a la /ue se reali0a la transferencia se debe efectuar a un (alor normali0ado: ,,1! 211! 3+11! +411! 4511! 6211! 36+11! ,5411! etc& *ara generar esta frecuencia! el USART dispone de un generador de frecuencia en Baudios! BRG! cu)o (alor es controlado por el contenido grabado en el registro S*BRG -667.& Aparte del (alor $ cargado en el registro S*BRG! la frecuencia en baudios del generador depende del bit BRG7 del registro T$STA 8+9& :n el caso de /ue BRG7 ; 1 se traba<a en ba<a (elocidad ) si BRG7 ; 3 se traba<a en alta (elocidad& Seg=n este bit se obtendr> el (alor de una constante ? necesaria en la determinaci n de la frecuencia de funcionamiento& Tabla I Seleccin de +elocidad de transmisin a tra+,s del bit B-G&
Freq -baudios . =
Fosc - K @- X + 3..
-3.
:n la ecuaci n 3 ) en la Tabla A! $! es el (alor cargado en el registro S*BRG -667.& ?;24 si se traba<a a ba<a (elocidad -BRG;1. o ?;32 si se traba<a a alta (elocidad -BRG7;3.& Tabla II A!uste de la rata de transmisin en modo asincrnico" con oscilador de #$ %&'
Wilmer Sanz F.
CSRC: Bit de selecci n& Co usado en el modo asincr nico& :n el modo sincr nico! CSRC;1 Modo sncrono 3 ; Modo maestro -relo< generado internamente desde BRG. 1 ; Modo escla(o -relo< generado por una fuente eDterna. T$6: 7abilita el bit 6 de transmisi n 3 ; Selecciona transmisi n de 6 bits 1 ; Selecciona transmisi n de 5 bits T$:C: Acti(a la transmisi n 3 ; Transmisi n acti(ada 1 ; Transmisi n desacti(ada Cota: SR:C#CR:C anula T$:C en modo sncrono& SECC: Bit de selecci n del modo del USART 3 ; Modo sncrono 1 ; Modo asncrono BRG7: Bit de selecci n de la (elocidad de baudios Modo asncrono: 3 ; Alta (elocidad 1 ; Ba<a (elocidad Modo Sincrono: Co se usa en este modo TRMT: Bit de estado del registro de despla0amiento de transmisi n 3; TSR (aco 1 ; TSR no (aco T$6%: Bit 6 del dato a transmitir -puede ser el bit de paridad. :l dato /ue se desea transmitir por el USART se deposita en el registro T$R:G -367. ) a continuaci n se traspasa al registro de despla0amiento TSR! /ue (a sacando los bits secuencialmente ) a la frecuencia establecida& Adem>s! antes de los bits del dato de informaci n se inclu)e un bit de inicio ) despuBs de sacar todos los bits se aFade un bit de parada& :l USART receptor recibe! uno a uno! los bits! elimina los de control ) los de informaci n una (e0 /ue Gan llenado el registro de despla0amiento RSR los traslada autom>ticamente al registro RCR:G -3A7.! donde /uedan disponibles para su posterior procesamiento& Si obser(amos el diagrama de blo/ues de la secci n transmisora del USART -figura 3.! el n=cleo est> constituido por el registro de despla0amiento TSR! /ue obtiene el dato desde el registro T$R:G ) luego lo (a despla0ando ) sacando bit a bit! en serie! por la lnea RC2#T$#C?& :l primer bit /ue sale es el de menos peso& :l dato a transferir se carga por softHare en T$R:G ) se transfiere al TSR en cuanto se Ga)a transmitido el bit de parada del dato anterior& La transferencia entre los dos registros se reali0a en un ciclo ) entonces el seFali0ador T$AI se pone a 3! para ad(ertir /ue el registro de transmisi n se Ga (aciado& TambiBn en este momento puede producirse una interrupci n si se Ga posibilitado el uso de interrupciones& Cuando se escribe otro dato sobre T$R:G! el seFali0ador T$AI se pone a 1& :l bit TRMT sir(e para indicar el estado del registro TSR ) (ale 3 cuando est> (aco&
Wilmer Sanz F.
Fi3 1 )ia3rama de blo4ues del mdulo Transmisor de la 5SA-T Fuente( )ata S*eet del PIC166877 Pasos 2ara la transmisin asincrnica 3& Configurar las lneas RC2#T$#C? como salida ) RC"#R$#%T como entrada +& Aniciali0ar el registro S*BRG con la (elocidad de transmisi n adecuada& Si se desea una (elocidad alta! debe acti(arse el bit BRG7& ,& 7abilitar el *uerto serial asincr nico desacti(ando el bit SECC -T$STA:4. ) acti(ando el bit S*:C -RCSTA:".& 4& Si se desea traba<ar con interrupciones! acti(ar el bit T$A: -*A:3:4.& Los bits GA: ) *:A: del registro ACTCJC deben estar acti(os tambiBn& K& Si se desea transmitir datos de 6 bits! acti(ar el bit T$6 -T$STA:2.& Si se Ga escogido esta opci n! el no(eno bit a transmitir debe ser cargado en T$6% -T$STA:1.& 2& 7abilitar la transmisi n acti(ando el bit T$:C -T$STA:K.& :sta acci n autom>ticamente acti(ar> al bit T$AI -*AR3:4.& "& Cargar el dato en el registro T$R:G& Con esta acci n se inicia la transmisi n& -ece2tor Asncrono La configuraci n del la USART para recibir se reali0a a tra(Bs del registro RCSTA -357.& La descripci n de este registro se ofrece a continuaci n: -CSTA /18&1 S*:C bit" R$6 SR:C CR:C A%%C I:RR J:RR R$6% bit1
S*:C: 7abilitaci n del puerto serie 3 ; *uerto serie Gabilitado -configurar los pines RC"#R$#%T ) RC2#T$#C? como entrada ) salida! respecti(amente. 1 ; *uerto serie desGabilitado R$6: 7abilita el bit 6 de recepci n 3 ; Selecciona recepci n de 6 bits 1 ; Selecciona recepci n de 5 bits SR:C: Configura la recepci n sencilla Modo asncrono: no importa Modo sncrono maestro 3 ; 7abilita recepci n sencilla 1 ; %esGabilita recepci n sencilla Modo sncrono escla(o: no importa CR:C: Configura la recepci n continua Modo asncrono: 3 ; 7abilita modo de recepci n continua
Wilmer Sanz F.
Fi3 # )ia3rama de blo4ues del mdulo -ece2tor de la 5SA-T Fuente( )ata S*eet del PIC166877
Wilmer Sanz F.
bcf T&STA,T&9 "8 bits de d#tos # tr#ns'itir bsf T&STA,T&86 "Acti)# l# tr#ns'isi(n seri#l, T&I: - 1 bcf STATUS, !0 "Ir b#nco 0 bcf $STA, &9 "8 1its de d#tos bsf $STA,$ 86 "!#r# x $ontinuo
";;;Subprogr#'# de 8n)7o. 8l d#to # tr#ns'itir )iene en < 8n)i# 'o)*f T& 82 "T& 82 - < 8sper#tx btfss !I 1,T&I: "8sper# /#st# =ue tr#ns'isi(n cul'in( goto 8sper#tx return ";;;Subprogr#'# de ecibe btfss !I 1, $I: "!regunt# si el buffer de goto ecibe " 6o, ir # ecibir & es full ecepci(n. 8l d#to # se recibe en <
'o)f
$I:
Wilmer Sanz F.
Biblio3ra6a - MicrocGip TecGnolog) Anc& -+113.& PIC16F87. )ata S*eet& HHHµGip&com O:n lneaP Qltimo acceso: +2-12-+115 - Apuntes de Clase&
Wilmer Sanz F.