【正文】
7: OUT STD_LOGIC_VECTOR(6 DOWNTO 0))。 ARCHITECTURE ART OF YMQ ISBEGIN PROCESS(AIN4) BEGIN CASE AIN4 IS when 0000 =DOUT7=1000000。1 when 0010 =DOUT7=0100100。3 when 0100 =DOUT7=0011001。5 when 0110 =DOUT7=0000010。7 when 1000 =DOUT7=0000000。9 when others =DOUT7=1111111。 END PROCESS。(3)顯示模塊的VHDL程序:library IEEE。use 。entity seg is Port (clk : in std_logic。 B1:in std_logic_vector(6 downto 0)。 D1:in std_logic_vector(6 downto 0)。 JSXS1:in std_logic_vector(6 downto 0)。 seg : out std_logic_vector(6 downto 0)。 數(shù)碼管位選信號;end seg。 beginprocess(clk) 1KHZ;用于數(shù)碼管掃描信號variable t : integer range 0 to 20000。event and clk=39。 then t:=t+1。139。039。clk_fresh=39。 end if。end process。begin if (clk_fresh39。139。 if t=000 then segcs=10000000。 elsif t=001 then segcs=00100000。 elsif t=010 then segcs=00010000。 elsif t=011 then segcs=00001000。 elsif t=100 then segcs=00000100。 elsif t=101 then segcs=00000010。 elsif t=110 then segcs=00000001。 elsif t=111 then segcs=00000000。 end if。end process。(4)主控模塊QDJB的VHDL程序:LIBRARY IEEE。 ENTITY QDJB IS PORT(CLR: IN STD_LOGIC。 A, B, C, D: IN STD_LOGIC。 STATES: OUT STD_LOGIC_VECTOR(3 DOWNTO 0))。 ARCHITECTURE ART OF QDJB IS CONSTANT W1: STD_LOGIC_VECTOR:=0001。 CONSTANT W3: STD_LOGIC_VECTOR:=0011。 BEGIN PROCESS(CLK) IS BEGIN IF CLR=39。 THEN STATES=0000。039。039。039。039。EVENT AND CLK=39。 THEN IF (A=39。AND B=39。AND C=39。AND D=39。) THEN A1=39。 B1=39。 C1=39。 D1=39。 STATES=W1。139。039。139。139。039。139。039。039。 ELSIF (A=39。AND B=39。AND C=39。AND D=39。) THEN A1=39。 B1=39。 C1=39。 D1=39。 STATES=W3。139。139。139。039。039。039。039。139。 ELSE A1=39。 B1=39。 C1=39。 D1=39。 STATES=0000。 END IF。 END ARCHITECTURE ART。 USE 。 ENTITY JSQ IS PORT(CLR,LDN,EN,CLK: IN STD_LOGIC。 QA: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。 END ENTITY JSQ。 SIGNAL DB: STD_LOGIC_VECTOR(3 DOWNTO 0)。 signal clock:std_logic。event and clk=39。)then 上升沿 tempcounter=tempcounter+1。039。139。clock=39。 end if。 end if。 PROCESS(TA,TB,CLR,clock) IS BEGIN IF CLR=39。 THEN DA=0000。 ELSIF clock39。139。039。 ELSE DA=DA+39。 。 END IF。039。 ELSE DB=DB+39。 END IF。 END IF。 PROCESS(clock) IS VARIABLE TMPA: STD_LOGIC_VECTOR(3 DOWNTO 0)。 BEGIN IF CLR=39。 THEN TMPA:=0000。 ELSIF clock39。139。039。 TMPB:=DB。139。 IF TMPB=0000 THEN TMPB:=1001。 END IF。 END IF。 END IF。 QB=TMPB。 END ARCHITECTURE ART。 USE 。 ENTITY JFQ IS PORT(RST: IN STD_LOGIC。 clk: IN STD_LOGIC。 AA1,BB1: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。 END ENTITY JFQ 。 VARIABLE POINTS_B1: STD_LOGIC_VECTOR(3 DOWNTO 0)。 VARIABLE POINTS_D1: STD_LOGIC_VECTOR(3 DOWNTO 0)。BEGIN IF (clk39。139。039。 POINTS_B1:=0000。 POINTS_D1:=0000。039。 IF t=2500000 then t:=0。 ELSE POINTS_A1:=POINTS_A1+39。 END IF。 ELSE POINTS_B1:=POINTS_B1+39。 END IF。 ELSE POINTS_C1:=POINTS_C1+39。 END IF。 ELSE POINTS_D1:=POINTS_D1+39。 END IF。 END IF。 END IF。 AA1=POINTS_A1。 CC1=POINTS_C1。 END PROCE