FPGA_VIVADO_SI_VHDL_Mihael_Cristian_Ignat

(Cristian I.K_ntXI) #1
42

În momentul de față, prin valoarea de ieșire a acestui registru de rotire, știm digitul care este selectat, și
anume digitul corespunzător valorii 0 de la ieșirea acestui registru. Astfel, vom transmite către ieșire valori
de 0 logic pentru catozii corespunzători segmentelor ce dorim să lumineze. Pentru a se înțelege mai bine,
vom lua un exemplu concret. În Fig. 50 se observă că se afișează pe display numărul 5432. Pentru aceasta se
va selecta prima dată digitul 0 transmițând valoarea 0 logic la baza tranzistorului AN0, iar ceilalți anozi vor
avea 1 logic, după care la catozii A, B, D, E și G se va transmite 0 logic, iar la C și F 1 logic. După care se trece
la digitul 1, transmițând 0 logic doar pe AN1, iar pe catozii A, B, C, D și G se transmite 0 logic, iar pe E și F 1
logic. La fel se continuă cu digiții 3 și 4, după care se revine la digitul 0, pe care trebuie afișată din nou
valoarea 2, apoi se selectează digitul 1 și așa mai departe.


Fig. 50: Ledurile aprinse pentru afișarea ”5432”

[https://reference.digilentinc.com/basys3/refmanual]

Acest display fiind format din leduri, practic este utilizată o baleiere pentru a fi menținută afișarea.

Fig. 51: Simularea pentru realizarea afișării 5432

În Fig. 51 se vede cum se utilizează registrul de rotire pentru selecția anozilor (semnalul AN[3:0] din
imagine), iar catozii au valori corespunzătoare pentru a afișa valoarea “5432”. Trebuie avut în vedere faptul
că semnalul C[0] este catodul A, C[1] este catodul B și așa mai departe. Se observă că atunci când AN =
“1110” pe catozi avem valoarea “0100100”, conform Fig. 50, aceasta fiind valoarea corespunzătoare cifrei
doi, când AN = “1101” pe catozi avem valoarea “0110000”, când AN = “1011” atunci C = “0011001”, iar când
AN = “0111” atunci C = “0010010”.

Free download pdf