数字电子技术实验报告之交通灯设计..docVIP

数字电子技术实验报告之交通灯设计..doc

  1. 1、本文档共27页,可阅读全部内容。
  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文档。上传文档
查看更多
数字电子技术实验报告之交通灯设计.

数 字 电 子 技 术 实 验 报 告 交通灯的设计 姓名: 学号: 学院: 专业: 班级: 指导老师: 目录 实验目的与要求 实验设计 调试及实验结果 附页 实验目的及要求 实验目的: 熟练掌握verilog语言及Quartus软件的使用。 考验和培养学生独立自主综合设计的能力。 实验要求: 设计一个十字路口的四个交通灯的设计。 注意红灯时间23秒、黄灯时间3秒、绿灯时间17秒。 时间倒计时功能需在数码管中显示出来。 实验扩展: 分频: 因为实验要求秒数的倒计时及控制,故要将高频率进行分频得到1khz和1hz的频率。分频的实现 数码管动态扫描: 倒计时的显示要求有四位同时显示,而以前只进行过一位显示。所以该实验需要数码管的动态扫描。 实验设计 总体思路:先实现由高频率分频得到1khz和1hz的频率,然后实现在1hz的频率下交通灯状态的转换,同时倒计时功能也开始运行。然后在1khz的频率下进行动态扫描,再加上数码管的七段显示即可。 交通灯的状态设计: 每个灯有三种状态:红、绿、黄。又因为每个灯由2个开关来控制,所以四个灯设定四个变量 sn[1:0]、ns[1:0]、ew[1:0]、we[1:0]分别代表南北、东西方向的灯。其中01代表绿灯,10代表红灯,11代表黄灯。 灯状态的循环设计: 第一个状态(state0): 绿 红 红 :该状态维持17s,we红灯23s倒计时到 绿 6s,sn绿灯17s倒计时到0s。 第二个状态(state1): 黄 红 红 :该状态维持3s,we红灯倒计时6s到 黄 3s,sn黄灯倒计时3s到0s。 第三个状态(state2): 红 红 红:该状态维持3s,we红灯倒计时3s到 红 0s,sn红灯23s倒计时到20s。 第四个状态(state3): 红 绿 绿:该状态维持17s,we绿灯17s倒计时到 红 0s,sn红灯20s倒计时到3s。 第五个状态(state4): 红 黄 黄: 该状态维持3s,we黄灯3s倒计时到0s, 红 sn红灯3s倒计时到0s。 回到原始状态(state0): 绿 红 红:回到原始状态,构成一个循环。 绿 状态设计代码: state0: begin //设定初状态:南北方向为绿灯,东西方向为红灯(下面同理) sn=2b01; ns=2b01; we=2b10; ew=2b10; if(gl==3d0gh==3d0rl==3d0rh==3d0) begin //设定红绿灯计时起点红灯23s绿灯17s(下面同理) gl=3d7;gh=3d1;rl=3d3;rh=3d2; end else begin if(gl==0) //十进制的减法设定(下面同理) begin gl=9;gh=gh-1;end else begin gl=gl-1;end if(rl==0) begin rl=9;rh=rh-1;end else begin rl=rl-1;end //判定状态是否结束(看绿灯倒计时是否到达0)(下面同理) if(gl==3d0gh==3d0) begin next_state=state1;end end end state1: begin sn=2b11; ns=2b11; we=2b10; ew=2b10; if(yl==3d0) begin yl=3d3;rl=3d6;rh=3d0; end else begin begin yl=yl-1;end begin rl=rl-1;end if(yl==0) begin next_state=state2;end end end state2: begin sn=2b10; ns=2b10; we=2b10; ew=2b10; if(yl==3d0yh==3d0) begin rl=3d3;rh=3d2;yl=3d3;

文档评论(0)

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

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

1亿VIP精品文档

相关文档