Cursos / Eletrônica / Projeto de Sistemas RF / Aula

arrow_back Aula 08 - Transmissão de dados através do protocolo RS232 – Parte II

Programação de mcirocontroladores para comunicação RS232 - Parte 3

Bem, se você analisou corretamente o esquemático, respondendo as perguntas da atividade anterior, você encontrou que o pino ligado ao botão (SW1) é o RB0 e o pino ligado ao LED1 (DS1) é o RD0. Assim, como nosso circuito de transmissão tem o botão conectado ao pino RB0, não precisamos de alteração no programa de transmissão. Que bom! Mas precisaremos alterar sua lógica. Se você analisou corretamente, verificou que o pino RB0 funciona com lógica invertida, ou seja, sem pressionar o botão, a tensão enviada para o pino RB0 é do VCC e quando se pressiona o botão, a tensão cai a zero. Sendo assim, no código, a verificação do pressionamento do botão necessita ser invertida. Em vez de verificar se o valor > 0, vamos verificar quando ele valor == 0.

Uma outra alteração é que não há cristal nessa placa, logo, não há como fazer funcionar da mesma forma que na simulação (que foi inserido um oscilador externo com crital). Para que o programa funcione, devemos utilizar o oscilador interno do microcontrolador que é da mesma frequência da que já inserimos no código (ufa!). Para configurar isso devemos adicionar ao topo do programa de ambos, transmissor e receptor, a seguinte linha:

Já no programa de recepção, o LED não pode está conectado ao RB0. Teremos que alterar o programa para conectar algum LED da placa, nesse caso vamos escolher o LED1 (SW1). Sendo assim, o programa deve definir que o pino RD0 seja acionado quando o dado chegar, como mostrado na figura abaixo.

Novo esquemático do circuito de recepção.

Versão 5.3 - Todos os Direitos reservados