1、当汽车往前行驶时(此时两个开关都未接通),6盏灯全灭。当汽车转弯时,若右转弯(即右转开关接通),右边的3盏尾灯从左至右顺序亮灭,左边3盏灯全灭;若左转弯(即左转开关接通),左边的3盏尾灯从右至左顺序亮灭,右边3盏灯全灭。当左、右两个开关同时接通时,6盏尾灯同时明、暗闪烁。二、开发工具选择采用硬件描述语言 VHDL进行描述,依靠计算机,借助EDA开发工具,实现系统功能。三、设计方案(1)、以Opencarcar作为总控制开关,当Opencarcar为1时,汽车解锁,汽车启动,此时车灯闪烁以两个开关L、R为控制信号,分别控制汽车的行驶、刹车、左转以及右转。如下图: 当总控制开关Opencarcar
2、为1,汽车启动,车灯闪烁3秒。车灯 脉冲 L0L1L2R0R1R2 121(2)、当总控制开关Opencarcar为1,汽车向前行驶,L R = 00,6盏灯全灭,即L0L1L2=000,R0R1R2=000;当总控制开关Opencarcar为0,汽车向前行驶时,车灯全灭。(3)、当总控制开关Opencar为1,汽车刹车,L R = 11,6盏灯闪烁,即L0L1L2=000 -111,R0R1R2=000 -111;当总控制开关Opencarcar为0,汽车刹车时,车灯闪烁。(4)、当总控制开关Opencarcar为1,汽车左转,L R = 10,左边的3盏尾灯从右至左顺序亮灭,右边3盏灯全灭
3、;当总控制开关Opencarcar为1,汽车左转时左边的3盏尾灯从右至左顺序亮灭,右边3盏灯全灭。34(5)、当总控制开关Opencarcar为1,汽车右转,L R = 01,右边的3盏尾灯从左至右顺序亮灭,左边3盏灯全灭;当总控制开关Opencarcar为1,汽车右转时右边的3盏尾灯从左至右顺序亮灭,左边3盏灯全灭。(6)、底层文件描述闪烁过程用单独的实体实现计时模块 , 实现车灯闪烁和亮灭要求亮0.5秒灭1秒。四、模块描述总模块1:顶层文件设计,实现汽车开启时解锁,车灯闪烁3秒;汽车向前行驶,车灯全灭,汽车刹车时车灯闪烁,汽车转弯时相应车灯闪烁. 总模块2:底层文件设计,实现汽车开启时,解
4、锁,车灯闪烁3秒.用模6计数原理. IF(CPEVENT AND CP=0)THEN -下降沿出触发 IF Opencarcar=1THEN -汽车解锁,车灯闪烁。 IF Q L=111; R Q end case;=Q+1; ELSE Q END IF;总模块3:底层文件设计,实现汽车锁定,汽车行驶,车灯全灭,汽车刹车,车灯闪烁,汽车转弯车灯相应闪烁.模块1:当总控制开关Opencarcar为1,汽车向前行驶,L R = 00,6盏灯全灭。IF adder=”00”THEN=”000”;模块2:总开关Opencarcar为1时,汽车刹车,L R = 11,6盏灯闪烁。 ELSIF Openc
5、arcar= AND adder =11THEN -汽车刹车模块3:总开关Opencarcar为1时,汽车左转,L R = 10,左边的3盏尾灯从右至左顺序亮灭,右边3盏灯全灭。 if L=then elsif ( L=)then elsif( L= else LR end if;模块4:总开关Opencarcar为1时,汽车右转,L R = 01,右边的3盏尾灯从左至右顺序亮灭,左边3盏灯全灭。 if R= elsif ( R= elsif( R= else RLCP,Opencarcar=Opencarcar,L=L,R=R,Q=Q); U2:StopCarmond6 PORT MAP(C
6、P=Opencarcar,Lift=Lift,Right=Right,L=END ;-底层实体,汽车解锁,车灯闪烁,计时模块-底层文件,模6 计时器USE IEEE.STD_LOGIC_1164.ALL ;USE IEEE.STD_LOGIC_UNSIGNED.ALL ;ENTITY Opencarmond6 ISARCHITECTURE ONE OF Opencarmond6 IS PROCESS (CP) BEGINIF(CP END PROCESS;-底层实体,汽车控制系统实现汽车行驶,转弯,汽车刹车,车灯闪烁,计时模块ENTITY StopCarmond6 ISARCHITECTURE
7、 ONE1 OF StopCarmond6 IS SIGNAL adder :STD_LOGIC_VECTOR( 1 DOWNTO 0); adder = Lift & Right; -中间信号 PROCESS( adder ,CP,Q) -进程00 THEN -汽车向前行驶10THEN -汽车左转01THEN -汽车右转END PROCESS;六、调试仿真七、课程设计回顾总结 通过这次设计,进一步加深了对EDA的了解,对它有了更加浓厚的兴趣。特别是当每一个子模块编写调试成功时,心里特别的开心。但是在编写程序时,遇到了不少问题,首先由于自己对于汽车的发动过程不是很了解,所以汽车解锁和汽车锁定方
8、面存在误区,程序一直运行不成功,在上网查询汽车操作以及在同学帮助下,在细心的检查下,终于找出了错误,排除困难后,程序编译就通过了,仿真文件基本符合这次实验要求。这次试验总的来说,进行的还算顺利,但在调试过程中,也遇到了一些自己不能解决的问题,通过请教同学,我明白解决的办法,在这次试验中,提高了整体设计和构思的能力,原来在学习过程中不明白的问题,在这次实习中通过自己操作有了进一步的理解,在解决困难的过程中,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论和实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,使自己对以后的路有了更加清楚的认识,同时,对未来有了更多的信心。参 考 文 献张兴忠 数字逻辑和数字系统 科学出版社李景华 可编程逻辑器件和EDA技术 东北大学出版社
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1