O diagrama de blocos de transferência de dados entre a porta UART do microcontrolador 89c51 e o computador pessoal é mostrado abaixo.
Conversor de nível Max232
8051(89c51,89c52) Microcontrolador UART
O microcontrolador 89c51 Uart é usado para receber dados do PC. Você também pode usar qualquer outro microcontrolador da série 8051, como o microcontrolador 89c52. Mas primeiro certifique-se de que ele tenha UART (transmissor receptor assíncrono universal) integrado para comunicação serial.
A porta 1 do nosso microcontrolador é usada como porta de saída. Ele está conectado aos pinos de dados do LCD 16×2.
- O pino nº 5 da porta 3 está conectado ao pino rs (seleção de registro) do LCD 16 × 2.
- O pino nº 6 da porta 3 está conectado ao pino en (habilitar) do LCD 16 × 2.
- O pino nº 7 da porta 3 está conectado ao pino rw (leitura e gravação) do LCD 16 × 2.
Se você não sabe como fazer a interface do LCD com o microcontrolador 8051 (89c51,89c52), aqui estão alguns bons tutoriais, basta percorrê-los.
- LCD 16×2 FUNCIONANDO.
- DIFERENÇA ENTRE COMANDOS E ENVIO DE DADOS PARA LCD.
- EXIBINDO SEU NOME NO LCD usando MICROCONTROLADOR 8051.
Código do projeto
Na função principal, chamei primeiro o lcdinit função para inicializar o lcd 16×2. Todos os comandos usados na função são discutidos profundamente nos tutoriais acima. Em seguida, o modo temporizador é definido. TMOD=0x02 significa que Timer1, Mode2 (recarga automática de 8 bits) está selecionado. TH1=0xFD na verdade, é um temporizador de um byte alto, fornecer o valor hexadecimal 0xFD para TH1 significa definir a taxa de transmissão de comunicação entre o microcontrolador 8051 e o PC para 9600 bps (bits por segundo). SCON=0x50 na verdade, está definindo nosso formato de bits de dados seriais Total = 8 Bit de dados com 1 bit de início e 1 bit de parada. TR1=1 significa executar o temporizador um. Todo esse fenômeno com o significado completo das afirmações (SCON,TMOD,TH) é discutido nos dois tutoriais abaixo. Como calcular os valores da taxa de transmissão também é discutido.
- COMO ENVIAR DADOS SERIAL PARA PC (Hiperterminal).
- REGISTROS DE TEMPORIZADOR DE 8051(89c51).
enquanto(RI==0) está verificando o sinalizador RI (interrupção de recebimento) continuamente. Este sinalizador torna-se automaticamente um quando 8051(89c51,89c52) recebe quaisquer dados em seu pino RXD(P3^0). quando RI se torna 1, significa que temos um byte de dados em nosso registro SBUF (buffer serial). Então, na próxima instrução, peguei o Byte do registro SBUF e salvei-o em dados variáveis de caractere. Então deixei o sinalizador RI baixo novamente para receber o próximo byte. O Byte que salvei na variável de dados agora é enviado para a função de display para ser exibido no LCD 16×2.