ATNEL tech-forum https://forum.atnel.pl/ |
|
Licznik pętli na wyświetlaczu 7 segmentowym https://forum.atnel.pl/topic20574.html |
Strona 1 z 1 |
Autor: | tutus [ 9 kwi 2018, o 07:57 ] |
Tytuł: | Licznik pętli na wyświetlaczu 7 segmentowym |
Moi drodzy, muszę wyświetlić liczbę wykonanych pętli na wyświetlaczu segmentowym. Wiem, że to banał, niestety jestem kompletnie zielony w temacie. Proszę pomóżcie mi poprawić ten kod |
Autor: | jony15 [ 9 kwi 2018, o 09:50 ] |
Tytuł: | Re: Licznik pętli na wyświetlaczu 7 segmentowym |
Witam. Zrób tak: 1 - zmienna którą chcesz wyświetlić np: "jakis_licznik" przekształć na poszczególne cyfry do wrzucenia na wyświetlacz ( masło maślane ). Przyjmijmy że każdy wyświetlacz ma swoją zmienna np dis1 - pierwszy wyświetlacz "dis2" - drugi "dis3" - trzeci. I teraz: język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. teraz w dis1 masz setki (2), dis2 dziesiątki (3) dis3 jedności (7) 2 - Stwórz tablice cyfr i kodów na wyświetlacz np taką ( które segmenty wyświetlacza mają się zapalić dla danego znaku ) język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Np wyświetlacz masz podłączony pod PORTB, wcześniej zrobiłeś tak ( pod które piny fizycznie podłączone są segmenty wyświetlacza ) język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Teraz np aby zapalić segment 0 na wyświetlaczu ( kontrolnie ) PORTB|=(SEG_A|SEG_B|SEG_C|SEG_D|SEG_E|SEG_F); 3 - I teraz "wrzucasz" na wyświetlacz ( czy to statycznie czy multipleksowo w przerwaniu ) PORTB = znaki_tablica[dis1]; W dis1 jest "2" to na PORTB ląduje trzeci ( liczymy od zera ) element tablicy: (SEG_A|SEG_B|SEG_D|SEG_E|SEG_G), //2 Trochę chaotycznie to opisałem ale jak byś czegoś nie zrozumiał to pisz, aha zakładam że wyświetlacz masz z wspólną katoda tj, jedynka na pinie ( 5V ) zapala segment. |
Autor: | tutus [ 9 kwi 2018, o 11:55 ] |
Tytuł: | Re: Licznik pętli na wyświetlaczu 7 segmentowym |
Dziękuję za odpowiedź. Trochę poczytałem w temacie i poszedłem na łatwiznę, ale wydaje mi się że lepiej tzn. skorzystałem z biblioteki SevSeg. Wciąż jednak mam ten sam problem. Otóż wyświetlanie liczb działa prawidłowo, jednak nie wiem w jaki sposób zrealizować zwiększanie liczby po wykonaniu danej sekwencji przez program. np. chcę żeby program wystawiał takie piny na zmiane z opóźnieniem i wyswietlał liczbe cykli "i", jednak jeśli jest to w osobnej funkcji to rosnące cykle się nie wyświetlają, ale jesli w tej samej to wyswietlacz nie dziala prawidlowo przez opóźnienie |
Strona 1 z 1 | Strefa czasowa: UTC + 1 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |