Startseite   |  Site map   |  A-Z artikel   |  Artikel einreichen   |   Kontakt   |  
   
  •  
    Biologie
    Themen der Chemie
    Deutsch online artikel
    Englisch / Englische
    Franzosisch
    Geographie
    Geschichte
    Informatik
    Kunst
    Mathematik / Studium
    Musik
    Philosophie
    Physik
    Recht
    Sport
    Wirtschaft & Technik



    Biographie

    Impressum

informatik artikel (Interpretation und charakterisierung)

Unix

Programmerstellung


1. Java
2. Viren



Programme für Mikrocontroller können in mehreren Programmiersprachen erstellt werden. Es steht unter anderem C, Basic oder Assembler zur Verfügung. Es soll die Assemblersprache

näher erläutert werden.


3.1 Einfache Assemblerbefehle

Einige Assemblerbefehle, mit denen man schon viele Anwendungsaufgaben lösen kann.

Befehl Funktion
and Rd, Rr Der Inhalt des Registers Rr wird mit dem Inhalt des Registers Rd UND-verknüpft. Das Ergebnis wird in Rd gespeichert.
Andi Rd, K8 Der Inhalt des Registers Rd wird mit der 8 Bit - Konstanten K8 UND-verknüpft. Das Ergebnis wird in Rd gespeichert.
in Rd, P Der Inhalt des I/O-Ports P wird in das Register Rd geladen.
ldi Rd, K8 Der Inhalt von einer 8 Bit - Konstanten K8 wird in das Register Rd geladen.

Nop Einen Systemtakt warten.
or Rd, Rr Rr wird mit Rd Oder verknüpft. Das Ergebnis wird in Rd gespeichert.
ori Rd, K8 Der Inhalt des Registers Rd wird mit der 8 Bit - Konstanten K8 ODER-verknüpft. Das Ergebnis wird in Rd gespeichert.
out P, Rr Der Inhalt von dem Register Rr wird in den I/O-Port P geladen.

rjmp Label Relativer Sprung auf Label
Tab. 2: Einfache Assemblerbefehle



3.2 Port als Ausgang


Befehl Erklärung
.include \"2313def.inc" ;Diese Datei wird an jedem Prgrammanfang ;eingebunden, damit wird dem Makro-Assembler ;(Übersetzungsprogramm, der den Code in ;Maschinencode übersetzt) mitgeteilt um welchen ;Controller es sich handelt.


ldi r16, 0xFF ;0xFF in das Arbeitsregister 16 laden

out DDRB, r16 ;Der Inhalt des Arbeitsregisters 16 wird nun in das ;Datenrichtungsregister von Port B ausgegeben. Alle ;Pins an Port sind nun als Ausgang konfiguriert.

ldi r16, 0b00111111 ;0b00111111 wird in das Arbeitsregister r16 geladen
out PORTB, r16 ;Der Inhalt des Arbeitsregisters r16 wird an das ;Portregister von Port B übergeben.
ende: rjmp ende ; Es wird ein Sprung zur Marke Ende gemacht, da ;sonst der Controller immer wieder von vorn beginnen ;würde.


3.3 Port als Eingang


Befehl Erklärung
.include \"2313def.inc" ;Diese Datei wird an jedem Prgrammanfang ;eingebunden, damit wird dem AVR-Assembler ;(Übersetzungsprogramm in Maschinencode) ;mitgeteilt um welchen Controller es sich handelt.
ldi r16, 0x00 ;In das Arbeitsregister 16 wird 0x00 geladen.
out DDRD, r16 ;In das Portregister von Port D wird r16 gegeben. ;Damit ist Port D als Eingang konfiguriert.
ldi r16, 0xFF ;In das Arbeitsregister 16 wird 0xFF geladen
out DDRB, r16 ;In das Portregister von Port B wird r16 gegeben. ;Damit ist Port B als Ausgang konfiguriert.

marke1 : in r16, PIND ; Die Zustände an den Pins von Port D ;(Signalgeber) werden in das Arbeitsregister 16 ;geladen.



out PORTB, r16 ; Das Arbeitsregister 16 wird an den Port B ;gegeben, damit liegt an den Ausgangspins ;Spannung an, wenn am jeweiligen Eingangspin ;Spannung anliegt.

rjmp marke1 ; Es wird wieder zur Marke 1 gesprungen, denn die ;Zustände an den Datenrichtungsregistern bleibt ;erhalten und muss nicht neu eingeschrieben ;werden.


3.4 Programmentwicklung

Zum Abschluss soll der Weg vom Assemblerprogramm bis hin zum endgültigen Betrieb des Mikrocontrollers beschrieben werden.
Zunächst wird das Programm in einem Editor per Tastatur eingegeben. Ein Editor der das geschriebene Assemblerprogramm als reine *.txt -Datei speichert ist vollkommen ausreichend. Nach dem Speichern des Assemblerprogramms wird dieses Programm mit Hilfe eines Makroassemblers in die Maschinensprache übersetzt. Es ist darauf zu achten das in der gespeicherten *.txt-Datei der reine ASCII-Code steht, also ohne Textformatierungen, denn die Textformatierungen würden von dem Makroassembler mit übersetzt werden. Dies hat eine Fehlfunktion des Programms zur Folge. Der Makroassembler wird nach dem Übersetzten Dateien erstellen, die *.lst-Datei ( Programmlisting ), die *.obj-Datei und die *.hex - Datei, das eigentliche Maschinenprogramm in unterschiedlichen Formaten, das später in den Flash-ROM gespeichert wird. Mit Hilfe *.obj-Datei kann man jetzt im Simulator das komplette Programm testen. Zur Auffindung von Fehlern im Programm enthält der Simulator einen Debugger, dieser ermöglicht eine Fehlererkennung des Programms, bevor in es den Mikrocontroller gespeichert wird. Nach der dieser Programmierung und Überprüfung des Programms muss die *.hex-Datei in den Controller übertragen werden. Die parallele oder serielle Schnittstelle des Computers und der entsprechende Programmieradapter wird zur Übertragung der Daten verwendet. Das Programm befindet sich nun im Flash-Speicher des AVR-Mikrocontroller. Letztendlich wird nun eine Inbetriebnahme des Systems durchgeführt und das System ist betriebsbereit.

 
 




Datenschutz

Top Themen / Analyse
SPS - Anwendung für numerisch gesteuerte Bearbeitungsprozesse
Andere Dateisysteme kurz vorgestellt:
Die Festplatte-
SBB
Wie erzeugt ein Laser ein Lichtbündel ?
Internet und Urheberrecht
Kommunikationssteuerungsschicht
Kompression und Archivierung
Was ist deterministisches Chaos?
Die Rotationsbefehle





Datenschutz

Zum selben thema
Netzwerk
Software
Entwicklung
Windows
Programm
Unix
Games
Sicherheit
Disk
Technologie
Bildung
Mp3
Cd
Suche
Grafik
Zahlung
Html
Internet
Hardware
Cpu
Firewall
Speicher
Mail
Banking
Video
Hacker
Design
Sprache
Dvd
Drucker
Elektronisches
Geschichte
Fehler
Website
Linux
Computer
A-Z informatik artikel:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #

Copyright © 2008 - : ARTIKEL32 | Alle rechte vorbehalten.
Vervielfältigung im Ganzen oder teilweise das Material auf dieser Website gegen das Urheberrecht und wird bestraft, nach dem Gesetz.