Aula º sem Microcontroladores LT36D LT36D Prof.: Paulo Denis Garcez da Luz Microcontroladores: (LT36D) Prof: DaLuz PARTE 2 DO LIVRO 31/3/ :15 1/19
Aula º sem Microcontroladores LT36D LT36D Prof.: Paulo Denis Garcez da Luz Introdução 31/3/ :15 - Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – 8.4 Periférico Extremamente Importante (Comunicação) Modem – Transmissão Byte – bit a bit na linha / BPSBaud-Rate - Cap 8 – Cap 8 – 8.6 2/19
Aula º sem Microcontroladores LT36D LT36D Prof.: Paulo Denis Garcez da Luz Modos de Comunicação 31/3/ :15 - Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – 8.4 Serial SíncronaSerial Assíncrona / - Cap 8 – Cap 8 – 8.6 3/19
Aula º sem Microcontroladores LT36D LT36D Prof.: Paulo Denis Garcez da Luz Modos de Comunicação 31/3/ :15 - Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – 8.4 Serial Síncrona (Modo 0) Serial Assíncrona (Modo 1,2,3) / - Cap 8 – Cap 8 – 8.6 4/19
Aula º sem Microcontroladores LT36D LT36D Prof.: Paulo Denis Garcez da Luz O Sistema de Transmissão e Recepção 31/3/ :15 - Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – 8.6 5/19
Aula º sem Microcontroladores LT36D LT36D Prof.: Paulo Denis Garcez da Luz A Palavra de Controle SCON 31/3/ :15 - Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – 8.6 ENDEREÇO DE BITEND SCONSM0SM1SM2RENTB8RB8TIRI:98h Nomes: End. Bit9F9E9D9C9B9A9998 (BYTE) ModoSM0SM1ComunicaçãoTamanhoBaud - Rate 000Síncrona8 bitsfclock / Assíncrona8 bitsDado por Timer_1 210Assíncrona9 bitsfclock / 32 ou / Assíncrona9 bitsDado por Timer_1 6/19
Aula º sem Microcontroladores LT36D LT36D Prof.: Paulo Denis Garcez da Luz Os Modos de Operação 31/3/ :15 - Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – 8.6 Modo 0 - Síncrono Baud: Clock ÷ 12 / RXD – Transmissão / TXD – Clock REN + RI – Sinais de controle (TX/RX) 7/19
Aula º sem Microcontroladores LT36D LT36D Prof.: Paulo Denis Garcez da Luz Os Modos de Operação 31/3/ :15 - Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – 8.6 8/19
Aula º sem Microcontroladores LT36D LT36D Prof.: Paulo Denis Garcez da Luz Os Modos de Operação 31/3/ :15 - Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – 8.6 Modo 1 – Assíncrono 8bits Serial = UART ( Universal Assynchronous Receiver Transmitter) Transmissão em 10 bits = Start bit + 8 bits dado + Stop Bit Taxa de amostragem = 16 X baud – pulsos 7,8,9 -> dado 2 ou + = RI=0, SM2=1 ou 0, Quando RI=1 (Reception Interrrupt) Dados em SBUF e Stop Bit em RB8 9/19
Aula º sem Microcontroladores LT36D LT36D Prof.: Paulo Denis Garcez da Luz Os Modos de Operação 31/3/ :15 - Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – 8.6 Modo 2 – Assíncrono 9bits Serial funcionando somente para transmissão e recepção Transmissão em 11 bits = Start bit + 8 bits dado + 1 bit + Stop Bit Baud rate = clock ÷ 32 ou 64 RI=0, SM2=1 ou 0, Quando RI=1 (Reception Interrrupt) Dados em SBUF e Stop Bit em RB8 + Nono Bit em TB8 Geralmente este nono bit é a paridade 10/19
Aula º sem Microcontroladores LT36D LT36D Prof.: Paulo Denis Garcez da Luz Os Modos de Operação 31/3/ :15 - Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – 8.6 Modo 3 – Assíncrono 9bits Igual ao modo 2 Clock via TIMER / COUNTER 1 11/19
Aula º sem Microcontroladores LT36D LT36D Prof.: Paulo Denis Garcez da Luz Comunicação entre vários Processadores 31/3/ :15 - Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – 8.6 Controle entre os processos é feito através dos bits SM2, RB8 e TB8 Modo 2 e 3 12/19
Aula º sem Microcontroladores LT36D LT36D Prof.: Paulo Denis Garcez da Luz Como Programar a serial 31/3/ :15 - Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – 8.6 HABILITAR A SERIAL: SETBREN; ou MOVSCON, #XXX1XXXXb; Habilitar recepção externa COMO ATUAR COM OS BITS DE INTERRUPÇÂO: LOOP:JNBRI, LOOP; ficar em loop até receber um byte CLRRI; zera RI para a próxima recepção MOVA, SBUF; lê o byte recebido LOOP:JNBTI, LOOP; ficar em loop até terminar o envio CLRTI; zera TI para a próxima transmissão MOVSBUF, A; inicia-se outra transmissão 13/19
Aula º sem Microcontroladores LT36D LT36D Prof.: Paulo Denis Garcez da Luz Como Programar a serial 31/3/ :15 - Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – 8.6 O BIT DE PARIDADE (MODO 2) E (MODO 3): MOV C, P; Move P para C MOV TB8, C; Move C para TB8 MOVSBUF, A; Habilita transmissão PARIDADE ÍMPAR: MOV C, P; Move P para C CPLC; Complementa C (paridade ímpar) MOV TB8, C; Move C para TB8 MOVSBUF, A; Habilita transmissão PARIDADE NO (MODO 0) OU (MODO 1): CLR ACC.7; zerar o bit mais significativo de A MOVC, P; Move P para C MOV ACC.7, C; Move C para ACC.7 (PARIDADE) MOVSBUF, A; Habilita transmissão 14/19
Aula º sem Microcontroladores LT36D LT36D Prof.: Paulo Denis Garcez da Luz Como Gerar os Baud-Rates Desejados 31/3/ :15 - Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – 8.6 Modo 0 – clock interno 15/19
Aula º sem Microcontroladores LT36D LT36D Prof.: Paulo Denis Garcez da Luz Como Gerar os Baud-Rates Desejados 31/3/ :15 - Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – 8.6 Modo 2 – clock interno 16/19
Aula º sem Microcontroladores LT36D LT36D Prof.: Paulo Denis Garcez da Luz Como Gerar os Baud-Rates Desejados 31/3/ :15 - Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – 8.6 Modo 1 e 3 – Timer / Counter 1 17/19
Aula º sem Microcontroladores LT36D LT36D Prof.: Paulo Denis Garcez da Luz O Registrador PCON 31/3/ :15 - Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – 8.6 ENDEREÇO DE BITEND PCONSMOD***GF1GF0PDIDLA8h Nomes: End. Bit (BYTE) * implica bit sem função - implica não endereçável bit a bit Baud-Rate Desejado Baud-Rate Obtido Erro obtido (%) Clock Utilizado (MHz) Bit SMOD Carga do Timer/Counter_1 Programando em Modo ,0590E8h ,0590F4h ,0590FDh ,0591FDh ,1612,0000E6h ,1612,0001E6h ,0001F9h ,512,0001FDh 18/19
Aula º sem Microcontroladores LT36D LT36D Prof.: Paulo Denis Garcez da Luz Serial e Interrupção 31/3/ :15 - Cap 8 – Cap 8 – Cap 8 – Cap 8 – Cap 8 – /19 - Cap 8 – Cap 8 – 8.6 ORG000h; Início do Programa SJMPPROG; Jump para PP ORG0023h; Move P para C SJMPSERIAL ORG0027h; Endereço do PP PROG:MOVTMOD, # b; Timer 1 em modo 2 MOVTH1, #0F4h; Recarga para 2400bps SETBTR1; Liga Timer1 MOVIE, #90h; Habilita Interrupção Serial MOVSCON, # b; Serial Modo 1 e REN = 1 SJMP$; Loop infinito neste endereço SERIAL:MOVA, SBUF; Serial interrompeu o MC A=SBUF CLRRI; Habilita nova recepção RETI; retorna da Interrupção