[8051] Übungsbsp

Gast #2518997
Lesenswert?

Hallo!

Ich suche Übungsbps zum Assembler programmiern auf Papier..., da wir 
noch ziemliche Anfänger sind :D.

Gerlente Befehle: Alle MOV, ADD, SUB, DIV, MUL - dann SJMP, AJMP und 
LJMP - JB, JNB, JBC... CJNE, DJNZ, JZ und JNZ.. diese Jump-befehle halt.

while-schleife + do-while auch schon gemacht.

Nun frage ich euch ob ihr mir ein paar einfache Übungsbsp sagen könnt.

Vielleicht so in dem Schwirigkeitsgrad... - Das war unser letztes Bsp:
Ein Block im internen RAM(Startadresse 20hex, länge = 10 Bytes) soll 
gelöscht werden.

Danke im voraus!

PS: seit ca. 4 monaten assembler programmieren noch auf papier und nur 2 
stunden pro woche

mfg assembler_anfänger
Gast #2519248
Lesenswert?

assembler_anfänger schrieb:
> Ich suche Übungsbps

Was soll BPS sein? Wikipedia dazu:

bps ist eine Abkürzung für:

    * Basispunkt, Einheit im Finanzwesen; 100 Basispunkte entsprechen 
einem Prozentpunkt
    * bits per second, Bits pro Sekunde, das Maß der Datenrate
    * Bilder pro Sekunde (englisch Frames per second, fps), siehe 
Bildfrequenz
Gast #2519345
Lesenswert?

Sorry ich meine Bsps --> Beispiele :)

Ja was kann ich dafür das wir das am Anfang noch so auf Papier machen 
:D.


Nochmal: Ich suche Übungsbeispiele zu 8051er Befehle... also so ein 
ähnliches Bsp und mit dem Schwirigkeitsgrad... oben wie ich es gepostet 
habe :-)

Gruß
Persönliche Seite #2519351
Lesenswert?

Krapao schrieb:
> Auf dem Papier assemblieren ist schon strange,

Das war das Erste, was wir in der Ausbildung mit Controllern gemacht 
haben. Wochenlang. Den Maschinencode dann mit einem Editor zum Hexfile 
gemacht und auf den Controller geschoben. Besser lernt man das Prinzip 
eines Controllers/Prozessors nicht kennen.

So hab ich die 8051er kennen gelernt und mache es bei jedem Controller 
heute noch so, mittlerweile aber schon mehr im Kopf, nur um zu sehen, ob 
ich's noch kann und schnell kapiert hab ;)
#2519420
Lesenswert?

PDM an P1.0
1
loop:  LCALL  uwait
2
  INC  DPTR
3
  ADD  A, DPH  // Oberes Byte des DPTR aufaddieren
4
  JC  off  // Bei einem Ueberlauf anschalten
5

6
  // Bei kleinen Werten passiert dies selten, bei grossen haeufig ...
7
  // bei 0 nie, bei 1 alle 256 Durchläufe, bei 2 alle 128 Durchl., bei 255 eigentlich immer
8

9
on:  CLR  P1.0
10
  LJMP  loop
11

12
off:  SETB  P1.0
13
  LJMP    loop
14

15
// warten
16

17
uwait:  MOV  R0, #0x80
18
uwait2:  DJNZ  R0, uwait2
19
  RET

Mit einer R-C-Kombination an P1.0 bekommt man einen Sägezahn.


Krapao schrieb:
> Auf dem Papier assemblieren ist schon strange,

So habe ich meinen ersten Eprombrenner geschrieben und von Hand ins 
EPROM gebrannt. Dafür weiß ich aber auch genau, wie der Krempel 
funktioniert.

Ich finde die Vorgehensweise gut!


Gruß

Jobst
#2519521
Lesenswert?

Ich hab aus meiner Schulzeit noch genug 8051 Zeugs in Assembler plus 
entsprechende Mitschriften herumliegen (dürfte aus dem Jahre 2007 
sein..)

Themen:
- Befehlssatz
- Adressierungsarten
- Register und Speicherstruktur
- Interrupts
- Ports
- Parameterübergabe zwischen C und Assembler


Wennst was brauchst, meld dich, ist immer lästig wenn ihr nicht 
registriert seit, kann man keine Nachrichten schreiben ;)

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