Staatliche Prüfungen E-Technik Oktober 2009

AW: Staatliche Prüfungen E-Technik Oktober 2009

Hi Martina!

Kann dich trösten an dieser Suche nach dem Datenpointer bin ich auch schon gescheitert.
In der Zusammenfassung von der Abschlußprüfung von 2008 steht zwar das es abgefragt wurde.
 
G

gamer

Gast
AW: Staatliche Prüfungen E-Technik Oktober 2009

Hi!
Im LM3 stehts, wie man mit dem DTPR DPH und DPL runterzählt.
Sind auch Übungen drin im LM.

Grüße

gamer
 
AW: Staatliche Prüfungen E-Technik Oktober 2009

Hallo gamer,

danke! Meinst du LM3 Seite 57/58? Mehr find ich da nicht.
Und das was ich da lese verwirrt mich total.

Kann mir wer die Zeilen ab EINGABE erklären? Warum rechnen die da SUBB A,#0AH?? Die lesen da ja den Inhalt von P1 ein. Und dann?? Warum -0A????
ab da bin ich komplett verwirrt. Kann mir das wer erklären???

Danke
Gibts sonst noch irgendwo was übern Data Pointer???
 
AW: Staatliche Prüfungen E-Technik Oktober 2009

Hi MartinaA,

...es soll ja eine BCD Ziffer (0...9) als 7-Segment-Code
ausgegeben werden

an Port P1 können aber Zahlen von 0...255 eingelesen werden
alles über 9 (also 10 bis 255) ist keine BCD-Ziffer

deswegen wird der Port P1 mit der Zahl 10 verglichen
(A=A-10)
wenn diese Rechnung keinen Überlauf ergibt,ist die Zahl an P1 zu groß

bei Zahlen von 0 bis 9 gibt es einen Überlauf

der Datapointer soll jetzt auf die Adresse zeigen an der der
entsprechende 7Segment-Code liegt

das Hi-Byte (DPH) wird fest mit 01h geladen
das Lo-Byte (DPL) wird mit dem Akku-Inhalt geladen (der ist je nach P1 0 bis 9)

zusammen ergibt das Lo und Hi-Byte den Datapointer (DP)
und der Zeigt jetzt z.B. bei P1=4 auf die Adresse 0104h
da liegt der 7Segmentcode für die Ziffer 4

der wird in den Akku geladen und an P3 ausgegeben

...soweit klar...??

Gruss Uwe
 
Zuletzt bearbeitet:
AW: Staatliche Prüfungen E-Technik Oktober 2009

Ah, danke! Kapiert. Mir war das mit der BCD-Zahl nicht so klar! :D

Micro kann kommen! ;-)
DKom auch!
Bleiben noch 2 . . .
 
G

gamer

Gast
AW: Staatliche Prüfungen E-Technik Oktober 2009

Hallo Freunde der Nacht!

23:15 Uhr...meine ideale Zeit zum Lernen... :-))

