Forum: Mikrocontroller und Digitale Elektronik dieoberelfe@web.de


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

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.