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

📄 zhuangtaiji.vhd

📁 这是一个最最常用的用vhdl写的状态机
💻 VHD
字号:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all; 

entity zhuangtaiji is
port(
Clk,clr:IN Std_Logic;
kb0,kb1,kb2,kb3:IN std_logic;
z0,z1,z2,z3,z4,z5:out std_logic:='0'              --z0衣量设置z1温度设置z2方式设置
);
end zhuangtaiji; 

architecture behav of zhuangtaiji is
TYPE State_Type IS (S0,S1,s2,s3,s4);
SIGNAL State : State_Type:=s0;
signal qa,qb,qc,qd:std_logic:='0';
begin
   PROCESS(clk,clr)
begin
if clr='1' then state <= s0;
elsIF Clk'EVENT AND Clk = '1' THEN
     CASE State IS
         WHEN S0 =>                                                --衣量设置
            z0<='1';z1<='0';z2<='0';z3<='0';z4<='0';qb<='0';qc<='0';qd<='0';
            IF (kb2 = '1' and qa = '1' ) then state <= s1;
            ELSif ( (kb0 /= '0' or kb1 /='0') and kb2 = '0' and kb3='0')  then qa<='1';
            else state <= s0;
            END IF;
         WHEN s1 =>                                                --温度设置
            z0<='0';z1<='1';z2<='0';z3<='0';z4<='0';qa<='0';qc<='0';qd<='0'; 
            IF (kb2 = '1' and qb = '1')  then state <= s2;
            ELSif ( (kb0 /= '0' or kb1 /='0') and kb2 = '0' and kb3='0')  then qb<= '1';
            else state <= s1;
            END IF;
         when s2 =>                                                --方式设置
            z0<='0';z1<='0';z2<='1';z3<='0';z4<='0';qb<='0';qd<='0';qa<='0'; 
            IF (kb2 = '1' and qc = '1')  then state <= s3;
            ELSif ( (kb0 /= '0' or kb1 /='0') and kb2 = '0' and kb3='0')  then qc<= '1';
            else state <= s2;
            END IF;
         when s3 =>                                                --烘干设置
            z0<='0';z1<='0';z2<='0';z3<='1';z4<='0';qb<='0';qc<='0';qa<='0'; 
            IF (kb2 = '1' and qd = '1')  then state <= s4;
            ELSif (kb2 = '0' and kb3='0')  then qd<= '1';
            else state <= s3;
            END IF;
         when s4 =>
            z0<='0';z1<='0';z2<='0';z3<='0';z4<='1';              --开始洗衣服
            qa<='0';qb<='0';qc<='0';qd<='0';


end case;
end if;
end process;
end behav;










⌨️ 快捷键说明

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