【正文】
位BCD碼中的(1512位)相加,和大于9進(jìn)1 sum4=(39。039。amp。data2(15 DOWNTO 12))+(39。039。amp。data1(15 DOWNTO 12))+(39。039。amp。data0(15 DOWNTO 12))+c3。 IF sum101010 THEN do1=sum1。 和大于9減10 ELSE do1=sum101010。 END IF。 IF sum201010 THEN do2=sum2。 ELSE do2=sum201010。 END IF。 IF sum301010 THEN do3=sum3。 ELSE do3=sum301010。 END IF。 IF sum401010 THEN do4=sum4。 ELSE do4=sum401010。 END IF。d2=do2(3 DOWNTO 0)。 輸出十進(jìn)制BCD碼中的低四位d3=do3(3 DOWNTO 0)。 輸出十進(jìn)制BCD碼中的中四位d4=do4(3 DOWNTO 0)。 輸出十進(jìn)制BCD碼中的高四位 ,溢出顯示為“”IF(do4(3 DOWNTO 0)=0001 and do3(3 DOWNTO 0)=0101 ) THEN beef=39。139。 else beef=39。039。 END IF。 else d2=0000。 d3=0000。 d4=0000。 beef=39。039。end if。END PROCESS。END behave。3. 譯碼顯示模塊LIBRARY IEEE。USE 。USE 。USE 。ENTITY display IS PORT( doo2,doo3,doo4: IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 CLK1: IN STD_LOGIC。 CAT: OUT STD_LOGIC_VECTOR(5 DOWNTO 0)。 dp: OUT STD_LOGIC。 seg: OUT STD_LOGIC_VECTOR(6 DOWNTO 0) )。 END display。 ARCHITECTURE V1 OF display IS SIGNAL TMP : INTEGER RANGE 0 TO 3。 BEGIN p1: PROCESS(CLK1) BEGIN IF(CLK139。EVENT AND CLK1 = 39。139。 ) THEN IF(TMP = 3) THEN TMP = 1。 ELSE TMP = TMP + 1。 END IF。 END IF。 end PROCESS。 p2: PROCESS(TMP) BEGIN CASE TMP IS 高四位譯碼 WHEN 3 = CAT = 111011。dp=39。139。 if (doo4=0000) then seg=1111110。 elsif (doo4=0001) then seg=0110000。 elsif (doo4=0010) then seg=1101101。 elsif (doo4=0011) then seg=1111001。 elsif (doo4=0100) then seg=0110011。 elsif (doo4=0101) then seg=1011011。 elsif (doo4=0110) then seg=1011111。 elsif (doo4=0111) then seg=1110000。 elsif (doo4=1000) then seg=1111111。 elsif (doo4=1001) then seg=1111011。 else seg=1111110。 end if。 中四位譯碼 WHEN 2 = CAT = 111101。dp=39。039。 if (doo3=0000) then seg=1111110。 elsif (doo3=0001) then seg=0110000。 elsif (doo3=0010) then seg=1101101。 elsif (doo3=0011) then seg=1111001。 elsif (doo3=0100) then seg=0110011。 elsif (doo3=0101) then seg=1011011。 elsif (doo3=0110) then seg=1011111。 elsif (doo3=0111) then seg=1110000。 elsif (doo3=1000) then seg=1111111。 elsif (doo3=1001) then seg=1111011。 else seg=1111110。 end if。 低四位譯碼 WHEN 1 = CAT = 111110。dp=39。039。 if (doo2=0000) then seg=1111110。 elsif (doo2=0001) then seg=0110000。 elsif (doo2=0010) then seg=1101101。 elsif (doo2=0011) then seg=1111001。 elsif (doo2=0100) then seg=0110011。 elsif (d