erstellt 20.06.2012 |
||||||||||||||||||||||||||||||||||||||||||||||
Datenausgabe |
||||||||||||||||||||||||||||||||||||||||||||||
Um
Daten
auszugeben gibt es eine viel Zahl von Möglichkeiten,wir können Daten
auf ein Display ausgegeben oder an Hand von Leuchtdioden ausgeben. Dazu erweitern wir unsere Testplatine um zwei Leuchtdioden und zwei Widerstände an den Anschlüssen 12 und 13 des Atmega 8. Die Widerstände sind so zu bemessen das je nach Led nicht mehr als 20 mA fließen. Also angenommen es wird eine Rote Standard Leuchtdiode benutzt benutzt, die laut Datenblatt so an die 2,2 Volt benötigt bei 20 mA Stromverbrauch, so berechnen wir folgendermaßen den Vorwiderstand: Gesamte Betriebsspannung ( 5V) minus Led Spannung (2,2 V) bleiben 2,8 Volt übrig . Bei einen Stromverbrauch der Leuchtdiode von 20 mA rechnen wir 2,8 Volt geteilt durch 20mA = 140 Ohm Da es keinen 140 Ohm Widerstand in den Standardausführungen gibt, nehmen wir den nächst höheren z.B. 220 Ohm. Damit können wir sicher sein das der höchste Strom der dem Atmega entnommen wird auf jeden Fall unter 20mA liegt , und sind so sicher das der Atmega nicht überlastet wird. In der vorliegenden Schaltung wurden allerdings eine Blaue und eine Gelbe Leuchtdiode verwendet, und da sich die Spannungen der Leuchtdioden je nach Farbe ändert ,sollte man das Datenblatt der jeweiligen Leuchtdiode zu Grunde legen. Wenn man keine Lust zum rechnen hat , nimmt man sich bei einer Betriebsspannung von 5 Volt einfach einen Standard Widerstand von 220 Ohm, der funktioniert in der Regel bei den meisten Led's. |
||||||||||||||||||||||||||||||||||||||||||||||
Nun sind wir soweit unser erstes Programm zu schreiben, dazu probieren wir als erstes einen Ausgang An und Aus zu schalten . Also unsere angeschlossene gelbe Led wollen wir zum blinken bekommen. Dazu öffnen wir die Bascom Oberfläche klicken auf das Symbol oben links in der Menüleiste und erstellen damit eine neue Datei. |
||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||
Wenn
wir in den "Optionen" alle Einstellungen richtig gemacht haben , sollte
jetzt eine leere Textdatei erscheinen mit vorangestellten Zeilen
Nummern. |
||||||||||||||||||||||||||||||||||||||||||||||
Anschließend klicken wir das
Symbol oben rechts an ( Bild unten) und öffnen damit eine PDF Datei in
einem kleinen Fenster die uns das Layout des Atmega 8 anzeigt. Wenn wir nun innerhalb dieses Layout den Mauszeiger auf einen Anschluss positionieren bekommen wir die dazugehörige Anschlussbezeichnung angezeigt , halten wir also den Mauszeiger z.B über den Anschluss an dem unsere gelbe Led angeschlossen ist, so wird die Anschlussbezeichnung angezeigt im vorliegenden Fall Pd.7 das bedeutet das es sich um Port d.7 handelt. Beim Atmega Mikroprozessor handelt es sich um ein 8 Bit System was soviel heißt das ein Port immer aus 8 Bit's besteht, demnach gibt es den Port d.0 bis Port d.7 also insgesamt 8 Stück. |
||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||
Nun können wir also anfangen die ersten Programmzeilen einzugeben, dabei ist zu beachten das wenn ein " ,
" Zeichen ( also ein Komma) vor der Texteingabe als erstes Zeichen der Zeile steht wird diese Zeile nicht als Programmzeile erkannt sondern dient nur der Eingabe von Kommentare ( hier in grün dargestellt), und wird beim eigentlichen Programmablauf vollkommen ignoriert. |
||||||||||||||||||||||||||||||||||||||||||||||
Es
ist auch nicht notwendig an Zeile 1 anzufangen , es kann bedenkenlos an
jeder X beliebigen Zeilennummer anfangen werden, ausschlaggebend ist nur die richtige Reihenfolge der einzelnen Befehlszeilen. Also tippen wir folgende Zeilen ab , und erstellen unser erstes Programm, die Kommentarzeilen können dabei weg gelassen werden, man sollte sich in Zukunft aber daran gewöhnen möglichst viele aussagekräftige Kommentare mit einzugeben weil mit der Zeit die Anzahl der Programmzeilen immer mehr zunehmen und dabei schnell die Übersicht verloren geht,insbesondere wenn ein Programm mal nicht läuft kann es bei der Fehlersuche wichtig sein , noch zu wissen warum man welche Zeile geschrieben hat. |
||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||
Nachdem wir soweit gekommen sind, wird das Programm Compiliert und anschließend in den Atmega übertragen |
||||||||||||||||||||||||||||||||||||||||||||||
Wenn
wird uns dann die Led (Gelb) ansehen, sollte diese blinken und zwar
sollte sie 1 Sekunde an sein, anschließend für 1 Sekunde aus, dann
wieder an usw..Damit hätten wir unseren ersten Blinker erzeugt. |
||||||||||||||||||||||||||||||||||||||||||||||
Anschließend
wollen wir eine Led zum Leuchten bringen solange Taster S1 gedrückt ist
und beim loslassen soll sie wieder erlischen. |
||||||||||||||||||||||||||||||||||||||||||||||
Dazu
ändern wir das Programm nach oben gezeigten Beispiel ab.In Zeile 20
wird der interne PullUp Widerstand im Atmega für Pin C.2 zugeschaltet,
und in Zeile 25 wird abgefragt ob der am PINC.2 angeschlossene Taster
geschlossen ist , wenn "Ja "dann soll der Ausgang Portd.7 (Gelbe Led)
eingeschaltet werden , wenn irgend eine andere Konstellation vorliegt
soll Led Gelb aus bleiben. |
||||||||||||||||||||||||||||||||||||||||||||||
Wenn man am Ausgang des
Controllers nicht mit den bereitgestelltn 20 mA auskommt, sollte man
einen Transistor nachschalten,somit kann man bei Standard Transistoren
bis zu 200 mA ansteuern. |
||||||||||||||||||||||||||||||||||||||||||||||
aktualisiert 07.06.2020 |
||||||||||||||||||||||||||||||||||||||||||||||
Copyright by Ms 2009 |