[DSM-51][ASM] Wyświetlacz 7-seg - problem

Oct 07, 2003 4 Replies

Witam, mam na wyświetlaczu 7-segmentowym wyświetlić liczbę 2003. Udaje mi się pojedynczo na poszczególnych wyświetlaczach zaświecić to co chcę ale jak chcę wszystkie liczby na raz to nie idzie :-( Teoretycznie to powinno działać, praktycznie nie chce za bardzo :-| Może ktoś ma dla mnie jakąś dobrą wskazówkę? Listing programu zamieszczam niżej:



LJMP START ORG 100H START: ;wyswietla 2 na czwartym wskazniku MOV R0,#38H MOV A,#01011011B MOVX @R0,A MOV R1,#30H MOV A,#00001000B MOVX @R1,A CLR P1.6 ;wyswietla 0 na trzecim wskazniku MOV R0,#38H MOV A,#00011111B MOVX @R0,A MOV R1,#30H MOV A,#00000100B MOVX @R1,A CLR P1.6 ;wyswietla 0 na drugim wskazniku MOV R0,#38H MOV A,#00011111B MOVX @R0,A MOV R1,#30H MOV A,#00000010B MOVX @R1,A CLR P1.6 ;wyswietla 3 na pierwszym wskazniku MOV R0,#38H MOV A,#01001111B MOVX @R0,A MOV R1,#30H MOV A,#00000001B MOVX @R1,A CLR P1.6



LJMP $


Robert Niestroj napisał(a) w wiadomości: ...

a sprubój na końcu napisać ljmp START

Na DSM-51 to ja sie nie znam, ale .. wyswietlcz jest multipleksowany ?

co robi ten clr ? zapala wswietlacz czy co ?

Zapalilismy cyfre, wypadaloby chwile poczekac, niech sie poswieci

MOV R1,#0 DJNZ R1,$

przyzwoitosc nakazuje wylaczyc wyswietlacz zanim wpiszesz nowa cyfre. Bo teraz to na moment zapala sie 0 na miejscu 2. A ze nie czekales, to swieci podobnie jasno.

MOV R1,#30H MOV A,#0 MOVX @R1,A

1 zapala segment ? To cos za malo tych segmentow na cyfre 0

i tu czekamy tez ..

J.

A to nie wiem ;-)

Tak.

No właśnie :-) Poza tym to każdy wyświetlacz świeci się tylko na chwilę, więc muszę zrobić tak jak kolega smoczy radził i zapętlić to wszystko. THX :-)

Osoba podająca się za: Smoczy przyczyniła się do uszczuplenia moich skromnych zasobów dyskowych ;-) wraz z kolejną wiadomością wysłaną

2003-10-08 00:51:

PLONK warning #1! Tnij cytaty i zmień kodowanie!

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required