Hallo
ich habe folgendes Problem ich hab hier Aufgaben die ich nicht verstehe
und hoffe ihr könnt mir helfen. Ich bin neu auf dem Gebiet und hoffe auf
eure Unterstützung. Danke!
3.1.Erweitern si das Programm der Aufgabe 1.1* um die serielle
Schnittstelle zu initialisieren und anschliessend in einer Schleife ein
Zeichen(z.B. "A")auszugeben. Beachten Sie, daß das Programm auf das Ende
der Übertragung warten muss, bevor das nächste Zeichen gesendet wird.
*Aufgbae 1.1:
.title Erste Aufgabe
.area CODE1 (ABS)
.org 0x0000
DACAPO:
mov P1,#0x00
mov P1,#0XFF
.area CSEG (CODE)
3.2.Modifizieren sie das Programm der Aufgabe 3.1 so. dass ein lesbarer
Text aus dem Terminal ausgegeben wird.
3.3 Modifizieren sie das Programm der Aufgabe 3.1 so, dass der
Mircrocontroller auf Eingabe eines Zeichen vom Terminalwartet, und
anschliessend das empfangene Zeichen wieder n das Termnal zurücksendet.
(Echo)
3.4 Modifizieren sie das Programm der Aufgabe 3.3 so, dass der
Microcontroller aufEingabe eines Zeichens vom Terminal watet, und
anschliessend das empfangene Zeichen auf Port P1 ausgibt.
> ich habe folgendes Problem ich hab hier Aufgaben die ich nicht verstehe> und hoffe ihr könnt mir helfen.
Du musst schon sagen was du genau nicht verstehst. Oder glaubst du im
ernst wir machen dir deine Hausaufgaben?
Olaf
Lustig! Ich versteh da garnichts und Hausaufgaben sind das auch nicht
hab echt keine Ahnung was ich da genau machen soll.
Wie soll ich denn die AUfgaben machen ohne zu wissen wie das alles
funktioniert
Marcel Reich schrieb:> Wie soll ich denn die AUfgaben machen ohne zu wissen wie das alles> funktioniert
Dann sag Deinem Lehrer, daß er erstmal seine Aufgabe erfüllen soll,
nämlich Dir die dazu nötigen Grundlagen zu vermitteln.
Peter
Naja egal vergessen wir das Thema, aber wenn ihr noch so nett sein
könntet könnt ihr mir noch eine Frage beantworten?
Ich brauch für den mov TH1 Befehl das 0x**, bloß hab ich das nur für
einen 11.059 MHz Quartz und ich hab hier einen 20 MHz was muss ich dann
für das ** einsetzen?
Marcel Reich schrieb:> Ich brauch für den mov TH1 Befehl das 0x**, bloß hab ich das nur für> einen 11.059 MHz Quartz und ich hab hier einen 20 MHz was muss ich dann> für das ** einsetzen?
Das hängt von der gewünschten Baudrate ab und von dem 8051-Typ, ob der
durch 12, 6, 4, 2 oder 1 teilt und vom SMOD-Bit.
In vielen Datenblättern stehen sogar fertige Tabellen für die gängigsten
Baudraten.
Peter
> Ich hätt dir ja die Angaben gemacht aber wie gesagt kenn mich da noch> nich so aus.
Dafür reisst dir ja keiner den Kopf ab, wohl aber für Formulierungen ála
"Ich soll..., macht ihr...".
Vorschlag: Ließ dir das Datenblatt deines Controllers in Ruhe durch,
oder zumindest den für die serielle Schnittstelle relevanten Teil.
Zusätzlich zum besseren Verständnis bemühst du mal die Suchmaschine
deiner Wahl mit Stichworten wie zum Beispiel "Einführung 8051" - da
bekommst du beispielsweise sowas:
http://rudolf-eisenbarth.de/rechts/MC8051.htmhttp://www.ieap.uni-kiel.de/surface/ag-berndt/lehre/fpmc/index.html
Ich kenne die Seiten nicht, aber das sind sicher nicht die einzigen.
Und dann, wenn du ein gewisses Grundverständnis erarbeitet und
konkrete Fragen hast, kommst wieder und fragst, warum was nicht geht
oder was du nicht verstehst.
Ralf
Danke Ralf
Ja sorry wegen dem "Ich soll..., macht ihr...".
Ich werd mich da mal durcharbeiten und komm dann mit konkreten Fragen
wieder.
Falls ich welche haben sollte.
moin moin,
was soll dieses Prog denn tun????
Fragen:
-woher kommt der Wert 0EAH für 4800Baud?
-wird R1 mit #3fH geladen?
-was soll das "wackeln" an P1,P2 sein?
Ohne passende Dokumentation ist ein Programm wertlos, wie willst Du
selber in einiger Zeit noch sagen können was warum wie gemacht wurde.
Mit Gruß
Pieter
Der Mircrocontroller soll auf Eingabe eines Zeichen vom Terminal warten,
und
anschliessend das empfangene Zeichen wieder in das Termnal zurücksenden.
1. 0xEA hab ich ausgerechnet für den Microcontroller
2. Eigentlich schon
3. Sorry das muss raus war schon für was anderes