Forum: Mikrocontroller und Digitale Elektronik dieoberelfe@web.de


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Rolf Osthoff (Gast)


Lesenswert?

Hallo Leute
Ich habe folgendes Problem...
Ich soll an einer 7 Segment Anzeige an der Stelle(dem Segement) 8 die
zahlen 1 bis 9 in kurzen abständen anzeigen lassen....
Wie mach ich das???
Mein erstes Problem is wie berechne ich die Zeit dazu ??

Ich hab mir das irgendwie so vorgestellt

mov p1,#1001111b
mov p3,#8
call warte
mov p1,#1111111b
mov p3,#8
call warte
.....
.....

warte: mov r1,#60 ;das er dann da wartet und weiter macht
___________________________________________________________
oder so irgendwie
mov p1,#1001111b
mov p3,#8
mov r1,#60        ; das er hier wartet und wenn die Zeit abgelaufen
mov p1,#1111111b    is, weiter macht
mov p3,#8



________________________________________________
So in der Art soll das ausehen dann ... nur ich weiß halt nich wie ich
diese Warteschleife machen soll...

mk1: mov p1,#1001111b
mov p3,#8
call warte
mov p1,#1111111b
mov p3,#8
call warte
mov p1,#0000111b
mov p3,#8
call warte
mov p1,#1111101b
mov p3,#8
call warte
mov p1,#1101101b
mov p3,#8
call warte
mov p1,#1100110b
mov p3,#8
call warte
mov p1,#1001111b
mov p3,#8
call warte
mov p1,#1011011b
mov p3,#8
call warte

sjmp mk1 ;Sprung zum Label mk1



warte: mov r1,#60
MW1: djnz r1,MW1
ret

von michi0021 (Gast)


Lesenswert?

Hi,
du kannst das ganze auch so machen:


zaehlen DATA 08h


    MOV DPTR,#sek
return:   MOV zaehlen,#10d
start:
    DEC zaehlen
    MOV A,zaehlen
    JZ return
    MOVC A,@A+dptr
    call wait
    MOV p1,A
    JMP start

wait:
  MOV R1,ffh
ww2:  MOV R2,ffh
ww1:  DJNZ R2,ww1
  DJNZ R1,ww2
  RET




sek:
DB 00,1001111b, 1111111b, 0000111b, 1111101b 1101101b, 1100110b,
1001111b, 1011011b, 01010101b

END

Du mußt nur noch das Datenfelder ändern die stimmen nicht! und immer 8
bit hinschreiben, zur Sicherheit.
Dann wird es laufen.
mfg

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.