![Utwórz ekran debugowania dla mikrokontrolerów: 6 kroków Utwórz ekran debugowania dla mikrokontrolerów: 6 kroków](https://img.gwsigeps.com/img/circuits/make-a-debug-display-for-microcontrollers-7.jpg)
Spisu treści:
- Kieszonkowe dzieci:
- Krok 1: Schemat
- Krok 2: Rejestr zmian 75HC595
- Krok 3: Zbuduj wyświetlacz
- Krok 4: Znajdź kolejność segmentów
- Krok 5: Napisz kod
- Krok 6: Przetestuj to
Ten ekran jest bardzo przydatny, jeśli pracujesz z funkcją ADC mikrokontrolerów.
Do sterowania wyświetlaczem potrzebne są tylko dwa piny (trzy, jeśli chcesz również kontrolować zatrzask). Z dwoma siedmioma segmentami może wyświetlić do 0xFF jako hex. To jest cały zakres 8-bitowy, co jest najczęściej używaną zmienną szerokością dla małych uC.
Zbudowałem go, ponieważ ostateczna aplikacja nie ma wyświetlacza i chciałem wiedzieć, co się dzieje, zanim to skończę.
Potrzebne są dwa rejestry przesuwne 74HC959, dwa siedmiosegmentowe wyświetlacze i rezystory 14 (16) Potrzebujesz 16, jeśli chcesz użyć kropek, które nie są zaimplementowane w oprogramowaniu. Ale użycie kropek rozszerzyłoby wyświetlane wartości do 10bit lub 0-1027. Zostawię ci to, żeby to rozgryźć.
Kieszonkowe dzieci:
Krok 1: Schemat
Używamy dwóch rejestrów zmianowych 74HC595 do interfejsu wyświetlaczy siedmiosegmentowych. Niezależnie od tego, czy używasz wspólnej anody, czy wspólnej 7-segmentowej katody, musisz dostosować obwód. Użyłem zwykłych katod. Co oznacza, że każdy segment jest jedną zieloną diodą LED, a katody wszystkich diod LED są ze sobą połączone. (Piny 3 i 8 wyświetlacza 7-segmentowego)
Rejestry zmianowe działają w ten sposób:
Za każdym razem, gdy przykładasz impuls do wejścia zmiany, aktualny stan pinów wejścia szeregowego jest przesuwany w pamięci 74HC595. Za każdym razem, gdy impuls na wejściu zatrzasku dochodzi, stan wewnętrznej pamięci jest wykorzystywany do sterowania wyjściami.
Po 8 cyklach zmiany pierwsze wejście jest ponownie przesunięte na pin9 i może być użyte jako wejście do innego 74HC595. Nazywa się to również łańcuchem daisy.
74HC595 może napędzać łącznie do 70 mA, więc musimy dostosować rezystory w taki sposób, aby prąd płynący przez każdy segment LED był poniżej 9 mA, czyli około 470 omów dla 5 V i używanych wyświetlaczy.
Krok 2: Rejestr zmian 75HC595
Spojrzenie na zdjęcie informuje, które szpilki należy podłączyć.
Szpilki są liczone w kierunku przeciwnym do zegara, zaczynając od znaku na IC, jeśli patrzysz na to z góry.
Podłącz pin 1 - 7 i pin 15 do pinów 7-segmentowego.
Pin 8 i 13 muszą być podłączone do masy (GND lub ujemny zacisk akumulatora)
Pin 9 jest podłączony do pin 14 następnego IC.
Pin 10 i pin 16 muszą być podłączone do napięcia zasilania (VCC lub dodatni zacisk akumulatora)
Pin 11, 12 i 14 są interfejsem sterowanym przez mikrokontroler, podłącz je do trój pinowego pinheadera do zewnętrznego interfejsu.
Krok 3: Zbuduj wyświetlacz
Chociaż można było wytrawić niestandardową płytkę drukowaną, zdecydowałem się zbudować całość na płytce z cienkim drutem miedzianym.
Ten drut miedziany jest powlekany, ale powłoka może zostać spalona przy pomocy odrobiny stopionej cyny. Bardzo łatwo jest nawiązać z nim połączenia. Wystarczy cynkować jeden koniec, przylutować go do szpilki, a następnie rozciągnąć go na drugi pin i wypalić izolację, w której chcesz go przylutować. Następnie przylutuj go do szpilki i odetnij resztę. Lutownica o mocy 30 W taka jak ta od Craftsman jest więcej niż wystarczająca do tego zadania.
Użyłem małych rezystorów SMD 1206, ponieważ pasują one dobrze pod siedmiosegmentowymi wyświetlaczami.
Ale przecież sam musisz uzupełnić planszę i oczywiście możesz wziąć dowolny opornik.
Krok 4: Znajdź kolejność segmentów
Wreszcie musimy napisać funkcje, aby wyświetlić coś znaczącego.
Głównym problemem jest teraz znalezienie odpowiedniego segmentu - sekwencji kontrolnej. Najpierw spróbuj przesunąć pojedynczy 1 przez cały rejestr przesuwny.
Zastosuj wysokie do wejścia szeregowego i impulsuj przesunięcie raz. Teraz pulsuj zatrzask raz i zobacz, które segmenty się zapalają.
Jeśli ponownie wciśniesz przycisk zmiany biegów i zatrzasku, następny segment zaświeci się i tak dalej.
W końcu masz kolejność wszystkich segmentów i możesz przenieść je na liczby binarne.
Krok 5: Napisz kod
Jeśli podłączyłeś płytę w inny sposób, być może będziesz musiał dostosować tablicę segmentcontrol.
Aby go użyć, musisz dostosować definicje pinów w pliku debug.h (pierwsze 12 linii).
W głównej aplikacji musisz dodać następujące wiersze:
#include „debug.h”
initdebug (); // To inicjuje porty wyjściowe określone w debug.h
Następnie możesz wyświetlić dowolną 8-bitową zmienną, wywołując z nią funkcję debugowania. powiedzmy, że zmienna jest nazywana licznikiem, wtedy bieżąca wartość licznika jest wyświetlana przez:
debugowanie (licznik);
Poradnik:
- Dodaj trochę czasu opóźnienia po wywołaniu debug (), aby mieć czas na odczyt wartości.
- Po połączeniu przesunięcia i zatrzasku po prostu zdefiniuj dwa porty dla tego samego pinu. Za każdym razem, gdy wyzwalane jest przesunięcie, blokuje również bieżący stan, co oznacza, że wyświetlacz miga podczas ładowania rejestrów zmian. Jeśli zrobisz to szybko w porównaniu do czasu, w którym wyświetlacz pozostanie, będzie on o.k.
- Aby wyświetlić wartość 16-bitową, podziel ją przez 256 i wyświetl wynik lub oddziel wysoki bajt i niższy bajt i wyświetl je jeden po drugim z małym hamulcem między nimi.
Krok 6: Przetestuj to
www.instructables.com/id/Make-a- breadboard-adapter-for-your-AVR-microcontroller
Program osadzonego wideo liczy od 0 do 0xFF iz powrotem.
Wideo: