澳门尼威斯人

当前位置:实验教学 >> 电子教案

数字电路EDA实验(课程)4智能交通灯控制器设计

来源:实验中心管理员 发布时间:2017-03-08 作者: 阅读数:8869次

实验题目

智能交通灯控制器设计

实验性质

综合设计

实验学时

2

面向专业

电信学院所有专业

开课学期

第2学期

开课单位

电工电子实验教学中心

实验地点

电子技术EDA实验室(404)

实验目的

  1、学会较复杂数字电路系统的设计,熟悉MAX+plusII并掌握用硬件语言描述有限状态机的方法。

 2、学习并掌握基于MAX+plusII的电路系统多层次的设计方法

 

实验仪器

计算机

 

实验原理

利用MAX+plusII的原理图输入方法设计时序较复杂的电路。

预习要求

 

EDA实验使学生了解通过软件仿真的方法可以高效的完成硬件电路设计的计算机技术,初步掌握自顶向下的设计方法、EDA设计流程等,会用原理图输入和硬件描述语言VHDL设计逻辑电路。

 

实验内容

1、               根据交通灯“红灯停,绿灯行,黄灯提醒”,按下图要求,可以采用8个状态机来设计用VerilogVHDL完成上述交通灯控制器的设计,并进行功能仿真。未标题-8.jpg

2、       设计一个十字路口智能交通灯控制器,AB方向和CD方向各有红灯、黄灯、绿灯和左转灯四种类型灯,四种灯按照合理的顺序依次亮灭,并能够将对应灯亮的时间以倒计时形式显示出来。

3、利用三个计数器,分别对应绿灯、黄灯、左转灯。利用三个信号监测3种灯的计数是否完毕。当检测到信号发生变化时状态就转换到下一个状态,即完成灯亮的变化。在显示方面,AB方向和CD方向各需要四个数码管显示,记数输出采用BCD码,每个方向红灯亮的时间=每个方向绿灯(64s)+2次黄灯(2*4s)+左转灯(15s)的时间。

 

实验方法

 

1、设计交通灯的状态转移表

未标题-9.jpg

2、状态机和计数器的部分程序

module   traffic_ctr(clk,rest,lamp_ab,lamp_cd);

input clk;//标准时钟信号

input   rest;//系统复位信号

output[3:0]lamp_ab,lamp_cd;//灯的顺序是绿灯、黄灯、左转灯、红灯

reg[5:0]count_green;//绿灯寄存器变量,灯亮时间为64s

reg[1:0]count_yellow;//黄灯寄存器变量,灯亮时间为4s

reg[3:0]count_turn;//转向灯寄存器变量,灯亮时间为16s

reg[2:0]pres_state,next_state;//状态机变量

reg[3:0]lamp_ab,lamp_cd;//对应灯的寄存器变量

wire   flag1,flag2,flag3;//作为进行下一个状态标志

assign   flag1=(count_green==0)?1:0;

assign   flag2=(count_yellow==0)?1:0;

assign   flag3=(count_turn==0)?1:0;

always@(flag1   or flag2 or flag3 or rest)

begin

    if(!rest)

    pres_state<=0;

    else

    pres_state<=next_state;

end

always@(posedge   clk)

begin

  case(pres_state)

0://AB方向绿灯亮

begin

  if(!flag1)

     begin

     lamp_ab<=4'b1000;

     lamp_cd<=4'b0001;

     count_green<=count_green+1;

     end

  else

     begin

     next_state<=1;

     count_green<=count_green+1;

     end

  end

1://AB方向黄灯亮

 begin

  if(!flag2)

     begin

     lamp_ab<=4'b0100;

     lamp_cd<=4'b0001;

     count_yellow<=count_yellow+1;

     end

  else

     begin

     next_state<=2;

 count_yellow<=count_yellow+1;

     end

  end

2://AB方向转向灯亮

 begin

  if(!flag3)

     begin

     lamp_ab<=4'b0010;

     lamp_cd<=4'b0001;

     count_turn<=count_turn+1;

     end

  else

     begin

     next_state<=3;

     count_turn<=count_turn+1;

     end

  end

3://AB方向黄灯亮

 begin

  if(!flag2)

     begin

     lamp_ab<=4'b0100;

     lamp_cd<=4'b0001;

     count_yellow<=count_yellow+1;

     end

  else

     begin

     next_state<=4;

     count_yellow<=count_yellow+1;

     end

  end

4://CD方向绿灯亮

 begin

  if(!flag1)

     begin

     lamp_ab<=4'b0001;

     lamp_cd<=4'b1000;

     count_green<=count_green+1;

     end

  else

     begin

     next_state<=5;

     count_green<=count_green+1;

     end

  end

5://CD方向黄灯亮

 begin

  if(!flag2)

     begin

     lamp_ab<=4'b0001;

     lamp_cd<=4'b0100;

     count_yellow<=count_yellow+1;

     end

  else

     begin

     next_state<=6;

     count_yellow<=count_yellow+1;

     end

  end

6://CD方向转向灯亮

 begin

  if(!flag3)

     begin

     lamp_ab<=4'b0001;

     lamp_cd<=4'b0010;

     count_turn<=count_turn+1;

     end

  else

     begin

     next_state<=7;

     count_turn<=count_turn+1;

     end

  end

7://CD方向黄灯亮

begin

  if(!flag2)

     begin

     lamp_ab<=4'b0001;

     lamp_cd<=4'b0100;

     count_yellow<=count_yellow+1;

     end

  else

     begin

     next_state<=0;

     count_yellow<=count_yellow+1;

     end

  end

 endcase

end

endmodule

3、               仿真波形

未标题-10.jpg

未标题-11.jpg

 

数据及处理

1、详细叙述文本输入法的设计流程。

2设计的计数器和译码器为底层文件,完成顶层设计,并对顶层文件进行功能仿真详细步骤。

思考题

1、 分析输出的仿真结果。

2、 说明时序逻辑电路的设计步骤。

3、 说明用硬件语言描述时序逻辑电路有限状态机的设计流程

实验报告要求

实验报告的书写要包括以下几部分内容:

1实验目的;实验原理;实验内容;实验步骤及方法;实验仿真;实验结论;思考题解答,详细叙述交通控制灯设计步骤和详细设计流程。

2、给出实验参考程序,顶层原理图,仿真波形图,并对仿真结果进行分析。

3、实验的结论和体会。

 






 

                                                      教师签字:


站点地图-xml  
澳门尼威斯人(中国)科技有限公司