Forum: Projekte & Code Kommunikation ATMEGA8A/avrsm - MAX232 - COM1 PC/VB6 auf unterstem Niveau


von Klaus D. (rodo38)



Lesenswert?

Hallo geschätztes Forum,

das hier vorgestellte kleine Projekt ist eine Kommunikation zwischen 
einem Mikrocontroller (µC] ATMEGA8A und einem PC über die serielle 
Schnittstelle RS232 auf unterstem Niveau. Ich hoffe, dass sich ein 
Anfänger vielleicht dafür interessiert.

COM1-Einstellungen: 38400,8,Keine,1,Keine

Zur Pegel- und Logikanpassung dient ein IC MAX232.
Das Programm für den µC ist in Assembler geschrieben. Es läuft in Studio 
4
Das Programm für den PC wurde in Visual Basic 6.0 Prof. geschrieben.
Beide Source Codes sind beigefügt, ebenso die Schaltpläne.

Programm für den µC: \ASCII\ASCII ATMEGA8A\UART.hex.

Das Programm für den PC muss evtl. installiert werden, weil sonst die 
serielle Schnittstelle nicht erkannt wird:

\ASCII\ASCII VB6\RS232 Paket\setup.exe.

Vor der Installation kann aber versucht werden, ob es mittels 
Doppelklick auf die EXE-Datei funktioniert:

\ASCII\ASCII VB6\RS232 Send Receive.exe

Das VB6-Programm kann auch ohne Anschluss an den µC verwendet werden. 
Das ist zunächst auch sinnvoll, weil sich unter dem Menüpunkt <Help> 
weitere Informationen befinden.

Damit es überhaupt geht, muss unbedingt sichergestellt sein, dass kein 
anderes Programm auf COM1 zugreift! Das tun z.B. Programme für PDAs 
gerne.

Bilder, Schaltpläne und das Programmlisting für den µC befinden sich in 
der Datei \ASCII\ASCII PDF\PDFRS232 Send Receive.pdf.
Auf Seite 6 dieser Datei sind die Funktionen genau beschrieben. Deshalb 
hier nur einiges in Kürze:

Der µC sendet auf Tastendruck die ASCII Codes 000 bis 255 mit dazwischen 
liegenden Pausen zum MAX232. Der wandelt Logik und Pegel auf die RS232 
Norm.
Die Pausen betragen min 10 ms. Mittels Brücken nach GND in D.3 bis D.7 
können sie bis auf 620 ms verlängert werden.

Wenn alles funktioniert, dann erscheinen die gesendeten Zeichen in den 
256 Textfeldern des VB6-Programms auf dem Monitor des PC. Links daneben 
steht jeweils die zugehörige ASCII Nummer. Der Code wird binär durch 
LEDs am µC angezeigt, ebenso durch 8 kleine Textfelder im VB6-Programm.

Wenn man auf ein Option Button neben einem der 256 ASCII Zeichen klickt, 
dann wird dieses ASCII Zeichen vom PC an den µC gesendet. Mittels der 
PC-Tastatur Pfeiltasten ▲ bzw. ▼ kann zum vorherigen bzw. zum nächsten 
Zeichen gesprungen werden, welches dann gesendet wird. Die Anzeige der 
zum µC gesendeten Codes erfolgt wie zuvor beschrieben.

Ein im PC-Programm gewählter Code kann auch ständig wiederholt 
ausgegeben werden. Das ist zur Anzeige mittels Oszilloskops sinnvoll.

\ASCII\ASKII PDF\RS232 Send Receive.pdf, Seite 3, zeigt 
Oszilloskop-Bilder auf der µC-Seite des MAX232, 0VDC und +5VDC und 
positive Logik von oben nach unten:

CHR(000) = NUL
CHR(255) = "ÿ"
CHR(048) = "0"
CHR(049) = "1"

Viel Spaß

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.