欢迎来到天天文库
浏览记录
ID:8467875
大小:136.00 KB
页数:10页
时间:2018-03-28
《eda交通灯课程设计实验报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、EDA交通灯课程设计实验报告学院:通信与信息工程学院专业:电子信息工程班级:9/16目录交通灯控制系统的设计11.设计要求11.1实现基本要求及扩展11.2附加要求12设计思路13状态机变化图23.1状态机变化图24设计步骤及程序34.1主体程序代码34.2分频程序代码54.3计数器程序代码64.4二选一数据选择器程序代码7whenothers=>seg<=b;dig<="";8endcase;8endprocess;8end;84.5控制系统电路图85硬件实现及调试结果85.1硬件测试结构示意85.2软件仿真结果96.心得体会99/
2、16交通灯控制系统的设计1.设计要求1.1实现基本要求及扩展1.能显示十字路口东西、南北两个方向的红、黄、绿灯的指示状态,用两组红、黄、绿三色灯作为两个方向的红、黄、绿灯;每次通行时间为15S,2.能实现正常的倒计时功能,用两组数码管作为东西、南北向的倒计时显示。其中,黄灯:3S。3.当出现一方出现红灯,另一方出现绿灯时,出现红灯的之路左转弯灯亮。4.能实现特殊状态的功能。按下Sw0键后,能实现以下特殊功能:(1)四个数码管的显示都为0,(2)东西、南北路口均显示红灯状态;5.用VHDL语言设计上述功能的交通灯控制器,并用含有四个状态
3、的状态机;1.2附加要求1.时钟输入:clkin=1KHz;2.采用分频器分成:1Hz,然后提供给系统。2设计思路交通灯控制器的电路控制原理框图如图1所示,主要包括分频器模块、计数器模块、主控制器模块和二选一数据选择器模块。计数器模块以秒为单位倒计时,当计数值依次加一,直至“1111”,再进行下次的计数循环。分频器模块将1000HZ的频率转化为1HZ。数据选择器模块完成数码管个位和十位的seg选择,从而完成两位数字的显示。核心部分是主控制模块。具体控制情况见表1。9/16图1电路控制原理框图状态干道1干道2时间/s红灯与左转灯亮绿灯亮
4、12红灯亮黄灯亮3绿灯亮红灯与左转灯亮12黄灯亮红灯亮3表1交通灯控制表3状态机变化图3.1状态机变化图根据交通灯的流程图,可以得到如图2所示的控制状态转换图。从图2的状态转换可以看出,交通灯电路应该能够具有以下几个功能:计数功能、状态控制功能(实现交通信号灯的状态控制和计时器控制)、译码功能及二选一数据选择器(实现4位数码管的显示功能)。对于实现上述功能的交通信号灯控制器电路,需要设计以下各个电路单元。9/16图2控制状态转换图4设计步骤及程序4.1主体程序代码libraryieee;useieee.std_logic_1164.a
5、ll;useieee.std_logic_unsigned.all;entityzhuisport(QI:instd_logic_vector(3downto0);clk,reset:instd_logic;segshi,segge:outstd_logic_vector(7downto0);led:outstd_logic_vector(7downto0));end;architecturezhutiofzhuissignalstate,led1:std_logic_vector(7downto0);signalseg1:std_l
6、ogic_vector(7downto0);beginshiwei:process(clk,QI,reset)variableseg2:std_logic_vector(7downto0);beginifreset='0'thenseg2:="";elseifQI="0000"thenseg2:="";endif;9/16ifQI="0011"thenseg2:="";endif;endif;segshi<=seg2;endprocess;gewei:process(clk,QI,reset)beginifreset='0'thens
7、eg1<="";elseif(QI="0010"orQI="1100"orQI="1111")thenseg1<="";endif;--0if(QI="0001"orQI="1011"orQI="1110")thenseg1<="";endif;--1if(QI="0000"orQI="1010"orQI="1101")thenseg1<="";endif;--2ifQI="1001"thenseg1<="";endif;--3ifQI="1000"thenseg1<="";endif;--4ifQI="0111"thenseg1<=
8、"";endif;--5ifQI="0110"thenseg1<="";endif;--6ifQI="0101"thenseg1<="";endif;--7ifQI="0100"thenseg1<="";endif;--
此文档下载收益归作者所有