(1 głosujący) Wyświetlacz siedmiosegmentowy LED jest często stosowany w układach mikroprocesorowych jednak ze względu na znaczną ilość sygnałów sterujących już przy dwóch wyświetlaczach problemem staje się brak wyprowadzeń procesora. Zawarte tutaj procedury dotyczą multipleksowania wyświetlaczy LED (w jednej chwili zaświecany jest tylko jeden na czas rzędu 4ms) dzięki której do pracy n wyświetlaczy potrzeba tylko 7 + n wyprowadzeń mikrokontrolera (8 + n gdy używamy kropki) Język BASCOM 8051:Poniższa procedura służy do obsługi dwóch wyświetlaczy LED. Musi być wywoływana co około 4ms: Wyswietlanie: Mux = Not Mux If Mux = 1 Then Set P1.6 Wysw10 = Wysw / 10 Wysw10 = Lookup(wysw10 , Tabela) P3 = Wysw10 Reset P1.7 Else Set P1.7 Wysw1 = Wysw Mod 10 Wysw1 = Lookup(wysw1 , Tabela) P3 = Wysw1 Reset P1.6 End If Return Zmienna bitowa Mux po każdym wywołaniu tej procedury zmienia stan na przeciwny, przez co ustala który wyświetlacz ma aktualnie świecić. Do pinów P1.6 i P1.7 dołączone są (przez tranzystory) anody wyświetlaczy. Uruchomienie odpowiedniego wyświetlacza dokonuje się przez podanie stanu niskiego na tranzystor sterujący jego anodą. Do portu P3, przez rezystory ograniczające prąd włączone są katody dwóch wyświetlaczy połączone równolegle (segment a do segmentu a w drugim wyświetlaczu i tak dalej). Do poprawnej pracy konieczne jest jeszcze zdefiniowanie na końcu programu tabeli przeliczającej cyfry na kody wyświetlacza siedmiosegmentowego: Tabela: Data 65 , 207 , 82 , 70 , 204 , 100 , 96 , 79 , 64 , 68 'znak: 0 1 2 3 4 5 6 7 8 9 Wartości w tabeli zależą od tego do których pinów portu podłączymy segmenty i w jakiej kolejności. Do odczytywania kodu odpowiedniej cyfry z tabeli służy funkcja Lookup. Wartość od 0 do 99 którą chcemy pokazać na wyświetlaczach wpisujemy do zmiennej Wysw. Zmienne Wysw10 i Wysw1 są pomocnicze i oznaczają cyfre dziesiątek i jednostek.
|
|||
Wyświetlanie
Witam.
Mam pytanie odnośnie multipleksacji. Zrobiłem sobie licznik modulo 100 w Assemblerze. Zastosowałem multipleksację ale problem polega na tym, że jedności świecą mi bardzo mocnym światłem a dziesiątki strasznie blado. Czym może to być spowodowane?
Z góry dzięki za odpowiedź.
Ten problem już rozwiązałem
Ten problem już rozwiązałem :) Teraz mam inny. Otóż teraz jest tak, że podczas wyświetlania cyfry pojawia się jej poświata na drugim wyświetlaczu. Takie blade wyświetlenie cyfry z drugiego wyświetlacza. Czym to może być spowodowane bo tego już rozwikłać nie mogę :(
Re: Multipleksowanie
Problem jest w kolejności wykonywania rozkazów a przynajmniej jestem tego prawie pewien. Aby uniknąć poświaty na drugim wyświetlaczu należy zadbać aby wykonywać rozkazy w następującej kolejności.
i tak dalej
W taki sposób ja zawsze piszę obsługę wyświetlacza LED w Bascomie i zawsze działa, ale w dowolnym języku ten prosty algorytm też musi działać.
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Dzięki wielkie. można
Dzięki wielkie. można powiedzieć, że moim błędem nie było wyłączenie wyświetlaczy. Dzisiaj się tym pobawię:)
Dzięki za szybką odpowiedź :)
Jeszcze raz dzięki :)
mod
Witam mam problem z kompilacja i nie wiem czy to wina programu bascom mam wersje 1,11,9,5 a dokladnie z funkcja MOD
przykład:
$regfile = "m8def.dat"
$crystal = 8000000
Dim A As Single
Dim B As Single
Do
B = 253
A = B Mod 10
Loop
End
wyskakuje mi bład:
error 31 invalid datatype [[0011] 112[10]]
jak recznie podstawie (a=253 mod 10) wszystko gra ...
Re: Multipleksowanie
Problem jest w linijkach:
Czy napewno zmienne A i B muszą być zmiennoprzecinkowe, użyj zamiast Single typu: Byte (0-255) lub Word (0 - 65536). nawet jeśli przypiszesz do singla wartość 253 to dla niego to i tak będzie 253.0000000 i będzie problem z resztą z dzielenia
Ps. Nie wiem co to pytanie ma wspólnego z multipleksowaniem wyświetlacza więc następnym razem na forum takie rzeczy pisz. Wystarczy się zalogować to nic nie kosztuje a ja chętnie odpowiadam na pytania jeśli inni utrzymują porządek na stronie tak jak o to proszę
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
3 x 7-seg
Witam.
Przeczytałem już helpy od Bascom 8051 i Bascom AVR.
Do tego help do MikroBasic AVR, firmy Mikroelektronika ( mikroe.yu - chyba)
Do tego rożne kursy Basic i C.
No i ciągle jestem zielony i co raz bardziej zieleńszy po każdej kolejnej
lekturze.
Nie mam problemu z LCD, ale teraz mam potrzebę sterowania 3 lub 4 cyframi
wyświetlacza 7-segment LED.
Konkretnie :
procesor tiny2313 lub mega8
pomiar napięcia przyłożonego do wejścia ADC ( n.p. AIN0) .
Czyli taki prymitywny woltomierz.
Odczytanie ADC i wysłanie do LCD - to proste, ale jak to wysłać
na wyświetlacz 7-segmentowy ?
Obsługa LCD w Bascom jest dziecinnie prosta, ale LED ..... ?
Nie mogę tego zrozumieć i opanować.
Może ktoś się pochyli nad moim problemem i pomoże mi zrozumieć istotę
sterowania tym wyświetlaczem .
Re: LEd 7-seg
Idea jest prosta: zawsze świeci tylko jeden wyświetlacz więc musisz procedurę wykonywac z częstotliwością rzedu 70Hz żeby oko nie widziało że to impulsowo działa.
Krok 1: wyłączasz tranzystor poprzedni, wystawisz na piny segmentów stan diod, włączasz aktualny wysw za pomoca tranzystora
Krok 2: wyłączasz tranzystor poprzedni, wystawisz na piny segmentów stan diod, włączasz aktualny wysw za pomoca tranzystora
itd:
Wartość do wyswietlenia musisz podzielic na cyfry za pomocą wzorów matematycznych i potem je przeliczyć na kod wyświetlacza. popatrz na moje projekty na led'ach
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
3 cyfry
Witam.
Czyli kod po przerobieniu do moich potrzeb
bedzie wygladal tak :
***********************************************************
Czy jeszcze gdzies zrobilem blad ?
Oczywiscie potry "P1.5 , P1.6 i P1.7" sa przypadkowe
i mozna je zmienc do konkretnych potrzeb.
Re: 3 cyfry
Sprawdzałeś czy się to wogóle skompiluje.... bo raczej nie. Nie znam takiej konstrukcji z dwoma else. Poza tym zastanów sie nad zmienną mux. W pierwszej linii masz mux = not mux a pewni sama zmienna jest typu bit, czyli ma dwie wartości 0 lub 1. Nie dasz rady na tym obsłużyć 3 wyświetlaczy. Spróbuj tak:
i jeszcze przeliczenia:
Wysw jest zmienną do której wpisujesz wyswietloną wartość a te wysw1, 10 i 100 to zmienne pomocnicze i nigdzie indziej poza ta procedurą sie ich nie zmienia
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
3 cyfry
Dzieki za pomoc. Zaczynam rozumiec o co chodzi.
Dalej bede dociekal na zasadze doswiadczen i w przypadku wiekszych
problemow bede pytal.
multipleksowanie
Witam,
a ja zadam takie pytanie: od której strony lepiej jest zapalać wyświetlacze - od prawej czy lewej? Czy ma to jakieś znaczenie przy większej liczbie wyświetlaczy, od której strony jest "przemiatanie"?
Re: multipleksowanie
To zależy co wyświetlacze mają wyświetlać? Jeśli pomiar napięć etc. to według mnie od prawej do lewej, choć w sumie nie powinno mieć to znaczenia bo wyświetlanie odbywa się tak szybko, że ludzkie oko nie jest w stanie tego zauważyć.
Moja strona w powijakach
Mirley jak byś mógł to zrób
Mirley jak byś mógł to zrób schemat i program do 2 wyświetlaczy led (tzw dwie 88) i 1 przycisku i jak naciskam przycisk to liczba zwieksza sie o 1 i wyświetla 0,1,2,3,4,5,6,7,8,9 najlepiej na atmega8
Re: Multipleksowanie
A nie możesz zadać sobie odrobiny trudu i skorzystać z wielu programów które mam na stronie. Patrz do timera serwisowego, tam są 4 wyświetlacze i obsługa przycisków. Termometry na LED oba mają napisaną obsługę multipleksowania.
Tutaj wystarczy skonfigurowac timer i przerwanie co 4ms. I w do loop nawet dać ifa od przycisku, nie trzeba się dużo męczyć przy takim programie
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Wiem tylko jak zrobić że jak
Wiem tylko jak zrobić że jak nacisne przycisk to on liczy jaka powinna byc następna liczba a nie umiem zrobić tego wyświetlania na ledach
Re: Multipleksowanie
Procedura wyżej załatwia to za ciebie. Zwiększasz wartość zmiennej a potem procedura dzieli to na cyfry i zamienia na kod wyświetlacza
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
2 wyświetlacze LED 4 pozycyjne brak wolnych portów co zrobić?
Jestem w trakcie tworzenia teoretycznego projektu sterowania zasilaczem impulsowym 0-40V i 0-1A. Wartość napięcia i prądu ma być wprowadzana na 2 wyświetlaczach LED 4 pozycyjnych. Wartość napięcia i prądu ma być zadawana z klawiatury matrycowej. Mam taki z podłączeniem dwóch wyświetlaczy jeden dla napięcia , a drugi dla prądu. Wychodzi mi w sumie dla obu wyświetlaczy po zastosowaniu dwóch dekoderów BCD na 7seg HEF4543B 16 wyjść. Jeszcze dodam że praktycznie wszystkie porty mam zajęte P1 do klawiatury , P2 P3 do pamięci ROM , P0 do przetwornika AC , P3 do portu szeregowego , przetwornika zostały mi tylko piny T0 i T1 z portu P3. Ja rozwiązałem to tak że zastosowałem dwa rejestry latch "zatrzaski" 74HC574. Jeden będzie określał, które segmenty maja być zapalone , a drugi który wyświetlacz ma być zapalony. Oczywiście wybrałem wyświetlanie dynamiczne. Wyjścia zatrzasków podłączyłem do magistrali danych. Wejścia do bazy odpowiednich tranzystorów lub do wejść dekodera. Jedynym problemem dla mnie jest jak ma odbywać się wybieranie, który zatrzask ma wysyłać dalej dane. Ja to zrealizowałem tak że zrobiłem iloczyn pinu WR i dowolnego pinu wejścia/ wyjścia który jest wolny poprzez bramkę AND. Z wyjścia tego do zatrzasku odpowiedzialnego za segmenty. Zrobiłem negacje tego i do zatrzasku odpowiedzialnego za segmenty. Czyli z tego wynika, że zatrzaski nie będą działały równocześnie. Zrobiłem to na procesorze 8051? Dobrze ?
RE: LED
Jeśli masz mało pinów to możesz zastosować dwa układy, jeden to dekoder 4543 a drugi to układ 4028 czyli dekoder z binarnego na 1 z 10. Czyli do zapalenia 8 cyfr wyświetlacza potrzebujesz 7 pinów procesora. 4 piny sterują cyfrą a 3 piny sterują który wyświetlacz ma się zapalić. Najstarszy bit wejściowy 4018 trzeba zewrzeć do masy na stałe. Jeśli dalej brakuje portów do innych rzeczy to porty wyjściowe można łatwo zrealizować na expenderze PCF8574
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
LED
Ja właśnie zastosowałem dekoder BCD na 7seg 4543. Wyszło mi z tego 4 wejścia dla wyświetlacza do wyświetlania wartości prądu i 4 wejścia dla wyświetlacza wartości napięcia oraz 8 wejść tranzystorów. Z tego względu, że praktycznie nie mam już wolnych portów mikroprocesora. Zastosowałem dwa układy 74HC574, które podłączyłem do magistrali danych ( port P0 ). Zatrzask 1 wybieram za pomocą bramki AND sygnały wejściowe WR i sygnał z portu we/wy i jej negacji dla drugiego zatrzasku.
Najstarszy bit wejściowy 4018 trzeba zewrzeć do masy na stałe? O co chodzi?
Mam pytanie czy odpowiednie segmenty wyświetlaczy 1 i 2 można połączyć wspólnie? Dzięki temu uzyskamy dwa razy mniej wyjść. Czy nie będzie się to kłóciło wyświetlacz 1 i 2. Żeby procesor mógł odróżnić który jest który.
Re; LED
Każdy wyświetlacz musi mieć swoją anodę sterowaną niezależnie aby można było zaświecić dowolne znaki na każdym z nich.
Parzyłeś w ogóle do karty katalogowej układu 4028.... tu mój błąd chodzi mi o układ 4028 a nie 4018. Ma on 4 bity sterujące, najstarszy zwierasz do masy a pozostałe 3 mają ci 8 możliwych kombinacji. Dla każdej z kombinacji aktywne jest jedno wyjście z układu 4028. 4028 ma 10 wyjść więc 2 zostaną niewykorzystane
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
LED
Dziękuje!!! Czyli wynika z tego, że odpowiednie segmenty 1 i 2 wyświetlacza nie można połączyć wspólnie tylko osobno. Dlatego właśnie wykorzystałem do tego dwa dekodery 4543 dla 1 i 2 wyświetlacza.
Właśnie zobaczyłem do karty katalogowej układu CD4028. Już wiem o co chodzi. Ja akurat tego układu nie wykorzystałem w projekcie. Tylko układ CD4543.
Mam pytanko jakie byś dobrał wartości rezystorów ograniczających prąd bazy tranzystorów? Ja dobrałem 3.3k Wystarczy taka wartość czy za mała?
Re: wyświetlanie
rezystor 3,3k na bazie jest ok w takim zastosowaniu.
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Dzięki. To fajnie, że
Dzięki. To fajnie, że wartości rezystorów ograniczających mam dobrze dobrane. W literaturze spotykałem różne wartości tych rezystorów 3,3k 4,7k a nawet 10k. Możesz mi powiedzieć od czego zależy wartość rezystorów ograniczających.Napewno zalezy od wartości prądu bazy tranzystora. Jak obliczyć jakie wartości powinny mieć te rezystory bo ja wartość 3.3k wziąłem z literatury.
Mam jeszcze pytanko bezpośrednio do mojego rozwiązania. Odpowiednie kombinacje wyjść dekodera określa, które segmenty mają się świecić, a tranzystory który wyświetlacz a tak naprawdę pozycja wyświetlacza 4 pozycyjnego. Zastosowałem dwa rejestry zatrzaskowe pierwszy określa, który wyświetlacz ma się świecić a drugi który segment ma się śmiecić. Tylko jak to się dzieje. Mam bramkę logiczna suma sygnału zapisu i dowolnego portu oraz negację tej bramki. Czyli z tego wynika że raz jeśli jeden zatrzask przepuszcza dane, drugi zatrzaskuje i na odwrót. Tylko jak to działa jeśli na oba zatrzaski podawane są identyczne dane. Jak to się dzieje, że podajemy dane z magistali danych na wyjście zatrzasków i dane te pojawiają się na wejsciu. Znałem zastosowanie tego zatzrasku np przy pamięci ROM że podajemy dane na wejście i otrzymujemy je na wyjściu nie odwrotnie.
Re: Zatrzask
Według mnie nazwa zatrzask jest tu trochę nietrafna.... układ jest ośmiobitowym rejestrem. Dane z wejść przepisywane są na wyjście na narastającym zboczu sygnału zegarowego CP. Musisz podac dane na magistralę i ustawić CP w stan wysoki. potem zmienić dane i ustawić CP w stan niski co powoduje przez inwerter stan wysoki na drugim rejestrze i wpisuje do niego dane.
Nie wiem skąd masz ten schemat ale jak dla mnie jest strasznie skomplikowany. W moim rozwiązaniu nie trzeba kompinować, wystawiasz co 4ms 7 bitów na port i wyświetlacz jest w określonym stanie.
Rezystory w bazach tranzystorów dobierasz tak aby prąd bazy był większy niż wynika z podzielenia prądu kolektora przez wsp beta tranzystora (tranzystor ma pracować jako klucz). W praktyce dla typowych zastosowań (sterowanie led, buzzerem itp) daje się właśnie 3,3k i po sprawie
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
LED
A no tak masz rację. Jest to po prostu rejestr 8-bitowy, który po prostu przepuszcza dalej dane lub nie w zależności od stanu wejścia sterującego CP. Tylko u mnie jest na odwrót dane z wyjść przepisywane są na wejście może tak być?
Tylko,że w twoim rozwiązaniu używasz porty mikroprocesora, a ja już mam wszystkie porty zajęte. Nie mniejsza moje rozwiązanie tez jest dobre.
LED
Mam jeszcze pytanie czy napewno są potrzebne te dekodery w moim układzie?
Re: Zatrzask
nieprawda, bo jak będziesz miał stan wysoki na CP (lub niski) i zmieniał wejście to na wyjściu nic się nie stanie (tam są przerzutniki a nie zatrzaski). Przepisanie następuje dokładnie na zboczu narastającym, jak sygnał zmienia się z 0 na 1.
Masz zajęte do wyświetlacza 10 pinów u siebie z tego co widzę na schemacie. Do czego masz podłączoną jeszcze tą magistralę oprócz wyświetlacza? przecież jak zastosujesz mój wyświetlacz to wywalisz całą tą magistralę i uwolnisz 10 pinów, z czego 7 zastosujesz do wyświetlacza (max 8 jak chcesz kropki zaświecać) i 3 piny pozostaną ci wolne. Musisz zastosować tylko dwa dekodery 7-segmentowy i ten 4028 który podałem + tranzystory do anod wyświetlacza ale to oczywiste
Jak chcesz żebym zanalizował dokładnie twój schemat to musisz podać link do jakiejś lepszej jakości bo nie widać nazw pinów na układach
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
LED
Tak zgadza się to co mówisz. Układ działa na zbocze narastające wtedy przepuszcza dane z wejścia na wyjście lub odwrotnie tak jak jest w moim przypadku. A nie przepuszcza danych gdy jest zbocze opadające. No tak 10 pinów. 8 wejść do magistrali danych i 2 sterujące rejestrami z bramki. Tą magistralę mam podłączoną do przetwornika AC , pamięci ROM, układy 74HC574 ale przy pamięci.
Wyśle Ci na email cały schemat.
Mam pytanie czy nie błędem
Mam pytanie czy nie błędem jest że wyjścia rejestru 74HC574 traktuje jako wejścia i podłączam do magistralii? a wjeście D0 do D7 traktuje jako wyjścia. Czy po prostu rejestr ten jest dwukierunkowy.
Jestem w trakcie tworzenia algorytmu działania programu wyświetlania dynamicznego dla mojego układu ale w asembelrze. Jak to najlepiej rozwiązać?
Re; Rejestr
Popatrz do karty, ewidentnie układ 74HC574 jest jednokierunkowy. Posiada w swojej strukturze 8 przerzutników i 8 buforów 3-stanowych. Wejścia D możesz łączyć ale wyjśc absolutnie nie. Jeśli masz magistralę dwukierunkową to trzeba wykorzystać wejście Eable tych buforów żeby np połączyć ich wyjścia razem. Ale nie mają prawa oba układy dostać enable jednocześnie bo będzie zwarcie.
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Rejestr
Czyli wynika z tego,że muszę obrócić układy 74HC574 tzn wejścia D0 do D7 podłączyć do magistrali danych?
Re: rejestr
Logika tak nakazuje aby wejścia były na magistralę podłączone, chyba że układ 74HC574 ma ustawiać coś na magistrali
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Rejestr
Dziękuje za pomoc:) Już wszystko wiem rejestry 74HC574 muszą mieć wejścia D0 do D7 podłączone na magistralę danych. Układ 74HC574 nic nie ustawia na magistrali danych, bo wykorzystuję go do wyświetlacza LED. Mikroprocesor ustawia na wyjściu jednego układu, który wyświetlacz ma się załączać, a drugi które segmenty maja się świecić. Rejestry nigdy nie przepuszczają równocześnie danych z wejść, bo wtedy może nastąpić konflikt. Do tego zastosowane są bramki logiczne.
Algorytm wyświetlania w asemblerze
Czy algorytm jest poprawnie? Wejścia LE1 i lE2 to odpowiednio wejścia sterujące pierwszego i drugiego układy 74HC574.
wyświetalcz
Czy mikroprocesor może załaczyć zatrzask do pamięci ROM i zatrzask do wyświetlacza? Bo moim zdaniem będzie wtedy konflikt trzeba będzie wykorzytsac do wyświtlacza port P1 co o tym myslisz?
Re; Pamięć
W ogóle to trochę dziwnie jest podłaczone... co na wyjściu daje pamięć jak nie pracuje, jest wysoka impedancja? Jak na wyjściu pamięci jest cały czas wymuszony jakiś stan to będzie zawsze problem na całej magistrali
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
ledd
Mógłbys zaprponowac jak to dobrze połaczyć?
wyświetlacz led i 74164
witam!
chcę podłączyć 8 wyświetlaczy 7-segmentowych led ( 2 po 4 wyświetlacze ) do atmegi8 wykorzystując rejestry przesuwne 74164 po jednym na każdy wyświetlacz wykorzystując dwa wyjścia atmegi ( ew. jeszcze jedno do wygaszania wyświetlaczy ) układ rejestrów i wyświetlaczy mam wykonany mam problem z kodem do atmegi
Re: Multipleksowanie
Najpierw podłącz sobie jeden rejestr do procesora. Jedno z wejść podłacz do pinu a drugie do +5V bo rejestr ma dwa wejścia danych. Na przebieg zegarowy potrzebne jest drugie wyjście z procka. Program jest prosty. W timerze albo bezpośrednio w do loop zmieniasz stan linii CLK rejestru. jak jest zbocze opadające clk do ustawiasz na pinie wyjściowym kolejny bit danych, jak jest zbocze narastające clk to rejestr odczytuje daną z pinu procka, znowu jest zbocze opadające -> wrzucasz na pin kolejny bit itd. aż wyślesz 8 bitów
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
led i 74164
układ wyświetlaczy i rejestrów już mam zmontowany w taki sposób że ostatni bit 1 rejestru jest wejściem drugiego oba wejścia rejestru połączone są równolegle, czy jest możliwość stworzenia jakiejś prostej tabeli do wyświetlania znaków na tych wyświetlaczach?
LED
Wrzuć schemat tego co zrobiłeś.... jak do tego wszystkiego podłączone są wyświetlacze?
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Źle wyświetla
Witam,
Napisałem sobie taki program żeby co sekundę zwiększała mi się wartość zmiennej "wysw" i zmienna ta zwiększa swoją wartość.
Tylko jest taki problem, że wyświetlacze zachowują się dziwnie.
Wyświetlacz jedności działa normalnie a wyświetlacz dziesiątek strasznie słabo świeci (praktycznie wcale go nie widać). Cyferki zmieniają się na nim ale do tego, że słabo bardzo świeci to jeszcze ryga jak na wyświetlaczu jedności zmienia się cyfra.
Co może być źle napisane?
Oto kod:
Re: Wyświetlanie
jest źle napisane bo jest wait 1 w do loop. Nie ma prawa być wait'a. po to masz timer zeby odliczać czas. W przerwaniu od timera wstaw dzielnik i jak doliczy do 250 to skasuj licznik i ustaw flagę F1s. W do loop sprawdzaj czy F1s jest 1 - jesli tak to zerujesz flagę tak samo jak w przypadku F4ms i zwiększasz wartość wysw. procudera gosub wyświetlanie ma byc wywoływana tylko w jednym miejscu, co 4ms
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.