蚂蚁文库
换一换
首页 蚂蚁文库 > 资源分类 > PDF文档下载
 

交通控制器

  • 资源ID:55540452       资源大小:743.80KB        全文页数:14页
  • 资源格式: PDF        下载权限:游客/注册会员    下载费用:10积分 【人民币10元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: 微信快捷登录 QQ登录  
下载资源需要10积分 【人民币10元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 微信支付    支付宝   
验证码:   换一换

 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

交通控制器

Verilog 课程设计 交通信号灯控制器交通信号灯控制器 一、设计要求 本次作业设计是一个交通控制器, 该交通信号灯控制器是设计十字路口的红绿灯, 用 LED 作为红绿黄的指示灯的模拟,用数码管来显示当前的亮灯倒计时秒数。 为了便于解释程序,把本次十字路口的道路分为主干道和支干道。主、支干道的红绿灯 交替亮灭,中间是穿插黄灯的亮灭。主干道放行 40s,即支干道禁行 40 秒,然后主干道和 支干道同时亮起黄灯 5 秒,5 秒黄灯后,支干道绿灯30 秒,即主干道的红灯亮起30 秒,然 后在主干道绿灯亮起之前再亮5 秒黄灯,依次循环下去。 二、设计思路 本次设计需要用到数码管, led 等外围设备。因为本设计是交通信号灯的控制器, 需要知 道具体的秒数, 并且需要数码管显示倒计时间, 所以需要一个分频模块来通过分频来生成一 个 1Hz 的频率作为数码管倒计时控制时钟,并且用来计时。 首先,我是应用到状态机来控制红绿黄灯之间的状态转换,转换图如下 主绿/支红 40s 主黄/主黄 5 秒 主黄/支黄 5s 主红/支绿 30 秒 该状态图为交通灯在正常情况下的状态转化图, 进入控制后, 状态00时主干道绿灯及支 干道红灯亮起40s,进入状态01后两路黄灯亮起5s,状态11时主干道红灯及支干道绿灯亮起 30s。进入10状态两路黄灯亮起5秒。结束一个循环,从00状态重新开始循环。 为了显示其中的功能,需要用数码管进行倒计时显示,并且我用六个LED来模拟主干道 和支干道的红绿黄灯。 三、程序流程图如下 开始 rst 按下 N Y 两绿灯亮 Y hold 按下 N 主红/支绿 40s 两红灯亮 两黄 5s 主绿/支红 30s 两黄 5s 四、各个模块的设计介绍 分频模块,本次设计是基于 fpga 开发板的,所以默认时钟输入时 50M,次模块是 经过分频以后输出 clk_out2 为 1Hz 的时钟,作为整个交通控制器的时钟。 分频模块如下 分频模块的程序如下 module fenpinclk_in,clk_out2,en; clk_in,en; output clk_out2; reg[150] cnt1; reg[90] cnt2; reg[90] cnt3; reg clk_out1,clk_out2; alwaysposedge clk_in begin ifcnt125000 begin // clk_out10; cnt1cnt11b1; end else begin cnt10; clk_out1clk_out1; end end alwaysposedge clk_out1 begin ifen begin ifcnt2500 begin //clk_out20; cnt2cnt21b1; end else begin cnt20; clk_out2clk_out2; //ledclk_out2; end end end endmodule 主干道模块,主干道模块的输入时钟即为分频模块输出的1Hz 的时钟,rst 为复位 信号,hold 是让所有干道红灯都亮起的按键,en 为使能按键。输出为 light1 为控制主 干道上的三个灯,num1 为控制数码管的倒计时。 主干道模块如下 程序如下 module streetclk,light1,num1,rst,hold,en; clk; rst,hold,en; output[20] light1;//红黄绿 output[70] num1; reg[20] light1; reg[70] num1; reg tim1; reg[70] green1,red1,yellow1; reg[10] state1; always en ifen begin //设置计数初值 green18b01000000;// 40 秒 red18b00110000;//30 秒 yellow18b00000101;//5 秒 end always posedge clk begin ifrst //复位与特殊情况控制 begin light13b001; num1green1; end else ifhold begin light13b100; num1red1; end else ifen begin //使能有效开始控制计数 iftim1 //开始控制 begin //主干道交通灯点亮控制 tim11; casestate1 2b00begin num1green1; light13b001; state12b01; end//绿 2b01begin num1yellow1;light13b010; state12b11; end//黄 2b11begin num1red1;light13b100; state12b10; end//红 2b10begin num1yellow1;light13b010; state12b00; end//黄 defaultbegin light10 ifnum1[30]0 begin num1[30]4b1001; num1[74]num1[74]-1; end else num1[30]num1[30]-1; ifnum11 tim10; end end else begin light13b010; num12b00; tim10; end end endmodule 支干道模块设计方法和主干道一致,只是红绿灯的亮灭的主干道的相反而已。 支干道模块如下 数码管模块控制四个数码管来显示主干道和支干道的数字倒计时 datain0、datain1 分别主干道和支干道的倒计时数字信号输入, 输出即为数码管的段选和位选, 数码管程 序设计是用的动态扫描。 数码管模块如下 数码管程序如下 module shumaguan sys_clk, [70]datain0, [70]datain1, //片选信号 output wireseg_c1, output wireseg_c2, output wireseg_c3 output wireseg_c4 //位选信号 output regseg_a output regseg_b output regseg_c output regseg_d output regseg_e output regseg_f output regseg_g output regseg_h ; parameter WIDTH2 26; parameter WIDTH 5; parameter SIZE 8; reg[WIDTH2-10]count reg[ 30]disp_data reg[SIZE-10]dat regdisp_clk

注意事项

本文(交通控制器)为本站会员(sunhongz125)主动上传,蚂蚁文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蚂蚁文库(发送邮件至2303240369@qq.com或直接QQ联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们


网站客服QQ:2303240369

copyright@ 2017-2027 mayiwenku.com 

网站版权所有  智慧蚂蚁网络

经营许可证号:ICP备2024020385号



收起
展开