
Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-23 15:02

Liczby binarne to jedna z pierwszych rzeczy, które przychodzą na myśl, gdy myślimy o logice cyfrowej. Jednak liczby binarne mogą być trudną koncepcją dla nowych.
Ten projekt pomoże tym, którzy są zarówno nowi, jak i doświadczeni z liczbami binarnymi, w opanowaniu konwersji liczb dziesiętnych. Tworząc grę przetestujemy użytkowników pod kątem ich umiejętności konwersji. Ta gra zostanie uruchomiona na płycie Basys3 i zaprogramowana w Verilog.
Krok 1: Potrzebne materiały

Do przekształcenia tej gry z konwersją dziesiętną na binarną potrzebne są następujące materiały:
- Oprogramowanie Xilinx Vivado Design Suite
- Płyta FPGA Digilent Basys3
- Kabel USB do Micro USB
Krok 2: Konfiguracja LFSR (rejestr przesuwu z liniowym sprzężeniem zwrotnym)


LFSR (Linear Feedback Shift Register) to moduł służący do generowania liczb „losowych”.
LFSR nie jest całkowicie losowy, ponieważ generuje liczby pseudolosowe, co jest procesem generowania liczb, które wydają się losowe, ale nie są.
LFSR to rejestr przesuwny, którego bit wejściowy jest funkcją liniową poprzedniego stanu, co oznacza, że LFSR będzie przechodził przez skończone liczby. Specjalnie dla tej gry LFSR użyje tylko 8 bitów, aby ograniczyć liczbę dziesiętną, którą może wygenerować, do 255.
Przycisk L (btnL) służy do resetowania numeru na LFSR.
Ten moduł LFSR nie został stworzony przez twórców tej gry. Moduł LFSR został stworzony przez profesora Uniwersytetu Carleton, Johna Knighta. Link do jego modułu znajduje się poniżej.
www.doe.carleton.ca/~jknight/97.478/97.478_…
Krok 3: Konfiguracja wyświetlacza siedmiosegmentowego

Wyświetlacz siedmiosegmentowy jest używany na płycie Basys3 i wielu innych elementach sprzętu do wyświetlania znaków alfanumerycznych.
Moduł wyświetlacza siedmiosegmentowego, który jest używany w tej grze, konwertuje liczbę binarną na liczbę dziesiętną i wyświetla ją jako liczbę dziesiętną.
Wykorzystując wcześniej omówiony moduł LFSR, losowo wygenerowana liczba zostanie wyprowadzona na wyświetlacz siedmiosegmentowy.
Moduł wyświetlacza siedmiosegmentowego nie został stworzony przez twórców tej gry. Moduł wyświetlacza siedmiosegmentowego został dostarczony przez profesora California Polytechnic State University, Josepha Callenesa-Sloana. Plik pdf modułu znajduje się poniżej.
Krok 4: Tworzenie modułu gry




Tworzenie gry (główny) moduł.
Ten moduł użyje modułu LFSR do wygenerowania liczby losowej, a następnie wyśle ją na wyświetlacz siedmiosegmentowy.
Następnie moduł używa bloku zawsze, który resetuje liczbę losową. Działa to na dodatniej krawędzi przycisku R (btnR), co oznacza, że będzie działać tylko po naciśnięciu przycisku R.
Drugi blok zawsze działa na dodatnim zboczu zegara (clk). Jeśli przycisk C (btnC) zostanie naciśnięty, sprawdzi się, czy numer na wyświetlaczu siedmiosegmentowym jest taki sam, jak numer wejścia z przełączników (sw). Ten blok podniesie flagę (ustawi rejestr flag (flag) na 1) i zmieni przewód MessageVal w zależności od tego, czy użytkownik wygrał, czy przegrał.
Trzeci blok zawsze działa również na dodatnim zboczu zegara. Jeśli flaga jest podniesiona, ustawi ssegInputVal na przewód messageVal na wyświetlaczu siedmiosegmentowym. Jeśli flaga nie zostanie podniesiona, będzie nadal wyprowadzać liczbę losową (randomVal).
Krok 5: Granie w grę



Instrukcje:
- Użytkownik naciśnie przycisk R, aby utworzyć nową grę lub zmienić numer na wyświetlaczu siedmiosegmentowym.
- Użytkownik przestawi pierwsze 8 przełączników w górę (1) lub w dół (0), aby wprowadzić liczbę binarną.
- Przycisk C posłuży do sprawdzenia, czy użytkownik wygrał, czy przegrał.
- Jeśli użytkownik wygrał, na wyświetlaczu siedmiosegmentowym zostanie wyświetlone „111”.
- Jeśli użytkownik stracił „0” zostanie wyświetlone na wyświetlaczu siedmiosegmentowym.
- Aby rozpocząć nową grę, przycisk R można nacisnąć w dowolnym momencie.
Zalecana:
Ostateczny dowcip wyłączania komputera: 3 kroki

The Ultimate Computer Shutdown Prank: To jest skrypt zamykający a.vbs, który zrobiłem jako żart. Powodem, dla którego jest tak fajnie, jest to, że zamiast od razu wyłączać komputer, komputer mówi do ciebie, ostrzegając, że komputer wyłączy się za 10 sekund, a potem
Ostateczny projekt LED Happy Face: 7 kroków

Final Project LED Happy Face: Witaj w moim projekcie Happy Face! Ten Instructable to nieco bardziej niż początkujący projekt Arduino przeznaczony dla każdego, kto chce po prostu dobrze się bawić z elektroniką. Ten projekt Arduino obejmuje użycie 8 diod LED, które świecą od lewej do prawej w
Kalkulator binarny na dziesiętny: 8 kroków

Kalkulator binarny na dziesiętny: W przypadku inżynierii komputerowej klasy jedenastej musiałem zdecydować się na ostateczny projekt. Na początku nie wiedziałem, co zrobić, ponieważ musiało zawierać pewne elementy sprzętowe. Po kilku dniach mój kolega z klasy powiedział mi, żebym zrobił projekt oparty na czterobitowym adde
Sortownik śmieci CPE 133: 14 kroków

Sortownik śmieci CPE 133: W przypadku naszej klasy CPE 133 w Cal Poly powiedziano nam, abyśmy stworzyli projekt VHDL/Basys 3, który pomógłby środowisku i był na tyle prosty, że mogliśmy go wdrożyć dzięki naszej nowej wiedzy o projektowaniu cyfrowym. Ideą naszego projektu, która ogólnie rzecz biorąc
Kalkulator Arduino - ostateczny projekt: 4 kroki

Kalkulator Arduino - projekt końcowy: Do tego projektu stworzyłem kalkulator używając Arduino Uno, ekranu LCD i klawiatury numerycznej 4x4. Chociaż zamiast klawiatury numerycznej użył przycisków klikania, pomysł na ten projekt wraz z pomocą przy części kodu pochodzi z tej lekcji f