Witam,
Potrzebuję zbudować zespół wyświetlaczy składających się z 13 wyświetlaczy LED(ze wspólną anodą) z czego 12 to wyświetlacze alfa-numeryczne 14-segmentowe. Do załączania pojedynczego wyświetlacza planuje wykorzystać dekoder 1-16bit CD4514 a do podawania sygnału sterującego myślałem wykorzystać połączony kaskadowo dwa 8-bitowe rejestry przesuwne CD4094.
Pozwolę sobie wyjaśnić jak ja to widzę:
Jeśli na na PORT C będzie wartość: 0 wtedy na dekoderze na wyjściu S0 pojawi się "1" a to powinno załączyć tranzystor BC369 i wyświetlacz o nazwie "DIS1" powinien być aktywny a reszta wyświetlaczy wyłączone. Aby wyłączyć wszystkie wyświetlacze podaje na port C wartość: 0b00001111 co aktywuje wyjście "S15" jednak nie jest ono podłączone więc wszystkie wyświetlacze będą zgaszone.
Algorytm wyświetlania liczby:
zmienna: 'nr_wyswietlacza = 1';
1.Wpisanie odpowiedniej wartości do rejestru przesuwnego.
2.Jeśli zakończono zapis włącz wyświetlacz nr 'nr_wyswietlacza'
3.Opóźnienie około 20ms
4.Wyłączenie wszystkich wyświetlaczy
5.Zwiększenie zmiennej 'nr_wyswietlacza' + 1
6.Jeśli 'nr_wyswietlacza' > liczby wyświetlaczy wtedy 'nr_wyswietlacza' = 1
Proszę o sprawdzenie poprawności czy taki układ ma szansę działać oraz jakieś wskazówki jak zapisuje się dane do tego rejestru przesuwnego i jak się dowiedzieć o fakcie zakończenia zapisu do tego rejestru?
Oto schemat, który wymyśliłem, jednak nie jestem pewien czy tranzystory BC369 oraz wartość rezystorów są poprawne.
Schemat:
![[Atmega8][C] - Multiplekser 13 wyświetlaczy LED + 2* rejestr przesuwny CD4094 [Atmega8][C] - Multiplekser 13 wyświetlaczy LED + 2* rejestr przesuwny CD4094](https://static2.elektroda.pl/img/preloader2.svg)
Potrzebuję zbudować zespół wyświetlaczy składających się z 13 wyświetlaczy LED(ze wspólną anodą) z czego 12 to wyświetlacze alfa-numeryczne 14-segmentowe. Do załączania pojedynczego wyświetlacza planuje wykorzystać dekoder 1-16bit CD4514 a do podawania sygnału sterującego myślałem wykorzystać połączony kaskadowo dwa 8-bitowe rejestry przesuwne CD4094.
Pozwolę sobie wyjaśnić jak ja to widzę:
Jeśli na na PORT C będzie wartość: 0 wtedy na dekoderze na wyjściu S0 pojawi się "1" a to powinno załączyć tranzystor BC369 i wyświetlacz o nazwie "DIS1" powinien być aktywny a reszta wyświetlaczy wyłączone. Aby wyłączyć wszystkie wyświetlacze podaje na port C wartość: 0b00001111 co aktywuje wyjście "S15" jednak nie jest ono podłączone więc wszystkie wyświetlacze będą zgaszone.
Algorytm wyświetlania liczby:
zmienna: 'nr_wyswietlacza = 1';
1.Wpisanie odpowiedniej wartości do rejestru przesuwnego.
2.Jeśli zakończono zapis włącz wyświetlacz nr 'nr_wyswietlacza'
3.Opóźnienie około 20ms
4.Wyłączenie wszystkich wyświetlaczy
5.Zwiększenie zmiennej 'nr_wyswietlacza' + 1
6.Jeśli 'nr_wyswietlacza' > liczby wyświetlaczy wtedy 'nr_wyswietlacza' = 1
Proszę o sprawdzenie poprawności czy taki układ ma szansę działać oraz jakieś wskazówki jak zapisuje się dane do tego rejestru przesuwnego i jak się dowiedzieć o fakcie zakończenia zapisu do tego rejestru?
Oto schemat, który wymyśliłem, jednak nie jestem pewien czy tranzystory BC369 oraz wartość rezystorów są poprawne.
Schemat:
![[Atmega8][C] - Multiplekser 13 wyświetlaczy LED + 2* rejestr przesuwny CD4094 [Atmega8][C] - Multiplekser 13 wyświetlaczy LED + 2* rejestr przesuwny CD4094](https://obrazki.elektroda.pl/1030549000_1376747862_thumb.jpg)