Terminalfunktionen - Wenn der AVR was zu sagen hat

 

Materialbedarf

 

Anz. Bezeichnung Datenblatt
1 Batterie/Spannungsquelle 9V  
1 Spannungsregler 7805
1 ATMega8 AVR-Prozessor
2 Widerstand 220 Ohm  
1 Widerstand 10 kOhm  
1 Elektrolytkondensator 100 µF/16V  
1 Kondensator 100nF  
2 Standard-Leuchtdiode 3mm oder 5mm 3mm, 5mm

 

 

Grundfunktion des Terminals

 

 

Um den ATMega an ein Terminal anzuschließen, benötigt man nicht sonderlich viel. Es reicht nur eine kleine Zusatzschaltung die unter 'RS232 - Der PC und der AVR verstehen sich' beschrieben ist.

Für die Kommunikation mit einem Terminal besitzt der ATMega alles andere 'On Board'. Die beiden Pins 2 und 3 können für den Anschluss eines entsprechenden Terminals verwendet werden.

Etwas komplizierter ist daher die Einrichtung eines Terminals, wozu heutzutage in der Regel der heimische PC verwendet wird.

 

Bascom bietet hier aber auch eine eingebaute Lösung an, womit wir auch Terminalausgaben überwachen können.

 

 

In der Menüzeile findet man eine Schaltfläche für das Terminal. Klickt man dieses an, öffnet sich ein weiteres kleines Fenster mit einer leeren blauen Fläche.

 

 

Unten in der Statuszeile können wir erkennen, mit welchen Übertragungsdaten die RS232-Schnittstelle des PCs arbeitet. Sollte dieses nicht dort stehen, muss die Einstellung geändert werden. Hierfür findet man im Menu des Terminals unter 'Terminal' den Punkt 'Settings'. Rufen wir diesen auf, erscheint folgendes Fenster:

 

 

Diese Einstellungen sollten mit der Abbildung übereinstimmen. Ausnahme wäre hier die Einstellung 'COM Port', wenn man den AVR an einer anderen seriellen Schnittstelle als COM1 an den PC angeschlossen hat.

 

Damit ist nun das Terminal eingerichtet und wir können unser erstes Programm testen:

 

$regfile "m8def.dat"
$crystal = 1000000
$baud = 1200

Print "Hallo. Hier bin ich"

Stop

 

Übersetzen und übertragen das Programm, können wir daraufhin den Text: 'Hallo. Hier bin ich' im Terminalfenster lesen. Wie man an dem Programm sehen kann, ist nicht sehr viel notwendig, damit es dem ATMega möglich ist, Terminalausgaben zu machen. Dies kommt unter anderem daher, dass die AVR-Controller die komplette Steuerung für die serielle Schnittstelle eingebaut haben. 2 Programmzeilen schauen wir uns aber dennoch an:

 

$baud = 1200

 

Hier sagen wir dem AVR, dass wir die eingebaute serielle Schnittstelle mit einer Geschwindigkeit von 1200 Baud verwenden wollen. Größere Werte können zwar eingestellt werden, sind aber mit unserer Standardkonfiguration nicht sinnvoll.

 

Print "Hallo. Hier bin ich"

 

Mit dem Befehl 'Print' veranlassen wir eine Ausgabe auf das Terminal, wie es hier auch geschehen ist.

 

 

Der ATMega gehorcht

 

Es ist aber nicht nur möglich, Daten vom Prozessor zum PC zu schicken. Auch vom PC zum ATMega lassen sich Daten schicken und so sogar externe Anweisungen übertragen. Dies soll einmal das folgende Programm verdeutlichen:

 

$regfile "m8def.dat"
$crystal = 1000000
$baud = 1200

Dim Ein As Byte

Config Portb = Output
Portb.0 = 0 : Portb.1 = 0

Do
  Input ">" , Ein
  If Ein = 1 Then Toggle Portb.0
  If Ein = 2 Then Toggle Portb.1
Loop

 

Neben den uns schon teilweise, bekannten Strukturen, finden wir hier eine besondere Anweisung:

 

Input ">" , Ein

 

Soll der AVR diese Anweisung ausführen, wartet der Controller, bis er von der Schnittstelle eine Eingabe mit anschließendem [Return] bekommt. Die Eingabe wird nun noch überprüft und in der Variable 'Ein' gespeichert.

 

Mit den nächsten beiden Anweisungen:

 

If Ein = 1 Then Toggle Portb.0
If Ein = 2 Then Toggle Portb.1

 

testen wir, ob die Variable den Wert 1 oder 2 enthält. Ist eine '1' eingegeben worden, wird die LED an Port B Pin 0 ein- bzw. ausgeschaltet. Also im Grunde umgeschaltet. Das Gleiche passiert mit der Leuchtdiode an Port B Pin 1 bei der Eingabe von 2.

 

Hier haben wir also nun ein einfaches System, welches aufgrund von Benutzereingaben reagiert und somit Controllergesteuert z.B. die Kaffeemaschine einschalten kann. Wird das Terminal z.B. im Schlafzimmer untergebracht und die Steuerung mit dem ATMega in der Küche. So kann man, noch bevor man das wohlige Bett verlässt, mit einem Druck auf '1' die Kaffeemaschine starten, 2 startet den Toaster usw.

 

 

Zurück zur Auswahlseite            Zur Hauptseite