Kann mir bitte einer erklären, warum in der Musterklausur Micro Aufgabe 2.2 im Unterprogramm "RECHNEN" der Akku mit dem Wert #0FH (1111) geladen wird?
Es soll doch bestimmt werden, ob kleiner, größer oder gleich 7.
Wie kommen die dann darauf, den Wert 15 (#0FH) in den Akku zu laden und dann zu vergleichen, ob der Wert 15 <,> bzw. = 7 ist???

Grüße

gamer
 
AW: Staatliche Prüfungen E-Technik Oktober 2009

Bin mir grade nicht Sicher, hab die Sachen gerade nicht da, aber ist das nicht da, wo sie bloß ausmaskieren????
 
G

gamer

Gast
AW: Staatliche Prüfungen E-Technik Oktober 2009

Hallo Martina!

Maskierungen mit #0FH (000 1111) sagen mir nur in Bezug auf das Timerregister etwas, um den Timer, den man benötigt auszuwählen.
Jemand ne Idee?

Grüße

gamer
 

Anhänge

  • 4.JPG
    4.JPG
    5,9 KB · Aufrufe: 153
AW: Staatliche Prüfungen E-Technik Oktober 2009

Also ich habs mir in so aufgeschrieben, dass hier maskiert wird. Denn du addierst ja den Akkuinhalt mit 0FH. Also bleibt im prinzip das im Akku was du hattest! z.B. 06H wäre im Akku und due machst den Befehl ANL 0FH kommst du wieder auf 06H. Der Wert wird dann verglichen mit 07H
Danach gehts normal weiter mit löschen des Carrybits, und mit dem Vergleichen mit sieben!

So hab ich das bis jetzt gesehen!
 
Zuletzt bearbeitet:
AW: Staatliche Prüfungen E-Technik Oktober 2009

Wenn ich es richtig verstanden habe wird der Akku Inhalt damit verknüpft, da nicht alle Ports belegt sind.
Damit man nicht durch den unbelegten Porteingang einen falschen Wert bekommt wird der Akku mit dem Wert 0FH verknüpft.
 
G

gamer

Gast
AW: Staatliche Prüfungen E-Technik Oktober 2009

Hi Martina!

Akku --> 8 Bit Register. Es werden aber nur die unteren 4 Bits benötigt.
Also muss ich Maskieren.
Boa...DAA wieder...ich frage mich echt, warum die Maskierung in der MuKla vorkommt und bei den Aufgaben in den Scripten mit Vergleich <,>,= nicht.
DAA...komplizierter gehts nimma.

Danke Martina.

Grüße

gamer
 
AW: Staatliche Prüfungen E-Technik Oktober 2009

Hi Leute!

Ich hab da ein Pronlem in Mikrocomputertechnik.
Kann mir jemand die Fernaufgabe 4 erklären:
Im internen Speicher eines MC 8051 sind ab Adresse 30H zehn Messwerte abgelegt. Über externen Interrupt 0 soll mit negativer Flanke am PIN/INT0 die Ausgabe dieser Messwerte über serielle Schnittstelle gestartet werden.Die serielle Schnittstelle wird im Modus 1 betrieben. Eine Baud-Rate von 4800 Bd ist über Timer1 im Auto- Reload-Modus zu erzeugen. Das Kontroll-Bit ist zurückgesetzt (SMOD=0). Die Oszillatorfrequenz beträgt 11.059MHz

Dort ist als Lösung:
IE #10000001B (für was steht B?)
PCON #00H (nicht gefragt => O.K.)
SCON #40H
TCON #01000001B(TR1 für Timer 1->Start und externer Interrupt mit neg. Flanke)
TMOD #A0H

Wie berechne ich das mit der Baudrate? Stehe echt aufm Schlauch!
 
AW: Staatliche Prüfungen E-Technik Oktober 2009

Hi Leute!

Ich hab da ein Pronlem in Mikrocomputertechnik.
Kann mir jemand die Fernaufgabe 4 erklären:
Im internen Speicher eines MC 8051 sind ab Adresse 30H zehn Messwerte abgelegt. Über externen Interrupt 0 soll mit negativer Flanke am PIN/INT0 die Ausgabe dieser Messwerte über serielle Schnittstelle gestartet werden.Die serielle Schnittstelle wird im Modus 1 betrieben. Eine Baud-Rate von 4800 Bd ist über Timer1 im Auto- Reload-Modus zu erzeugen. Das Kontroll-Bit ist zurückgesetzt (SMOD=0). Die Oszillatorfrequenz beträgt 11.059MHz

Dort ist als Lösung:
IE #10000001B (für was steht B?)
PCON #00H (nicht gefragt => O.K.)
SCON #40H
TCON #01000001B(TR1 für Timer 1->Start und externer Interrupt mit neg. Flanke)
TMOD #A0H

Wie berechne ich das mit der Baudrate? Stehe echt aufm Schlauch!

Also in dieser Fernaufgabe geht es ja nur um die Initialisierung der benötigten Register!

IE 10000001B das "B" steht für binär, damit der Controller weiß, dass es sich hier um eine Binärzahl handelt. Mann hätte auch 81h für den gleichen Wert als Hexadezimalzahl eingeben können oder aber auch 129D für die Angabe im Dezimalformat! Also "B" steht für Binär, "H" für Hexadezimal und "D" für Dezimal.

SCON #40H steht für eine Hexadezimalzahl und bewirkt in diesem Register nur, dass die Baudrate über den Timer 1 im 8bit Reload-Modus erzeugt wird!

Die Baudaretenberechnung an sich ist hier ja nicht gefragt, aber es steht in der FS auf Seite 36 beschrieben.
Da hier die Baudrate im Modus 1 über Timer 1 im Reload-Modus erzeugt werden soll muss wie folgt berechnet werden:

SMOD = 0
[tex]TH1 = 256 - \frac{11,059MHz}{12\cdot 32 \cdot 4800 }[/tex]
Somit bekommt man für den Timerreloadwert 250(Dezimal) heraus. Dieser muss dann natürlich im Programm in das TH1 Register geschrieben werden.
 
AW: Staatliche Prüfungen E-Technik Oktober 2009

@fabian2

Hi Fabian!

Soweit hab ich das nun geblickt, nur was mir noch allgemein ein Problem aufwirft, für was denn die Formeln S.36 ganz oben und die darunterstehenden für einen Zweck haben.
Ich brauch doch sonst als nur den TH1-Wert im Modus 1 zu berechen oder?
 
AW: Staatliche Prüfungen E-Technik Oktober 2009

Hi megamen215,

-ich bin zwar nicht Fabian werd aber trotzdem antworten 8)

