1、 1 1 1 设计内容及其分析设计内容及其分析 1.1 1.1 设计的内容设计的内容 用 8 个发光二极管模拟 8 个汽车尾灯(左、右各 4 个,高电平点亮) ,用四个开关作 为左转弯、右转弯、刹车、双闪控制信号(高电平有效) 。当汽车往前行驶时,8 灯全灭。 当汽车转弯时(左、右转弯开关不会同时有效) ,若右转弯,右边 4 个尾灯从左至右循环 点亮,左边 4 个灯全灭。若左转弯,左边 4 个尾灯从右至左循环点亮,右边 4 个灯全灭。 汽车刹车时(第 2 优先级) ,8 个灯全亮。双闪信号有效时(优先级最高)时,8 个灯明、 暗闪烁。 1.2 1.2 设计内容分析设计内容分析 当汽车转弯时(左
2、、右转弯开关不会同时有效) ,若右转弯,右边 4 个尾灯从左至右循 环点亮,左边 4 个灯全灭。若左转弯,左边 4 个尾灯从右至左循环点亮,右边 4 个灯全灭。 汽车刹车时(第 2 优先级) ,8 个灯全亮。双闪信号有效时(优先级最高)时,8 个灯明、 暗闪烁。 根据以上分析可以画出尾灯和汽车运行关系表如下所示: 开关控制 汽车运行状 态 左边灯 右边灯 LEFTL0 L1L2L3 分频电路 5 图 3.2 时钟分频模块工作框图 时钟分频模块由 VHDL 程序来实现,下面是其中的一段 VHDL 代码: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE
3、 IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY fp IS PORT ( clk :IN STD_LOGIC; q1:OUT STD_LOGIC); END ENTITY fp; ARCHITECTURE zero OF fp IS SIGNAL temp1: STD_LOGIC_VECTOR(5 DOWNTO 0); SIGNAL temp2: STD_LOGIC; BEGIN PROCESS(clk) BEGIN IF(clkEVENT AND clk = 1) THEN IF temp1=“100110“ THEN temp2=not temp2; temp1=
4、“000000“; ELSE temp1=temp1+1; END IF; END IF; END PROCESS ; q1lp=0;rp=0;sc=0;sslp=1;rp=0;sc=0;ssrp=1;lp=0;sc=0;ssrp=0;lp=0;sc=1;sslp=0;rp=0;sc=0;ss=1; end case; end process; end bh; 3.3.43.3.4 左边灯控制模块左边灯控制模块 左边灯控制模块的工作框图如图 3.4 所示。 7 图 3.4 左边灯控制模块的工作框图 左边灯控制模块由 VHDL 程序来实现,下面是其中的一段 VHDL 代码: library ieee; use ieee.std_logic_1164.all; entity lc is port(lp,clk,ss,sc:in std_logic; l3,l2,l1,l0:out std_logic); end lc; architecture one of lc is begin process(clk