Witam!
Potrzebuję porady dotyczącej wyświetlacza LED 4x7segmentów.
Staram się ogarnąć temat tak jak w książce, jednak z kilkoma małymi modyfikacjami.
Główną różnicą jest schemat połączenia wyświetlacza. Nie użyłem tranzystorów, co mi ogranicza plątaninę przewodów na płytce (segmenty świecą trochę słabiej - wersja testowa).
Dodatkowo takie podłączenie wymusza
ustawienie stanu wysokiego na anodzie i niskiego na katodzie, żeby segment się zaświecił.
Katody podłączyłem do pinów PD1...PD7 w kolejności a,b,c,d...dp, a anody do PC5...PC2, gdzie PC5 to wyświetlacz nr1. //poprawiłem literówkę
Zmodyfikowany kod wygląda następująco:
main.c
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Zmiany w kodzie, które dokonałem to:
d_led.h
-w definicjach portów i pinów wybrałem odpowiednie porty (według mojego podłączenia)
-ustaliłem anody na odpowiednich pinach
-nie ruszałem definicji segmentów, powinienem?
d_led.c:
-w inicjalizacji wyświetlacza zmieniłem wygaszenie anod stanem 0, a nie 1
-zmiana ustawień timerów, mam nadzieję, że zrobiłem to poprawnie (nie mam pewności)
-ustawienie poprawnej (mam nadzieję) definicji przerwania ISR(TIMER2_COMP_vect)
-zrezygnowałem z mask (muszę do nich dojrzeć w kolejnej wersji programu) i usunąłem negację dla ANODY_PORT = licznik zamiast ANODY_PORT = ~licznik
REZULTAT DZIAŁANIA PROGRAMU:
Zaraz po uruchomieniu uC następuje odliczanie na segmentach 3 i 4, wygląda tak:
99
89
79 itd...
Natomiast wyłączenie pętli z kompilacji nie powoduje zapalenia się stanu początkowego, nie świeci się nic.
Tak się we wszystkim poplątałem, że już nie wiem jak to naprawić...
Pozdrawiam.
Nie publikujemy kodów bibliotek, dopuszczalne jest publikowanie pętli głównej oraz wycinków zawierających zmiany------------------------ [ Dodano po: 32 minutach ]Cały program razem z bibliotekami jest dostępny tutaj:
http://atnel.pl/uaktualnienia-programow-do-dvd.html dlatego pozwoliłem sobie na umieszczenie całości, żeby było bardziej czytelnie.
Ok, w takim razie same zmiany:
d_led.c
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
oraz:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
d_led.h <-zmiany na portach i pinach
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.