Spisu treści:

Stoper używający Pic18f4520 w Proteus z 7 segmentami: 6 kroków
Stoper używający Pic18f4520 w Proteus z 7 segmentami: 6 kroków

Wideo: Stoper używający Pic18f4520 w Proteus z 7 segmentami: 6 kroków

Wideo: Stoper używający Pic18f4520 w Proteus z 7 segmentami: 6 kroków
Wideo: Drive Thru with 80,000 WATT BASS 2024, Listopad
Anonim
Stoper używający Pic18f4520 w Proteus z 7 segmentami
Stoper używający Pic18f4520 w Proteus z 7 segmentami

Właśnie zacząłem pracować z kontrolerem pic, jeden z moich znajomych poprosił mnie o zbudowanie z niego stopera. Więc nie mam obrazu sprzętu do udostępnienia, napisałem kod i zasymulowałem go na oprogramowaniu Proteus.

tutaj podzieliłem się schematem tego samego.

zdefiniowane są trzy zmienne milisekundy, sekundy, minuty

tutaj użyliśmy przerwania czasowego 10 ms, na każde 1000 milisekund zmienna sekund będzie się zwiększać, za każde 60 sekund zmienna minut będzie się zwiększać.

Krok 1: Rzeczy wymagane

1 kontroler pic18f4520

2 wyświetlacze siedmiosegmentowe

3 tranzystory bc547

4 przełączniki start/stop/reset

5 rezystorów 330E, 10K, 1K

6 pobierz mikroC do zdjęcia

7 pobierz proteus

Krok 2: Logika kodu i wyświetlacz

Logika kodu i wyświetlacz
Logika kodu i wyświetlacz
Logika kodu i wyświetlacz
Logika kodu i wyświetlacz

Co to jest wyświetlacz siedmiosegmentowy? Wyświetlacz siedmiosegmentowy (SSD) jest jednym z najbardziej popularnych, tanich i prostych w użyciu wyświetlaczy. Wygląda jak powyżej.

tutaj musimy użyć 7-segmentowego wyświetlacza typu Common Cathode – W SSD typu common cathod, zacisk –ve wszystkich diod LED jest zwykle podłączony do pinu „COM”. Segment może być zaświecony, gdy do odpowiedniego segmentu diody LED zostanie podane „1” i masa zostanie podłączona do masy. Elementy wewnętrzne przedstawiono na rysunku 2.

Krok 3: wyświetlacz jazdy z mikrokontrolerem

Wyświetlacz jazdy z mikrokontrolerem
Wyświetlacz jazdy z mikrokontrolerem

W moim obwodzie użyłem tranzystora NPN BC547.

W celu prostego użycia BJT jako przełącznika złącza emiter-kolektor ulegają zwarciu, gdy na zacisku podstawowym pojawia się sygnał wejściowy, w przeciwnym razie pozostaje on odcięty. Wejście powinno być podane przez odpowiedni rezystor.

Krok 4: Dlaczego multipleksowanie?

Często musimy używać dwóch, trzech lub więcej dysków SSD i to również przy użyciu tylko jednego MCU, ale jednym problemem, z którym się borykamy, jest brak pinów I/O w MCU, ponieważ jeden dysk SSD zająłby 8 pinów, a więc trzy dyski SSD zajęłoby 24 szpilki. Na pic18 mamy tylko 48 pinów I/O. Więc jakie jest rozwiązanie?

Jedną z możliwości jest użycie większego MCU z większą liczbą pinów I/O. Ale nadal jesteśmy ograniczeni do maksymalnie 3 dysków SSD, których można użyć. Innym znacznie lepszym i zalecanym rozwiązaniem tego problemu jest multipleksowanie wyświetlaczy siedmiosegmentowych.

Wikipedia mówi: „W sieciach telekomunikacyjnych i komputerowych multipleksowanie (znane również jako muxing) to metoda, dzięki której wiele analogowych sygnałów wiadomości lub cyfrowych strumieni danych jest łączonych w jeden sygnał na wspólnym nośniku. Celem jest dzielenie się drogim zasobem”. Przez multipleksowanie siedmiosegmentowego wyświetlacza będziemy używać tylko 7 portów wyjściowych do wyświetlania na wszystkich dyskach SSD.

Krok 5: Jak to osiągnąć?

Tutaj użyjemy „Persistence of Vision”. Teraz musisz przejść przez ten termin już wcześniej. Tak, jest to ta sama technika, która jest używana w kinematografii (wyświetlanie obrazów tak szybko, że nasz mózg nie może rozróżnić opóźnienia między dwoma kolejnymi obrazami). Podobnie, gdy muxujemy więcej niż jeden dysk SSD, wyświetlamy tylko jeden dysk SSD na raz i przełączamy się między nimi tak szybko, że nasz mózg nie może ich rozróżnić.

Powiedzmy, że każdy wyświetlacz jest aktywny tylko przez 5 milisekund na raz, tj. zapala się 1/0,0045 razy na sekundę, czyli mniej więcej 222 razy na sekundę. Nasze oczy nie wyczuwają zmiany tak szybko, a zatem widzimy, że wszystkie wyświetlacze działają jednocześnie. To, co faktycznie dzieje się w sprzęcie, polega na tym, że MCU nadaje pinowi „1” (pamiętaj, że podanie „1” podstawie BJT powoduje zwarcie złącza kolektora i emitera?), który jest połączony z podstawą tranzystora odpowiednie wyświetlacze, utrzymuje port w pozycji „ON” przez 5 milisekund, a następnie ponownie go wyłącza. Ta procedura jest umieszczona w nieskończonej pętli, dzięki czemu widzimy wyświetlacz w sposób ciągły.

Krok 6: Algorytm multipleksowania

Algorytm multipleksowania
Algorytm multipleksowania

Zdefiniuj dwa porty w kodzie, jeden dla portu danych segmentu i portu kontroli segmentu.

Sztuczka polega na tym, że wyświetlasz dane na wszystkich 7 segmentach. i aktywuj jeden pin kontrolny, na którym musisz wyświetlić te dane. zmienić dane i pin kontroli zmiany biegów.

tutaj w tej instrukcji użyliśmy 6-cyfrowego multipleksowania, po prostu przejrzyj załączony plik c, a zostanie on wyczyszczony.

Zalecana: