89C51 Serial Programming helpl ...

H

hussain_kiet

Guest
hi mij ben using AT89C51 uc met KIEL Microvision 2 compiler ik wil schrijven naar en lezen van de seriële poort
Ik heb gemaakt van de vereiste circuit is, maar nog steeds problemen ondervindt (cant zie de schriftelijke gegevens)
plzz kan iemand mij vertellen hoe ik kon schrijven op de seriële poort en hoe kan ik de gegevens schriftelijk op de seriële poort ..?

dit is mijn code

Citaat:

# include <reg51.h>

void sertx (unsigned char);

void main (void)

(unsigned char z;

unsigned char aa [] = "MHWSQ";

TMOD = 0x20;

TH1 = 0xfd;

SCON = 0x50;

TR1 = 1;

while (1)

(

for (z = 0; z <5; z )

(

SBUF = aa [z];

while (TI == 0);

TI = 0;

)

)

)
 
Uw programma is correct en krijg je de output op de seriële venster.Maar je moet MAX 232 IC.Sluit TX en RX van de controller te MAX232 en sluit MAX-232 op de PC met een seriële kabel.Gebruik HyperTerminal om de output.Uw programma zal werken.

 
Ik ben het met je ckshivaram cant connect CMOS of TTL niveaus rechtstreeks naar RS232.
RS232 is ook een fysieke protocol werken met -15V.Dus wees voorzichtig als je kunt gemakkelijk blow-up UART pinnen van MCU's als je ze direct aansluiten!Neem eens een kijkje:
http://www.lammertbies.nl/comm/info/RS-232_specs.html # phys

 
Nou ik heb gebruikt MAX232 IC, maar nog steeds cant zie de uitgang van de hyper terminal ..
wanneer ik mijn verbinding circuit dan de hyper terminal zal direct tonen van de uitgang
of moet ik het bestand ontvangen ...???

en wanneer ontvang ik het dossier toont vuilnis waarde ..

 
Allereerst heb je voor het configureren van de communicatie-opties in ht.Bijvoorbeeld 8bit data, 1 stop, no-parity, 9600 b / s, etc en ofcource selecteert u de juiste poort.Deze moeten overeenkomen met uw configuraties op de MCU-precies.Als dit in orde is, is de input rechtstreeks op de ht scherm.(ontvangst van vuilnis betekent waarschijnlijk verkeerde configuraties)
In ieder geval kunt u altijd contact op met een oscilloscoop de TX pin van uw MCU voor en na de MAX232, zodat u eenvoudig kunt controleren of het niveau en de frequentie van het signaal

 
Maak hardware selectie als geen en emulatie als ANSI.Geen behoefte aan een receivecommand gebruiken, zal het automatisch ontvangen.

 
hussain_kiet schreef:
Citaat:

# include <reg51.h>

void sertx (unsigned char);

void main (void)

(unsigned char z;

unsigned char aa [] = "MHWSQ";

TMOD = 0x20;

TH1 = 0xfd;

SCON = 0x50;

TR1 = 1;

TI = 1;

while (1)

(

for (z = 0; z <5; z )

(

SBUF = aa [z];

while (TI == 0);

TI = 0;

)

)

)
 

Welcome to EDABoard.com

Sponsor

Back
Top