欢迎来到天天文库
浏览记录
ID:77785952
大小:67.23 KB
页数:4页
时间:2022-01-28
《VHDL汽车尾灯报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验报告实验项目名称:汽车尾灯的设计一、实验目的掌握VHDL程序设计方法二、实验内容和要求共6个尾灯,汽车正常行驶时,6个灯全灭;xx时,左边3个灯xx依次亮灭;右转时,右边3个灯从左到右依次亮灭;刹车时,车灯全亮;故障时,全部闪烁。在软件工具平台上,进行VHDL语言的各模块编程输入、编译实现和仿真验证。三、设计思想首先设置5种状态,即正常行驶“000,”左转“001,”右转“010,”刹车“011,”故障“10Q”这里用CONTRO的三位二进制来表示汽车的行驶状态。然后6个二极管和5个状态一一对应,并依据引入的时钟信号在上升沿
2、发光二极管发生响应并循环,直到改变状态。这里用LAMP6S表示6个发光二极管的状态。四、源程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYCARISPORT(CLK:INSTD_LOGIC;--normaldriving:000,left:001,right:010,brake:011,breakdown:1004/4CONTROL:INSTD_LOGIC_VECTOR(2DOWNTO0);LAMP6S:BUFFERSTD_LOGIC_VECTOR(5DOWNTO0):="000")
3、;END;ARCHITECTUREoneOFCARISSIGNALLK:STD_LOGIC:='1';SIGNALCONTORL:STD_LOGIC_VECTOR(2DOWNTO0);BEGINPROCESS(CLK,CONTROL)BEGINIFCLK'EVENTANDCLK='1'THENCASECONTROLISWHEN"000"=>LAMP6S<="000";--normaldrivingWHEN"001"=>CASELAMP6SISWHEN"000"=>LAMP6S<="001000";WHEN"001000"=>LA
4、MP6S<="0100";4/4WHEN"0100"=>LAMP6S<="1000";WHENOTHERS=>LAMP6S<="001000";ENDCASE;WHEN"010"=>CASELAMP6SISWHEN"000"=>LAMP6S<="000100";WHEN"000100"=>LAMP6S<="0010";WHEN"0010"=>LAMP6S<="0001";WHENOTHERS=>LAMP6S<="000100";ENDCASE;WHEN"011"=>LAMP6S<="111";--brakeWHEN"100"=>
5、LK<=NOT(LK);IFLK='1'THENLAMP6S<="000";ELSELAMP6S<="111";ENDIF;WHENOTHERS=>NULL;ENDCASE;ENDIF;ENDPROCESS;END;仿真波形如下:其中LAMP6S中的345是左转灯,左转时(CONTROLS001),左边3个灯从右到左依次亮灭,而右边灯全灭;012是右转灯,右转时(CONTROLS010),右边34/4个灯从左到右依次亮灭,而左边灯全灭;刹车时(CONTROLS011),车灯全亮;故障时(CONTROLS100),全部闪烁。正常行
6、驶时(CONTROLS000),灯全灭。五、总结通过本次实验,我们更进一步地掌握了VHDL程序设计方法,并熟悉了利用双重case语句来实现多重循环的要求。4/4
此文档下载收益归作者所有