Wie programmiere ich einen zähler?(8051)

Gast #5636827
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.
Gast #5636847
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.
Gast #5636855
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?
Gast #5636860
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.
Gast #5636873
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.
#5636905
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.....
Gast #5637198
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.
#5637590
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.
Gast #5637867
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren