universidade federal do vale do são francisco - univasf colegiado de engenharia da computação –...
TRANSCRIPT
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
USART – PIC16F877AUSART – PIC16F877A
Jadsonlee da Silva Sá
[email protected]/~jadsonlee.sa
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
IntroduçãoIntrodução USART – Universal Synchronous Asynchronous
Receiver Transmitter.
Aplicações.
– Comunicação com outro uC, computadores, dispositivos de rede com e sem fio, memórias seriais, conversores A/D e D/A entre outros.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
IntroduçãoIntrodução Modos de operação:
– Assíncrono (Full duplex);
– Síncrono – Mestre (Half-duplex);
– Síncrono – Escravo (Half-duplex).
Pinos utilizados.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
IntroduçãoIntrodução Registradores associados.
Registrador TRISC (direcionar os bits RC6 e RC7).
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
USART - AssíncronoUSART - Assíncrono O formato dos dados – NRZ (Non-Return-to-Zero).
Bit Start (0) Bit Stop (1)Dados
Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7
É possível ter 9 bits de dados.
Não funciona durante o SLEEP.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
USART - AssíncronoUSART - Assíncrono Gerador do Baud Rate.
– SPBRG indica o período de um temporizador de 8 bits free runing.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
USART - AssíncronoUSART - Assíncrono Gerador do Baud Rate.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
USART - AssíncronoUSART - Assíncrono Gerador do Baud Rate.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
USART - AssíncronoUSART - Assíncrono Transmissor.
– TSR é carregado com novos dados somente quando o bit STOP for transmitido.
– A transferência dura um Tcy.
Registrador de
deslocamento
Carregado com dados via software.TXREG estiver vazio, TXIF =
1 TXIF não pode ser zerado
via software. Para isto, TXREG deve ser carregado
com algum dado.
O status de TSR é indicado pelo bit TRMT de TXSTA.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
USART - AssíncronoUSART - Assíncrono Transmissor.
TXEN = 1 resulta em TXIF = 1
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
USART - AssíncronoUSART - Assíncrono Transmissor – Configuração.
– Inicialize o registrador SPBRG com o baud rate desejado e ajuste o bit BRGH conforme o valor do baud rate.
– Habilite a porta serial assíncrona (SYNC = 0 e SPEN = 1).
– Para gerar interrupções de transmissão, TXIE = 1.
– Para transmitir nove bits, TX9 = 1.
– Habilite a transmissão, TXEN = 1.
– Se TX9 = 1, carregue o nono bit em TX9D.
– Carregue os dados em TXREG.
– Habilite as interrupções, GIE = PIEI = 1.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
USART - AssíncronoUSART - Assíncrono Receptor.
RCIF é zerado somente quando RCREG for lido e
estiver vazio.RCREG é um registador duplo.
OERR = 1 – Dado em RSR foi perdido. A
transferência de dados é inibida.
OERR é zerado por software, fazendo
CREN = 0.FERR=1, se bit STOP for zero.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
USART - AssíncronoUSART - Assíncrono .
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
USART - AssíncronoUSART - Assíncrono Receptor – Configuração/Funcionamento.
– Inicialize o registrador SPBRG com o baud rate desejado e ajuste o bit BRGH conforme o valor do baud rate.
– Habilite a porta serial assíncrona (SYNC = 0 e SPEN = 1).
– Para gerar interrupções de transmissão, RCIE = 1.
– Para recepção de nove bits, RX9 = 1.
– Habilite a recepção, CREN = 1.
– Bit RCIF é setado quando a recepção for completada e uma interrupção poderá ser gerada.
– Leia RCSTA e observe se houve algum erro.
– Leia os dados em RCREG.
– Se algum erro ocorreu, zere o bit CREN.
– Se estiver usando interrupção, ajuste os bits GEIE e PEIE.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Comunicação entre PIC e Comunicação entre PIC e PCPC
Utiliza o CI MAX232 para converter os níveis TTL do uC para os níveis de tensão de ± 12 V da serial do computador.
Pinos TX e Rx do
PIC
Computador
Conector DB9.
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Exemplo - USARTExemplo - USART
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP
Exemplo - USARTExemplo - USART
www.eterlogic.com/www.eterlogic.com/Downloads.htmlDownloads.html