8051 micro com MAX232 problema de comunicação serial

B

bimalkamal

Guest
Estou tentando enviar um personagem de AT89S52 mc para o meu PC através da porta com1. Tudo o que eu estou recebendo é lixo. Meu esquemático, código, capturas de tela de saída (ambos putty e Hyper Terminal), a imagem da porta DB9 fêmea é dado. (. A porta com1 do PC está funcionando bem, como eu usar essa porta para o meu programador pic) Agradecemos antecipadamente # include main () {[travessão] TMOD = 0x20; TH1 = 0xFA; SCON = 0x50; TR1 = 1; [/ TRAVESSÃO] [travessão] while (1) {SBUF = 'M', enquanto (TI == 0); TI = 0;} [/indent]} Configurações HyperTerminal: - bits por Sec: 4800 bits de dados: 8 H / W: FLOWCONTROL Pairty nenhum: Nenhum Bits de parada: 1
 
Configurações HyperTerminal: - bits por Sec: 4800 bits de dados: 8 H / W: FLOWCONTROL Pairty nenhum: Nenhum Bits de parada: 1
 
tente o seguinte:
Code:
 {TMOD = 0x20; SCON = 0x50; TL1 = 0xFA; Th1 = 0xFA; tr1 = 1, enquanto ... }
: wink: IanP
 
DB9 pino 5 já foi ligado à terra. O código, como sugerido por IanP dá o mesmo resultado em massa, mas Hyperterminal mostrando TMOD "9b" = 0x20; SCON = 0x50; TL1 = 0xFA; TH1 = 0xFA; TR1 = 1; while (1) {SBUF = 'M', enquanto (TI == 0); TI = 0;}
 
tente isso 1. verificar um personagem em um momento [sintaxe = c] TMOD = 0x20; SCON = 0x50; TL1 = 0xFA; TH1 = 0xFA; TR1 = 1; SBUF = 'M', enquanto (TI == 0); TI = 0, enquanto (1) {} [sintaxe /] 2. Introduzir pequeno atraso entre dois seqüência envio. [Sintaxe = c] TMOD = 0x20; SCON = 0x50; TL1 = 0xFA; TH1 = 0xFA; TR1 = 1; while (1) {SBUF = 'M', coloque um pouco de atraso aqui while (TI == 0); TI = 0;} [sintaxe /]
 
HI: C51 código é ok! / / CRYSTAL 11.0592 4800, mas seu código não demora ================= # include main () {TMOD = 0x20; TH1 = 0xFA; SCON = 0x50; TR1 = 1; while (1) {SBUF = 'M', enquanto (TI == 0); TI = 0; [color = # FF0000] code atraso [/COLOR]}} Boa sorte!
 
# Include main () {TMOD = 0x20; TH1 = 0xFA; SCON = 0x50; TR1 = 1; while (1) {SBUF = 'M', enquanto (TI == 0); TI = 0; MSDelay (300); }} saída mesmo. Apenas mostrando 'b' no Hyperterminal. Parece que tudo o que eu faço mudar. Eu só vejo 'b'. Além do hyperterminal, eu também tenho usado putty e Uart.exe. Exibe Uart.exe - ASCII char-â Decimal - Hex 226 - 0xE2
 
tente enviar personagens diferentes, também verifique o seu hardware novamente
 
Agora o código é: - # include # include void sendx (unsigned char x); main () {TMOD = 0x20; TH1 = 0xFA; SCON = 0x50; TR1 = 1; while (1) {sendx ('a'); sendx ('b'); sendx ('c'); sendx ('A'); sendx ('B'); sendx ('C');}} void sendx (unsigned char x) {SBUF = x, enquanto (TI == 0); TI = 0; DelayMs (200);} E A saída no Hyperterminal: - èééàááèééàááèééàááèééàááèééàááèééà
 
Um bug comum na comunicação RS232 com PC, não é correspondida Baudrates. Assim, verificar que a taxa de transmissão do lado do PC é o mesmo que o baudrate a partir do lado MCU. Uma vez que você está recebendo caracteres errados no hyperterminal, esta poderia ser uma possível razão.
 
verificar a conexão de ur assim ... pode ser isso irá ajudar ...
 
verificar a conexão de ur assim ... pode ser isso irá ajudar ... [/QUOTE] Primeiro de tudo é bom para colocar a folha de dados para referência. [Url = http://pdf1.alldatasheet.com/datasheet-pdf/view/73074/MAXIM/MAX232.html] MAX232 pdf, descrição MAX232, MAX232 folhas de dados, MAX232 vista ::: ALLDATASHEET ::: [/url] Usado capacitores devem ter um valor de 100nF, mas você está usando 10uF. No conector RS232, os sinais dos pinos 2 e 3 deve ser invertido com a outra (a menos que você não use um cabo cross). Com exceção dos pinos 2, 3 e 5 sobre este conector, você não precisa de outras conexões. Eu não posso dizer se as conexões extras que você está usando lá, está certo ou errado. Eu nunca fio qualquer outra coisa em um DB9, exceto essas três pinos que eu mencionei. Além disso, é um hábito comum usar T1 com R1 em conjunto com R2 e T2 em conjunto. Acho que ele vai trabalhar com o seu caminho também, mas nunca vi esse tipo de conexão antes. Espero não perder alguma coisa, por favor, mude o seu circuito de acordo com a folha de dados.
 

Welcome to EDABoard.com

Sponsor

Back
Top