1、数码管显示代码library ieee;use ieee.std_logic_1164.all;entity digshow isport(d1,d2,d3,d4,d5,d6,d7,d8:in std_logic_vector(3 downto 0);reset,clk:in std_logic;seg:out std_logic_vector(6 downto 0);H:out std_logic;sel:out std_logic_vector(2 downto 0);end digshow;architecture one of digshow istype status is(s1,s
2、2,s3,s4,s5,s6,s7,s8);signal sta:status;signal onoff,dp:std_logic;signal dout:std_logic_vector(3 downto 0);begindisplay:process(clk,reset)beginif(reset=0)thendout=d1;onoff=1;dp=0;sel=“111“;sta=s1;elsif(clkevent and clk=1)then if(sta=s1)thendout=d1;onoff=1;dp=0;sel=“111“;sta=s2;elsif(sta=s2)thendout=d
3、2;onoff=1;dp=1;sel=“110“;sta=s3;elsif(sta=s3)thendout=d3;onoff=1;dp=0;sel=“101“;sta=s4;elsif(sta=s4)thendout=d4;onoff=1;dp=0;sel=“100“;sta=s5;elsif(sta=s5)thendout=d5;onoff=0;dp=0;sel=“011“;sta=s6;elsif(sta=s6)thendout=d6;onoff=1;dp=0;sel=“010“;sta=s7;elsif(sta=s7)thendout=d7;onoff=1;dp=1;sel=“001“;
4、sta=s8;elsif(sta=s8)thendout=d8;onoff=1;dp=0;sel=“000“;sta=s1;end if;end if;end process;LED7S:process(onoff,dout,dp)beginH=dp;if(onoff=0)thenseg=“0000000“;elsif(dout=“0000“)thenseg=“0111111“;elsif(dout=“0001“)thenseg=“0000110“;elsif(dout=“0010“)thenseg=“1011011“;elsif(dout=“0011“)thenseg=“1001111“;e
5、lsif(dout=“0100“)thenseg=“1100110“;elsif(dout=“0101“)thenseg=“1101101“;elsif(dout=“0110“)thenseg=“1111101“;elsif(dout=“0111“)thenseg=“0000111“;elsif(dout=“1000“)thenseg=“1111111“;elsif(dout=“1001“)thenseg=“1101111“;elsif(dout=“1010“)thenseg=“1110111“;elsif(dout=“1011“)thenseg=“1111100“;elsif(dout=“1100“)thenseg=“1001110“;elsif(dout=“1101“)thenseg=“1011110“;elsif(dout=“1110“)thenseg=“1111001“;elsif(dout=“1111“)thenseg=“1110001“;end if;end process;end one;实验顶层设计原理图Reset 为 1 正常工作时Reset 为 0 的时候状态为第一个状态