Logo Katedry
Strona główna
Katedra Systemów Mikroelektronicznych, Wydział Elektroniki, Telekomunikacji i Informatyki, Politechnika Gdańska Logo Wydziału
English English version

Sterowanie wyświetlaczem LED z wykorzystaniem procesora Picoblaze

Wstęp

Celem ćwiczenia jest opracowanie systemu mikroelektronicznego z procesorem Picoblaze, w którym część sprzętowa realizuje dzielenie częstotliwości zegara oraz multipleksowane wyświetlanie na wyświetlaczu LED. Do zadań oprogramowania należy odczyt przycisków i w zależności od tego zwiększanie lub zmniejszanie licznika i wysłanie tej informacji na wyświetlacz LED.

Proponowany schemat blokowy
Rys. 1 Proponowany podział na bloki blokowy. Na rysunku zaznaczono porty podbloków, które powinny zostać wykorzystane w projekcie, nie zaznaczono natomiast połączeń pomiędzy blokami.

Dokładny opis działania

Możliwości usprawnienia ćwiczenia (dla chętnych)

Plik ucf do zadania, płytka Digilent Spartan-3, układ Spartan-3 3S200 FT256-4:
#########################################################################################
# Clock:
NET "clk_i" LOC = "T9" ; # 50 MHz clock
#########################################################################################
# Reset:
NET "rst_i" LOC = "K13" ; # SW7 active high
#########################################################################################
NET "led7_an_o<3>" LOC = "E13" ; # leftmost digit, active low
NET "led7_an_o<2>" LOC = "F14" ; # active low
NET "led7_an_o<1>" LOC = "G14" ; # active low
NET "led7_an_o<0>" LOC = "d14" ; # rightmost digit, active low
#
NET "led7_seg_o<7>" LOC = "E14" ; # segment 'a', active low
NET "led7_seg_o<6>" LOC = "G13" ; # segment 'b', active low
NET "led7_seg_o<5>" LOC = "N15" ; # segment 'c', active low
NET "led7_seg_o<4>" LOC = "P15" ; # segment 'd', active low
NET "led7_seg_o<3>" LOC = "R16" ; # segment 'e', active low
NET "led7_seg_o<2>" LOC = "F13" ; # segment 'f', active low
NET "led7_seg_o<1>" LOC = "N16" ; # segment 'g', active low
NET "led7_seg_o<0>" LOC = "P16" ; # segment 'dp', active low
#########################################################################################

#########################################################################################
# Push-buttons:
NET "button_i<3>" LOC = "L14" ; # BTN3 active high
NET "button_i<2>" LOC = "L13" ; # BTN2 active high
NET "button_i<1>" LOC = "M14" ; # BTN1 active high
NET "button_i<0>" LOC = "M13" ; # BTN0 active high
#########################################################################################

Informacja dodatkowe