文档详情

汽车尾灯控制电路 VHDL.doc

发布:2017-12-17约2.85千字共7页下载文档
文本预览下载声明
可编程逻辑器件设计大作业 题 目 汽车尾灯控制电路 学 院 班 级 姓 名 学 号 2013年12月20日 题 目:汽车尾灯控制电路 设计要求: 假设汽车尾部左右两侧各有3个指示灯(用发光二极管模拟 1)汽车正常运行时指示灯全灭。 2)转弯时,右侧3个指示灯按右循印顺序点亮。 3)转弯时,左侧3个指示灯按左循别顺序点亮。 4)临时刹车时,所有指示灯随着P时钟脉冲同步闪烁。 2、顶层原理图: 三、单元模块设计 1、各模块功能 汽车尾灯主控模块工作框图如上图 左边灯控制模块的工作框图如上图 右边灯控制模块的工作框图如上图 2、VHDL源程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; use ieee.STD_LOGIC_UNSIGNED.ALL; ENTITY weideng IS --实体 port(clk,tright,tleft:IN STD_LOGIC; --端口说明 rightdeng:OUT STD_LOGIC_VECTOR(2 DOWNTO 0); leftdeng:OUT STD_LOGIC_VECTOR(2 DOWNTO 0)); END ENTITY weideng; ARCHITECTURE qiche OF weideng IS --结构体部分 SIGNAL leftd:STD_LOGIC_VECTOR(1 DOWNTO 0); SIGNAL rightd:STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN control:PROCESS(clk,tleft,tright) BEGIN IF clkEVENT AND clk=1THEN IF rightd=01THEN --右信号 rightd=11; ELSE rightd=(rightd-1); END IF; IF leftd=01THEN --左信号 leftd=11; ELSE leftd=(leftd-1); END IF; END IF; END PROCESS control; proout:PROCESS(clk,tright,tleft,rightd,leftd) BEGIN IF clkEVENT AND clk=1THEN IF tright=1THEN --右信号有效时 leftdeng=000; CASE rightd IS --右边灯的亮灭状态 WHEN01=rightdeng=001; WHEN10=rightdeng=010; WHEN11=rightdeng=100; WHEN OTHERS=rightdeng=000; END CASE; ELSIF tright=0THEN --右信号无效 rightdeng=000; --右边3个灯全灭 END IF; IF tleft=1THEN --左信号有效 rightdeng=000; CASE leftd IS --左边灯的亮灭状态 WHEN01=leftdeng=100; WHEN10= leftdeng=010; WHEN11= leftdeng=001; WHEN OTHERS= leftdeng=000; END CASE; ELSIF tleft=0THEN --左信号无效 leftdeng=000; --左边3个灯全灭 END IF; END IF; IF tleft=1AND tright=1 THEN --左右信号都有效时6个灯全亮
显示全部
相似文档