...wenn die Ser.-Schnittstelle per SCON-Register im Mode1
betrieben wird, wird die Baudrate mit dem Timer1 erzeugt

...der Timer1 wird per TMOD-Register festgelegt
und da gibt es 3 Möglichkeiten

1. Mode0 = 13Bit-Timer -> Überlauf bei 1FFFh = 8191d
2. Mode1 = 16Bit-Timer -> Überlauf bei FFFFh = 65525d
3. Mode2 = 8Bit-Timer -> Überlauf bei FFh = 255d

du kannst jetzt die obere Formel auf Seite 36 benutzten
um die Baudrate bei allen 3 Modes zu berrechen

Baud = Überlaufrate/32

[Überlaufrate = Fozs/12/Überlaufwert]

oder wenn der Timer-Mode2 benutzt wird (Reloud-Wert)
die untere Formel für die Baudrate

Baud = Fosz/(12*32*(256-TH1))

Gruss Uwe
 
AW: Staatliche Prüfungen E-Technik Oktober 2009

Klasse, besser hätte ich es auch nicht erklären können!
Aber meistens wurde die Baudrate mit dem Modus 1 erzeugt. Also mit Timer 1 im 8-Bit Reloadmodus.

Danke Uwe
 
AW: Staatliche Prüfungen E-Technik Oktober 2009

Hi nochmal,

die Modes von TMOD (Timer) und SCON (SerSchnittstelle)
sind unabhängig voneinander !!

verwendet wird meist :

SCON auf Mode1 = (Baudrate per Timer1)
TMOD auf Mode2 = (Timer1 als 8Bit Timer mit autoreload per TH1)

es müssen BEIDE Register (SCON+TMOD) eingestellt werden

Gruss Uwe
 
AW: Staatliche Prüfungen E-Technik Oktober 2009

nachtrag zu meinem oberen Post :

der Überlaufwert berechnet sich mit dem
Startwert und dem Endwert des Timers

z.B. beim 8Bit Timer und dem Beispiel aus Post.-Nr 54:
Startwert = FAh = 250d
Endwert = FFh -> Überlauf bei 100h

Überlaufwert = 100h - FAh = 06h = 06d

Überlaufrate = 11,059MHz / 12 / 6 = 153597

Baudrate = 153597 / 32 = 4759 -> ca 4800 Baud

Gruss Uwe
 
Zuletzt bearbeitet:
AW: Staatliche Prüfungen E-Technik Oktober 2009

Kann mir wer sagen, wo bei Micro irgendwas über den Datapointer steht???? Finde da nichts! :-(

Hallo Martina,

zum Thema Datapointer runterzählen wirst du in in den Unterlagen zu HSIT6 in Script 4 (S.3 -> Flußdiagramm, S.13 -> Quellcode) fündig.

Dort findest du folgendes Beispiel:

ORG 0200H ;Unterprogramm ZEIT ab Adresse 0200H
ZEIT: MOV DPTR,#0FFFFH ; Datapointer mit FFFFH laden
LOOP: DJNZ DPH,LOOP ; DPH in Schleife runterzählen bis 00H
DJNZ DPL,LOOP ; DPL in Schleife runterzählen bis 00H
RET ;Rücksprung ins Hauptprogramm

Einfacher geht's nicht!!! ;)

Grüße Sven
 

Jobs

Jobmail abonieren - keine Jobs mehr verpassen:

Top