22
TUTORIAL Comunicação Serial no 8051

TUTORIAL - Serial Link Serial 8051.pdf · Neste tutorial explicarei como montar um circuito para comunicação serial entre o computador e o microcontrolador 8051. O exemplo mostrado

  • Upload
    ngotu

  • View
    264

  • Download
    0

Embed Size (px)

Citation preview

Page 1: TUTORIAL - Serial Link Serial 8051.pdf · Neste tutorial explicarei como montar um circuito para comunicação serial entre o computador e o microcontrolador 8051. O exemplo mostrado

TUTORIAL Comunicação Serial no 8051

Page 2: TUTORIAL - Serial Link Serial 8051.pdf · Neste tutorial explicarei como montar um circuito para comunicação serial entre o computador e o microcontrolador 8051. O exemplo mostrado

Índice

Índice.................................................................................................................................................... 2Introdução.............................................................................................................................................3Material Necessário.............................................................................................................................. 4Montagem.............................................................................................................................................6Montagem do Cabo Serial.................................................................................................................... 7Montagem do Hardware....................................................................................................................... 8Montagem do Software...................................................................................................................... 15Testando o Funcionamento.................................................................................................................16Conclusão........................................................................................................................................... 22

Page 3: TUTORIAL - Serial Link Serial 8051.pdf · Neste tutorial explicarei como montar um circuito para comunicação serial entre o computador e o microcontrolador 8051. O exemplo mostrado

Introdução

Neste tutorial explicarei como montar um circuito para comunicação serial entre o computador e o microcontrolador 8051.

O exemplo mostrado nesse tutorial é bem simples e pretende apenas ensinar o funcionamento básico da comunicação serial.

Então para exemplificar o funcionamento do projeto vamos criar um programa que retorne um caractere para cada tecla digitada no computador. Caso a tecla digitada seja um 'A' (maiúsculo), o programa retorna o caractere 'K', caso contrário, retorna um ponto de interrogação (?).

Para executar as tarefas desse tutorial, você deve ter conhecimento prévio do procedimento de gravação no 8051.

Page 4: TUTORIAL - Serial Link Serial 8051.pdf · Neste tutorial explicarei como montar um circuito para comunicação serial entre o computador e o microcontrolador 8051. O exemplo mostrado

Material Necessário

Para este tutorial, você precisará dos seguintes componentes:

Tabela de componentes necessários para a montagem do tutorial. Informações retiradas do site http://www.SoldaFria.com.br em 10/05/2010. Os preços podem variar e são de total responsabilidade do site mencionado.

Capacitor Eletrolítico 1uF x 50V

4

4 R$ 0,60

Circuito Integrado MAX232 (ICL232, HIN232) 1 R$2,30

Soquete 16 Pinos Estampado 1 R$0,18

Capa para conector DB9 Bege com kit Curto 1 R$0,63

Conector DB9 Fêmea 180 Graus Solda Fio 1 R$0,84

Conector 5045-4 (KK 4 Vias Macho) 1 R$0,24

Page 5: TUTORIAL - Serial Link Serial 8051.pdf · Neste tutorial explicarei como montar um circuito para comunicação serial entre o computador e o microcontrolador 8051. O exemplo mostrado

Alojamento Para Conector kk Molex 5051-4 1 R$0,33

Cabo Manga 3 Vias Sem Blindagem (metro) 1 R$0,90

Total R$ 6,02

