carry(0)<=clk;
U0:counter10 PORT MAP(carry(0),count,carry(1),q0);
U1:counter10 PORT MAP(carry(1),count,carry(2),q1);
U2:counter6 PORT MAP(carry(2),count,carry(3),q2);
U3:counter10 PORT MAP(carry(3),count,carry(4),q3);
ledscanclk<=clktemp(5);
PROCESS(ledscanclk)--ledscanclk为扫描时钟
BEGIN
IF(ledscanclk'EVENT AND ledscanclk='1')THEN
CASE showwhat IS
WHEN 0=>shownumber<=CONV_INTEGER(q0);
showwhat<=1;
flag<='0';
WHEN 1=>shownumber<=CONV_INTEGER(q1);
showwhat<=2;
flag<='1';
WHEN 2=>shownumber<=CONV_INTEGER(q2);
showwhat<=3;
flag<='0';
WHEN OTHERS=>shownumber<=CONV_INTEGER(q3);
showwhat<=0;
flag<='1';
END CASE;
END IF;
END PROCESS;
WITH showwhat SELECT --具体要看你的数码管是共阴还是共阳的
scanshow<=B"1110" WHEN 1,--0
B"1101" WHEN 2,--1
B"1011" WHEN 3,--2
B"0111" WHEN OTHERS;--3
WITH shownumber SELECT --具体要看你的数码管是共阴还是共阳的
qtemp<=B"1111110" WHEN 0,--0
B"0110000" WHEN 1,--1
B"1101101" WHEN 2,--2
B"1111001" WHEN 3,--3
B"0110011" WHEN 4,--4
B"1011011" WHEN 5,--5
B"1011111" WHEN 6,--6
B"1110000" WHEN 7,--7
B"1111111" WHEN 8,--8
B"1111011" WHEN OTHERS;--9
show<=flag&qtemp; --show为输出
个人建议,像这样的代码还是自己写为好,这毕竟看完书学习完后是不难的,如果什么都要去问别人,不静下心来考虑,那你永远也无法成为一个高手(虽然我还不是),大家都是在学习,别人能懂的,相信我们也能明白的。我们没有理由比别人会差的,和大家一起加油努力。