基于VHDL语言的汽车尾灯控制电路的设计

基于VHDL语言的汽车尾灯控制电路的设计

ID:38711519

大小:121.50 KB

页数:5页

时间:2019-06-18

基于VHDL语言的汽车尾灯控制电路的设计_第1页
基于VHDL语言的汽车尾灯控制电路的设计_第2页
基于VHDL语言的汽车尾灯控制电路的设计_第3页
基于VHDL语言的汽车尾灯控制电路的设计_第4页
基于VHDL语言的汽车尾灯控制电路的设计_第5页
资源描述:

《基于VHDL语言的汽车尾灯控制电路的设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于VHDL语言的汽车尾灯控制电路的设计XXXXX班XXX学号:XXXXXXX摘要:本课题主要是基于可编程逻辑器件,使用硬件描述语言VHDL,采用“自顶向下”的设计方法编写程序实现汽车尾灯的控制,并对控制器进行编程下载,它的体积小,功耗低,成本低,安全可靠,能实现控制器的在系统编程,其升级与改进极为方便。关键词:VHDL汽车尾灯控制时钟信号1.尾灯控制电路总框图,根据电路总框图的描述,我们大概可以了解到整个汽车控制尾灯的工作原理,从中我们可以发现当左右转信号同时有效时,6盏灯的闪烁是通过一个与非门实现的。并且可以获知本次设计的汽车尾灯控制电路主要分为三个模块,即控

2、制模块,左转LFTA模块和右转RITA模块。了解到这几点,就可以对本次设计作较为详尽的解释。2.模块KONG。模块KONG如图所示,此为整个程序的控制模块。程序如下:Libraryieee;Useieee.std_logic_1164.all;EntitykongisPort(left,right:instd_logic;Lft,rit,lr:outstd_logic);Endkong;Architecturekong_logicofkongisBeginProcess(left,right)Variablea:std_logic_vector(1downto0)

3、;BeginA:=left&right;CaseaisWhen”00”=>lft<=’0’;Rit<=’0’;Lr<=’0’;When”10”=>lft<=’1’;Rit<=’0’;Lr<=’0’;When”01”=>rit<=’1’;Lft<=’0’;Lr<=’0’;Whenother=>rit<=’1’;lft<=’1’;lr<=’1’;endcase;endprocess;endkong_arc;控制模块首先使用了库说明语句:libraryieee;Useieee.std_logic_1164.all使用ieee库中的std_logic_1164程序包的全部

4、资源。此控制模块定义的实体名为kong。在程序中要求实体名与存储的文件名一致。实体名为kong,则存储的文件名为kong.vhd。且此段程序包有5个端口,其名称分别为left.Right.Lft.Rit.Lr。left和right的端口方式是输入,lft,rit,lr是输出,他们的端口类型都是std_logic的数据类型。实体说明部分结束以后,就是结构体的说明部分。结构体是整个VHDL语言中至关重要的一个组成部分,这个部分给出模块的具体说明,指定输入与输出之间的行为。结构体对实体的输入输出关系可以用三种关进行描述,即行为描述,寄存器传输描述和结构描述。只不过结构体

5、的框架是完全一样的。本结构体中包含有一个进程语句,进程语句中又包含有两个敏感量process(left,right),从begin开始到endprocess结束是一组顺序执行语句,ieee标准数据类型“std_logic_vector”定义了两位位矢量1downto0,变量为a。程序往下把left和right的与赋值给a,下面便执行case语句了,case语句是无序的,所以所有条件表达式的值都是并行处理的。当条件表达式的值为”00”时则把lft,rit,lr,都变为0,所有信号都无效。当条件表达式为”10”时,左转信号lft有效,其它信号都无效,当条件表达式的值为

6、”01”时右转信号rit有效,其余的无效。若条件表达式为其它的情况的话,那么就将rit,lft,lr全部置1,即全部有效。最后结束case语句endcase.结束进程和结构体语句。3.模块LFTA源程序:Libraryieee;Useieee.std_logic_1164.all;EntitylftaisPort(en,clk,lr:instd_logic;L2,l1,l0:outstd_logic);Endlfta;Architecturelft_arcoflftaisBeginProcess(clk,en,lr)Variabletmp:std_logic_ve

7、ctor(2downto0);BeginIflr=’1’thenTmp:=”111”;Elsifen=’0’thenTmp:=”000”;Elsifclk’eventandclk=’1’thenIftmp=”000”thenTmp:=”001”;ElseTmp:=tmp(1downto0)&‘0’;Endif;Endif;L2<=tmp(2);L1<=tmp(1);L0<=tmp(0);Endprocess;Endlft_arc;模块LFTA同样使用了ieee库语句,定义的实体名为lfta,其共分为六个端口即en,clk,lr,l2,l1,l0,其中en,clk,

8、lr为输入

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。