找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2575|回復(fù): 0
收起左側(cè)

FPGA數(shù)碼管交換顯示 報(bào)錯(cuò)

[復(fù)制鏈接]
ID:262 發(fā)表于 2016-3-11 21:11 | 顯示全部樓層 |閱讀模式
跪求大神幫忙。出租車(chē)顯示計(jì)費(fèi),公里數(shù),還有時(shí)間。一直找不到報(bào)錯(cuò)原因。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
ENTITY lucheng IS
        PORT( CLK: IN STD_LOGIC;
                k0, k1, k2, k3: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
                k4, k5, k6, k7: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
                k8,k9: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
                s1,s2,s3:  IN STD_LOGIC;
                WEI: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
                LED: OUT STD_LOGIC_VECTOR(7 DOWNTO 0)
               
                );
        END ENTITY;
ARCHITECTURE behave OF lucheng IS
        
        SIGNAL CNT4 : INTEGER RANGE 0 TO 3 :=0;
        SIGNAL SHUJU: STD_LOGIC_VECTOR(3 DOWNTO 0);
    --SIGNAL S:  STD_LOGIC_VECTOR(2 DOWNTO 0);
        --S<= (s1 & s2 & s3);
        
BEGIN

PRO1:  PROCESS(CLK ,s1,s2,s3)
BEGIN
     --S<= (s1 & s2 & s3);
IF((s1 & s2 & s3) = "011") then
           
        IF (CLK'EVENT AND CLK = '1') THEN
                        CNT4 <= CNT4 + 1;
                        CASE CNT4 IS
                                WHEN 0 => WEI <= "0001"; SHUJU <= k4;
                                WHEN 1 => WEI <= "0010"; SHUJU <= k5;
                                WHEN 2 => WEI <= "0100"; SHUJU <= k6;
                                WHEN 3 => WEI <= "1000"; SHUJU <= k7;
                                WHEN OTHERS => NULL;
                        END CASE;
                END IF;



ELSIF (s1 & s2 & s3="101") then

IF (CLK'EVENT AND CLK = '1') THEN
                        CNT4 <= CNT4 + 1;
                        CASE CNT4 IS
                                WHEN 0 => WEI <= "0001"; SHUJU <= k0;
                                WHEN 1 => WEI <= "0010"; SHUJU <= k1;
                                WHEN 2 => WEI <= "0100"; SHUJU <= k2;
                                WHEN 3 => WEI <= "1000"; SHUJU <= k3;
                                WHEN OTHERS => NULL;
                        END CASE;
                END IF;



ELSIF (s1 & s2 & s3="110")  THEN

  IF (CLK'EVENT AND CLK = '1') THEN
  CNT4 <= (CNT4 + 1);
                        CASE CNT4 IS
                                WHEN 0 => WEI <= "0001"; SHUJU <= k0;
                                WHEN 1 => WEI <= "0010"; SHUJU <= k1;
                                WHEN 2 => WEI <= "0100"; SHUJU <= k2;
                                WHEN 3 => WEI <= "1000"; SHUJU <= k3;
                                WHEN OTHERS => NULL;
                        END CASE;
                END IF;
        END IF;
                        
               
               
        END PROCESS;
PRO2: PROCESS(SHUJU)
        BEGIN
                CASE SHUJU IS
                        WHEN "0000" => LED<= "01111110" ; --- 0
                        WHEN "0001" => LED<= "00110000" ; --- 1   
                        WHEN "0010" => LED<= "01101101" ; --- 2   
                        WHEN "0011" => LED<= "01111001" ; --- 3   
                        WHEN "0100" => LED<= "00110011" ; --- 4  
                        WHEN "0101" => LED<= "01011011" ; --- 5     
                        WHEN "0110" => LED<= "01011111" ; --- 6   
                        WHEN "0111" => LED<= "01110000" ; --- 7   
                        WHEN "1000" => LED<= "01111111" ; --- 8   
                        WHEN "1001" => LED<= "01111011" ; --- 9   
                        WHEN others=>  LED<= "00000000" ;
                END CASE;
        END PROCESS;
END behave;

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表