Spisu treści:
- Krok 1: Rzeczy wymagane
- Krok 2: Logika kodu i wyświetlacz
- Krok 3: wyświetlacz jazdy z mikrokontrolerem
- Krok 4: Dlaczego multipleksowanie?
- Krok 5: Jak to osiągnąć?
- Krok 6: Algorytm multipleksowania
Wideo: Stoper używający Pic18f4520 w Proteus z 7 segmentami: 6 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
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
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
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
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:
Twitter Bot używający Pythona: 5 kroków
Twitter Bot używający Pythona: Twitter bot
Obserwator wilgotności i temperatury używający Raspberry Pi z SHT25 w Pythonie: 6 kroków
Obserwator wilgotności i temperatury używający Raspberry Pi z SHT25 w Pythonie: Będąc entuzjastami Raspberry Pi, pomyśleliśmy o kilku bardziej spektakularnych eksperymentach z nim. W tej kampanii stworzymy obserwatora wilgotności i temperatury, który mierzy wilgotność względną i temperaturę za pomocą Raspberry Pi i SHT25, Humid
Robot Line Follower używający Arduino Uno i L298N: 5 kroków
Robot Line Follower wykorzystujący Arduino Uno i L298N: Line Flower to bardzo prosty robot idealny dla początkujących elektroników
Pickcraft Game Player używający Arduino z Utsource: 6 kroków
Pickcraft Game Player używający Arduino z Utsource: To bardzo prosty samouczek, aby nauczyć się, jak stworzyć Pickcraft Game Player używający Arduino. PickCrafter to gra typu clicker, która pozwala przejąć kontrolę nad kilofem i zagłębić się w biomy? Nawet w trybie bezczynności lub offline! Po prostu sta
KLAWIATURA Z 7 SEGMENTAMI Z WYKORZYSTANIEM MIKROKONTROLERA CLOUDX: 4 kroki
KLAWIATURA Z 7 SEGMENTAMI ZA POMOCĄ MIKROKONTROLERA CLOUDX: W tym projekcie akceptujemy dane numeryczne z klawiatury Matrix, a następnie wyświetlamy je na 7-segmentowym module wyświetlacza. Ponieważ 8 diod LED jest oznaczonych od A do G i DP (dla kropki dziesiętnej), jeśli chcesz wyświetlić liczbę 6, zastosujesz