交通信号灯控制器..docVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
交通信号灯控制器.

交通信号灯控制器课程报告 一.设计要求 设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。 主、支干道交替允许通行,主干道每次放行45秒,支干道每次放行25秒,设立45秒、25秒计时、显示电路。 在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡。 提示: 选择1HZ时钟脉冲作为系统时钟。 45秒、25秒、5秒定时信号用倒计时,计时起始信号由主控电路给出,每当计满所需时间,计数器清零,由主控电路启、闭三色信号灯或启动另一计时电路。 设计思路 本设计针对一条主干道和一条支干道汇合成的十字路口,进行南北和东西直行情况下交通灯控制。根据交通灯的亮的规则,在初始状态下四个方向的都为红灯亮启,进入正常工作状态后,当主干道上绿灯亮时,支干道上红灯亮,持续45S后,主干道和支干道上的黄灯都亮启,持续5S后,主干道上红灯亮启,支干道上绿灯亮启持续25S,之后主干道和支干道上的黄灯都亮启5s,一个循环完成。循环往复的执行这个过程。 设计中用两组红黄绿LED模拟两个方向上的交通灯,用4个7段数码管分别显示两个方向上的交通灯剩余时间,控制时钟由试验箱上频率信号提供。 根据状态机的设计规范,本次设计了四个状态之间的循环转化,其真值表及状态转化图如下所示 目前状态 下一状态 输出 Light1 Light2 S0=00 S1=01 001 100 S1=01 S2=10 010 010 S2=10 S3=11 100 001 S3=11 S0=00 010 010 程序说明 1.各输入输出变量说明: clk:计数时钟 qclk:扫描显示时钟 rst:复位信号,当rst为1时,控制器和计数器回到初始状态 en:使能信号,当en为1时控制器开始工作,en为0时 hold:特殊情况控制信号,hold为1时,主、支干道方向无条件显示为红灯 seg:用于数码管的译码输出 dig:用于选择显示的数码管(片选) num1:用于主干道方向灯的时间显示 num2:用于支干道方向灯的时间显示 light1:控制主干道方向四盏灯的亮灭,其中,light1[0]~light1[2]分别控制主干道方向的绿灯、黄灯和红灯 light2:控制支干道方向四盏灯的亮灭,其中,light2[0]~light2[2]分别控制支干道方向的绿灯、黄灯和红灯 2.输入输出及中间变量设置: module traffic(en,clk,qclk,rst,hold,num1,num2,light1,light2,seg,dig; input en,clk,qclk,rst,hold; output [5:0]dig; output[7:0] num1,num2; output[6:0]seg; output[2:0]light1,light2; reg tim1,tim2; reg[3:0]disp_dat; reg[6:0]seg; reg[7:0]num1,num2; reg[7:0]red1,red2,green1,green2,yellow1,yellow2; reg[5:0]dig; reg [1:0]count; reg[1:0]state1,state2; reg[2:0]light1,light2; 3.初始状态设置: always @(en) if(!en) begin green1=8 red1=8 yellow1=8 green2=8 red2=8 yellow2=8 end 4.主干道方向点亮顺序: always@(posedge clk) //主干道 begin if(rst) begin light1=3b001; num1=green1; end else if(hold) begin light1=3b100; num1=green1; end else if(en) begin if(!tim1) begin tim1=1; case(state1) 2b00:begin num1=green1; light1=3b001; state1=2b01; end 2b01:begin num1=yellow1; light1=3b010; state1=2b11; end 2b11:begin num1=red1; light1=3b100; state1=2b10; end 2b10:begin num1=yello

文档评论(0)

gangshou + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档