Forum: Mikrocontroller und Digitale Elektronik 74HC595 mit einem 8051 ansteuern


von Franz (Gast)


Angehängte Dateien:

Lesenswert?

Hallo habe die Schaltung nachgebaut und sie funktioniert auch 
einwandfrei habe die Register einfach mal durchgeschoben


1
    SER = 1;
2
    SCK = 1;
3
    _wait_ms(1);
4
    SCK = 0;
5
    RCK = 1;
6
    _wait_ms(1);
7
    RCK = 0;
8
    SER = 0;
9
    _wait_ms(1000); SER = 1;

das ist nicht schön ich möchte natürlich was schöneres Programmieren 
jetzt meine Frage wie macht mann das am besten Programm-mäßig ( habe nur 
normale I/O's) zur verfügung. Habt ihr vielleicht ein paar beispiele? 
Würde mich über Hilfe freuen!!

von Thomas E. (thomase)


Lesenswert?

Hab' mal in meiner Mottenkiste gekramt:


      mov r0,#0x20
      mov r1,#10
      mov p1,#0x1F

    OutLedsByteLoop:
      mov r2,#8
      mov a,@r0
      clr c
    OutLedsBitLoop:
      rrc a
      clr p1.6

      mov p1.7,c
      setb p1.6

      djnz r2,OutLedsBitLoop
      inc r0
      djnz r1,OutLedsByteLoop
      setb p1.5


in r0 steht der Pointer auf das auszugebende Byte-Array
r1 und r2 sind die Zählregister für die Schleifen
r1 = Anzahl Bytes
p1.7 = Data
p1.6 = Shift
p1.5 = Latch


mfg.

von Andreas D. (rackandboneman)


Lesenswert?

"das ist nicht schön"

Warum nicht?

Programmierer... findens immer erst schön wenn man ne Schleife 
drumbindet!

von Peter D. (peda)


Lesenswert?


von Franz (Gast)


Lesenswert?

Ich meinte wie ich am besten jetzt eine Zahl Ausgebe eine 3 oder so ?
Kann mann das irgendwie defenieren?

von Peter D. (peda)


Lesenswert?

Franz schrieb:
> Ich meinte wie ich am besten jetzt eine Zahl Ausgebe eine 3 oder so ?

Mit einer Zeichentabelle, wie man es bei einem Grafik-Display macht.
Such mal nach GLCD-Routinen.


Peter

von Joachim .. (joachim_01)


Lesenswert?

3? Wieso 3?
Wieso nicht 42?

von Franz (Gast)


Lesenswert?

Joachim ... schrieb:
> 3? Wieso 3?
>
> Wieso nicht 42?

Ich möchte nur ein Beispiel haben es kann auch von mir aus auch 30 
sein!!!

von Jobst M. (jobstens-de)


Lesenswert?

Also, wenn es unbedingt etwas mit einer 3 sein soll, dann würde ich 23 
nehmen.


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