找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2102|回复: 0
打印 上一主题 下一主题
收起左侧

FPGA数码管交换显示 报错

[复制链接]
跳转到指定楼层
楼主
ID:262 发表于 2016-3-11 21:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
跪求大神帮忙。出租车显示计费,公里数,还有时间。一直找不到报错原因。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;
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表