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;
正文
汽车车灯控制系统的VHDL语言实现2005-08-19 22:00:00
【评论】 【打印】 【字体:大 中 小】 本文链接:http://blog.pfan.cn/niao0311/3954.html
阅读(3673) | 评论(0)
版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!
评论