汽车尾灯的完整数字逻辑课程设计报告_第1页
汽车尾灯的完整数字逻辑课程设计报告_第2页
汽车尾灯的完整数字逻辑课程设计报告_第3页
汽车尾灯的完整数字逻辑课程设计报告_第4页
汽车尾灯的完整数字逻辑课程设计报告_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

石家庄经济学院信息工程学院数字逻辑课程设计报告题 目 汽车尾灯控制器的设计 成 绩 2010年6月目 录1. 功能描述022. 开发工具选择023. 设计方案 024 模块描述045. VHDL实现076. 调试仿真127. 课程设计回顾总结 13参 考 文 献 14附录 14一、功能描述设计功能描述:存在6盏汽车尾灯(汽车尾部左、右各3盏),用两个开关作为转弯和刹车控制信号(一个开关控制右转弯,另一个开关控制左转弯),用一个开关作为汽车车锁开启控制,打开汽车时车灯闪烁3秒钟,才能行驶。当汽车往前行驶时(此时两个开关都未接通),6盏灯全灭。当汽车转弯时,若右转弯(即右转开关接通),右边的3盏尾灯从左至右顺序亮灭,左边3盏灯全灭;若左转弯(即左转开关接通),左边的3盏尾灯从右至左顺序亮灭,右边3盏灯全灭。当左、右两个开关同时接通时,6盏尾灯同时明、暗闪烁。二、开发工具选择采用硬件描述语言 VHDL进行描述,依靠计算机,借助EDA开发工具,实现系统功能。三、设计方案(1)、以Opencarcar作为总控制开关,当Opencarcar为1时,汽车解锁,汽车启动,此时车灯闪烁以两个开关L、R为控制信号,分别控制汽车的行驶、刹车、左转以及右转。如下图: 当总控制开关Opencarcar为1,汽车启动,车灯闪烁3秒。车灯 脉冲 L0L1L2R0R1R2 10000002111111(2)、当总控制开关Opencarcar为1,汽车向前行驶,L R = 00,6盏灯全灭,即L0L1L2=000,R0R1R2=000;如下图:当总控制开关Opencarcar为0,汽车向前行驶时,车灯全灭。车灯 脉冲 L0L1L2R0R1R210000002000000(3)、当总控制开关Opencar为1,汽车刹车,L R = 11,6盏灯闪烁,即L0L1L2=000 -111,R0R1R2=000 -111;如下图:当总控制开关Opencarcar为0,汽车刹车时,车灯闪烁。车灯 脉冲 L0L1L2R0R1R210000002111111(4)、当总控制开关Opencarcar为1,汽车左转,L R = 10,左边的3盏尾灯从右至左顺序亮灭,右边3盏灯全灭;如下图:当总控制开关Opencarcar为1,汽车左转时左边的3盏尾灯从右至左顺序亮灭,右边3盏灯全灭。车灯 脉冲 L0L1L2R0R1R21000000200100030100004100000(5)、当总控制开关Opencarcar为1,汽车右转,L R = 01,右边的3盏尾灯从左至右顺序亮灭,左边3盏灯全灭;如下图:当总控制开关Opencarcar为1,汽车右转时右边的3盏尾灯从左至右顺序亮灭,左边3盏灯全灭。车灯 脉冲 L0L1L2R0R1R21000000200010030000104000001(6) 、底层文件描述闪烁过程用单独的实体实现计时模块 , 实现车灯闪烁和亮灭要求亮0.5秒灭1秒。四、模块描述总模块1:顶层文件设计,实现汽车开启时解锁,车灯闪烁3秒;汽车向前行驶,车灯全灭,汽车刹车时车灯闪烁,汽车转弯时相应车灯闪烁. 总模块2:底层文件设计,实现汽车开启时,解锁,车灯闪烁3秒.用模6计数原理. IF(CPEVENT AND CP=0)THEN -下降沿出触发 IF Opencarcar=1THEN -汽车解锁,车灯闪烁。 IF Q L=111; R L=000; R L=000; R L=111; R L=000; R L=000; R Q=101; end case; Q=Q+1; ELSE Q=000; END IF; END IF; END IF; 总模块3:底层文件设计,实现汽车锁定,汽车行驶,车灯全灭,汽车刹车,车灯闪烁,汽车转弯车灯相应闪烁.模块1:当总控制开关Opencarcar为1,汽车向前行驶,L R = 00,6盏灯全灭。IF adder=”00”THEN L=”000”; R=”000”;模块2:总开关Opencarcar为1时,汽车刹车,L R = 11,6盏灯闪烁。 ELSIF Opencarcar=0 AND adder =11THEN -汽车刹车 IF Q L=111; R L=000; R L=000; R L=111; R L=000; R L=000; R Q=000; end case; Q=Q+1; ELSE Q=000; END IF;模块3:总开关Opencarcar为1时,汽车左转,L R = 10,左边的3盏尾灯从右至左顺序亮灭,右边3盏灯全灭。 if L=000then L=001; R=000; elsif ( L=001)then L=010; R=000; elsif( L=010)then L=100; R=000; else L=001;R=000; end if;模块4:总开关Opencarcar为1时,汽车右转,L R = 01,右边的3盏尾灯从左至右顺序亮灭,左边3盏灯全灭。 if R=000then R=100; L=000; elsif ( R=100)then R=010; L=000; elsif( R=010)then R=001; L=000; else R=100;LCP,Opencarcar=Opencarcar,L=L,R=R,Q=Q); U2:StopCarmond6 PORT MAP(CP=CP,Opencarcar=Opencarcar,Lift=Lift,Right=Right,L=L,R=R,Q=Q);END ;-底层实体,汽车解锁,车灯闪烁,计时模块-底层文件,模6 计时器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL ;USE IEEE.STD_LOGIC_UNSIGNED.ALL ;ENTITY Opencarmond6 ISPORT( CP: IN STD_LOGIC; Opencarcar: IN STD_LOGIC; L: BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0); R:BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0); Q: BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0) ; END ; ARCHITECTURE ONE OF Opencarmond6 ISBEGIN PROCESS (CP) BEGINIF(CPEVENT AND CP=0)THEN -下降沿出触发 IF Opencarcar=1THEN -汽车解锁,车灯闪烁。 IF Q L=111; R L=000; R L=000; R L=111; R L=000; R L=000; R Q=101; end case; Q=Q+1; ELSE Q=000; END IF; END IF; END IF; END PROCESS;END;-底层实体,汽车控制系统实现汽车行驶,转弯,汽车刹车,车灯闪烁,计时模块-底层文件,模6 计时器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL ;USE IEEE.STD_LOGIC_UNSIGNED.ALL ;ENTITY StopCarmond6 ISPORT( CP: IN STD_LOGIC; Opencarcar: IN STD_LOGIC; Lift,Right: IN STD_LOGIC; L: BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0); R:BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0); Q: BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0) ; END ; ARCHITECTURE ONE1 OF StopCarmond6 IS SIGNAL adder :STD_LOGIC_VECTOR( 1 DOWNTO 0);BEGIN adder = Lift & Right; -中间信号 PROCESS( adder ,CP,Q) -进程BEGINIF(CPEVENT AND CP=0)THEN -下降沿出触发 IF Opencarcar=1 AND adder =00 THEN -汽车向前行驶 L=000; R=000; ELSIF Opencarcar=1 AND adder =11THEN -汽车刹车 IF Q L=111; R L=000; R L=000; R L=111; R L=000; R L=000; R Q=000; end case; Q=Q+1; ELSE Q=000; END IF; ELSIF Opencarcar=1 AND adder =10THEN -汽车左转 if L=000then L=001; R=000; elsif ( L=001)then L=010; R=000; elsif( L=010)then L=100; R=000; else L=001;R=000; end if; ELSIF Opencarcar=1 AND adder =01THEN -汽车右转 if R=000then R=100; L=000; elsif ( R=100)then R=010; L=000; elsif( R=010)then R=001; L=000; else R=100;L=000; end if; END IF; END IF;END PROCESS;END ;六、调试仿真七、课程设计回顾总结 通过这次设计,进一步加深了对EDA的了解,对它有了更加浓厚的兴趣。特别是当每一个子模块编写调试成功时,心里特别的开心。但是在编写程序时,遇到了不少问题,首先由于自己对于汽车的发动过程不是很了解,所以汽车解锁和汽车锁定方面存在误区,程序一直运行不成功,在上网查询汽车操作以及在同学帮助下,在细心的检查下,终于找出了错误,排除困难后,程序编译就通过了,仿真文件基本符合这次实验要求。这次试验总的来说,进行的还算顺利,但在调试过程中,也遇到了一些自己不能解决的问题,通过请教同学,我

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论