r2d290 Skrevet 8. april 2009 Del Skrevet 8. april 2009 Først av alt: jeg er fullstendig nybegynner når det gjelder programmering, så fint om jeg får svar deretter... Jeg har et ALTERA DE2-kort, og programmerer med quartusII Skal etterhvert lage en stoppeklokke, og jobber med 7-segment displayet nå. Har fått segmentene HEX0 og HEX1 til å telle til 9, for så å starte på nytt igjen. Men nå ønsker jeg at når HEX0 har talt til 9, skal HEX1 vise 1, altså så jeg får tallet ti (10). Gjorde et lite forsøk (som er kommentert vekk), men det er sikkert ganske på trynet... Takk på forhånd! telling.zip Lenke til kommentar
kurant Skrevet 11. april 2009 Del Skrevet 11. april 2009 (endret) Først av alt: jeg er fullstendig nybegynner når det gjelder programmering, så fint om jeg får svar deretter... Jeg har et ALTERA DE2-kort, og programmerer med quartusII Skal etterhvert lage en stoppeklokke, og jobber med 7-segment displayet nå. Har fått segmentene HEX0 og HEX1 til å telle til 9, for så å starte på nytt igjen. Men nå ønsker jeg at når HEX0 har talt til 9, skal HEX1 vise 1, altså så jeg får tallet ti (10). Gjorde et lite forsøk (som er kommentert vekk), men det er sikkert ganske på trynet... Takk på forhånd! Hei. Det du bør gjøre er å lage flere instanser av en dekadeteller, som har en carry-utgang. Denne carry-utgangen kan gå høy hver gang telleren starter på nytt. Du bruker så denne utgangen til å drive klokkeinngangen på den neste dekadetelleren. Jeg anbefaler at du lager et modulært design, dvs at du legger dekadeteller + bcd-enkoder i en egen entitet, og så kan du veldig lett slå sammen så mange som du vil av disse i topp-entiteten din. Jeg ville valgt et interface på dekadetelleren som følger: entity dec_bcd is port ( clk : in std_logic; -- clock arst_n : in std_logic; -- asynchronous reset count : in std_logic; -- counter enable carry : out std_logic; -- carry out hex : out std_logic_vector(7 downto 0)); -- bcd control vector end dec_bcd; Du kan så instansiere disse på følgende måte: dec_bcd_1: dec_bcd port map ( clk => clk, arst_n => arst_n, count => count_1, carry => carry_1, hex => hex1); dec_bcd_2: dec_bcd port map ( clk => clk, arst_n => arst_n, count => carry_1, carry => carry_2, hex => hex2); Håper dette hjelper Endret 11. april 2009 av kurant Lenke til kommentar
r2d290 Skrevet 11. april 2009 Forfatter Del Skrevet 11. april 2009 Tusen takk for svar Skal se litt på det i kveld eller i morgen, også kommer jeg med tilbakemelding Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå