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