出租车计费器
别妄想泡我
885次浏览
2020年07月29日 10:21
最佳经验
本文由作者推荐
卡明斯-阂怎么读
begin
case (SEG_SEL+1) is
when "000"=>Disp_Temp<=Meter1K;
when "001"=>Disp_Temp<=Meter100;
when "010"=>Disp_Temp<=Meter10;
when "011"=>Disp_Temp<=Meter1;
when "100"=>Disp_Temp<=10;
when "101"=>Disp_Temp<=Money100;
when "110"=>Disp_Temp<=Money10;
when "111"=>Disp_Temp<=Money1;
end case;
end process;
process(Clk)
begin
if(Clk'event and Clk='1') then --扫描累加
SEG_SEL<=SEG_SEL+1;
if(SEG_SEL=3) then
Display<=Disp_Decode or "1000000";
else
Display<=Disp_Decode;
end if;
end if;
end process;
process(Disp_Temp) --显示转换
begin
case Disp_Temp is
when 0=>Disp_Decode<="00111111"; --0
when 1=>Disp_Decode<="00000110"; --1
when 2=>Disp_Decode<="01011011"; --2
when 3=>Disp_Decode<="01001111"; --3
when 4=>Disp_Decode<="01100110"; --4
when 5=>Disp_Decode<="01101101"; --5
when 6=>Disp_Decode<="01111101"; --6
when 7=>Disp_Decode<="00000111"; --7
when 8=>Disp_Decode<="01111111"; --8
when 9=>Disp_Decode<="01101111"; --9
when 10=>Disp_Decode<="01000000"; ---
when others=>Disp_Decode<="00000000"; --全灭
end case;
end process;
end behave;