Nie bój się VFD i co dalej?
Nie bój się VFD i co dalej?
Witam
Moze pytanie troche laickie, jesli tak to przepraszam. Z zaciekawieniem czytalem to co napisala tasza w EdW na temat VFD, ale teraz chodzi mi o cos takiego: zalozmy ze sobie rozpracuje i bede wiedzial kazdy pin takiego wyswietlacza do czego sluzy i bede sobie mogl "recznie" zapalic dowolny segment (o ile sie nie myle?) i co dalej? W tych artykulach byla mowa o uProcesorach, ale co wtedy gdy nie chce z nich kozystac ( z wiadomych wzgledow - nie znam sie na tym). Czy moge wykozystac taki VFD np w jakiejs konstrukcji zegarka zamiast wysw. LED?
pozdr
bb
Moze pytanie troche laickie, jesli tak to przepraszam. Z zaciekawieniem czytalem to co napisala tasza w EdW na temat VFD, ale teraz chodzi mi o cos takiego: zalozmy ze sobie rozpracuje i bede wiedzial kazdy pin takiego wyswietlacza do czego sluzy i bede sobie mogl "recznie" zapalic dowolny segment (o ile sie nie myle?) i co dalej? W tych artykulach byla mowa o uProcesorach, ale co wtedy gdy nie chce z nich kozystac ( z wiadomych wzgledow - nie znam sie na tym). Czy moge wykozystac taki VFD np w jakiejs konstrukcji zegarka zamiast wysw. LED?
pozdr
bb
Jak najbardziej możesz wykorzystać taki wyświetlacz w układzie bez mikrokontrolera. Soosób użycie zależy od tego jaki jest ten wyświetlacz. Statystycznie rzecz biorąc możesz posiadać wyświetlacz np 12 cyfr (od jakiegoś kalkulatora lub kasy sklepowej). Taki wyświetlacz można użyć w układzie bez mikrokontrolera. Musisz jedynie dostosować się do wymogów stawianych przez ten wyświetlacz i obsługiwać go w trybie multipleksowym.
sterowanie VFD można oczywiście wykonać 'na piechotę', ale tracisz dużo na funkcjonalności....
przykładowy schemat dla lampy numerycznej (7 seg, 8 pól odczytowych):
jako pdf
jak to cudo działa:
bramka NAND (wej. z przerzutnikami Schmitta) + R+ C to generator taktujący przemiatanie
siatek (ma dawać kilkaset Hz),
licznik '93 zlicza modulo 8 wybierając poszczególne zestawy bitów dla dekodera
7-seg ('47) i ustala jednocześnie (przy pomocy dekodera '138),
która siatka ma być w danej chwili aktywna...
poszczególne bity są kompletowane z odpowiednio wybranych wejść demultiplekserów '151...
jeżeli chcesz mieć 'ładną' 6 i 9 - to ogólnie znana sztuczka z bramkami...
jeżeli jednak chcesz wyświetlać np. cały zakres 0...F (wszystkie 16 kombinacji) lub dodatkową semigafikę (kwadraciki, etc..)
no to już trzeba dekoder na GAL-u, nie wiem czy jakiś TTL do tego jest....
moim zdaniem, w/w układ to przerost formy nad treścią, ale jak już chcesz
>tasza czy miałaś kiedyś doczynienia z wyświetlaczem vfd cu406scpb-t20a-5i5l ? chodzi mi konkretnie o wysyłanie kodów sterujących np. pozycją kursora, cls , jasnością świecenia itp.
w sposób szeregowy ? a może masz doświadczenia z innymi vfd sterowanymi przez rs232 ?
link do pdf-a : http://www.granity6.webpark.pl/cu406scpb-t20a_e01.pdf
w sposób szeregowy ? a może masz doświadczenia z innymi vfd sterowanymi przez rs232 ?
link do pdf-a : http://www.granity6.webpark.pl/cu406scpb-t20a_e01.pdf
>tasza w tobie moja jedyna nadzieja , wyświetlacz jest dokładnie taki sam (oprucz ostatnich literek ale scalaczki takie same , myślę więc że sterowanie będzie takie samo) , umiem na nim wyświetlić jakiś tekst (program piszę w bascomie) ale sterowanie np. poz. kursora to już mi nie wychodzi , niby wysyłam kody tak jak podali w pdf-ie a wyświetlacz nie reaguje .
dane wysyłam przez port szeregowy czyli w bascomie piszę print "abc" , ale to powoduje tylko mignięcie tego tekstu i jego zniknięcie , po print muszę dać p3.1=0 wtedy napis nie znika , a żebu znowu coś dopisać muszę dać p3.1=1 potem print "abc" i znowu p3.1=0 (procek to 89c4051)
dane wysyłam przez port szeregowy czyli w bascomie piszę print "abc" , ale to powoduje tylko mignięcie tego tekstu i jego zniknięcie , po print muszę dać p3.1=0 wtedy napis nie znika , a żebu znowu coś dopisać muszę dać p3.1=1 potem print "abc" i znowu p3.1=0 (procek to 89c4051)
taaa, popatrzyłam na Elektrodę, no, chłopaki...
aby przetestować moduł trzeba tak:
1. weź i tego bascoma... odłóż na chwilę na bok...
2. ten program-terminal sobie zciągnij ze stronki Braya
http://edw.com.pl/modules.php?op=modloa ... ink&cid=59
3. z kawałka max232 zrób sobie konwerter rs232
4. podłącz moduł
5. Brayowy terminal ustaw tak:
19200, 8-bit, even, 1-stop, handshaking = none
6. napisz coś w edit-box-ie do wysłania i klapnij enter, powinno się pokazać na matrycy....
7. wciśnij guzik [Script] i w okno edycyjne wklej to
Kod: Zaznacz cały
// art by tasza
program sebax_lcd_test;
// transmisja rs232: 19200,8,E,1
// elementarne operacje na szkiełku w/g opisu w pdf-ie
procedure VFD_clear;
begin
comsendchr( $0E );
end;
procedure VFD_home;
begin
comsendchr( $0C );
end;
procedure VFD_cursor_left;
begin
comsendchr( $08 );
end;
procedure VFD_cursor_right;
begin
comsendchr( $09 );
end;
procedure VFD_cursor_pos ( n : byte );
begin
comsendchr( $1B );
comsendchr( $48 );
comsendchr( n );
end;
procedure VFD_set_luminance ( n : byte );
begin
comsendchr( $1B );
comsendchr( $4c );
comsendchr( n * $40 ); // w pdf pisze dlaczego :-)
end;
var i : integer;
begin
VFD_clear;
delay(500);
comsendstr('Ala ma kota...');
delay(500);
for i := 0 to 20 do
begin
VFD_cursor_pos ( i );
delay(200);
end;
for i := 20 downto 0 do
begin
VFD_cursor_pos ( i );
delay(200);
end;
VFD_set_luminance ( 0 );
delay(500);
VFD_set_luminance ( 1 );
delay(500);
VFD_set_luminance ( 2 );
delay(500);
VFD_set_luminance ( 3 );
delay(500);
end.
to jest taki pascalo-podobny język, masz podstawowe operacje na VFD,
szczególnie kicanie kursorem po lampie i zmianę jasności....
i naprawdę nie wiem, dlaczego wam to nie działa....
[dodane]
a, i jeszcze jedno, jak Ty te kody sterujące wysyłasz do VFD? taki np. ESC ( 0x1B )?
można jakiś kawałek kodu zobaczyć?
tak jak Ci napisałam, podłącz moduł do PC i zapuść ten mój skrypt pod terminalem
i popatrz co się będzie działo, jest mała szansa, że ten Twój moduł tych komend
nie interpetuje, mała, ale jest...
co do bascom-a, parametry transmisji masz ok?
19200,8,E,1? - to są domyślne dla modułu (zakładam otwarte zworki)
aha, jak masz możliwość, podepnij RS232 ten od procka do jakiegoś terminala,
który pokazuje jakie znaczki lecą ale w HEX...
może bascom coś krzywo wysyła? Twój kod 'na oko' wygląda OK...
ale może 'na piechotę' też spóbuj:
print &H1B
print &H48
print &H10 'ustawia kursor na 16 znak
[post++]
napisz mi proszę, z jakim kwarcem działa ten Twój 89c4051...
spróbuję w wolnej chwili coś w C lub asm napisać i Ci wystawię hex/bin , przetestujesz moduł....
to jakieś czary są....
i popatrz co się będzie działo, jest mała szansa, że ten Twój moduł tych komend
nie interpetuje, mała, ale jest...
co do bascom-a, parametry transmisji masz ok?
19200,8,E,1? - to są domyślne dla modułu (zakładam otwarte zworki)
aha, jak masz możliwość, podepnij RS232 ten od procka do jakiegoś terminala,
który pokazuje jakie znaczki lecą ale w HEX...
może bascom coś krzywo wysyła? Twój kod 'na oko' wygląda OK...
ale może 'na piechotę' też spóbuj:
print &H1B
print &H48
print &H10 'ustawia kursor na 16 znak
[post++]
napisz mi proszę, z jakim kwarcem działa ten Twój 89c4051...
spróbuję w wolnej chwili coś w C lub asm napisać i Ci wystawię hex/bin , przetestujesz moduł....
to jakieś czary są....
a no jestem dzielny jak dzielnik
bascom opanowany ! wklejam programik może się komuś przyda , procek zlicza impulsy z enkodera (mok40) i wyświetla na wspomnianym wyżej vfd
$baud = 19200
$crystal = 11059200
Dim Flaga As Bit
Dim Licznik As Integer
Do
If Flaga = 0 Then
Set P1.6
If P1.6 = 0 Then
Flaga = 1
Set P1.5
If P1.5 = 0 Then
Incr Licznik
Else
Decr Licznik
End If
Printbin 14 'cls
Printbin 13 'kursor max w lewo
Print Licznik; 'musi być średnik wtedy napis nie znika
End If
End If
If P1.6 = 1 Then Flaga = 0
Loop
$baud = 19200
$crystal = 11059200
Dim Flaga As Bit
Dim Licznik As Integer
Do
If Flaga = 0 Then
Set P1.6
If P1.6 = 0 Then
Flaga = 1
Set P1.5
If P1.5 = 0 Then
Incr Licznik
Else
Decr Licznik
End If
Printbin 14 'cls
Printbin 13 'kursor max w lewo
Print Licznik; 'musi być średnik wtedy napis nie znika
End If
End If
If P1.6 = 1 Then Flaga = 0
Loop
-
Sebastian RCS
- Użytkownik
- Posty: 472
- Rejestracja: 03 lut 2003, 18:23
- Lokalizacja: Koluszki
- Kontakt:
Ale przecież ładnie wyglądaM@rek pisze:Po 1 tasza mogła byś nie publikować takich szerokich zdięć.
Ten post napisałem 2 minuty po Twoim. To może powinniśmy to na czacie obgadaćM@rek pisze:Po 2 tą dyskusję można by prowadzić w czacie i w jednym poście wkleić na forum - większość postów jest pisana na przemian co 10min.
PS. Przepraszam, że się wciąłem do Twojej polemiki z taszą.
