正文

汽车车灯控制系统的VHDL语言实现2005-08-19 22:00:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/niao0311/3954.html

分享到:


1.            系统功能及要求:
汽车上有一转弯控制杆,此杆有三种状态:中间位置时,汽车不转弯;向上时,汽车左转;
向下时汽车右转。汽车转弯时相应尾灯相应头灯均闪烁,当应急开关合上时,头灯尾
灯均闪烁。汽车刹车时,2个尾灯发出一直亮的信号。如果汽车刹车时正在转弯,则
相应的转弯闪烁信号不受影响。
2.    逻缉抽象:
由要求转换成真值表
          输入信号                          输出信号
         刹车  应急  左转  右转         左头灯 右头灯  左尾灯  右尾灯
         开关  开关  开关  开关          状态   状态    状态    状态
        (A)  (B)   (C)    (D)            (E)    (F)      (G)     (H)
          0     0     0      0             断     断      断      断   
          0     0     0      1             断     闪      断      闪  
          0     0     1      0             闪     断      闪      断  
          0     0     1      1             断     断      断      断
          0     1     0      0             闪     闪      闪      闪
          0     1     0      1             闪     闪      闪      闪
          0     1     1      0             闪     闪      闪      闪
          0     1     1      1             断     断      断      断
          1     0     0      0             断     断      通      通
          1     0     0      1             断     闪      通      闪
          1     0     1      0             闪     断      闪      通
          1     0     1      1             断     断      断      断
          1     1     0      0             闪     闪      通      通
          1     1     0      1             闪     闪      通      闪
          1     1     1      0             闪     闪      闪      通
          1     1     1      1             断     断      断      断
     注:断——灯不亮    闪——灯闪烁    通——灯一直亮
3.    由真值表得出逻缉表达式:
         E(断)=(C AND D) OR ((NOT B) AND (NOT C));
         E(闪)=(B AND (NOT C) ) OR (C AND (NOY(D));
         E(通)=0;
         F(断)=(C AND D) OR ((NOT B) AND (NOT D));
         F(闪)=((NOT C) AND D) OR (B AND (NOT(D));
         F(通)=0;
         G(断)=(C AND D) OR ((NOT A) AND (NOT B) AND (NOT C));
         G(闪)=(C AND (NOT D)) OR ((NOT A) AND B AND (NOT C));
         G(通)=A AND (NOT C);
         H(断)=(C AND D) OR ((NOT A) AND (NOT B) AND (NOT D));
         H(闪)=((NOT C) AND D) OR ((NOT A) AND B AND (NOT D));
         H(通)=A AND (NOT D);
4.    VHDL语言实现(源程序注释):
   library IEEE;                  ——定义IEEE库,使用std_logic_1164   
   use IEEE.std_logic_1164.all;         std_logic_unsigned 包集合
   use IEEE.std_logic_unsigned.all;

   entity autolight is               ——定义实体autolight    
port (                            A,B,C,D对应上述四个开关,信号为输入
        A: in STD_LOGIC;             E,F,G,H 对应上述前后车灯,信号为输出
        C: in STD_LOGIC;
        B: in STD_LOGIC;
        D: in STD_LOGIC;
        E: out STD_LOGIC;
        F: out STD_LOGIC;
        G: out STD_LOGIC;
        H: out STD_LOGIC
    );
end autolight;

阅读(3509) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册