Você pode encontrar todos esses componentes facilmente na Santa Ifigênia, na loja Mult Comercial (http://www.multcomercial.com.br/) , ou ainda no site Solda Fria (http://soldafria.com.br/loja/).

Você também vai precisar do seguinte datasheet:

• MAX232 – Driver/Receiver conversor RS232 para TTL; http://pdf1.alldatasheet.com/datasheet-pdf/view/207382/TI/MAX232N.html

Corte também alguns fios de cobre para grampear a protoboard.

Page 6: TUTORIAL - Serial Link Serial 8051.pdf · Neste tutorial explicarei como montar um circuito para comunicação serial entre o computador e o microcontrolador 8051. O exemplo mostrado

Montagem

Para montar esse circuito você precisará da protoboard configurada com o esquema básico do microcontrolador AT89S52, conforme descrito no tutorial de gravação. Vide figura abaixo.

Além disso, você precisará montar o cabo, conforme o próximo tópico.

Page 7: TUTORIAL - Serial Link Serial 8051.pdf · Neste tutorial explicarei como montar um circuito para comunicação serial entre o computador e o microcontrolador 8051. O exemplo mostrado

Montagem do Cabo Serial

Para montar o cabo necessário para esse projeto, basta seguir as instruções da tabela de pinagem e o resultado final deve parecer com a foto abaixo.

Mapeamento dos Pinos

Pino DB9 Conector

GND 5 1

RXD 2 3

TXD 3 4

DTR 4

DSR 6

RTS 7

CTS 8

Muita atenção na montagem do cabo, pois apenas os pinos 5, 2 e 3 do DB9 são ligados no conector. Os pinos 4 e 6 e os pinos 7 e 8 são ligados entre si, conforme a ilustração na tabela acima.

Esse cabo é chamado de Null-Modem, pois ele “força” o “handshaking” automático, ou seja, o computador entenderá que o dispositivo conectado ao cabo estará sempre disponível.

O pino TXD é o responsável por enviar as informações do computador para o 8051 e o RXD recebe os dados. O pino GND é o terra, responsável por equilibrar a tensão da comunicação.

Page 8: TUTORIAL - Serial Link Serial 8051.pdf · Neste tutorial explicarei como montar um circuito para comunicação serial entre o computador e o microcontrolador 8051. O exemplo mostrado

Montagem do Hardware

A montagem do circuito deste projeto na protoboard é a parte mais fácil desse tutorial, bastando apenas seguir as imagens:

Primeiro ache um bom lugar para colocar o MAX232 na protoboard. Repare no chanfro existente na carcaça do circuito integrado que facilita a localização do pino 1 do componente.

No esquema abaixo você pode conferir a posição e a identificação dos pinos existentes no MAX232. Os que realmente nos interessam são os pinos 15 e 16, onde ligaremos a alimentação, os pinos 1, 2, 3, 4, 5 e 6, onde ligaremos os capacitores de polarização e os pinos 11, 12, 13 e 14, onde ligaremos os fios de comunicação.

Page 9: TUTORIAL - Serial Link Serial 8051.pdf · Neste tutorial explicarei como montar um circuito para comunicação serial entre o computador e o microcontrolador 8051. O exemplo mostrado

Precisamos então ligar a alimentação do MAX232. Para isso basta grampear o terminal positivo no pino 16...

E o terminal negativo no pino 15 do MAX232.

Page 10: TUTORIAL - Serial Link Serial 8051.pdf · Neste tutorial explicarei como montar um circuito para comunicação serial entre o computador e o microcontrolador 8051. O exemplo mostrado

Em seguida, precisamos colocar os capacitores de polarização. O primeiro vai no pino 1 e no pino 3 do MAX232, sendo que o pólo negativo vai no pino 3...

O segundo capacitor vai nos pinos 4 e 5 com o negativo virado para o pino 5; o terceiro capacitor tem seu negativo ligado no pino 6 do MAX232 e o positivo no negativo da rede de alimentação. Isso mesmo, é invertido, assim como o quarto capacitor, que tem o positivo ligado no pino 1 e o negativo, no positivo da rede.

Page 11: TUTORIAL - Serial Link Serial 8051.pdf · Neste tutorial explicarei como montar um circuito para comunicação serial entre o computador e o microcontrolador 8051. O exemplo mostrado

Coloque então o conector de quatro pinos na protoboard. Repare que o pino 2 não é utilizado. Isso é porque o único conector que eu tinha aqui era de 4 pinos, mas você pode usar um de 3 pinos.

A primeira coisa a fazer é grampear o pino 1 do conector no negativo da rede, ou seja, no terra.

Pino 1 GND

Pino 3 RXDPino 4 TX

D

Page 12: TUTORIAL - Serial Link Serial 8051.pdf · Neste tutorial explicarei como montar um circuito para comunicação serial entre o computador e o microcontrolador 8051. O exemplo mostrado

A parte final da montagem do circuito é a mais importante, pois é quando conectamos os fios da comunicação. O primeiro é o que vai do pino 10 do 8051 até o pino 12 do MAX232.

O segundo fio (azul) vai do pino 11 do 8051 para o pino 11 do MAX232, e o fio branco é o que liga o pino 14 do MAX232 para o pino 2 do conector. Se você prestou atenção, deve ter percebido que eu liguei o TR1OUT do MAX232 no RXD do conector que vai ligado no computador. Isso acontece porque o pino 14 é o que envia dados do MAX232 e o pino 2 do conector é o que recebe dados para o computador.

Page 13: TUTORIAL - Serial Link Serial 8051.pdf · Neste tutorial explicarei como montar um circuito para comunicação serial entre o computador e o microcontrolador 8051. O exemplo mostrado

O último fio (marrom) liga o pino 13 do MAX232 no pino 3 do conector. Perceba que ele também é invertido para que a comunicação funcione.

Agora falta ligar o cabo. Uma ponta na porta serial do computador...

Page 14: TUTORIAL - Serial Link Serial 8051.pdf · Neste tutorial explicarei como montar um circuito para comunicação serial entre o computador e o microcontrolador 8051. O exemplo mostrado

A outra ponta do cabo serial deve ser ligada no conector grampeado na protoboard.

Page 15: TUTORIAL - Serial Link Serial 8051.pdf · Neste tutorial explicarei como montar um circuito para comunicação serial entre o computador e o microcontrolador 8051. O exemplo mostrado

Montagem do Software

O software não é complicado, mas alguns detalhes importantes devem ser comentados aqui. Começando pelo include da primeira linha. Ele é necessário para o RIDE51 carregar parâmetros do microcontrolador escolhido. O comando ORG 23H aponta para o endereço de gatilho da serial. Quando alguma informação vinda pela serial completa o buffer do 8051, o processador interrompe o que está fazendo e executa os comandos que estão nesse endereço, como a chamada para a função SERIAL_IRQ.

Os outros comandos são comuns e seguem o fluxo normal do Assembly. Estude as configurações da serial do 8051 e também a lógica de desvios para entender o resto do código. Por último o comando RETI é um retorno especial da interrupção para orientar o procesador a fazer o que estava fazendo antes de ser interrompido pela chegada de informações. No caso do código abaixo é ficar eternamente em loop, nada de mais.

$include(REG51.inc)

ORG 0000H LJMP 0040H

; SERIAL IRQ ORG 0023H LJMP SERIAL_IRQ

INICIO_PROG: ORG 0040H

; HABILITANDO SERIAL MOV IE, #90H MOV SCON, #50H MOV PCON, #00H MOV TMOD, #20H MOV TH1, #0F4H SETB TR1

; FICANDO EM LOOP INFINITO JB P2.0, $

SERIAL_IRQ: ORG 0100H

; SERIAL RECEBENDO MOV A, SBUF CLR RI

; VERIFICANDO INFO RECEBIDA CJNE A, #'A', SERIAL_ERRADO

; VALOR CORRETO MOV A, #'K' MOV SBUF, A JNB TI, $ CLR TI RETI

; VALOR ERRADO SERIAL_ERRADO: MOV A, #3FH MOV SBUF, A JNB TI, $ CLR TI RETI

END

Page 16: TUTORIAL - Serial Link Serial 8051.pdf · Neste tutorial explicarei como montar um circuito para comunicação serial entre o computador e o microcontrolador 8051. O exemplo mostrado

Testando o Funcionamento

Bom, depois de codificar o programa de comunicação do microcontrolador e compilá-lo em um arquivo HEX (para isso utilize o comando Build All do RIDE51), vamos gravar o executável no 8051.

Basta abrir o ISP – Flash Programming e selecionar o arquivo HEX compilado.

Page 17: TUTORIAL - Serial Link Serial 8051.pdf · Neste tutorial explicarei como montar um circuito para comunicação serial entre o computador e o microcontrolador 8051. O exemplo mostrado

Depois é só clicar em “Write” ou “Program”, dependendo da versão do ISP – Flash Programmer.

Espere terminar o procedimento e clique em OK na caixa de diálogo que aparecer. Se algo der errado, verifique o circuito de gravação. Utilize o tutorial de gravação para comparar as conexões e ver se está tudo certo.

Page 18: TUTORIAL - Serial Link Serial 8051.pdf · Neste tutorial explicarei como montar um circuito para comunicação serial entre o computador e o microcontrolador 8051. O exemplo mostrado

Depois do programa gravado no 8051, cabo serial conectado no MAX232 e tudo pronto, falta testar a aplicação. Para isso vamos usar o HyperTerminal da Hilgraeve. Em alguns casos, pode ser necessário instalar esse componente, pois nem todos os Windows trazem esse programa instalado por padrão.

Depois de abrir o HyperTerminal, um assistente de criação de Nova Conexão é aberto e o programa solicita um nome para essa conexão e você pode também selecionar um ícone. Eu utilizei o nome: Tutorial Serial. Você pode escolher um que lhe agrade mais.

Page 19: TUTORIAL - Serial Link Serial 8051.pdf · Neste tutorial explicarei como montar um circuito para comunicação serial entre o computador e o microcontrolador 8051. O exemplo mostrado

Ainda no assistente de criação de nova conexão, precisamos escolher a porta na qual vamos estabelecer a comunicação. No meu caso é a COM1, mas dependendo de qual porta você conectou o cabo, pode ser a COM2. Eu já tive problemas com essa porta, então o melhor é conectar o cabo na COM1 mesmo.

Depois de escolher a porta, falta configurá-la. Como o código exemplo desse tutorial foi escrito para configurar a comunicação do microcontrolador para a velocidade de 2400 bits por segundo, vamos utilizar essa configuração também no computador. Além disso não devemos utilizar nenhum controle de fluxo, já que estamos usando um cabo Null-Modem.

Page 20: TUTORIAL - Serial Link Serial 8051.pdf · Neste tutorial explicarei como montar um circuito para comunicação serial entre o computador e o microcontrolador 8051. O exemplo mostrado

Terminando o assistente o HyperTerminal já nos conecta automaticamente com o 8051. Mas antes vamos verificar algumas configurações. Para isso clique no botão propriedades na barra de ferramentas.

Na aba de Configurações precisamos alterar a emulação para o protocolo ANSI.

Page 21: TUTORIAL - Serial Link Serial 8051.pdf · Neste tutorial explicarei como montar um circuito para comunicação serial entre o computador e o microcontrolador 8051. O exemplo mostrado

Finalmente clicando no botão “Configuração ASCII” da aba “Configurações”, vamos ligar o eco dos caracteres digitados para vermos na tela as teclas que estamos digitando e que estão sendo enviadas para o 8051 via serial.

Se tudo deu certo, basta digitar alguma coisa na tela principal da conexão para que ela seja enviada para o microcontrolador. Se for qualquer diferente de A maiúsculo, o 8051 responde com um ponto de interrogação, mas quando digitamos o A, aparece a letra K de volta. Desssa forma podemos constatar que a comunicação está funcionando e o 8051 está respondendo de acordo com a programação.

Page 22: TUTORIAL - Serial Link Serial 8051.pdf · Neste tutorial explicarei como montar um circuito para comunicação serial entre o computador e o microcontrolador 8051. O exemplo mostrado

Conclusão

Bom, neste tutorial aprendemos como montar, programar e testar uma comunicação serial entre o computador PC e o microcontrolador 8051.

Não pude entrar em detalhes sobre “Baud Rate” que é taxa de transferência da comunicação e as diversas configurações de timers, osciladores e interrupção do microcontrolador, senão esse tutorial seria muito grande.

Agora cabe a você esmiuçar os detalhes dessa tecnologia que de nova não tem nada, mas sem o conhecimento prévio da comunicação serial não é possível partir para a comunicação via USB, pois o princípio é o mesmo, mudando apenas os protocolos e formas de comunicação.

Até a próxima!