Altana Tubes > Blog > PIC16F627A/628A/648A > Módulo USART

12.0 Módulo Transmissor/Receptor Síncrono/Assíncrono Universal (USART) dos microcontroladores PIC16F627A, PIC16F628A e PIC16F648A

Tradução: Maria Elisa - Assessoria em Inglês e Alemão 

Revisão: Renato Kodaira

O módulo Receptor/Transmissor Universal Síncrono e Assíncrono (USART) dos microcontroladores PIC16F627A, PIC16F628A e PIC16F648A também é conhecido como uma Interface de Comunicação Serial (SCI). O USART pode ser configurado como um sistema assíncrono full-duplex (bidirecional) que pode se comunicar com equipamentos periféricos, como terminais CRT e PCs, ou pode ser configurado como um sistema síncrono half-duplex (semi-bidirecional) o qual pode se comunicar com dispositivos periféricos, tais como circuitos integrados A/D (analógico para digital) ou D/A (digital para analógico) , EEPROMs seriais, etc.

O USART pode ser configurado nos seguintes modos:

  • Assíncrono (full-duplex)
  • Síncrono - Mestre (half-duplex)
  • Síncrono - Escravo (half-duplex)

O bit SPEN (RCSTA<7>) e os bits TRISB<2:1> precisam ser ativados a fim de configurar os pinos RB2/TX/CK e RB1/RX/DT como Receptor/ Transmissor Universal Síncrono e Assíncrono.

O Registrador 12.1 apresenta o Registrador de Controle e Status da Transmissão (TXSTA) e o Registrador 12.2 mostra o Registrador de Controle e Status da Recepção (RCSTA).

 

REGISTRADOR 12.1: TXSTA - REGISTRADOR DE CONTROLE E STATUS DA TRANSMISSÃO (ENDEREÇO:98h)

 

 
R/W-0 R/W-0 R/W-0 R/W-0 U-0 R/W-0 R-1 R/W-0
CSRC TX9 TXEN SYNC --- BRGH TRMT TX9D
bit 7             bit 0

 
bit 7 CSRC: Bit de Seleção da Fonte de Clock
  Modo Assíncrono
  Indiferente
  Modo Síncrono
  1 = Modo mestre (Clock gerado internamente do BRG)
  0 = Modo escravo (Clock de fonte externa)
 
bit 6 TX9: Bit de Habilitação da Transmissão de 9 bits
  1 = Seleciona a transmissão de 9 bits
  0 = Seleciona a transmissão de 8 bits
 
bit 5 TXEN: Bit de Habilitação da Transmissão(1)
  1 = Transmissão habilitada
  0 = Transmissão desabilitada
 
bit 4 SYNC: Bit de Seleção do Modo USART
  1 = Modo síncrono
  0 = Modo assíncrono
 
bit 3
 
Não implementado: Lido como '0'
 
bit 2 BRGH: Bit de Seleção de Taxa de Transmissão Alta
  Modo Assíncrono
  1 = Alta velocidade
  0 = Baixa velocidade
  Modo Síncrono
  Não utilizado neste modo
 
bit 1 TRMT: Bit de Status do Registrador de Deslocamento da Transmissão
  1 = TSR vazio
  0 = TSR completo
 
bit 0
 
TX9D: 9º bit de Dados de Transmissão. Pode ser um bit de paridade.
 
  Nota 1: O SREN/CREN se sobrepõe ao TXEN no modo SYNC.

 
  Legenda:
R = bit de leitura
W = bit de escrita
U = bit não implementado (unimplemented), lido como '0'
-n = valor na POR
'1' = bit está ativado
'0' = bit está apagado
x = bit é desconhecido

REGISTRADOR 12.2: RCSTA - REGISTRADOR DE CONTROLE E STATUS DA RECEPÇÃO (ENDEREÇO:18h)

 

 
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R-0 R-0 R-x
SPEN RX9 SREN CREN ADEN FERR OERR RX9D
bit 7             bit 0
bit 7 SPEN: Bit de Habilitação da Porta Serial
  (Configura os pinos RB1/RX/DT e RB2/TX/CK como pinos de porta serial quando os bits TRISB<2:1> estão ativados)
  1 = Porta serial habilitada
  0 = Porta serial desabilitada
 
bit 6 RX9: Bit de Habilitação da Recepção de 9 bits
  1 = Seleciona a recepção de 9 bits
  0 = Seleciona a recepção de 8 bits
 
bit 5 SREN: Bit de Habilitação da Recepção Simples
  Modo assíncrono:
  Indiferente
  Modo síncrono - mestre:
  1 = Habilita a recepção simples
  0 = Desabilita a recepção simples
  Modo síncrono - escravo:
  Não utilizado neste modo
 
bit 4 CREN: Bit de Habilitação da Recepção Contínua
  Modo assíncrono:
  1 = Habilita a recepção contínua
  0 = Desabilita a recepção contínua
  Modo síncrono:
  1 = Habilita a recepção contínua até que o bit de habilitação CREN seja apagado (CREN se sobrepõe ao SREN)
  0 = Desabilita a recepção contínua
 
bit 3 ADEN: Bit de Habilitação da Detecção de Endereço
  Modo assíncrono de 9 bits (RX9 = 1):
  1 = Habilita a detecção de endereço, habilita a interrupção e o carregamento do buffer de recepção quando o RSR<8> estiver ativado.
  0 = Desabilita a detecção de endereço, todos os bytes são recebidos, e o nono bit pode ser utilizado como bit de paridade
  Modo assíncrono de 8 bits (RX9 = 0):
  Não utilizado neste modo
  Modo síncrono:
  Não utilizado neste modo
 
bit 2 FERR: Bit de Erro de Enquadramento (Framing)
  1 = Erro de framing (Pode ser atualizado através da leitura do registrador RCREG e da recepção do próximo byte válido)
  0 = Nenhum erro de framing
 
bit 1 OERR: Bit de Erro de Atropelamento (Overrun)
  1 = Erro de overrun (Pode ser eliminado apagando-se o bit CREN)
  0 = Nenhum erro de overrun
 
bit 0
 
RX9D: 9º bit de Dados Recebidos (Pode ser um bit de paridade)
 
  Legenda:
R = bit de leitura
W = bit de escrita
U = bit não implementado (unimplemented), lido como '0'
-n = valor na POR
'1' = bit está ativado
'0' = bit está apagado
x = bit é desconhecido

Este capítulo subdivide-se nos seguintes tópicos:

<-Anterior

Índice Próximo->