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?
Dieser Wert lässt sich nach der Formel im Datenblatt berechnen!
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
Danke Peter werd mal suchen. Ich hätt dir ja die Angaben gemacht aber wie gesagt kenn mich da noch nich so aus.
> 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.htm http://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.
Ich nochmal Also zu Aufgabe 3, hab jetzt ein Programm dazu und wollte wissen ob das so richtig ist!? .title Aufgabe 3_3 .area CODE1 (ABS) .org 0x0000 mov TMOD,#0x20 mov TCON,#0x20 mov TH1,#0xEA ; 4800 Baud mov TL1,#0xEA ; 4800 Baud mov SCON,#0x50 mov PCON,#0x00 mov IE,#0x00 setb TR1 mov P1,#0x01 ; Clk = L mov P2,#0xFA ; Data 1 mov P1,#0xFF ; Clk = H mov R1,#0x3F DACAPO: mov SBUF,R1 ; Zeichen 1$: jnb RI,1$ clr RI mov R1,SBUF ; empfangenes Zeichen mov P1,#0x01 ; Clk = L xrl P2,#0x0F ; Data 2 mov P1,#0xFF ; Clk = H ljmp DACAPO .area CSEG (CODE) ; End
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
Marcel Reich schrieb: > mov TH1,#0xEA ; 4800 Baud > mov TL1,#0xEA ; 4800 Baud Beide den selben Wert? Gruß Jobst
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.