hallo leute ich bin ganz neue hier und ich finde diese Foren sehr interessant ich arbeite mit quartus 2 und ich habe schon die 7 segment programmiert. aber ich muss ein Bericht schreiben leider das ist mein erste programm und ich weiss nicht wie und was soll ich schreiben ich bitte um eure Hilfe hier ist den Programm mit case und ander genauso mit With select entity segment7 is port ( reset : in std_logic; switch : in std_logic; seg7_k : out std_logic_vector(6 downto 0) ); end segment7; architecture behavioral of segment7 is signal counter4 : std_logic_vector(3 downto 0); signal reg_seg7 : std_logic_vector(6 downto 0); begin process (reset, switch) begin if (reset = '1') then counter4 <= "0000"; elsif (switch'event and switch = '1') then counter4 <= counter4 + 1; end if; end process; process (counter4) begin case counter4 is when "0000" => reg_seg7 <= "0111111"; when "0001" => reg_seg7 <= "0000110"; when "0010" => reg_seg7 <= "1011011"; when "0011" => reg_seg7 <= "1001111"; when "0100" => reg_seg7 <= "1100110"; when "0101" => reg_seg7 <= "1101101"; when "0110" => reg_seg7 <= "1111101"; when "0111" => reg_seg7 <= "0000111"; when "1000" => reg_seg7 <= "1111111"; when "1001" => reg_seg7 <= "1101111"; when "1010" => reg_seg7 <= "1110111"; when "1011" => reg_seg7 <= "1111100"; when "1100" => reg_seg7 <= "0111001"; when "1101" => reg_seg7 <= "1011110"; when "1110" => reg_seg7 <= "1111001"; when "1111" => reg_seg7 <= "1110001"; when others => reg_seg7 <= "XXXXXXX"; end case; end process; seg7_k <= not reg_seg7; end behavioral;
Hallo, gibt es andere ähnliche Berichte? Was ist Ziel dieses Berichtes? Was soll inhaltlich vorkommen? Gruß Peter
hallo ich arbeit auf Alteraboard cyclone II und ich muss alle peripherique des Boards verstehen und beschreiben und ich habe mit 7 segment angefangen. danke
Also ich würde
1 | when others => reg_seg7 <= "XXXXXXX"; |
erstmal durch
1 | when others => reg_seg7 <= "0000000"; |
ersetzen. Denn einen undefinierten Zustand auf die Anzeige zu legen ist sicher nicht im Sinne der Erfinders :) Zum Bericht: Wenn Du das Board und dessen Peripherie beschrieben sollst, dann versuch doch einfach Deine Programmierbeispiele in Worte zu fassen. Z.B.: Ich lasse eine Variable von 0 bis 15 hochlaufen und gebe den Hex-Wert auf der 7-Seg Anzeige aus ... Vielleicht ein wenig wissenschaftlicher, aber prinzipiell würde ich es wohl so machen ;)
Begabte Menschen können über Zeilen wie diese
1 | seg7_k <= not reg_seg7; |
ganze Seminararbeiten schreiben ;) . Ist ja nicht offensichtlich, warum diese Bits da invertiert werden (zumindest für die meisten nicht).
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.