⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fd_dmc3.vhd

📁 自动售货机 带选择商品,找零,退币,无货提示,单价显示,选择数量等空能
💻 VHD
字号:
library ieee;
use ieee.std_logic_1164.all;
entity fd_dmc3 is
 port(key1,key2,key3,clk:in std_logic;
      cpo1:out std_logic;
      cpo2:out std_logic;
      cpo3:out std_logic
      );
end fd_dmc3;
 architecture dmc of fd_dmc3 is
  signal qen1,cp1,cr1:std_logic;
  signal qen2,cp2,cr2:std_logic;
  signal qen3,cp3,cr3:std_logic;
  signal jsp1:integer range 0 to 15;
  signal jsp2:integer range 0 to 15;
  signal jsp3:integer range 0 to 15;
  begin
   d1:process(clk)
     begin 
      if qen1='0'then
       jsp1<=0;
       elsif(clk'event and clk='1')then
        if jsp1=7 then 
          jsp1<=0;
        else jsp1<=jsp1+1;
        end if;

        if jsp1=0 then
         cp1<='1';
        else
         cp1<='0';
        end if;
       --end if;
     
     end if;
     
        cpo1<=cp1;
    
     if jsp1<7 then 
      cr1<='1';
     else cr1<='0';
     end if;
end process d1;

c1:process(clk)
     begin
      if(clk'event and clk='1')then 
       if cr1='1' then
         if key1='1'then -- or key2='1'or key3='1'then
                 
           qen1<='1';
         else qen1<=qen1;
         end if;
       else qen1<='0';
       end if;
      end if;
end process c1;

d2:process(clk)
     begin 
      if qen2='0'then
       jsp2<=0;
       elsif(clk'event and clk='1')then
        if jsp2=7 then 
          jsp2<=0;
        else jsp2<=jsp2+1;
        end if;

        if jsp2=0 then
         cp2<='1';
        else
         cp2<='0';
        end if;
       --end if;
     
     end if;
     
        cpo2<=cp2;
    
     if jsp2<7 then 
      cr2<='1';
     else cr2<='0';
     end if;
end process d2;

c2:process(clk)
     begin
      if(clk'event and clk='1')then 
       if cr2='1' then
         if key2='1'then -- or key2='1'or key3='1'then
                 
           qen2<='1';
         else qen2<=qen2;
         end if;
       else qen2<='0';
       end if;
      end if;
end process c2;

d3:process(clk)
     begin 
      if qen3='0'then
       jsp3<=0;
       elsif(clk'event and clk='1')then
        if jsp3=7 then 
          jsp3<=0;
        else jsp3<=jsp3+1;
        end if;

        if jsp3=0 then
         cp3<='1';
        else
         cp3<='0';
        end if;
       --end if;
     
     end if;
     
        cpo3<=cp3;
    
     if jsp3<7 then 
      cr3<='1';
     else cr3<='0';
     end if;
end process d3;

c3:process(clk)
     begin
      if(clk'event and clk='1')then 
       if cr3='1' then
         if key3='1'then -- or key2='1'or key3='1'then
                 
           qen3<='1';
         else qen3<=qen3;
         end if;
       else qen3<='0';
       end if;
      end if;
end process c3;
end dmc;
        



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -