Dobry wieczór!
Mam mały problem podczas multipleksowania czterech wyświetlaczy 7-segmentowych. Mają one wspólną anodę. Steruję je przez tranzystory PNP przez którymi daję jeszcze oporniki 1k. Nie będę dalej tego opisywał - schemat w załączniku.
Sterowanie odbywa się przez WYSW3. Przez WYSW i WYSW2 podłączone są poszczególne segmenty wyświetlaczy na osobnej już płytce. Przed każdym znajduje się opornik 100R.
W chwili obecnej podłączony jest omawiany wyświetlacz, programator, termometr (na razie na PB1) oraz klawiatura wykorzystująca ADC (pod PC5).
Problem polega na tym, że wyświetlacze świecą słabiej niż mogą. Jak testowo pominę tranzystor i podepnę anodę jednego z wyświetlaczy bezpośrednio do zasilania (4,8V) wtedy wyświetlacz świeci o wiele mocniej. Także gdy zamiast do portu (np. PC0) podepnę opornik do masy, wtedy również wyświetlacz świeci mocnej. Jednak przy podłączeniu do portów PCx wyświetlacze nie świecą pełną mocą.
Steruje nimi następujący kod:
Do wysw[x] w innym przerwaniu wpisywane są cyfry, które aktualnie mają być wyświetlone.
Co może tutaj być problemem?
Mam mały problem podczas multipleksowania czterech wyświetlaczy 7-segmentowych. Mają one wspólną anodę. Steruję je przez tranzystory PNP przez którymi daję jeszcze oporniki 1k. Nie będę dalej tego opisywał - schemat w załączniku.
Sterowanie odbywa się przez WYSW3. Przez WYSW i WYSW2 podłączone są poszczególne segmenty wyświetlaczy na osobnej już płytce. Przed każdym znajduje się opornik 100R.
W chwili obecnej podłączony jest omawiany wyświetlacz, programator, termometr (na razie na PB1) oraz klawiatura wykorzystująca ADC (pod PC5).
Problem polega na tym, że wyświetlacze świecą słabiej niż mogą. Jak testowo pominę tranzystor i podepnę anodę jednego z wyświetlaczy bezpośrednio do zasilania (4,8V) wtedy wyświetlacz świeci o wiele mocniej. Także gdy zamiast do portu (np. PC0) podepnę opornik do masy, wtedy również wyświetlacz świeci mocnej. Jednak przy podłączeniu do portów PCx wyświetlacze nie świecą pełną mocą.
Steruje nimi następujący kod:
Kod: C / C++
Do wysw[x] w innym przerwaniu wpisywane są cyfry, które aktualnie mają być wyświetlone.
Co może tutaj być problemem?
