15

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP USART – PIC16F877A Jadsonlee da Silva Sá [email protected]

Embed Size (px)

Citation preview

Page 1: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP USART – PIC16F877A Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

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

Page 2: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP USART – PIC16F877A Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

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.

Page 3: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP USART – PIC16F877A Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

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.

Page 4: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP USART – PIC16F877A Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

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).

Page 5: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP USART – PIC16F877A Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

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.

Page 6: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP USART – PIC16F877A Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

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.

Page 7: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP USART – PIC16F877A Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

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.

Page 8: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP USART – PIC16F877A Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

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.

Page 9: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP USART – PIC16F877A Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

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.

Page 10: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP USART – PIC16F877A Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

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

Page 11: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP USART – PIC16F877A Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

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.

Page 12: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP USART – PIC16F877A Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

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.

Page 13: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP USART – PIC16F877A Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

USART - AssíncronoUSART - Assíncrono .

Page 14: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP USART – PIC16F877A Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

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.

Page 15: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP USART – PIC16F877A Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

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.

Page 16: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP USART – PIC16F877A Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP

Exemplo - USARTExemplo - USART

Page 17: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP USART – PIC16F877A Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br

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