Forum: Mikrocontroller und Digitale Elektronik Wie programmiere ich einen zähler?(8051)


von HilfeSa (Gast)


Lesenswert?

Hallo,

Ich habe ein Problem. Ich schreibe demnächst eine Arbeit in Assembler 
mit dem 8051. Ich muss ein Bitmuster implementieren, dass ich natürlich 
nicht kenne. Das Problem ist das ich überhaupt keine Ahnung habe wie man 
überhaupt programmiert. Ich habe nur dieses Codebeispiel:

anfang:

mov P2,# 01111110b ; 0
lcall pause
mov P0, #01111110b ; 0
lcall pause
mov P0, #00010010b ;1
lcall pause
Was bedeutet dieses mov P2 und P0? Was sind diese Zahlen und wie kommt 
man darauf?

Danke.

von karadur (Gast)


Lesenswert?

Vorlesung ausgelassen?

Was könnte "mov-e" bedeuten?

Schon mal in die Datenblätter geschaut?

von m.n. (Gast)


Lesenswert?

So geht es uns auch! Unser Lehrer hat keine Ahnung und erklärt auch 
nichts.
Warum nur habe ich Musik als Pflichtfach gewählt?

von HilfeSa (Gast)


Lesenswert?

Ich habe keine Blätter bekommen, nur wie ich ein Projekt erstelle und 
wie man auf diese Zahlen kommt. Das habe ich allerdings mit einen 
Microcontroler herausgefunden, aber den darf ich nicht verwenden.

Ich habe nächstes Jahr Projektprüfung und muss das  verstehen, ich hätte 
keinen Grund mich vor den Aufgaben zu drücken. Ich möchte nur wissen was 
das alles bedeutet.

von karadur (Gast)


Lesenswert?


von Lexa (Gast)


Lesenswert?

Google:
Assembler 8051 Tutorial Deutsch

Bringt tolle Videos hoch.

Kopf hoch,  das wird schon noch, die Weihnachtsfeier sind ja bald

von HilfeSa (Gast)


Lesenswert?

Danke. Wir sind allerdings ganz am Anfang des Themas. Ich möchte nur das 
wichtigste lernen. Wir haben bis jetzt nur einen Zähler bis 99 
programmiert. Wenn ich in Youtube schauen wollte, was müsste ich 
eingeben?

von karadur (Gast)


Lesenswert?

Das Datenblatt ist dein Freund!

von HilfeSa (Gast)


Lesenswert?

Lexa schrieb:
> Google:
> Assembler 8051 Tutorial Deutsch
> Bringt tolle Videos hoch.
>
> Kopf hoch,  das wird schon noch, die Weihnachtsfeier sind ja bald

Hoffe ich. Ich schreibe morgen eine Arbeit in Jave wo ich was 
implementieren muss und dann noch Assembler. Das erste wird einfach, 
aber beim zweiten habe ich leider keine Ahnung. Ich muss das aber 
lernen, das ist die Grundlage für das J1 und J2.

von karadur (Gast)


Lesenswert?

Ergänzung: Besorge dir eine einfache Hardware und teste das aus.

Ich habe vor 40 Jahren mit den einfachsten Boards mit 8080 und 6502 und 
Monitorprogramm am meisten gelernt.

von karadur (Gast)


Lesenswert?

Na dann bist du ja früh dran!!!

von HilfeSa (Gast)


Lesenswert?

karadur schrieb:
> Na dann bist du ja früh dran!!!

Ja ist mir klar das ich früher hatte was machen müssen, aber ich musste 
mich auf meine Netzwerkprüfung vorbereiten und habe das verschoben, weil 
ich sowieso keine Hoffnung hatte es zu verstehen. Es gibt ja leider 
nicht das eine assembler.

von karadur (Gast)


Lesenswert?

Und wie soll das weiter gehen???

von HilfeSa (Gast)


Lesenswert?

karadur schrieb:
> Und wie soll das weiter gehen???

Ich hol mir einfach meinen Unterkurs ab. Ich muss mit den Konsequenzen 
leben, Ich wünschte ich hätte es direkt verstanden, aber ja. Trotzdem 
danke.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

karadur schrieb:
> Und wie soll das weiter gehen???

Wessen Hund noch nie eine Hausaufgabe gefressen hat, werfe den ersten 
Stein...

Gruss
WK

von Martin H. (hebi19)


Lesenswert?

karadur schrieb:
> Ich habe vor 40 Jahren mit den einfachsten Boards mit 8080 und 6502 und
> Monitorprogramm am meisten gelernt.

Ach, Du bist auch so Einer - habe mir damals gebraucht den SDK-8085 für 
immerhin 400 Mark geleiste (Neupreis 2.100 !!)
Hexdezimal-Tastatur und 6-stellige Sieben-Segment-Anzeige - 2K 
Monitor-Programm und 8k Ram (erweitert)
zu Fuß mit Bleistift, Papier und Code-Tabelle assembliert und die 
Programme über die Hex-Tastatur eingehackt. Erstes großes Projekt war 
ein Programm zum schreiben der RAM-Daten auf einen Casetten-Rekorder. 
Modem mit XR2206. Ich habe es einmal am laufen gehabt. Dann habe ich 
doch einmal versehentlich die Versorgungsspannung ausgeschaltet und das 
Programm war weg. Ich wollte es ursprünglich in ein Eprom brennen - ist 
aber nicht mehr dazu gekommen, weil ich mit Diplom-Arbeit angefangen 
hatte. Habe das Teil mit 50% Wertverlust wieder verkaufen können an den 
nächsten Studenten.......

