Startseite   |  Site map   |  A-Z artikel   |  Artikel einreichen   |   Kontakt   |  
  


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
indicator SPS - Anwendung für numerisch gesteuerte Bearbeitungsprozesse
indicator Andere Dateisysteme kurz vorgestellt:
indicator Die Festplatte-
indicator SBB
indicator Wie erzeugt ein Laser ein Lichtbündel ?
indicator Internet und Urheberrecht
indicator Kommunikationssteuerungsschicht
indicator Kompression und Archivierung
indicator Was ist deterministisches Chaos?
indicator Die Rotationsbefehle




Datenschutz
Zum selben thema
icon Netzwerk
icon Software
icon Entwicklung
icon Windows
icon Programm
icon Unix
icon Games
icon Sicherheit
icon Disk
icon Technologie
icon Bildung
icon Mp3
icon Cd
icon Suche
icon Grafik
icon Zahlung
icon Html
icon Internet
icon Hardware
icon Cpu
icon Firewall
icon Speicher
icon Mail
icon Banking
icon Video
icon Hacker
icon Design
icon Sprache
icon Dvd
icon Drucker
icon Elektronisches
icon Geschichte
icon Fehler
icon Website
icon Linux
icon 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.
dsolution