集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1192|回复: 0

用FPGA做键盘显示出现的问题!!!!!!!!

[复制链接]
liujilei311 发表于 2011-7-13 11:01:54 | 显示全部楼层 |阅读模式
我现在做键盘显示:5种按键:mode键,up键,down键,set键,shift键。mode键用来切换7种大模式(7种大模式下包括几十种小的模式),当用mode键选定某一种大模式后,利用up键和down键切换该种大模式下对应的十几种小的模式,设置“set”键,set<='0'时表示进入某种小模式,set<='1'时,利用“shift”键进行移位,同时利用“up”和“down"键对5位数码管显示的数据进行调整。。。我用FPGA做键盘显示时,在用set键进入子模式以后,然后我就开始利用shift键、配合up键和down键对5位数码管的每一位进行调整。可是在我按下set键时,先前的子模式没有清除,于是我就在进行“shift键、配合up键和down键”对数据调整之前,先刷新一下5位数码管。可是刷新之后,再进行数据调整时,每一位的数据在调整之后无法保存:就是在从低位向高位移位时,低位刚调整好的数据,无法保存啊??????我没有刷新的时候,数据调整之后都能保存的
  1. ----------------------------------------------------------------------------------
  2. -- Company:
  3. -- Engineer:
  4. --
  5. -- Create Date:    14:07:35 07/12/2011
  6. -- Design Name:
  7. -- Module Name:    xianshiqiehuanmoshi - Behavioral
  8. -- Project Name:
  9. -- Target Devices:
  10. -- Tool versions:
  11. -- Description:
  12. --
  13. -- Dependencies:
  14. --
  15. -- Revision:
  16. -- Revision 0.01 - File Created
  17. -- Additional Comments:
  18. --
  19. ----------------------------------------------------------------------------------
  20. library IEEE;
  21. use IEEE.STD_LOGIC_1164.ALL;
  22. use IEEE.STD_LOGIC_ARITH.ALL;
  23. use IEEE.STD_LOGIC_UNSIGNED.ALL;

  24. ---- Uncomment the following library declaration if instantiating
  25. ---- any Xilinx primitives in this code.
  26. --library UNISIM;
  27. --use UNISIM.VComponents.all;

  28. entity xianshiqiehuanmoshi is
  29. port(     clk1    :   in    std_logic;
  30.           key1          :   in    std_logic_vector(4 downto 0);
  31.           ledseg1 :   out   std_logic_vector(7 downto 0);
  32.                     ledsel1 :   out   std_logic_vector(4 downto 0)                 
  33.           );
  34. end xianshiqiehuanmoshi;
  35. architecture Behavioral of xianshiqiehuanmoshi is
  36.    signal    count                  :  integer range 0 to 50000;
  37.    signal         mode1                          :        integer range 0 to 15:=0;---------------状态显示模式及其子模式
  38.    signal    scancnt                :  integer range 0 to 4;
  39.         signal         dout                          :        std_logic_vector(4 downto 0);
  40.         signal          gewei                :        integer range 0 to 10:=0   ;        --个位
  41.         signal          shiwei                :        integer range 0 to 10:=0        ;        --十位
  42.         signal          baiwei                :        integer range 0 to 10:=0        ;        --百位
  43.         signal          qianwei                :        integer range 0 to 10:=0        ;        --千位
  44.         signal          wanwei                :        integer range 0 to 10:=0        ;        --万位
  45. -------------5个寄存器-----------------------------------------
  46.         signal    reg_ledseg_gewei   : std_logic_vector(7 downto 0);
  47.         signal    reg_ledseg_shiwei  : std_logic_vector(7 downto 0);
  48.         signal    reg_ledseg_baiwei  : std_logic_vector(7 downto 0);
  49.         signal    reg_ledseg_qianwei : std_logic_vector(7 downto 0);
  50.         signal    reg_ledseg_wanwei  : std_logic_vector(7 downto 0);
  51. ---------------------------------------------------------------
  52. -------------数码管显示的5个状态-------------------------------
  53.         type states is (dis_wanwei,dis_qianwei,dis_baiwei,dis_shiwei,dis_gewei);
  54.         signal n_state : states := dis_wanwei;
  55. ---------------------------------------------------------------
  56.         signal         key_valid        :        std_logic;
  57.         signal         set_m0                :        std_logic:='0';------------------------set键表示:进入状态显示模式及其各种子模式
  58.         signal         set_m1                :        std_logic:='0';
  59.         signal         set_m2                :        std_logic:='0';
  60.         signal         set_m3                :        std_logic:='0';
  61.         signal         set_m4                :        std_logic:='0';
  62.         signal         set_m5                :        std_logic:='0';
  63.         signal         set_m6                :        std_logic:='0';
  64.         signal         set_m7                :        std_logic:='0';
  65.         signal         set_m8                :        std_logic:='0';
  66.         signal         set_m9                :        std_logic:='0';
  67.         signal         set_m10                :        std_logic:='0';
  68.         signal         set_m11                :        std_logic:='0';
  69.         signal         set_m12                :        std_logic:='0';
  70.         signal         set_m13                :        std_logic:='0';
  71.         signal         set_m14                :        std_logic:='0';
  72.         signal         set_m15                :        std_logic:='0';
  73.         signal    Morn       :        std_logic:='0';
  74.    signal    weisel     :  integer range 0 to 4:=4;
  75. begin
  76. -------------------------------------按键消抖进程-----------------------------------
  77. process(clk1,key1)
  78.    variable cnt :std_logic_vector(20 downto 0);
  79.    begin  
  80.    if(key1="01111" or key1="10111" or key1="11011" or key1="11101"or key1="11110")then  
  81.                 if(clk1'event and clk1='1') then
  82.                         if(cnt="010000000000000000000")then  
  83.             key_valid<='1';--按键有效
  84.          else
  85.                                 key_valid<='0';
  86.             cnt:=cnt+1;
  87.          end if;
  88.                 end if;
  89.    else
  90.       cnt:=(others=>'0');
  91.       key_valid<='0';
  92.    end if;
  93. end process;
  94. -------------------------------------检测按键--------------------------------------
  95. process(clk1,key1,key_valid,mode1)
  96.         begin
  97.         if(clk1'event and clk1='1')then-------数码管扫描,1ms每位
  98.                 count<=count+1;
  99.                 if(count=50000)then
  100.                         count<=0;
  101.                         scancnt<=scancnt+1;
  102.                         if(scancnt>3)then
  103.                                 scancnt<=0;   
  104.                         end if;
  105.                 end if;
  106.         end if;
  107.         if rising_edge(key_valid)then
  108.           if(key1="11110") then--------------------相当于mode键
  109.                   mode1<=0;
  110.           end if;
  111.           if(Morn='0')then
  112.                  if(key1="11101")then--------------------相当于UP键
  113.                    mode1<=mode1+1;
  114.                    if(mode1=15)then
  115.                       mode1<=0;
  116.                         end if;
  117.                  end if;
  118.                  if(key1="11011")then--------------------相当于down键
  119.                    mode1<=mode1-1;
  120.                         if(mode1=0)then
  121.                            mode1<=15;
  122.                         end if;
  123.                  end if;
  124.           else
  125.            if(key1="11101")then--------------------相当于UP键
  126.                   case weisel is               
  127.                         when  0 =>
  128.                            wanwei<=wanwei+1;
  129.                                 if(wanwei=9)then
  130.                                    wanwei<=0;
  131.                                 end if;
  132.                         when  1 =>
  133.                            qianwei<=qianwei+1;
  134.                                 if(qianwei=9)then
  135.                                    qianwei<=0;
  136.                                 end if;
  137.                         when  2 =>
  138.                            baiwei<=baiwei+1;
  139.                                 if(baiwei=9)then
  140.                                    baiwei<=0;
  141.                                 end if;
  142.                         when  3 =>
  143.                            shiwei<=shiwei+1;
  144.                                 if(shiwei=9)then
  145.                                    shiwei<=0;
  146.                                 end if;
  147.                         when  4 =>
  148.                            gewei<=gewei+1;
  149.                                 if(gewei=9)then
  150.                                    gewei<=0;
  151.                                 end if;
  152.                  end case;
  153.                 end if;       
  154.                 if(key1="11011") then--------------------相当于down键
  155.          case weisel is               
  156.                         when  0 =>
  157.                            wanwei<=wanwei-1;
  158.                                 if(wanwei=0)then
  159.                                    wanwei<=9;
  160.                                 end if;
  161.                         when  1 =>
  162.                            qianwei<=qianwei-1;
  163.                                 if(qianwei=0)then
  164.                                    qianwei<=9;
  165.                                 end if;
  166.                         when  2 =>
  167.                            baiwei<=baiwei-1;
  168.                                 if(baiwei=0)then
  169.                                    baiwei<=9;
  170.                                 end if;
  171.                         when  3 =>
  172.                            shiwei<=shiwei-1;
  173.                                 if(shiwei=0)then
  174.                                    shiwei<=9;
  175.                                 end if;
  176.                         when  4 =>
  177.                            gewei<=gewei-1;
  178.                                 if(gewei=0)then
  179.                                    gewei<=9;
  180.                                 end if;
  181.                  end case;
  182.                 end if;               
  183.          end if;       
  184.          if(key1="01111") then--------------------相当于set键
  185.                         if(mode1=0)then
  186.                                 set_m0<=not set_m0;---------------进入状态显示模式
  187.                                 Morn <=not Morn;
  188.                         end if;
  189.                         if(mode1=1)then
  190.                                 set_m1<=not set_m1;----------------进入子模式1
  191.                                 Morn <=not Morn;
  192.                         end if;
  193.                         if(mode1=2)then
  194.                                 set_m2<=not set_m2;----------------进子模?
  195.                                 Morn <=not Morn;
  196.                         end if;
  197.                         if(mode1=3)then
  198.                                 set_m3<=not set_m3;----------------进入子模式3
  199.                                 Morn <=not Morn;
  200.                         end if;
  201.                         if(mode1=4)then
  202.                                 set_m4<=not set_m4;----------------进入子模式4
  203.                                 Morn <=not Morn;
  204.                         end if;
  205.                         if(mode1=5)then
  206.                                 set_m5<=not set_m5;----------------进入子模式5
  207.                                 Morn <=not Morn;
  208.                         end if;
  209.                         if(mode1=6)then
  210.                                 set_m6<=not set_m6;----------------进入子模式6
  211.                                 Morn <=not Morn;
  212.                         end if;
  213.                         if(mode1=7)then
  214.                                 set_m7<=not set_m7;----------------进入子模式7
  215.                                 Morn <=not Morn;
  216.                         end if;
  217.                         if(mode1=8)then
  218.                                 set_m8<=not set_m8;----------------进入子模式8
  219.                                 Morn <=not Morn;
  220.                         end if;
  221.                         if(mode1=9)then
  222.                                 set_m9<=not set_m9;----------------进入子模式9
  223.                                 Morn <=not Morn;
  224.                         end if;
  225.                         if(mode1=10)then
  226.                                 set_m10<=not set_m10;--------------进入子模式10
  227.                                 Morn <=not Morn;
  228.                         end if;
  229.                         if(mode1=11)then
  230.                                 set_m11<=not set_m11;--------------进入子模式11
  231.                                 Morn <=not Morn;
  232.                         end if;
  233.                         if(mode1=12)then
  234.                                 set_m12<=not set_m12;--------------进入子模式12
  235.                                 Morn <=not Morn;
  236.                         end if;
  237.                         if(mode1=13)then
  238.                                 set_m13<=not set_m13;--------------进入子模式13
  239.                                 Morn <=not Morn;
  240.                         end if;
  241.                         if(mode1=14)then
  242.                                 set_m14<=not set_m14;--------------进入子模式14
  243.                                 Morn <=not Morn;
  244.                         end if;
  245.                         if(mode1=15)then
  246.                                 set_m15<=not set_m15;--------------进入子模式15
  247.                                 Morn <=not Morn;
  248.                         end if;
  249.                 end if;
  250.                 if(key1="10111") then--------------------相当于shift键
  251.                     if(weisel = 0) then
  252.                                 weisel <= 4;
  253.                          else
  254.                           weisel <= weisel - 1;
  255.                          end if;
  256.                 end if;
  257.         end if;
  258. end process;        
  259. --------------------数码管循环允窘?-----------
  260. process(clk1)
  261. variable count : integer;
  262. begin
  263.         if clk1'event and clk1 = '1' then
  264.         case n_state is
  265.                 when dis_wanwei =>
  266.                         ledseg1 <= reg_ledseg_wanwei;
  267.                         ledsel1 <= "01111";
  268.                         if count = 160000 then
  269.                                 n_state <= dis_qianwei;
  270.                                 count := 0;
  271.                         else count := count + 1;
  272.                         end if;
  273.                 when dis_qianwei =>
  274.                         ledseg1 <= reg_ledseg_qianwei;
  275.                         ledsel1 <= "10111";       
  276.                         if count = 160000 then
  277.                                 n_state <= dis_baiwei;
  278.                                 count := 0;
  279.                         else count := count + 1;
  280.                         end if;
  281.                 when dis_baiwei =>
  282.                         ledseg1 <= reg_ledseg_baiwei;
  283.                         ledsel1 <= "11011";
  284.                         if count = 160000 then
  285.                                 n_state <= dis_shiwei;
  286.                                 count := 0;
  287.                         else count := count + 1;
  288.                         end if;
  289.                 when dis_shiwei =>
  290.                         ledseg1 <= reg_ledseg_shiwei;
  291.                         ledsel1<="11101";
  292.                         if count = 160000 then
  293.                                 n_state <= dis_gewei;
  294.                                 count := 0;
  295.                         else count := count + 1;
  296.                         end if;
  297.                 when dis_gewei =>
  298.                         ledseg1 <= reg_ledseg_gewei;
  299.                         ledsel1<="11110";
  300.                         if count = 160000 then
  301.                                 n_state <= dis_wanwei;
  302.                                 count := 0;
  303.                         else count := count + 1;
  304.                         end if;
  305.         end case;
  306.         end if;
  307. end process;
  308. -------------------------操作刷新进程-----------------
  309. process(mode1)
  310.   begin
  311.          if(mode1=0)then---------------------------------显示字母C(状态显示的初始模式)
  312.            if(set_m0='0' and Morn='0')then  
  313.                   case scancnt is          
  314.                         when 0 => reg_ledseg_wanwei  <= "01001110";
  315.                         when 1 => reg_ledseg_qianwei <= "00000000";
  316.                         when 2 => reg_ledseg_baiwei  <= "00000000";
  317.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  318.                         when 4 => reg_ledseg_gewei   <= "00000000";
  319.                         when others=>null;
  320.                  end case;
  321.            elsif(set_m0='1' and Morn='1')then
  322.                  case scancnt is          
  323.                         when 0 => reg_ledseg_wanwei  <= "00000000";
  324.                         when 1 => reg_ledseg_qianwei <= "00000000";
  325.                         when 2 => reg_ledseg_baiwei  <= "00000000";
  326.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  327.                         when 4 => reg_ledseg_gewei   <= "01111110";
  328.                         when others=>null;
  329.                  end case;
  330.        if(weisel=4)then                
  331.                         if(scancnt=4)then
  332.                                 case gewei is
  333.                                         when 0 => reg_ledseg_gewei <= "01111110";
  334.                                         when 1 => reg_ledseg_gewei <= "00110000";
  335.                                         when 2 => reg_ledseg_gewei <= "01101101";
  336.                                         when 3 => reg_ledseg_gewei <= "01111001";
  337.                                         when 4 => reg_ledseg_gewei <= "00110011";
  338.                                         when 5 => reg_ledseg_gewei <= "01011011";
  339.                                         when 6 => reg_ledseg_gewei <= "01011111";
  340.                                         when 7 => reg_ledseg_gewei <= "01110000";
  341.                                         when 8 => reg_ledseg_gewei <= "01111111";
  342.                                         when 9 => reg_ledseg_gewei <= "01111011";
  343.                                 when others => null;       
  344.                                 end case;
  345.                                 end if;
  346.                         end if;
  347.                  if(weisel=3)then
  348.                         if(scancnt=3)then   
  349.                                 case shiwei is
  350.                                         when 0 => reg_ledseg_shiwei <= "01111110";
  351.                                         when 1 => reg_ledseg_shiwei <= "00110000";
  352.                                         when 2 => reg_ledseg_shiwei <= "01101101";
  353.                                         when 3 => reg_ledseg_shiwei <= "01111001";
  354.                                         when 4 => reg_ledseg_shiwei <= "00110011";
  355.                                         when 5 => reg_ledseg_shiwei <= "01011011";
  356.                                         when 6 => reg_ledseg_shiwei <= "01011111";
  357.                                         when 7 => reg_ledseg_shiwei <= "01110000";
  358.                                         when 8 => reg_ledseg_shiwei <= "01111111";
  359.                                         when 9 => reg_ledseg_shiwei <= "01111011";
  360.                                 when others => null;       
  361.                                 end case;
  362.                           end if;
  363.                         end if;
  364.                 if(weisel=2)then
  365.                         if(scancnt=2)then   
  366.                                 case baiwei is
  367.                                         when 0 => reg_ledseg_baiwei <= "01111110";
  368.                                         when 1 => reg_ledseg_baiwei <= "00110000";
  369.                                         when 2 => reg_ledseg_baiwei <= "01101101";
  370.                                         when 3 => reg_ledseg_baiwei <= "01111001";
  371.                                         when 4 => reg_ledseg_baiwei <= "00110011";
  372.                                         when 5 => reg_ledseg_baiwei <= "01011011";
  373.                                         when 6 => reg_ledseg_baiwei <= "01011111";
  374.                                         when 7 => reg_ledseg_baiwei <= "01110000";
  375.                                         when 8 => reg_ledseg_baiwei <= "01111111";
  376.                                         when 9 => reg_ledseg_baiwei <= "01111011";
  377.                                 when others => null;       
  378.                                 end case;
  379.                           end if;
  380.                         end if;
  381.           if(weisel=1)then  
  382.                         if(scancnt=1)then   
  383.                                 case qianwei is  
  384.                                         when 0 => reg_ledseg_qianwei <= "01111110";
  385.                                         when 1 => reg_ledseg_qianwei <= "00110000";
  386.                                         when 2 => reg_ledseg_qianwei <= "01101101";
  387.                                         when 3 => reg_ledseg_qianwei <= "01111001";
  388.                                         when 4 => reg_ledseg_qianwei <= "00110011";
  389.                                         when 5 => reg_ledseg_qianwei <= "01011011";
  390.                                         when 6 => reg_ledseg_qianwei <= "01011111";
  391.                                         when 7 => reg_ledseg_qianwei <= "01110000";
  392.                                         when 8 => reg_ledseg_qianwei <= "01111111";
  393.                                         when 9 => reg_ledseg_qianwei <= "01111011";
  394.                                 when others => null;       
  395.                                 end case;
  396.                           end if;
  397.                         end if;
  398.          if(weisel=0)then
  399.                         if(scancnt=0)then  
  400.                                 case wanwei is  
  401.                                         when 0 => reg_ledseg_wanwei <= "01111110";
  402.                                         when 1 => reg_ledseg_wanwei <= "00110000";
  403.                                         when 2 => reg_ledseg_wanwei <= "01101101";
  404.                                         when 3 => reg_ledseg_wanwei <= "01111001";
  405.                                         when 4 => reg_ledseg_wanwei <= "00110011";
  406.                                         when 5 => reg_ledseg_wanwei <= "01011011";
  407.                                         when 6 => reg_ledseg_wanwei <= "01011111";
  408.                                         when 7 => reg_ledseg_wanwei <= "01110000";
  409.                                         when 8 => reg_ledseg_wanwei <= "01111111";
  410.                                         when 9 => reg_ledseg_wanwei <= "01111011";
  411.                                 when others => null;       
  412.                                 end case;
  413.                           end if;
  414.                         end if;       
  415.                 end if;
  416.          elsif(mode1=1)then
  417.      if(set_m1='0' and Morn='0')then  
  418.                  case scancnt is          
  419.                         when 0 => reg_ledseg_wanwei  <= "00000101";
  420.                         when 1 => reg_ledseg_qianwei <= "00000000";
  421.                         when 2 => reg_ledseg_baiwei  <= "00000000";
  422.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  423.                         when 4 => reg_ledseg_gewei   <= "00000000";
  424.                         when others=>null;
  425.                  end case;
  426.           elsif(set_m1='1' and Morn='1')then
  427.             case scancnt is          
  428.                         when 0 => reg_ledseg_wanwei  <= "00000000";
  429.                         when 1 => reg_ledseg_qianwei <= "00000000";
  430.                         when 2 => reg_ledseg_baiwei  <= "00000000";
  431.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  432.                         when 4 => reg_ledseg_gewei   <= "01111110";
  433.                         when others=>null;
  434.                  end case;
  435.        if(weisel=4)then                
  436.                         if(scancnt=4)then
  437.                                 case gewei is
  438.                                         when 0 => reg_ledseg_gewei <= "01111110";
  439.                                         when 1 => reg_ledseg_gewei <= "00110000";
  440.                                         when 2 => reg_ledseg_gewei <= "01101101";
  441.                                         when 3 => reg_ledseg_gewei <= "01111001";
  442.                                         when 4 => reg_ledseg_gewei <= "00110011";
  443.                                         when 5 => reg_ledseg_gewei <= "01011011";
  444.                                         when 6 => reg_ledseg_gewei <= "01011111";
  445.                                         when 7 => reg_ledseg_gewei <= "01110000";
  446.                                         when 8 => reg_ledseg_gewei <= "01111111";
  447.                                         when 9 => reg_ledseg_gewei <= "01111011";
  448.                                 when others => null;       
  449.                                 end case;
  450.                                 end if;
  451.                         end if;
  452.                  if(weisel=3)then
  453.                         if(scancnt=3)then   
  454.                                 case shiwei is
  455.                                         when 0 => reg_ledseg_shiwei <= "01111110";
  456.                                         when 1 => reg_ledseg_shiwei <= "00110000";
  457.                                         when 2 => reg_ledseg_shiwei <= "01101101";
  458.                                         when 3 => reg_ledseg_shiwei <= "01111001";
  459.                                         when 4 => reg_ledseg_shiwei <= "00110011";
  460.                                         when 5 => reg_ledseg_shiwei <= "01011011";
  461.                                         when 6 => reg_ledseg_shiwei <= "01011111";
  462.                                         when 7 => reg_ledseg_shiwei <= "01110000";
  463.                                         when 8 => reg_ledseg_shiwei <= "01111111";
  464.                                         when 9 => reg_ledseg_shiwei <= "01111011";
  465.                                 when others => null;       
  466.                                 end case;
  467.                           end if;
  468.                         end if;
  469.                 if(weisel=2)then
  470.                         if(scancnt=2)then   
  471.                                 case baiwei is
  472.                                         when 0 => reg_ledseg_baiwei <= "01111110";
  473.                                         when 1 => reg_ledseg_baiwei <= "00110000";
  474.                                         when 2 => reg_ledseg_baiwei <= "01101101";
  475.                                         when 3 => reg_ledseg_baiwei <= "01111001";
  476.                                         when 4 => reg_ledseg_baiwei <= "00110011";
  477.                                         when 5 => reg_ledseg_baiwei <= "01011011";
  478.                                         when 6 => reg_ledseg_baiwei <= "01011111";
  479.                                         when 7 => reg_ledseg_baiwei <= "01110000";
  480.                                         when 8 => reg_ledseg_baiwei <= "01111111";
  481.                                         when 9 => reg_ledseg_baiwei <= "01111011";
  482.                                 when others => null;       
  483.                                 end case;
  484.                           end if;
  485.                         end if;
  486.           if(weisel=1)then  
  487.                         if(scancnt=1)then   
  488.                                 case qianwei is  
  489.                                         when 0 => reg_ledseg_qianwei <= "01111110";
  490.                                         when 1 => reg_ledseg_qianwei <= "00110000";
  491.                                         when 2 => reg_ledseg_qianwei <= "01101101";
  492.                                         when 3 => reg_ledseg_qianwei <= "01111001";
  493.                                         when 4 => reg_ledseg_qianwei <= "00110011";
  494.                                         when 5 => reg_ledseg_qianwei <= "01011011";
  495.                                         when 6 => reg_ledseg_qianwei <= "01011111";
  496.                                         when 7 => reg_ledseg_qianwei <= "01110000";
  497.                                         when 8 => reg_ledseg_qianwei <= "01111111";
  498.                                         when 9 => reg_ledseg_qianwei <= "01111011";
  499.                                 when others => null;       
  500.                                 end case;
  501.                           end if;
  502.                         end if;
  503.          if(weisel=0)then
  504.                         if(scancnt=0)then  
  505.                                 case wanwei is  
  506.                                         when 0 => reg_ledseg_wanwei <= "01111110";
  507.                                         when 1 => reg_ledseg_wanwei <= "00110000";
  508.                                         when 2 => reg_ledseg_wanwei <= "01101101";
  509.                                         when 3 => reg_ledseg_wanwei <= "01111001";
  510.                                         when 4 => reg_ledseg_wanwei <= "00110011";
  511.                                         when 5 => reg_ledseg_wanwei <= "01011011";
  512.                                         when 6 => reg_ledseg_wanwei <= "01011111";
  513.                                         when 7 => reg_ledseg_wanwei <= "01110000";
  514.                                         when 8 => reg_ledseg_wanwei <= "01111111";
  515.                                         when 9 => reg_ledseg_wanwei <= "01111011";
  516.                                 when others => null;       
  517.                                 end case;
  518.                           end if;
  519.                         end if;       
  520.                 end if;         
  521.         elsif(mode1=2)then
  522.      if(set_m2='0' and Morn='0')then
  523.                  case scancnt is          
  524.                         when 0 => reg_ledseg_wanwei  <= "01001111";
  525.                         when 1 => reg_ledseg_qianwei <= "00000000";
  526.                         when 2 => reg_ledseg_baiwei  <= "00000000";
  527.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  528.                         when 4 => reg_ledseg_gewei   <= "00000000";
  529.                         when others=>null;
  530.                  end case;
  531.            elsif(set_m2='1' and Morn='1')then
  532.                  case scancnt is          
  533.                         when 0 => reg_ledseg_wanwei  <= "00000000";
  534.                         when 1 => reg_ledseg_qianwei <= "00000000";
  535.                         when 2 => reg_ledseg_baiwei  <= "00000000";
  536.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  537.                         when 4 => reg_ledseg_gewei   <= "01111110";
  538.                         when others=>null;
  539.                  end case;
  540.        if(weisel=4)then                
  541.                         if(scancnt=4)then
  542.                                 case gewei is
  543.                                         when 0 => reg_ledseg_gewei <= "01111110";
  544.                                         when 1 => reg_ledseg_gewei <= "00110000";
  545.                                         when 2 => reg_ledseg_gewei <= "01101101";
  546.                                         when 3 => reg_ledseg_gewei <= "01111001";
  547.                                         when 4 => reg_ledseg_gewei <= "00110011";
  548.                                         when 5 => reg_ledseg_gewei <= "01011011";
  549.                                         when 6 => reg_ledseg_gewei <= "01011111";
  550.                                         when 7 => reg_ledseg_gewei <= "01110000";
  551.                                         when 8 => reg_ledseg_gewei <= "01111111";
  552.                                         when 9 => reg_ledseg_gewei <= "01111011";
  553.                                 when others => null;       
  554.                                 end case;
  555.                                 end if;
  556.                         end if;
  557.                  if(weisel=3)then
  558.                         if(scancnt=3)then   
  559.                                 case shiwei is
  560.                                         when 0 => reg_ledseg_shiwei <= "01111110";
  561.                                         when 1 => reg_ledseg_shiwei <= "00110000";
  562.                                         when 2 => reg_ledseg_shiwei <= "01101101";
  563.                                         when 3 => reg_ledseg_shiwei <= "01111001";
  564.                                         when 4 => reg_ledseg_shiwei <= "00110011";
  565.                                         when 5 => reg_ledseg_shiwei <= "01011011";
  566.                                         when 6 => reg_ledseg_shiwei <= "01011111";
  567.                                         when 7 => reg_ledseg_shiwei <= "01110000";
  568.                                         when 8 => reg_ledseg_shiwei <= "01111111";
  569.                                         when 9 => reg_ledseg_shiwei <= "01111011";
  570.                                 when others => null;       
  571.                                 end case;
  572.                           end if;
  573.                         end if;
  574.                 if(weisel=2)then
  575.                         if(scancnt=2)then   
  576.                                 case baiwei is
  577.                                         when 0 => reg_ledseg_baiwei <= "01111110";
  578.                                         when 1 => reg_ledseg_baiwei <= "00110000";
  579.                                         when 2 => reg_ledseg_baiwei <= "01101101";
  580.                                         when 3 => reg_ledseg_baiwei <= "01111001";
  581.                                         when 4 => reg_ledseg_baiwei <= "00110011";
  582.                                         when 5 => reg_ledseg_baiwei <= "01011011";
  583.                                         when 6 => reg_ledseg_baiwei <= "01011111";
  584.                                         when 7 => reg_ledseg_baiwei <= "01110000";
  585.                                         when 8 => reg_ledseg_baiwei <= "01111111";
  586.                                         when 9 => reg_ledseg_baiwei <= "01111011";
  587.                                 when others => null;       
  588.                                 end case;
  589.                           end if;
  590.                         end if;
  591.           if(weisel=1)then  
  592.                         if(scancnt=1)then   
  593.                                 case qianwei is  
  594.                                         when 0 => reg_ledseg_qianwei <= "01111110";
  595.                                         when 1 => reg_ledseg_qianwei <= "00110000";
  596.                                         when 2 => reg_ledseg_qianwei <= "01101101";
  597.                                         when 3 => reg_ledseg_qianwei <= "01111001";
  598.                                         when 4 => reg_ledseg_qianwei <= "00110011";
  599.                                         when 5 => reg_ledseg_qianwei <= "01011011";
  600.                                         when 6 => reg_ledseg_qianwei <= "01011111";
  601.                                         when 7 => reg_ledseg_qianwei <= "01110000";
  602.                                         when 8 => reg_ledseg_qianwei <= "01111111";
  603.                                         when 9 => reg_ledseg_qianwei <= "01111011";
  604.                                 when others => null;       
  605.                                 end case;
  606.                           end if;
  607.                         end if;
  608.          if(weisel=0)then
  609.                         if(scancnt=0)then  
  610.                                 case wanwei is  
  611.                                         when 0 => reg_ledseg_wanwei <= "01111110";
  612.                                         when 1 => reg_ledseg_wanwei <= "00110000";
  613.                                         when 2 => reg_ledseg_wanwei <= "01101101";
  614.                                         when 3 => reg_ledseg_wanwei <= "01111001";
  615.                                         when 4 => reg_ledseg_wanwei <= "00110011";
  616.                                         when 5 => reg_ledseg_wanwei <= "01011011";
  617.                                         when 6 => reg_ledseg_wanwei <= "01011111";
  618.                                         when 7 => reg_ledseg_wanwei <= "01110000";
  619.                                         when 8 => reg_ledseg_wanwei <= "01111111";
  620.                                         when 9 => reg_ledseg_wanwei <= "01111011";
  621.                                 when others => null;       
  622.                                 end case;
  623.                           end if;
  624.                         end if;       
  625.                 end if;       
  626.         elsif(mode1=3)then  
  627.                 if(set_m3='0' and Morn='0')then  
  628.                   case scancnt is          
  629.                         when 0 => reg_ledseg_wanwei  <= "01100111";
  630.                         when 1 => reg_ledseg_qianwei <= "00000000";
  631.                         when 2 => reg_ledseg_baiwei  <= "00000000";
  632.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  633.                         when 4 => reg_ledseg_gewei   <= "00000000";
  634.                         when others=>null;
  635.                   end case;
  636.                 elsif(set_m3='1' and Morn='1')then
  637.                  case scancnt is          
  638.                         when 0 => reg_ledseg_wanwei  <= "00000000";
  639.                         when 1 => reg_ledseg_qianwei <= "00000000";
  640.                         when 2 => reg_ledseg_baiwei  <= "00000000";
  641.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  642.                         when 4 => reg_ledseg_gewei   <= "01111110";
  643.                         when others=>null;
  644.                  end case;
  645.        if(weisel=4)then                
  646.                         if(scancnt=4)then
  647.                                 case gewei is
  648.                                         when 0 => reg_ledseg_gewei <= "01111110";
  649.                                         when 1 => reg_ledseg_gewei <= "00110000";
  650.                                         when 2 => reg_ledseg_gewei <= "01101101";
  651.                                         when 3 => reg_ledseg_gewei <= "01111001";
  652.                                         when 4 => reg_ledseg_gewei <= "00110011";
  653.                                         when 5 => reg_ledseg_gewei <= "01011011";
  654.                                         when 6 => reg_ledseg_gewei <= "01011111";
  655.                                         when 7 => reg_ledseg_gewei <= "01110000";
  656.                                         when 8 => reg_ledseg_gewei <= "01111111";
  657.                                         when 9 => reg_ledseg_gewei <= "01111011";
  658.                                 when others => null;       
  659.                                 end case;
  660.                                 end if;
  661.                         end if;
  662.                  if(weisel=3)then
  663.                         if(scancnt=3)then   
  664.                                 case shiwei is
  665.                                         when 0 => reg_ledseg_shiwei <= "01111110";
  666.                                         when 1 => reg_ledseg_shiwei <= "00110000";
  667.                                         when 2 => reg_ledseg_shiwei <= "01101101";
  668.                                         when 3 => reg_ledseg_shiwei <= "01111001";
  669.                                         when 4 => reg_ledseg_shiwei <= "00110011";
  670.                                         when 5 => reg_ledseg_shiwei <= "01011011";
  671.                                         when 6 => reg_ledseg_shiwei <= "01011111";
  672.                                         when 7 => reg_ledseg_shiwei <= "01110000";
  673.                                         when 8 => reg_ledseg_shiwei <= "01111111";
  674.                                         when 9 => reg_ledseg_shiwei <= "01111011";
  675.                                 when others => null;       
  676.                                 end case;
  677.                           end if;
  678.                         end if;
  679.                 if(weisel=2)then
  680.                         if(scancnt=2)then   
  681.                                 case baiwei is
  682.                                         when 0 => reg_ledseg_baiwei <= "01111110";
  683.                                         when 1 => reg_ledseg_baiwei <= "00110000";
  684.                                         when 2 => reg_ledseg_baiwei <= "01101101";
  685.                                         when 3 => reg_ledseg_baiwei <= "01111001";
  686.                                         when 4 => reg_ledseg_baiwei <= "00110011";
  687.                                         when 5 => reg_ledseg_baiwei <= "01011011";
  688.                                         when 6 => reg_ledseg_baiwei <= "01011111";
  689.                                         when 7 => reg_ledseg_baiwei <= "01110000";
  690.                                         when 8 => reg_ledseg_baiwei <= "01111111";
  691.                                         when 9 => reg_ledseg_baiwei <= "01111011";
  692.                                 when others => null;       
  693.                                 end case;
  694.                           end if;
  695.                         end if;
  696.           if(weisel=1)then  
  697.                         if(scancnt=1)then   
  698.                                 case qianwei is  
  699.                                         when 0 => reg_ledseg_qianwei <= "01111110";
  700.                                         when 1 => reg_ledseg_qianwei <= "00110000";
  701.                                         when 2 => reg_ledseg_qianwei <= "01101101";
  702.                                         when 3 => reg_ledseg_qianwei <= "01111001";
  703.                                         when 4 => reg_ledseg_qianwei <= "00110011";
  704.                                         when 5 => reg_ledseg_qianwei <= "01011011";
  705.                                         when 6 => reg_ledseg_qianwei <= "01011111";
  706.                                         when 7 => reg_ledseg_qianwei <= "01110000";
  707.                                         when 8 => reg_ledseg_qianwei <= "01111111";
  708.                                         when 9 => reg_ledseg_qianwei <= "01111011";
  709.                                 when others => null;       
  710.                                 end case;
  711.                           end if;
  712.                         end if;
  713.          if(weisel=0)then
  714.                         if(scancnt=0)then  
  715.                                 case wanwei is  
  716.                                         when 0 => reg_ledseg_wanwei <= "01111110";
  717.                                         when 1 => reg_ledseg_wanwei <= "00110000";
  718.                                         when 2 => reg_ledseg_wanwei <= "01101101";
  719.                                         when 3 => reg_ledseg_wanwei <= "01111001";
  720.                                         when 4 => reg_ledseg_wanwei <= "00110011";
  721.                                         when 5 => reg_ledseg_wanwei <= "01011011";
  722.                                         when 6 => reg_ledseg_wanwei <= "01011111";
  723.                                         when 7 => reg_ledseg_wanwei <= "01110000";
  724.                                         when 8 => reg_ledseg_wanwei <= "01111111";
  725.                                         when 9 => reg_ledseg_wanwei <= "01111011";
  726.                                 when others => null;       
  727.                                 end case;
  728.                           end if;
  729.                         end if;       
  730.                 end if;
  731.          elsif(mode1=4)then  
  732.                 if(set_m4='0' and Morn='0')then   
  733.                   case scancnt is          
  734.                         when 0 => reg_ledseg_wanwei  <= "00010101";
  735.                         when 1 => reg_ledseg_qianwei <= "00000000";
  736.                         when 2 => reg_ledseg_baiwei  <= "00000000";
  737.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  738.                         when 4 => reg_ledseg_gewei   <= "00000000";
  739.                         when others=>null;
  740.                   end case;
  741.                 elsif(set_m4='1' and Morn='1')then
  742.                  case scancnt is          
  743.                         when 0 => reg_ledseg_wanwei  <= "00000000";
  744.                         when 1 => reg_ledseg_qianwei <= "00000000";
  745.                         when 2 => reg_ledseg_baiwei  <= "00000000";
  746.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  747.                         when 4 => reg_ledseg_gewei   <= "01111110";
  748.                         when others=>null;
  749.                  end case;
  750.         if(weisel=4)then                 
  751.                         if(scancnt=4)then  
  752.                                 case gewei is  
  753.                                         when 0 => reg_ledseg_gewei <= "01111110";
  754.                                         when 1 => reg_ledseg_gewei <= "00110000";
  755.                                         when 2 => reg_ledseg_gewei <= "01101101";
  756.                                         when 3 => reg_ledseg_gewei <= "01111001";
  757.                                         when 4 => reg_ledseg_gewei <= "00110011";
  758.                                         when 5 => reg_ledseg_gewei <= "01011011";
  759.                                         when 6 => reg_ledseg_gewei <= "01011111";
  760.                                         when 7 => reg_ledseg_gewei <= "01110000";
  761.                                         when 8 => reg_ledseg_gewei <= "01111111";
  762.                                         when 9 => reg_ledseg_gewei <= "01111011";
  763.                                         when others => null;       
  764.                                  end case;  
  765.                           end if;
  766.                         end if;
  767.                  if(weisel=3)then
  768.                         if(scancnt=3)then  
  769.                                 case shiwei is
  770.                                         when 0 => reg_ledseg_shiwei <= "01111110";
  771.                                         when 1 => reg_ledseg_shiwei <= "00110000";
  772.                                         when 2 => reg_ledseg_shiwei <= "01101101";
  773.                                         when 3 => reg_ledseg_shiwei <= "01111001";
  774.                                         when 4 => reg_ledseg_shiwei <= "00110011";
  775.                                         when 5 => reg_ledseg_shiwei <= "01011011";
  776.                                         when 6 => reg_ledseg_shiwei <= "01011111";
  777.                                         when 7 => reg_ledseg_shiwei <= "01110000";
  778.                                         when 8 => reg_ledseg_shiwei <= "01111111";
  779.                                         when 9 => reg_ledseg_shiwei <= "01111011";
  780.                                         when others => null;       
  781.                                  end case;
  782.                            end if;
  783.                         end if;
  784.                 if(weisel=2)then
  785.                         if(scancnt=2)then
  786.                                 case baiwei is
  787.                                         when 0 => reg_ledseg_baiwei <= "01111110";
  788.                                         when 1 => reg_ledseg_baiwei <= "00110000";
  789.                                         when 2 => reg_ledseg_baiwei <= "01101101";
  790.                                         when 3 => reg_ledseg_baiwei <= "01111001";
  791.                                         when 4 => reg_ledseg_baiwei <= "00110011";
  792.                                         when 5 => reg_ledseg_baiwei <= "01011011";
  793.                                         when 6 => reg_ledseg_baiwei <= "01011111";
  794.                                         when 7 => reg_ledseg_baiwei <= "01110000";
  795.                                         when 8 => reg_ledseg_baiwei <= "01111111";
  796.                                         when 9 => reg_ledseg_baiwei <= "01111011";
  797.                                         when others => null;       
  798.                                  end case;
  799.                           end if;
  800.                         end if;
  801.                 if(weisel=1)then
  802.                         if(scancnt=1)then
  803.                                 case qianwei is
  804.                                         when 0 => reg_ledseg_qianwei <= "01111110";
  805.                                         when 1 => reg_ledseg_qianwei <= "00110000";
  806.                                         when 2 => reg_ledseg_qianwei <= "01101101";
  807.                                         when 3 => reg_ledseg_qianwei <= "01111001";
  808.                                         when 4 => reg_ledseg_qianwei <= "00110011";
  809.                                         when 5 => reg_ledseg_qianwei <= "01011011";
  810.                                         when 6 => reg_ledseg_qianwei <= "01011111";
  811.                                         when 7 => reg_ledseg_qianwei <= "01110000";
  812.                                         when 8 => reg_ledseg_qianwei <= "01111111";
  813.                                         when 9 => reg_ledseg_qianwei <= "01111011";
  814.                                         when others => null;       
  815.                                  end case;
  816.                           end if;
  817.                         end if;
  818.                 if(weisel=0)then
  819.                   if(scancnt=0)then
  820.                                 case wanwei is
  821.                                         when 0 => reg_ledseg_wanwei <= "01111110";
  822.                                         when 1 => reg_ledseg_wanwei <= "00110000";
  823.                                         when 2 => reg_ledseg_wanwei <= "01101101";
  824.                                         when 3 => reg_ledseg_wanwei <= "01111001";
  825.                                         when 4 => reg_ledseg_wanwei <= "00110011";
  826.                                         when 5 => reg_ledseg_wanwei <= "01011011";
  827.                                         when 6 => reg_ledseg_wanwei <= "01011111";
  828.                                         when 7 => reg_ledseg_wanwei <= "01110000";
  829.                                         when 8 => reg_ledseg_wanwei <= "01111111";
  830.                                         when 9 => reg_ledseg_wanwei <= "01111011";
  831.                                         when others => null;       
  832.                                  end case;
  833.                           end if;
  834.                         end if;                       
  835.                 end if;
  836.          elsif(mode1=5)then
  837.                 if(set_m5='0' and Morn='0')then
  838.                         case scancnt is          
  839.                         when 0 => reg_ledseg_wanwei  <= "01000111";
  840.                         when 1 => reg_ledseg_qianwei <= "00000000";
  841.                         when 2 => reg_ledseg_baiwei  <= "00000000";
  842.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  843.                         when 4 => reg_ledseg_gewei   <= "00000000";
  844.                         when others=>null;
  845.                   end case;
  846.                 elsif(set_m5='1' and Morn='1')then
  847.                  case scancnt is          
  848.                         when 0 => reg_ledseg_wanwei  <= "00000000";
  849.                         when 1 => reg_ledseg_qianwei <= "00000000";
  850.                         when 2 => reg_ledseg_baiwei  <= "00000000";
  851.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  852.                         when 4 => reg_ledseg_gewei   <= "01111110";
  853.                         when others=>null;
  854.                  end case;
  855.        if(weisel=4)then                
  856.                         if(scancnt=4)then
  857.                                 case gewei is
  858.                                         when 0 => reg_ledseg_gewei <= "01111110";
  859.                                         when 1 => reg_ledseg_gewei <= "00110000";
  860.                                         when 2 => reg_ledseg_gewei <= "01101101";
  861.                                         when 3 => reg_ledseg_gewei <= "01111001";
  862.                                         when 4 => reg_ledseg_gewei <= "00110011";
  863.                                         when 5 => reg_ledseg_gewei <= "01011011";
  864.                                         when 6 => reg_ledseg_gewei <= "01011111";
  865.                                         when 7 => reg_ledseg_gewei <= "01110000";
  866.                                         when 8 => reg_ledseg_gewei <= "01111111";
  867.                                         when 9 => reg_ledseg_gewei <= "01111011";
  868.                                 when others => null;       
  869.                                 end case;
  870.                                 end if;
  871.                         end if;
  872.                  if(weisel=3)then
  873.                         if(scancnt=3)then   
  874.                                 case shiwei is
  875.                                         when 0 => reg_ledseg_shiwei <= "01111110";
  876.                                         when 1 => reg_ledseg_shiwei <= "00110000";
  877.                                         when 2 => reg_ledseg_shiwei <= "01101101";
  878.                                         when 3 => reg_ledseg_shiwei <= "01111001";
  879.                                         when 4 => reg_ledseg_shiwei <= "00110011";
  880.                                         when 5 => reg_ledseg_shiwei <= "01011011";
  881.                                         when 6 => reg_ledseg_shiwei <= "01011111";
  882.                                         when 7 => reg_ledseg_shiwei <= "01110000";
  883.                                         when 8 => reg_ledseg_shiwei <= "01111111";
  884.                                         when 9 => reg_ledseg_shiwei <= "01111011";
  885.                                 when others => null;       
  886.                                 end case;
  887.                           end if;
  888.                         end if;
  889.                 if(weisel=2)then
  890.                         if(scancnt=2)then   
  891.                                 case baiwei is
  892.                                         when 0 => reg_ledseg_baiwei <= "01111110";
  893.                                         when 1 => reg_ledseg_baiwei <= "00110000";
  894.                                         when 2 => reg_ledseg_baiwei <= "01101101";
  895.                                         when 3 => reg_ledseg_baiwei <= "01111001";
  896.                                         when 4 => reg_ledseg_baiwei <= "00110011";
  897.                                         when 5 => reg_ledseg_baiwei <= "01011011";
  898.                                         when 6 => reg_ledseg_baiwei <= "01011111";
  899.                                         when 7 => reg_ledseg_baiwei <= "01110000";
  900.                                         when 8 => reg_ledseg_baiwei <= "01111111";
  901.                                         when 9 => reg_ledseg_baiwei <= "01111011";
  902.                                 when others => null;       
  903.                                 end case;
  904.                           end if;
  905.                         end if;
  906.           if(weisel=1)then  
  907.                         if(scancnt=1)then   
  908.                                 case qianwei is  
  909.                                         when 0 => reg_ledseg_qianwei <= "01111110";
  910.                                         when 1 => reg_ledseg_qianwei <= "00110000";
  911.                                         when 2 => reg_ledseg_qianwei <= "01101101";
  912.                                         when 3 => reg_ledseg_qianwei <= "01111001";
  913.                                         when 4 => reg_ledseg_qianwei <= "00110011";
  914.                                         when 5 => reg_ledseg_qianwei <= "01011011";
  915.                                         when 6 => reg_ledseg_qianwei <= "01011111";
  916.                                         when 7 => reg_ledseg_qianwei <= "01110000";
  917.                                         when 8 => reg_ledseg_qianwei <= "01111111";
  918.                                         when 9 => reg_ledseg_qianwei <= "01111011";
  919.                                 when others => null;       
  920.                                 end case;
  921.                           end if;
  922.                         end if;
  923.          if(weisel=0)then
  924.                         if(scancnt=0)then  
  925.                                 case wanwei is  
  926.                                         when 0 => reg_ledseg_wanwei <= "01111110";
  927.                                         when 1 => reg_ledseg_wanwei <= "00110000";
  928.                                         when 2 => reg_ledseg_wanwei <= "01101101";
  929.                                         when 3 => reg_ledseg_wanwei <= "01111001";
  930.                                         when 4 => reg_ledseg_wanwei <= "00110011";
  931.                                         when 5 => reg_ledseg_wanwei <= "01011011";
  932.                                         when 6 => reg_ledseg_wanwei <= "01011111";
  933.                                         when 7 => reg_ledseg_wanwei <= "01110000";
  934.                                         when 8 => reg_ledseg_wanwei <= "01111111";
  935.                                         when 9 => reg_ledseg_wanwei <= "01111011";
  936.                                 when others => null;       
  937.                                 end case;
  938.                           end if;
  939.                         end if;       
  940.                 end if;
  941.          elsif(mode1=6)then
  942.                 if(set_m6='0' and Morn='0')then
  943.                   case scancnt is          
  944.                         when 0 => reg_ledseg_wanwei  <= "00111110";
  945.                         when 1 => reg_ledseg_qianwei <= "00000000";
  946.                         when 2 => reg_ledseg_baiwei  <= "00000000";
  947.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  948.                         when 4 => reg_ledseg_gewei   <= "00000000";
  949.                         when others=>null;
  950.                   end case;
  951.            elsif(set_m6='1' and Morn='1')then
  952.                  case scancnt is          
  953.                         when 0 => reg_ledseg_wanwei  <= "00000000";
  954.                         when 1 => reg_ledseg_qianwei <= "00000000";
  955.                         when 2 => reg_ledseg_baiwei  <= "00000000";
  956.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  957.                         when 4 => reg_ledseg_gewei   <= "01111110";
  958.                         when others=>null;
  959.                  end case;
  960.        if(weisel=4)then                
  961.                         if(scancnt=4)then
  962.                                 case gewei is
  963.                                         when 0 => reg_ledseg_gewei <= "01111110";
  964.                                         when 1 => reg_ledseg_gewei <= "00110000";
  965.                                         when 2 => reg_ledseg_gewei <= "01101101";
  966.                                         when 3 => reg_ledseg_gewei <= "01111001";
  967.                                         when 4 => reg_ledseg_gewei <= "00110011";
  968.                                         when 5 => reg_ledseg_gewei <= "01011011";
  969.                                         when 6 => reg_ledseg_gewei <= "01011111";
  970.                                         when 7 => reg_ledseg_gewei <= "01110000";
  971.                                         when 8 => reg_ledseg_gewei <= "01111111";
  972.                                         when 9 => reg_ledseg_gewei <= "01111011";
  973.                                 when others => null;       
  974.                                 end case;
  975.                                 end if;
  976.                         end if;
  977.                  if(weisel=3)then
  978.                         if(scancnt=3)then   
  979.                                 case shiwei is
  980.                                         when 0 => reg_ledseg_shiwei <= "01111110";
  981.                                         when 1 => reg_ledseg_shiwei <= "00110000";
  982.                                         when 2 => reg_ledseg_shiwei <= "01101101";
  983.                                         when 3 => reg_ledseg_shiwei <= "01111001";
  984.                                         when 4 => reg_ledseg_shiwei <= "00110011";
  985.                                         when 5 => reg_ledseg_shiwei <= "01011011";
  986.                                         when 6 => reg_ledseg_shiwei <= "01011111";
  987.                                         when 7 => reg_ledseg_shiwei <= "01110000";
  988.                                         when 8 => reg_ledseg_shiwei <= "01111111";
  989.                                         when 9 => reg_ledseg_shiwei <= "01111011";
  990.                                 when others => null;       
  991.                                 end case;
  992.                           end if;
  993.                         end if;
  994.                 if(weisel=2)then
  995.                         if(scancnt=2)then   
  996.                                 case baiwei is
  997.                                         when 0 => reg_ledseg_baiwei <= "01111110";
  998.                                         when 1 => reg_ledseg_baiwei <= "00110000";
  999.                                         when 2 => reg_ledseg_baiwei <= "01101101";
  1000.                                         when 3 => reg_ledseg_baiwei <= "01111001";
  1001.                                         when 4 => reg_ledseg_baiwei <= "00110011";
  1002.                                         when 5 => reg_ledseg_baiwei <= "01011011";
  1003.                                         when 6 => reg_ledseg_baiwei <= "01011111";
  1004.                                         when 7 => reg_ledseg_baiwei <= "01110000";
  1005.                                         when 8 => reg_ledseg_baiwei <= "01111111";
  1006.                                         when 9 => reg_ledseg_baiwei <= "01111011";
  1007.                                 when others => null;       
  1008.                                 end case;
  1009.                           end if;
  1010.                         end if;
  1011.           if(weisel=1)then  
  1012.                         if(scancnt=1)then   
  1013.                                 case qianwei is  
  1014.                                         when 0 => reg_ledseg_qianwei <= "01111110";
  1015.                                         when 1 => reg_ledseg_qianwei <= "00110000";
  1016.                                         when 2 => reg_ledseg_qianwei <= "01101101";
  1017.                                         when 3 => reg_ledseg_qianwei <= "01111001";
  1018.                                         when 4 => reg_ledseg_qianwei <= "00110011";
  1019.                                         when 5 => reg_ledseg_qianwei <= "01011011";
  1020.                                         when 6 => reg_ledseg_qianwei <= "01011111";
  1021.                                         when 7 => reg_ledseg_qianwei <= "01110000";
  1022.                                         when 8 => reg_ledseg_qianwei <= "01111111";
  1023.                                         when 9 => reg_ledseg_qianwei <= "01111011";
  1024.                                 when others => null;       
  1025.                                 end case;
  1026.                          end if;
  1027.          end if;
  1028.          if(weisel=0)then
  1029.                         if(scancnt=0)then  
  1030.                                 case wanwei is  
  1031.                                         when 0 => reg_ledseg_wanwei <= "01111110";
  1032.                                         when 1 => reg_ledseg_wanwei <= "00110000";
  1033.                                         when 2 => reg_ledseg_wanwei <= "01101101";
  1034.                                         when 3 => reg_ledseg_wanwei <= "01111001";
  1035.                                         when 4 => reg_ledseg_wanwei <= "00110011";
  1036.                                         when 5 => reg_ledseg_wanwei <= "01011011";
  1037.                                         when 6 => reg_ledseg_wanwei <= "01011111";
  1038.                                         when 7 => reg_ledseg_wanwei <= "01110000";
  1039.                                         when 8 => reg_ledseg_wanwei <= "01111111";
  1040.                                         when 9 => reg_ledseg_wanwei <= "01111011";
  1041.                                 when others => null;       
  1042.                                 end case;
  1043.                          end if;
  1044.             end if;       
  1045.           end if;
  1046.         elsif(mode1=7)then
  1047.                 if(set_m7='0' and Morn='0')then
  1048.                   case scancnt is          
  1049.                         when 0 => reg_ledseg_wanwei  <= "00001110";
  1050.                         when 1 => reg_ledseg_qianwei <= "00000000";
  1051.                         when 2 => reg_ledseg_baiwei  <= "00000000";
  1052.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  1053.                         when 4 => reg_ledseg_gewei   <= "00000000";
  1054.                         when others=>null;
  1055.                   end case;
  1056.     elsif(set_m7='1' and Morn='1')then
  1057.             case scancnt is          
  1058.                         when 0 => reg_ledseg_wanwei  <= "00000000";
  1059.                         when 1 => reg_ledseg_qianwei <= "00000000";
  1060.                         when 2 => reg_ledseg_baiwei  <= "00000000";
  1061.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  1062.                         when 4 => reg_ledseg_gewei   <= "01111110";
  1063.                         when others=>null;
  1064.                  end case;
  1065.        if(weisel=4)then                
  1066.                         if(scancnt=4)then
  1067.                                 case gewei is
  1068.                                         when 0 => reg_ledseg_gewei <= "01111110";
  1069.                                         when 1 => reg_ledseg_gewei <= "00110000";
  1070.                                         when 2 => reg_ledseg_gewei <= "01101101";
  1071.                                         when 3 => reg_ledseg_gewei <= "01111001";
  1072.                                         when 4 => reg_ledseg_gewei <= "00110011";
  1073.                                         when 5 => reg_ledseg_gewei <= "01011011";
  1074.                                         when 6 => reg_ledseg_gewei <= "01011111";
  1075.                                         when 7 => reg_ledseg_gewei <= "01110000";
  1076.                                         when 8 => reg_ledseg_gewei <= "01111111";
  1077.                                         when 9 => reg_ledseg_gewei <= "01111011";
  1078.                                 when others => null;       
  1079.                                 end case;
  1080.                                 end if;
  1081.                         end if;
  1082.                  if(weisel=3)then
  1083.                         if(scancnt=3)then   
  1084.                                 case shiwei is
  1085.                                         when 0 => reg_ledseg_shiwei <= "01111110";
  1086.                                         when 1 => reg_ledseg_shiwei <= "00110000";
  1087.                                         when 2 => reg_ledseg_shiwei <= "01101101";
  1088.                                         when 3 => reg_ledseg_shiwei <= "01111001";
  1089.                                         when 4 => reg_ledseg_shiwei <= "00110011";
  1090.                                         when 5 => reg_ledseg_shiwei <= "01011011";
  1091.                                         when 6 => reg_ledseg_shiwei <= "01011111";
  1092.                                         when 7 => reg_ledseg_shiwei <= "01110000";
  1093.                                         when 8 => reg_ledseg_shiwei <= "01111111";
  1094.                                         when 9 => reg_ledseg_shiwei <= "01111011";
  1095.                                 when others => null;       
  1096.                                 end case;
  1097.                           end if;
  1098.                         end if;
  1099.                 if(weisel=2)then
  1100.                         if(scancnt=2)then   
  1101.                                 case baiwei is
  1102.                                         when 0 => reg_ledseg_baiwei <= "01111110";
  1103.                                         when 1 => reg_ledseg_baiwei <= "00110000";
  1104.                                         when 2 => reg_ledseg_baiwei <= "01101101";
  1105.                                         when 3 => reg_ledseg_baiwei <= "01111001";
  1106.                                         when 4 => reg_ledseg_baiwei <= "00110011";
  1107.                                         when 5 => reg_ledseg_baiwei <= "01011011";
  1108.                                         when 6 => reg_ledseg_baiwei <= "01011111";
  1109.                                         when 7 => reg_ledseg_baiwei <= "01110000";
  1110.                                         when 8 => reg_ledseg_baiwei <= "01111111";
  1111.                                         when 9 => reg_ledseg_baiwei <= "01111011";
  1112.                                 when others => null;       
  1113.                                 end case;
  1114.                           end if;
  1115.                         end if;
  1116.           if(weisel=1)then  
  1117.                         if(scancnt=1)then   
  1118.                                 case qianwei is  
  1119.                                         when 0 => reg_ledseg_qianwei <= "01111110";
  1120.                                         when 1 => reg_ledseg_qianwei <= "00110000";
  1121.                                         when 2 => reg_ledseg_qianwei <= "01101101";
  1122.                                         when 3 => reg_ledseg_qianwei <= "01111001";
  1123.                                         when 4 => reg_ledseg_qianwei <= "00110011";
  1124.                                         when 5 => reg_ledseg_qianwei <= "01011011";
  1125.                                         when 6 => reg_ledseg_qianwei <= "01011111";
  1126.                                         when 7 => reg_ledseg_qianwei <= "01110000";
  1127.                                         when 8 => reg_ledseg_qianwei <= "01111111";
  1128.                                         when 9 => reg_ledseg_qianwei <= "01111011";
  1129.                                 when others => null;       
  1130.                                 end case;
  1131.                          end if;
  1132.          end if;
  1133.          if(weisel=0)then
  1134.                         if(scancnt=0)then  
  1135.                                 case wanwei is  
  1136.                                         when 0 => reg_ledseg_wanwei <= "01111110";
  1137.                                         when 1 => reg_ledseg_wanwei <= "00110000";
  1138.                                         when 2 => reg_ledseg_wanwei <= "01101101";
  1139.                                         when 3 => reg_ledseg_wanwei <= "01111001";
  1140.                                         when 4 => reg_ledseg_wanwei <= "00110011";
  1141.                                         when 5 => reg_ledseg_wanwei <= "01011011";
  1142.                                         when 6 => reg_ledseg_wanwei <= "01011111";
  1143.                                         when 7 => reg_ledseg_wanwei <= "01110000";
  1144.                                         when 8 => reg_ledseg_wanwei <= "01111111";
  1145.                                         when 9 => reg_ledseg_wanwei <= "01111011";
  1146.                                 when others => null;       
  1147.                                 end case;
  1148.                          end if;
  1149.             end if;       
  1150.           end if;            
  1151.         elsif(mode1=8)then
  1152.                 if(set_m8='0' and Morn='0')then
  1153.                   case scancnt is          
  1154.                         when 0 => reg_ledseg_wanwei  <= "00111100";
  1155.                         when 1 => reg_ledseg_qianwei <= "00000000";
  1156.                         when 2 => reg_ledseg_baiwei  <= "00000000";
  1157.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  1158.                         when 4 => reg_ledseg_gewei   <= "00000000";
  1159.                         when others=>null;
  1160.                   end case;
  1161.        elsif(set_m8='1' and Morn='1')then
  1162.                  case scancnt is          
  1163.                         when 0 => reg_ledseg_wanwei  <= "00000000";
  1164.                         when 1 => reg_ledseg_qianwei <= "00000000";
  1165.                         when 2 => reg_ledseg_baiwei  <= "00000000";
  1166.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  1167.                         when 4 => reg_ledseg_gewei   <= "01111110";
  1168.                         when others=>null;
  1169.                  end case;
  1170.        if(weisel=4)then                
  1171.                         if(scancnt=4)then
  1172.                                 case gewei is
  1173.                                         when 0 => reg_ledseg_gewei <= "01111110";
  1174.                                         when 1 => reg_ledseg_gewei <= "00110000";
  1175.                                         when 2 => reg_ledseg_gewei <= "01101101";
  1176.                                         when 3 => reg_ledseg_gewei <= "01111001";
  1177.                                         when 4 => reg_ledseg_gewei <= "00110011";
  1178.                                         when 5 => reg_ledseg_gewei <= "01011011";
  1179.                                         when 6 => reg_ledseg_gewei <= "01011111";
  1180.                                         when 7 => reg_ledseg_gewei <= "01110000";
  1181.                                         when 8 => reg_ledseg_gewei <= "01111111";
  1182.                                         when 9 => reg_ledseg_gewei <= "01111011";
  1183.                                 when others => null;       
  1184.                                 end case;
  1185.                                 end if;
  1186.                         end if;
  1187.                  if(weisel=3)then
  1188.                         if(scancnt=3)then   
  1189.                                 case shiwei is
  1190.                                         when 0 => reg_ledseg_shiwei <= "01111110";
  1191.                                         when 1 => reg_ledseg_shiwei <= "00110000";
  1192.                                         when 2 => reg_ledseg_shiwei <= "01101101";
  1193.                                         when 3 => reg_ledseg_shiwei <= "01111001";
  1194.                                         when 4 => reg_ledseg_shiwei <= "00110011";
  1195.                                         when 5 => reg_ledseg_shiwei <= "01011011";
  1196.                                         when 6 => reg_ledseg_shiwei <= "01011111";
  1197.                                         when 7 => reg_ledseg_shiwei <= "01110000";
  1198.                                         when 8 => reg_ledseg_shiwei <= "01111111";
  1199.                                         when 9 => reg_ledseg_shiwei <= "01111011";
  1200.                                 when others => null;       
  1201.                                 end case;
  1202.                           end if;
  1203.                         end if;
  1204.                 if(weisel=2)then
  1205.                         if(scancnt=2)then   
  1206.                                 case baiwei is
  1207.                                         when 0 => reg_ledseg_baiwei <= "01111110";
  1208.                                         when 1 => reg_ledseg_baiwei <= "00110000";
  1209.                                         when 2 => reg_ledseg_baiwei <= "01101101";
  1210.                                         when 3 => reg_ledseg_baiwei <= "01111001";
  1211.                                         when 4 => reg_ledseg_baiwei <= "00110011";
  1212.                                         when 5 => reg_ledseg_baiwei <= "01011011";
  1213.                                         when 6 => reg_ledseg_baiwei <= "01011111";
  1214.                                         when 7 => reg_ledseg_baiwei <= "01110000";
  1215.                                         when 8 => reg_ledseg_baiwei <= "01111111";
  1216.                                         when 9 => reg_ledseg_baiwei <= "01111011";
  1217.                                 when others => null;       
  1218.                                 end case;
  1219.                           end if;
  1220.                         end if;
  1221.           if(weisel=1)then  
  1222.                         if(scancnt=1)then   
  1223.                                 case qianwei is  
  1224.                                         when 0 => reg_ledseg_qianwei <= "01111110";
  1225.                                         when 1 => reg_ledseg_qianwei <= "00110000";
  1226.                                         when 2 => reg_ledseg_qianwei <= "01101101";
  1227.                                         when 3 => reg_ledseg_qianwei <= "01111001";
  1228.                                         when 4 => reg_ledseg_qianwei <= "00110011";
  1229.                                         when 5 => reg_ledseg_qianwei <= "01011011";
  1230.                                         when 6 => reg_ledseg_qianwei <= "01011111";
  1231.                                         when 7 => reg_ledseg_qianwei <= "01110000";
  1232.                                         when 8 => reg_ledseg_qianwei <= "01111111";
  1233.                                         when 9 => reg_ledseg_qianwei <= "01111011";
  1234.                                 when others => null;       
  1235.                                 end case;
  1236.                          end if;
  1237.          end if;
  1238.          if(weisel=0)then
  1239.                         if(scancnt=0)then  
  1240.                                 case wanwei is  
  1241.                                         when 0 => reg_ledseg_wanwei <= "01111110";
  1242.                                         when 1 => reg_ledseg_wanwei <= "00110000";
  1243.                                         when 2 => reg_ledseg_wanwei <= "01101101";
  1244.                                         when 3 => reg_ledseg_wanwei <= "01111001";
  1245.                                         when 4 => reg_ledseg_wanwei <= "00110011";
  1246.                                         when 5 => reg_ledseg_wanwei <= "01011011";
  1247.                                         when 6 => reg_ledseg_wanwei <= "01011111";
  1248.                                         when 7 => reg_ledseg_wanwei <= "01110000";
  1249.                                         when 8 => reg_ledseg_wanwei <= "01111111";
  1250.                                         when 9 => reg_ledseg_wanwei <= "01111011";
  1251.                                 when others => null;       
  1252.                                 end case;
  1253.                          end if;
  1254.             end if;       
  1255.           end if;
  1256.    elsif(mode1=9)then
  1257.                 if(set_m9='0' and Morn='0')then
  1258.                   case scancnt is          
  1259.                         when 0 => reg_ledseg_wanwei  <= "00011111";
  1260.                         when 1 => reg_ledseg_qianwei <= "00000000";
  1261.                         when 2 => reg_ledseg_baiwei  <= "00000000";
  1262.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  1263.                         when 4 => reg_ledseg_gewei   <= "00000000";
  1264.                         when others=>null;
  1265.                   end case;
  1266.       elsif(set_m9='1' and Morn='1')then
  1267.                  case scancnt is          
  1268.                         when 0 => reg_ledseg_wanwei  <= "00000000";
  1269.                         when 1 => reg_ledseg_qianwei <= "00000000";
  1270.                         when 2 => reg_ledseg_baiwei  <= "00000000";
  1271.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  1272.                         when 4 => reg_ledseg_gewei   <= "01111110";
  1273.                         when others=>null;
  1274.                  end case;
  1275.        if(weisel=4)then                
  1276.                         if(scancnt=4)then
  1277.                                 case gewei is
  1278.                                         when 0 => reg_ledseg_gewei <= "01111110";
  1279.                                         when 1 => reg_ledseg_gewei <= "00110000";
  1280.                                         when 2 => reg_ledseg_gewei <= "01101101";
  1281.                                         when 3 => reg_ledseg_gewei <= "01111001";
  1282.                                         when 4 => reg_ledseg_gewei <= "00110011";
  1283.                                         when 5 => reg_ledseg_gewei <= "01011011";
  1284.                                         when 6 => reg_ledseg_gewei <= "01011111";
  1285.                                         when 7 => reg_ledseg_gewei <= "01110000";
  1286.                                         when 8 => reg_ledseg_gewei <= "01111111";
  1287.                                         when 9 => reg_ledseg_gewei <= "01111011";
  1288.                                 when others => null;       
  1289.                                 end case;
  1290.                                 end if;
  1291.                         end if;
  1292.                  if(weisel=3)then
  1293.                         if(scancnt=3)then   
  1294.                                 case shiwei is
  1295.                                         when 0 => reg_ledseg_shiwei <= "01111110";
  1296.                                         when 1 => reg_ledseg_shiwei <= "00110000";
  1297.                                         when 2 => reg_ledseg_shiwei <= "01101101";
  1298.                                         when 3 => reg_ledseg_shiwei <= "01111001";
  1299.                                         when 4 => reg_ledseg_shiwei <= "00110011";
  1300.                                         when 5 => reg_ledseg_shiwei <= "01011011";
  1301.                                         when 6 => reg_ledseg_shiwei <= "01011111";
  1302.                                         when 7 => reg_ledseg_shiwei <= "01110000";
  1303.                                         when 8 => reg_ledseg_shiwei <= "01111111";
  1304.                                         when 9 => reg_ledseg_shiwei <= "01111011";
  1305.                                 when others => null;       
  1306.                                 end case;
  1307.                           end if;
  1308.                         end if;
  1309.                 if(weisel=2)then
  1310.                         if(scancnt=2)then   
  1311.                                 case baiwei is
  1312.                                         when 0 => reg_ledseg_baiwei <= "01111110";
  1313.                                         when 1 => reg_ledseg_baiwei <= "00110000";
  1314.                                         when 2 => reg_ledseg_baiwei <= "01101101";
  1315.                                         when 3 => reg_ledseg_baiwei <= "01111001";
  1316.                                         when 4 => reg_ledseg_baiwei <= "00110011";
  1317.                                         when 5 => reg_ledseg_baiwei <= "01011011";
  1318.                                         when 6 => reg_ledseg_baiwei <= "01011111";
  1319.                                         when 7 => reg_ledseg_baiwei <= "01110000";
  1320.                                         when 8 => reg_ledseg_baiwei <= "01111111";
  1321.                                         when 9 => reg_ledseg_baiwei <= "01111011";
  1322.                                 when others => null;       
  1323.                                 end case;
  1324.                           end if;
  1325.                         end if;
  1326.           if(weisel=1)then  
  1327.                         if(scancnt=1)then   
  1328.                                 case qianwei is  
  1329.                                         when 0 => reg_ledseg_qianwei <= "01111110";
  1330.                                         when 1 => reg_ledseg_qianwei <= "00110000";
  1331.                                         when 2 => reg_ledseg_qianwei <= "01101101";
  1332.                                         when 3 => reg_ledseg_qianwei <= "01111001";
  1333.                                         when 4 => reg_ledseg_qianwei <= "00110011";
  1334.                                         when 5 => reg_ledseg_qianwei <= "01011011";
  1335.                                         when 6 => reg_ledseg_qianwei <= "01011111";
  1336.                                         when 7 => reg_ledseg_qianwei <= "01110000";
  1337.                                         when 8 => reg_ledseg_qianwei <= "01111111";
  1338.                                         when 9 => reg_ledseg_qianwei <= "01111011";
  1339.                                 when others => null;       
  1340.                                 end case;
  1341.                          end if;
  1342.          end if;
  1343.          if(weisel=0)then
  1344.                         if(scancnt=0)then  
  1345.                                 case wanwei is  
  1346.                                         when 0 => reg_ledseg_wanwei <= "01111110";
  1347.                                         when 1 => reg_ledseg_wanwei <= "00110000";
  1348.                                         when 2 => reg_ledseg_wanwei <= "01101101";
  1349.                                         when 3 => reg_ledseg_wanwei <= "01111001";
  1350.                                         when 4 => reg_ledseg_wanwei <= "00110011";
  1351.                                         when 5 => reg_ledseg_wanwei <= "01011011";
  1352.                                         when 6 => reg_ledseg_wanwei <= "01011111";
  1353.                                         when 7 => reg_ledseg_wanwei <= "01110000";
  1354.                                         when 8 => reg_ledseg_wanwei <= "01111111";
  1355.                                         when 9 => reg_ledseg_wanwei <= "01111011";
  1356.                                 when others => null;       
  1357.                                 end case;
  1358.                          end if;
  1359.             end if;       
  1360.           end if;
  1361.    elsif(mode1=10)then
  1362.                 if(set_m10='0' and Morn='0')then
  1363.                   case scancnt is          
  1364.                         when 0 => reg_ledseg_wanwei  <= "01000110";
  1365.                         when 1 => reg_ledseg_qianwei <= "00000000";
  1366.                         when 2 => reg_ledseg_baiwei  <= "00000000";
  1367.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  1368.                         when 4 => reg_ledseg_gewei   <= "00000000";
  1369.                         when others=>null;
  1370.                   end case;
  1371.       elsif(set_m10='1' and Morn='1')then
  1372.                  case scancnt is          
  1373.                         when 0 => reg_ledseg_wanwei  <= "00000000";
  1374.                         when 1 => reg_ledseg_qianwei <= "00000000";
  1375.                         when 2 => reg_ledseg_baiwei  <= "00000000";
  1376.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  1377.                         when 4 => reg_ledseg_gewei   <= "01111110";
  1378.                         when others=>null;
  1379.                  end case;
  1380.        if(weisel=4)then                
  1381.                         if(scancnt=4)then
  1382.                                 case gewei is
  1383.                                         when 0 => reg_ledseg_gewei <= "01111110";
  1384.                                         when 1 => reg_ledseg_gewei <= "00110000";
  1385.                                         when 2 => reg_ledseg_gewei <= "01101101";
  1386.                                         when 3 => reg_ledseg_gewei <= "01111001";
  1387.                                         when 4 => reg_ledseg_gewei <= "00110011";
  1388.                                         when 5 => reg_ledseg_gewei <= "01011011";
  1389.                                         when 6 => reg_ledseg_gewei <= "01011111";
  1390.                                         when 7 => reg_ledseg_gewei <= "01110000";
  1391.                                         when 8 => reg_ledseg_gewei <= "01111111";
  1392.                                         when 9 => reg_ledseg_gewei <= "01111011";
  1393.                                 when others => null;       
  1394.                                 end case;
  1395.                                 end if;
  1396.                         end if;
  1397.                  if(weisel=3)then
  1398.                         if(scancnt=3)then   
  1399.                                 case shiwei is
  1400.                                         when 0 => reg_ledseg_shiwei <= "01111110";
  1401.                                         when 1 => reg_ledseg_shiwei <= "00110000";
  1402.                                         when 2 => reg_ledseg_shiwei <= "01101101";
  1403.                                         when 3 => reg_ledseg_shiwei <= "01111001";
  1404.                                         when 4 => reg_ledseg_shiwei <= "00110011";
  1405.                                         when 5 => reg_ledseg_shiwei <= "01011011";
  1406.                                         when 6 => reg_ledseg_shiwei <= "01011111";
  1407.                                         when 7 => reg_ledseg_shiwei <= "01110000";
  1408.                                         when 8 => reg_ledseg_shiwei <= "01111111";
  1409.                                         when 9 => reg_ledseg_shiwei <= "01111011";
  1410.                                 when others => null;       
  1411.                                 end case;
  1412.                           end if;
  1413.                         end if;
  1414.                 if(weisel=2)then
  1415.                         if(scancnt=2)then   
  1416.                                 case baiwei is
  1417.                                         when 0 => reg_ledseg_baiwei <= "01111110";
  1418.                                         when 1 => reg_ledseg_baiwei <= "00110000";
  1419.                                         when 2 => reg_ledseg_baiwei <= "01101101";
  1420.                                         when 3 => reg_ledseg_baiwei <= "01111001";
  1421.                                         when 4 => reg_ledseg_baiwei <= "00110011";
  1422.                                         when 5 => reg_ledseg_baiwei <= "01011011";
  1423.                                         when 6 => reg_ledseg_baiwei <= "01011111";
  1424.                                         when 7 => reg_ledseg_baiwei <= "01110000";
  1425.                                         when 8 => reg_ledseg_baiwei <= "01111111";
  1426.                                         when 9 => reg_ledseg_baiwei <= "01111011";
  1427.                                 when others => null;       
  1428.                                 end case;
  1429.                           end if;
  1430.                         end if;
  1431.           if(weisel=1)then  
  1432.                         if(scancnt=1)then   
  1433.                                 case qianwei is  
  1434.                                         when 0 => reg_ledseg_qianwei <= "01111110";
  1435.                                         when 1 => reg_ledseg_qianwei <= "00110000";
  1436.                                         when 2 => reg_ledseg_qianwei <= "01101101";
  1437.                                         when 3 => reg_ledseg_qianwei <= "01111001";
  1438.                                         when 4 => reg_ledseg_qianwei <= "00110011";
  1439.                                         when 5 => reg_ledseg_qianwei <= "01011011";
  1440.                                         when 6 => reg_ledseg_qianwei <= "01011111";
  1441.                                         when 7 => reg_ledseg_qianwei <= "01110000";
  1442.                                         when 8 => reg_ledseg_qianwei <= "01111111";
  1443.                                         when 9 => reg_ledseg_qianwei <= "01111011";
  1444.                                 when others => null;       
  1445.                                 end case;
  1446.                          end if;
  1447.          end if;
  1448.          if(weisel=0)then
  1449.                         if(scancnt=0)then  
  1450.                                 case wanwei is  
  1451.                                         when 0 => reg_ledseg_wanwei <= "01111110";
  1452.                                         when 1 => reg_ledseg_wanwei <= "00110000";
  1453.                                         when 2 => reg_ledseg_wanwei <= "01101101";
  1454.                                         when 3 => reg_ledseg_wanwei <= "01111001";
  1455.                                         when 4 => reg_ledseg_wanwei <= "00110011";
  1456.                                         when 5 => reg_ledseg_wanwei <= "01011011";
  1457.                                         when 6 => reg_ledseg_wanwei <= "01011111";
  1458.                                         when 7 => reg_ledseg_wanwei <= "01110000";
  1459.                                         when 8 => reg_ledseg_wanwei <= "01111111";
  1460.                                         when 9 => reg_ledseg_wanwei <= "01111011";
  1461.                                 when others => null;       
  1462.                                 end case;
  1463.                          end if;
  1464.             end if;       
  1465.           end if;
  1466.    elsif(mode1=11)then
  1467.           if(set_m11='0' and Morn='0')then
  1468.                   case scancnt is          
  1469.                         when 0 => reg_ledseg_wanwei  <= "01001110";
  1470.                         when 1 => reg_ledseg_qianwei <= "00111011";
  1471.                         when 2 => reg_ledseg_baiwei  <= "00110000";
  1472.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  1473.                         when 4 => reg_ledseg_gewei   <= "00000000";
  1474.                         when others=>null;
  1475.                   end case;
  1476.              elsif(set_m11='1' and Morn='1')then
  1477.                  case scancnt is          
  1478.                         when 0 => reg_ledseg_wanwei  <= "00000000";
  1479.                         when 1 => reg_ledseg_qianwei <= "00000000";
  1480.                         when 2 => reg_ledseg_baiwei  <= "00000000";
  1481.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  1482.                         when 4 => reg_ledseg_gewei   <= "01111110";
  1483.                         when others=>null;
  1484.                  end case;
  1485.        if(weisel=4)then                
  1486.                         if(scancnt=4)then
  1487.                                 case gewei is
  1488.                                         when 0 => reg_ledseg_gewei <= "01111110";
  1489.                                         when 1 => reg_ledseg_gewei <= "00110000";
  1490.                                         when 2 => reg_ledseg_gewei <= "01101101";
  1491.                                         when 3 => reg_ledseg_gewei <= "01111001";
  1492.                                         when 4 => reg_ledseg_gewei <= "00110011";
  1493.                                         when 5 => reg_ledseg_gewei <= "01011011";
  1494.                                         when 6 => reg_ledseg_gewei <= "01011111";
  1495.                                         when 7 => reg_ledseg_gewei <= "01110000";
  1496.                                         when 8 => reg_ledseg_gewei <= "01111111";
  1497.                                         when 9 => reg_ledseg_gewei <= "01111011";
  1498.                                 when others => null;       
  1499.                                 end case;
  1500.                                 end if;
  1501.                         end if;
  1502.                  if(weisel=3)then
  1503.                         if(scancnt=3)then   
  1504.                                 case shiwei is
  1505.                                         when 0 => reg_ledseg_shiwei <= "01111110";
  1506.                                         when 1 => reg_ledseg_shiwei <= "00110000";
  1507.                                         when 2 => reg_ledseg_shiwei <= "01101101";
  1508.                                         when 3 => reg_ledseg_shiwei <= "01111001";
  1509.                                         when 4 => reg_ledseg_shiwei <= "00110011";
  1510.                                         when 5 => reg_ledseg_shiwei <= "01011011";
  1511.                                         when 6 => reg_ledseg_shiwei <= "01011111";
  1512.                                         when 7 => reg_ledseg_shiwei <= "01110000";
  1513.                                         when 8 => reg_ledseg_shiwei <= "01111111";
  1514.                                         when 9 => reg_ledseg_shiwei <= "01111011";
  1515.                                 when others => null;       
  1516.                                 end case;
  1517.                           end if;
  1518.                         end if;
  1519.                 if(weisel=2)then
  1520.                         if(scancnt=2)then   
  1521.                                 case baiwei is
  1522.                                         when 0 => reg_ledseg_baiwei <= "01111110";
  1523.                                         when 1 => reg_ledseg_baiwei <= "00110000";
  1524.                                         when 2 => reg_ledseg_baiwei <= "01101101";
  1525.                                         when 3 => reg_ledseg_baiwei <= "01111001";
  1526.                                         when 4 => reg_ledseg_baiwei <= "00110011";
  1527.                                         when 5 => reg_ledseg_baiwei <= "01011011";
  1528.                                         when 6 => reg_ledseg_baiwei <= "01011111";
  1529.                                         when 7 => reg_ledseg_baiwei <= "01110000";
  1530.                                         when 8 => reg_ledseg_baiwei <= "01111111";
  1531.                                         when 9 => reg_ledseg_baiwei <= "01111011";
  1532.                                 when others => null;       
  1533.                                 end case;
  1534.                           end if;
  1535.                         end if;
  1536.           if(weisel=1)then  
  1537.                         if(scancnt=1)then   
  1538.                                 case qianwei is  
  1539.                                         when 0 => reg_ledseg_qianwei <= "01111110";
  1540.                                         when 1 => reg_ledseg_qianwei <= "00110000";
  1541.                                         when 2 => reg_ledseg_qianwei <= "01101101";
  1542.                                         when 3 => reg_ledseg_qianwei <= "01111001";
  1543.                                         when 4 => reg_ledseg_qianwei <= "00110011";
  1544.                                         when 5 => reg_ledseg_qianwei <= "01011011";
  1545.                                         when 6 => reg_ledseg_qianwei <= "01011111";
  1546.                                         when 7 => reg_ledseg_qianwei <= "01110000";
  1547.                                         when 8 => reg_ledseg_qianwei <= "01111111";
  1548.                                         when 9 => reg_ledseg_qianwei <= "01111011";
  1549.                                 when others => null;       
  1550.                                 end case;
  1551.                          end if;
  1552.          end if;
  1553.          if(weisel=0)then
  1554.                         if(scancnt=0)then  
  1555.                                 case wanwei is  
  1556.                                         when 0 => reg_ledseg_wanwei <= "01111110";
  1557.                                         when 1 => reg_ledseg_wanwei <= "00110000";
  1558.                                         when 2 => reg_ledseg_wanwei <= "01101101";
  1559.                                         when 3 => reg_ledseg_wanwei <= "01111001";
  1560.                                         when 4 => reg_ledseg_wanwei <= "00110011";
  1561.                                         when 5 => reg_ledseg_wanwei <= "01011011";
  1562.                                         when 6 => reg_ledseg_wanwei <= "01011111";
  1563.                                         when 7 => reg_ledseg_wanwei <= "01110000";
  1564.                                         when 8 => reg_ledseg_wanwei <= "01111111";
  1565.                                         when 9 => reg_ledseg_wanwei <= "01111011";
  1566.                                 when others => null;       
  1567.                                 end case;
  1568.                          end if;
  1569.             end if;       
  1570.           end if;
  1571.    elsif(mode1=12)then
  1572.           if(set_m12='0' and Morn='0')then
  1573.                   case scancnt is          
  1574.                         when 0 => reg_ledseg_wanwei  <= "01001110";
  1575.                         when 1 => reg_ledseg_qianwei <= "00111011";
  1576.                         when 2 => reg_ledseg_baiwei  <= "01101101";
  1577.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  1578.                         when 4 => reg_ledseg_gewei   <= "00000000";
  1579.                         when others=>null;
  1580.                   end case;
  1581.      elsif(set_m12='1' and Morn='1')then
  1582.             case scancnt is          
  1583.                         when 0 => reg_ledseg_wanwei  <= "00000000";
  1584.                         when 1 => reg_ledseg_qianwei <= "00000000";
  1585.                         when 2 => reg_ledseg_baiwei  <= "00000000";
  1586.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  1587.                         when 4 => reg_ledseg_gewei   <= "01111110";
  1588.                         when others=>null;
  1589.                  end case;
  1590.        if(weisel=4)then                
  1591.                         if(scancnt=4)then
  1592.                                 case gewei is
  1593.                                         when 0 => reg_ledseg_gewei <= "01111110";
  1594.                                         when 1 => reg_ledseg_gewei <= "00110000";
  1595.                                         when 2 => reg_ledseg_gewei <= "01101101";
  1596.                                         when 3 => reg_ledseg_gewei <= "01111001";
  1597.                                         when 4 => reg_ledseg_gewei <= "00110011";
  1598.                                         when 5 => reg_ledseg_gewei <= "01011011";
  1599.                                         when 6 => reg_ledseg_gewei <= "01011111";
  1600.                                         when 7 => reg_ledseg_gewei <= "01110000";
  1601.                                         when 8 => reg_ledseg_gewei <= "01111111";
  1602.                                         when 9 => reg_ledseg_gewei <= "01111011";
  1603.                                 when others => null;       
  1604.                                 end case;
  1605.                                 end if;
  1606.                         end if;
  1607.                  if(weisel=3)then
  1608.                         if(scancnt=3)then   
  1609.                                 case shiwei is
  1610.                                         when 0 => reg_ledseg_shiwei <= "01111110";
  1611.                                         when 1 => reg_ledseg_shiwei <= "00110000";
  1612.                                         when 2 => reg_ledseg_shiwei <= "01101101";
  1613.                                         when 3 => reg_ledseg_shiwei <= "01111001";
  1614.                                         when 4 => reg_ledseg_shiwei <= "00110011";
  1615.                                         when 5 => reg_ledseg_shiwei <= "01011011";
  1616.                                         when 6 => reg_ledseg_shiwei <= "01011111";
  1617.                                         when 7 => reg_ledseg_shiwei <= "01110000";
  1618.                                         when 8 => reg_ledseg_shiwei <= "01111111";
  1619.                                         when 9 => reg_ledseg_shiwei <= "01111011";
  1620.                                 when others => null;       
  1621.                                 end case;
  1622.                           end if;
  1623.                         end if;
  1624.                 if(weisel=2)then
  1625.                         if(scancnt=2)then   
  1626.                                 case baiwei is
  1627.                                         when 0 => reg_ledseg_baiwei <= "01111110";
  1628.                                         when 1 => reg_ledseg_baiwei <= "00110000";
  1629.                                         when 2 => reg_ledseg_baiwei <= "01101101";
  1630.                                         when 3 => reg_ledseg_baiwei <= "01111001";
  1631.                                         when 4 => reg_ledseg_baiwei <= "00110011";
  1632.                                         when 5 => reg_ledseg_baiwei <= "01011011";
  1633.                                         when 6 => reg_ledseg_baiwei <= "01011111";
  1634.                                         when 7 => reg_ledseg_baiwei <= "01110000";
  1635.                                         when 8 => reg_ledseg_baiwei <= "01111111";
  1636.                                         when 9 => reg_ledseg_baiwei <= "01111011";
  1637.                                 when others => null;       
  1638.                                 end case;
  1639.                           end if;
  1640.                         end if;
  1641.           if(weisel=1)then  
  1642.                         if(scancnt=1)then   
  1643.                                 case qianwei is  
  1644.                                         when 0 => reg_ledseg_qianwei <= "01111110";
  1645.                                         when 1 => reg_ledseg_qianwei <= "00110000";
  1646.                                         when 2 => reg_ledseg_qianwei <= "01101101";
  1647.                                         when 3 => reg_ledseg_qianwei <= "01111001";
  1648.                                         when 4 => reg_ledseg_qianwei <= "00110011";
  1649.                                         when 5 => reg_ledseg_qianwei <= "01011011";
  1650.                                         when 6 => reg_ledseg_qianwei <= "01011111";
  1651.                                         when 7 => reg_ledseg_qianwei <= "01110000";
  1652.                                         when 8 => reg_ledseg_qianwei <= "01111111";
  1653.                                         when 9 => reg_ledseg_qianwei <= "01111011";
  1654.                                 when others => null;       
  1655.                                 end case;
  1656.                          end if;
  1657.          end if;
  1658.          if(weisel=0)then
  1659.                         if(scancnt=0)then  
  1660.                                 case wanwei is  
  1661.                                         when 0 => reg_ledseg_wanwei <= "01111110";
  1662.                                         when 1 => reg_ledseg_wanwei <= "00110000";
  1663.                                         when 2 => reg_ledseg_wanwei <= "01101101";
  1664.                                         when 3 => reg_ledseg_wanwei <= "01111001";
  1665.                                         when 4 => reg_ledseg_wanwei <= "00110011";
  1666.                                         when 5 => reg_ledseg_wanwei <= "01011011";
  1667.                                         when 6 => reg_ledseg_wanwei <= "01011111";
  1668.                                         when 7 => reg_ledseg_wanwei <= "01110000";
  1669.                                         when 8 => reg_ledseg_wanwei <= "01111111";
  1670.                                         when 9 => reg_ledseg_wanwei <= "01111011";
  1671.                                 when others => null;       
  1672.                                 end case;
  1673.                          end if;
  1674.             end if;       
  1675.           end if;
  1676.   elsif(mode1=13)then
  1677.           if(set_m13='0' and Morn='0')then
  1678.                   case scancnt is          
  1679.                         when 0 => reg_ledseg_wanwei  <= "00001110";
  1680.                         when 1 => reg_ledseg_qianwei <= "01011011";
  1681.                         when 2 => reg_ledseg_baiwei  <= "00000000";
  1682.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  1683.                         when 4 => reg_ledseg_gewei   <= "00000000";
  1684.                         when others=>null;
  1685.                   end case;
  1686.       elsif(set_m13='1' and Morn='1')then
  1687.                   case scancnt is          
  1688.                         when 0 => reg_ledseg_wanwei  <= "00000000";
  1689.                         when 1 => reg_ledseg_qianwei <= "00000000";
  1690.                         when 2 => reg_ledseg_baiwei  <= "00000000";
  1691.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  1692.                         when 4 => reg_ledseg_gewei   <= "01111110";
  1693.                         when others=>null;
  1694.                  end case;
  1695.        if(weisel=4)then                
  1696.                         if(scancnt=4)then
  1697.                                 case gewei is
  1698.                                         when 0 => reg_ledseg_gewei <= "01111110";
  1699.                                         when 1 => reg_ledseg_gewei <= "00110000";
  1700.                                         when 2 => reg_ledseg_gewei <= "01101101";
  1701.                                         when 3 => reg_ledseg_gewei <= "01111001";
  1702.                                         when 4 => reg_ledseg_gewei <= "00110011";
  1703.                                         when 5 => reg_ledseg_gewei <= "01011011";
  1704.                                         when 6 => reg_ledseg_gewei <= "01011111";
  1705.                                         when 7 => reg_ledseg_gewei <= "01110000";
  1706.                                         when 8 => reg_ledseg_gewei <= "01111111";
  1707.                                         when 9 => reg_ledseg_gewei <= "01111011";
  1708.                                 when others => null;       
  1709.                                 end case;
  1710.                                 end if;
  1711.                         end if;
  1712.                  if(weisel=3)then
  1713.                         if(scancnt=3)then   
  1714.                                 case shiwei is
  1715.                                         when 0 => reg_ledseg_shiwei <= "01111110";
  1716.                                         when 1 => reg_ledseg_shiwei <= "00110000";
  1717.                                         when 2 => reg_ledseg_shiwei <= "01101101";
  1718.                                         when 3 => reg_ledseg_shiwei <= "01111001";
  1719.                                         when 4 => reg_ledseg_shiwei <= "00110011";
  1720.                                         when 5 => reg_ledseg_shiwei <= "01011011";
  1721.                                         when 6 => reg_ledseg_shiwei <= "01011111";
  1722.                                         when 7 => reg_ledseg_shiwei <= "01110000";
  1723.                                         when 8 => reg_ledseg_shiwei <= "01111111";
  1724.                                         when 9 => reg_ledseg_shiwei <= "01111011";
  1725.                                 when others => null;       
  1726.                                 end case;
  1727.                           end if;
  1728.                         end if;
  1729.                 if(weisel=2)then
  1730.                         if(scancnt=2)then   
  1731.                                 case baiwei is
  1732.                                         when 0 => reg_ledseg_baiwei <= "01111110";
  1733.                                         when 1 => reg_ledseg_baiwei <= "00110000";
  1734.                                         when 2 => reg_ledseg_baiwei <= "01101101";
  1735.                                         when 3 => reg_ledseg_baiwei <= "01111001";
  1736.                                         when 4 => reg_ledseg_baiwei <= "00110011";
  1737.                                         when 5 => reg_ledseg_baiwei <= "01011011";
  1738.                                         when 6 => reg_ledseg_baiwei <= "01011111";
  1739.                                         when 7 => reg_ledseg_baiwei <= "01110000";
  1740.                                         when 8 => reg_ledseg_baiwei <= "01111111";
  1741.                                         when 9 => reg_ledseg_baiwei <= "01111011";
  1742.                                 when others => null;       
  1743.                                 end case;
  1744.                           end if;
  1745.                         end if;
  1746.           if(weisel=1)then  
  1747.                         if(scancnt=1)then   
  1748.                                 case qianwei is  
  1749.                                         when 0 => reg_ledseg_qianwei <= "01111110";
  1750.                                         when 1 => reg_ledseg_qianwei <= "00110000";
  1751.                                         when 2 => reg_ledseg_qianwei <= "01101101";
  1752.                                         when 3 => reg_ledseg_qianwei <= "01111001";
  1753.                                         when 4 => reg_ledseg_qianwei <= "00110011";
  1754.                                         when 5 => reg_ledseg_qianwei <= "01011011";
  1755.                                         when 6 => reg_ledseg_qianwei <= "01011111";
  1756.                                         when 7 => reg_ledseg_qianwei <= "01110000";
  1757.                                         when 8 => reg_ledseg_qianwei <= "01111111";
  1758.                                         when 9 => reg_ledseg_qianwei <= "01111011";
  1759.                                 when others => null;       
  1760.                                 end case;
  1761.                          end if;
  1762.          end if;
  1763.          if(weisel=0)then
  1764.                         if(scancnt=0)then  
  1765.                                 case wanwei is  
  1766.                                         when 0 => reg_ledseg_wanwei <= "01111110";
  1767.                                         when 1 => reg_ledseg_wanwei <= "00110000";
  1768.                                         when 2 => reg_ledseg_wanwei <= "01101101";
  1769.                                         when 3 => reg_ledseg_wanwei <= "01111001";
  1770.                                         when 4 => reg_ledseg_wanwei <= "00110011";
  1771.                                         when 5 => reg_ledseg_wanwei <= "01011011";
  1772.                                         when 6 => reg_ledseg_wanwei <= "01011111";
  1773.                                         when 7 => reg_ledseg_wanwei <= "01110000";
  1774.                                         when 8 => reg_ledseg_wanwei <= "01111111";
  1775.                                         when 9 => reg_ledseg_wanwei <= "01111011";
  1776.                                 when others => null;       
  1777.                                 end case;
  1778.                          end if;
  1779.             end if;       
  1780.           end if;
  1781.    elsif(mode1=14)then
  1782.           if(set_m14='0' and Morn='0')then
  1783.                   case scancnt is          
  1784.                         when 0 => reg_ledseg_wanwei  <= "00111101";
  1785.                         when 1 => reg_ledseg_qianwei <= "01001110";
  1786.                         when 2 => reg_ledseg_baiwei  <= "00000000";
  1787.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  1788.                         when 4 => reg_ledseg_gewei   <= "00000000";
  1789.                         when others=>null;
  1790.                   end case;
  1791.      elsif(set_m14='1' and Morn='1')then
  1792.             case scancnt is          
  1793.                         when 0 => reg_ledseg_wanwei  <= "00000000";
  1794.                         when 1 => reg_ledseg_qianwei <= "00000000";
  1795.                         when 2 => reg_ledseg_baiwei  <= "00000000";
  1796.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  1797.                         when 4 => reg_ledseg_gewei   <= "01111110";
  1798.                         when others=>null;
  1799.                  end case;
  1800.        if(weisel=4)then                
  1801.                         if(scancnt=4)then
  1802.                                 case gewei is
  1803.                                         when 0 => reg_ledseg_gewei <= "01111110";
  1804.                                         when 1 => reg_ledseg_gewei <= "00110000";
  1805.                                         when 2 => reg_ledseg_gewei <= "01101101";
  1806.                                         when 3 => reg_ledseg_gewei <= "01111001";
  1807.                                         when 4 => reg_ledseg_gewei <= "00110011";
  1808.                                         when 5 => reg_ledseg_gewei <= "01011011";
  1809.                                         when 6 => reg_ledseg_gewei <= "01011111";
  1810.                                         when 7 => reg_ledseg_gewei <= "01110000";
  1811.                                         when 8 => reg_ledseg_gewei <= "01111111";
  1812.                                         when 9 => reg_ledseg_gewei <= "01111011";
  1813.                                 when others => null;       
  1814.                                 end case;
  1815.                                 end if;
  1816.                         end if;
  1817.                  if(weisel=3)then
  1818.                         if(scancnt=3)then   
  1819.                                 case shiwei is
  1820.                                         when 0 => reg_ledseg_shiwei <= "01111110";
  1821.                                         when 1 => reg_ledseg_shiwei <= "00110000";
  1822.                                         when 2 => reg_ledseg_shiwei <= "01101101";
  1823.                                         when 3 => reg_ledseg_shiwei <= "01111001";
  1824.                                         when 4 => reg_ledseg_shiwei <= "00110011";
  1825.                                         when 5 => reg_ledseg_shiwei <= "01011011";
  1826.                                         when 6 => reg_ledseg_shiwei <= "01011111";
  1827.                                         when 7 => reg_ledseg_shiwei <= "01110000";
  1828.                                         when 8 => reg_ledseg_shiwei <= "01111111";
  1829.                                         when 9 => reg_ledseg_shiwei <= "01111011";
  1830.                                 when others => null;       
  1831.                                 end case;
  1832.                           end if;
  1833.                         end if;
  1834.                 if(weisel=2)then
  1835.                         if(scancnt=2)then   
  1836.                                 case baiwei is
  1837.                                         when 0 => reg_ledseg_baiwei <= "01111110";
  1838.                                         when 1 => reg_ledseg_baiwei <= "00110000";
  1839.                                         when 2 => reg_ledseg_baiwei <= "01101101";
  1840.                                         when 3 => reg_ledseg_baiwei <= "01111001";
  1841.                                         when 4 => reg_ledseg_baiwei <= "00110011";
  1842.                                         when 5 => reg_ledseg_baiwei <= "01011011";
  1843.                                         when 6 => reg_ledseg_baiwei <= "01011111";
  1844.                                         when 7 => reg_ledseg_baiwei <= "01110000";
  1845.                                         when 8 => reg_ledseg_baiwei <= "01111111";
  1846.                                         when 9 => reg_ledseg_baiwei <= "01111011";
  1847.                                 when others => null;       
  1848.                                 end case;
  1849.                           end if;
  1850.                         end if;
  1851.           if(weisel=1)then  
  1852.                         if(scancnt=1)then   
  1853.                                 case qianwei is  
  1854.                                         when 0 => reg_ledseg_qianwei <= "01111110";
  1855.                                         when 1 => reg_ledseg_qianwei <= "00110000";
  1856.                                         when 2 => reg_ledseg_qianwei <= "01101101";
  1857.                                         when 3 => reg_ledseg_qianwei <= "01111001";
  1858.                                         when 4 => reg_ledseg_qianwei <= "00110011";
  1859.                                         when 5 => reg_ledseg_qianwei <= "01011011";
  1860.                                         when 6 => reg_ledseg_qianwei <= "01011111";
  1861.                                         when 7 => reg_ledseg_qianwei <= "01110000";
  1862.                                         when 8 => reg_ledseg_qianwei <= "01111111";
  1863.                                         when 9 => reg_ledseg_qianwei <= "01111011";
  1864.                                 when others => null;       
  1865.                                 end case;
  1866.                          end if;
  1867.          end if;
  1868.          if(weisel=0)then
  1869.                         if(scancnt=0)then  
  1870.                                 case wanwei is  
  1871.                                         when 0 => reg_ledseg_wanwei <= "01111110";
  1872.                                         when 1 => reg_ledseg_wanwei <= "00110000";
  1873.                                         when 2 => reg_ledseg_wanwei <= "01101101";
  1874.                                         when 3 => reg_ledseg_wanwei <= "01111001";
  1875.                                         when 4 => reg_ledseg_wanwei <= "00110011";
  1876.                                         when 5 => reg_ledseg_wanwei <= "01011011";
  1877.                                         when 6 => reg_ledseg_wanwei <= "01011111";
  1878.                                         when 7 => reg_ledseg_wanwei <= "01110000";
  1879.                                         when 8 => reg_ledseg_wanwei <= "01111111";
  1880.                                         when 9 => reg_ledseg_wanwei <= "01111011";
  1881.                                 when others => null;       
  1882.                                 end case;
  1883.                          end if;
  1884.             end if;       
  1885.           end if;
  1886.    elsif(mode1=15)then
  1887.           if(set_m15='0' and Morn='0')then
  1888.                   case scancnt is          
  1889.                         when 0 => reg_ledseg_wanwei  <= "01100111";
  1890.                         when 1 => reg_ledseg_qianwei <= "00010101";
  1891.                         when 2 => reg_ledseg_baiwei  <= "00000000";
  1892.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  1893.                         when 4 => reg_ledseg_gewei   <= "00000000";
  1894.                         when others=>null;
  1895.                   end case;
  1896.      elsif(set_m15='1' and Morn='1')then
  1897.            case scancnt is          
  1898.                         when 0 => reg_ledseg_wanwei  <= "00000000";
  1899.                         when 1 => reg_ledseg_qianwei <= "00000000";
  1900.                         when 2 => reg_ledseg_baiwei  <= "00000000";
  1901.                         when 3 => reg_ledseg_shiwei  <= "00000000";
  1902.                         when 4 => reg_ledseg_gewei   <= "01111110";
  1903.                         when others=>null;
  1904.                  end case;
  1905.        if(weisel=4)then                
  1906.                         if(scancnt=4)then
  1907.                                 case gewei is
  1908.                                         when 0 => reg_ledseg_gewei <= "01111110";
  1909.                                         when 1 => reg_ledseg_gewei <= "00110000";
  1910.                                         when 2 => reg_ledseg_gewei <= "01101101";
  1911.                                         when 3 => reg_ledseg_gewei <= "01111001";
  1912.                                         when 4 => reg_ledseg_gewei <= "00110011";
  1913.                                         when 5 => reg_ledseg_gewei <= "01011011";
  1914.                                         when 6 => reg_ledseg_gewei <= "01011111";
  1915.                                         when 7 => reg_ledseg_gewei <= "01110000";
  1916.                                         when 8 => reg_ledseg_gewei <= "01111111";
  1917.                                         when 9 => reg_ledseg_gewei <= "01111011";
  1918.                                 when others => null;       
  1919.                                 end case;
  1920.                                 end if;
  1921.                         end if;
  1922.                  if(weisel=3)then
  1923.                         if(scancnt=3)then   
  1924.                                 case shiwei is
  1925.                                         when 0 => reg_ledseg_shiwei <= "01111110";
  1926.                                         when 1 => reg_ledseg_shiwei <= "00110000";
  1927.                                         when 2 => reg_ledseg_shiwei <= "01101101";
  1928.                                         when 3 => reg_ledseg_shiwei <= "01111001";
  1929.                                         when 4 => reg_ledseg_shiwei <= "00110011";
  1930.                                         when 5 => reg_ledseg_shiwei <= "01011011";
  1931.                                         when 6 => reg_ledseg_shiwei <= "01011111";
  1932.                                         when 7 => reg_ledseg_shiwei <= "01110000";
  1933.                                         when 8 => reg_ledseg_shiwei <= "01111111";
  1934.                                         when 9 => reg_ledseg_shiwei <= "01111011";
  1935.                                 when others => null;       
  1936.                                 end case;
  1937.                           end if;
  1938.                         end if;
  1939.                 if(weisel=2)then
  1940.                         if(scancnt=2)then   
  1941.                                 case baiwei is
  1942.                                         when 0 => reg_ledseg_baiwei <= "01111110";
  1943.                                         when 1 => reg_ledseg_baiwei <= "00110000";
  1944.                                         when 2 => reg_ledseg_baiwei <= "01101101";
  1945.                                         when 3 => reg_ledseg_baiwei <= "01111001";
  1946.                                         when 4 => reg_ledseg_baiwei <= "00110011";
  1947.                                         when 5 => reg_ledseg_baiwei <= "01011011";
  1948.                                         when 6 => reg_ledseg_baiwei <= "01011111";
  1949.                                         when 7 => reg_ledseg_baiwei <= "01110000";
  1950.                                         when 8 => reg_ledseg_baiwei <= "01111111";
  1951.                                         when 9 => reg_ledseg_baiwei <= "01111011";
  1952.                                 when others => null;       
  1953.                                 end case;
  1954.                           end if;
  1955.                         end if;
  1956.           if(weisel=1)then  
  1957.                         if(scancnt=1)then   
  1958.                                 case qianwei is  
  1959.                                         when 0 => reg_ledseg_qianwei <= "01111110";
  1960.                                         when 1 => reg_ledseg_qianwei <= "00110000";
  1961.                                         when 2 => reg_ledseg_qianwei <= "01101101";
  1962.                                         when 3 => reg_ledseg_qianwei <= "01111001";
  1963.                                         when 4 => reg_ledseg_qianwei <= "00110011";
  1964.                                         when 5 => reg_ledseg_qianwei <= "01011011";
  1965.                                         when 6 => reg_ledseg_qianwei <= "01011111";
  1966.                                         when 7 => reg_ledseg_qianwei <= "01110000";
  1967.                                         when 8 => reg_ledseg_qianwei <= "01111111";
  1968.                                         when 9 => reg_ledseg_qianwei <= "01111011";
  1969.                                 when others => null;       
  1970.                                 end case;
  1971.                          end if;
  1972.          end if;
  1973.          if(weisel=0)then
  1974.                         if(scancnt=0)then  
  1975.                                 case wanwei is  
  1976.                                         when 0 => reg_ledseg_wanwei <= "01111110";
  1977.                                         when 1 => reg_ledseg_wanwei <= "00110000";
  1978.                                         when 2 => reg_ledseg_wanwei <= "01101101";
  1979.                                         when 3 => reg_ledseg_wanwei <= "01111001";
  1980.                                         when 4 => reg_ledseg_wanwei <= "00110011";
  1981.                                         when 5 => reg_ledseg_wanwei <= "01011011";
  1982.                                         when 6 => reg_ledseg_wanwei <= "01011111";
  1983.                                         when 7 => reg_ledseg_wanwei <= "01110000";
  1984.                                         when 8 => reg_ledseg_wanwei <= "01111111";
  1985.                                         when 9 => reg_ledseg_wanwei <= "01111011";
  1986.                                 when others => null;       
  1987.                                 end case;
  1988.                          end if;
  1989.             end if;       
  1990.           end if;                            
  1991. end if;
  1992. end process;
  1993. end Behavioral;

复制代码
,刷新之后,再进行数据调整,结果不能保存了??? 请问蓝余大哥怎么解决这个问题啊?????
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-6-17 20:49 , Processed in 0.068394 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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