aber jetzt: Auschalten(Nostalgie)

Deine Frage "wie soll das weitergehen" kann ich schon irgendwie 
nachvollziehen. Manche der Forumsmitglieder scheinen in so etwas wie 
einem Parallel-Universum zu leben das mit meinem nicht all zu viel zu 
tun hat.....

von Lothar (Gast)


Lesenswert?

HilfeSa schrieb:
> Assembler mit dem 8051

Dafür gibt es ein Lernprogramm mit haufenweise Beispielen:

https://www.edsim51.com/

von Christian S. (roehrenvorheizer)


Lesenswert?

" habe mir damals gebraucht den SDK-8085 für immerhin 400 Mark geleiste 
(Neupreis 2.100 !!)"

Früher war es sehr kostspielig, ein Computer-Nerd zu werden. Alleine 
schon deshalb gab es nur wenige davon.

MfG

von Peter D. (peda)


Lesenswert?


von Linux T. (Gast)


Lesenswert?

Christian S. schrieb:
> " habe mir damals gebraucht den SDK-8085 für immerhin 400 Mark geleiste
> (Neupreis 2.100 !!)"
>
> Früher war es sehr kostspielig, ein Computer-Nerd zu werden. Alleine
> schon deshalb gab es nur wenige davon.


Da muss ich widersprechen.
Ich habe mit einem i8049 angefangen, den ich samt anderen Bauteilen von 
alten Waschmaschinenplatinen runtergelötet habe. Fehlende Bauteile für 
ein paar Mark von den damals noch existierenden 
Elektronikbauteile-Händlern in der Stadt dazu gekauft, dazu dann den 
simplen selbst gebastelten Epromemulator und es konnte losgehen.

von wendelsberg (Gast)


Lesenswert?

HilfeSa schrieb:
> ich sowieso keine Hoffnung hatte es zu verstehen. Es gibt ja leider
> nicht das eine assembler.

Wenn es nur um das Verstehen geht - das ist bei Allen sehr aehnlich bis 
gleich.
Unterschiedlich sind dann nur die Details.

wendelsberg

von Peter D. (peda)


Lesenswert?

HilfeSa schrieb:
> mov P2,# 01111110b ; 0
> lcall pause
> mov P0, #01111110b ; 0
> lcall pause
> mov P0, #00010010b ;1
> lcall pause
> Was bedeutet dieses mov P2 und P0? Was sind diese Zahlen und wie kommt
> man darauf?

Es bedeutet, daß Du nicht mal eine Sekunde versucht hast, es zu 
verstehen.
An P2 und P0 hängen 2 7-Segmentanzeigen (P2 = Zehner, P0 = Einer).
Und
1
#00010010b ;1
 bedeutet, daß das Pattern für die "1" angezeigt wird (Segment B und C).

Natürlich zählt kein Mensch bei Verstand so bis 99, da es eine riesen 
Schreibarbeit wäre.
Man zählt ein Register hoch, trennt dann per "DIV AB" die Stellen und 
wandelt sie per "MOVC A, @A+DPTR" in 7-Segment um.

von m.n. (Gast)


Lesenswert?

Peter D. schrieb:
> Man zählt ein Register hoch, trennt dann per "DIV AB" die Stellen und
> wandelt sie per "MOVC A, @A+DPTR" in 7-Segment um.

Das will der TO doch weder wissen noch verstehen. Er braucht eine 
fertige Lösung, die er nur abzuschreiben braucht.

von Guido Körber (Gast)


Lesenswert?

Na ist ja frühzeitig in die Vorbereitung gegangen. Wer schon eine 
Hochsprache programmieren kann, schafft es in ein paar Wochen das zu 
verstehen. Da sind 24 h doch echt genug Zeit…

von Stefan F. (Gast)


Lesenswert?

Ich denke, dass diese Anleitung was taugt:
https://courses.cs.washington.edu/courses/cse466/01au/Lab/A251.pdf

von W.S. (Gast)


Lesenswert?

m.n. schrieb:
> Warum nur habe ich Musik als Pflichtfach gewählt?

Wir alle haben einen Vogel... aber meiner kann singen.

Manchmal frage ich mich, wie Leute in so ein Lehrfach hineinkommen. Wenn 
man Chemiker ist oder Germanist oder Jura studiert, dann wird man dort 
schwerlich eine Arbeit über den 8051 zu schreiben haben - also ist das 
Fach doch eher einschlägig, aber vor einer Arbeit hat es garantiert 
sowohl Vorlesungen dazu gegeben, als auch persönliches Interesse der 
Studenten an der Sache. Aber dann käme nie und nimmer solch 
Fragestellung auf.

W.S.

von S. R. (svenska)


Lesenswert?

W.S. schrieb:
> Manchmal frage ich mich, wie Leute in so ein Lehrfach hineinkommen.

Es gibt keinen NC und man braucht für die Soziologie ein-zwei 
Wartesemester... zumindest war das die Ansage vom einzigen Mädel bei uns 
im Studium.

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
Noch kein Account? Hier anmelden.