北邮数字电路综合实验报告——交通灯控制器的VHDL实现.doc

北邮数字电路综合实验报告——交通灯控制器的VHDL实现.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字电路综合实验报告 班 级: 姓 名: 班内序号: 学 号: 日 期: 目录TOC \o "1-3" \h \u 30779 一、实验摘要 3 2634 二、实验任务 3 13164 1.任务要求 3 4997 2.任务解析 3 13415 三、实验设计思路 4 21293 1.状态转移图 4 25546 2.流程图 5 22418 3.模块确定 5 1551 4.系统框图 7 11535 四、程序代码 7 28891 ⒈主程序 7 19071 ⒉分频模块 9 8235 ⒊防抖模块 10 16981 ⒋交通灯控制模块 11 20860 ⒌数字译码模块 14 25988 五、实验结果 15 15778 1.仿真结果 15 11930 2.实物结果 17 3563 六、所遇问题分析 17 16058 七、实验总结 18 交通灯控制器的VHDL实现 一、实验摘要 随着交通情况的日益复杂,交通灯在生活中所处的位置也越来越高。本实验就是基于VHDL语言编程实现了十字路口的交通灯控制器。对于交通等控制器的设计是分模块自顶向下的设计思想,软硬件结合来实现本设计。 关键字:交通灯、VHDL、控制器 二、实验任务 1.任务要求 南北和东西方向各有一组绿、黄、红灯用于指挥交通,绿灯、黄灯和红灯的持续时间分别为20秒、5秒和25秒; 当有特殊情况(如消防车、救护车等)时,两个方向均为红灯亮,计时停止,当特殊情况结束后,控制器恢复原来状态,继续正常运行; 用两组数码管,以倒计时方式显示两个方向允许通行或禁止通行的时间; 2.任务解析 东西(A车道)和南北(B车道)方向各有一组绿、黄、红灯用于指挥交通(如图1),绿灯、黄灯和红灯的持续时间分别为 20 秒、5 秒和 25 秒。 图1 十字路口交通灯模型 因此,可以设计如下四个状态,其关系为: 状态 亮灯情况 车辆行驶状况 持续时间(秒) 下一状态 A车道 B车道 S0 红亮 红亮 紧急状况,A/B车道均禁止通行 ~ S1 S1 绿亮 红亮 A车道通行,B车道禁止通行 20 S2 S2 黄亮 红亮 A车道缓行,B车道禁止通行 5 S3 S3 红亮 绿亮 A车道禁止通行,B车道通行 20 S4 S4 红亮 黄亮 A车道禁止通行,B车道缓行 5 S1 三、实验设计思路 1.状态转移图 图2 状态转移图 2.流程图 图3 流程图 3.模块确定 ⑴分频模块 设计原因:由于实验板只能提供50MHz的时钟信号,而电路中只能使用较低频率的时钟: 1Hz时钟信号:计数器count变化时使用; 20Hz时钟信号:在防抖电路中使用的时钟信号; 1kHz时钟信号哦:用于数码管位选信号的改变的时钟信号。 功能:用于将实验板上的50MHz的时钟信号经分频后输出:1kHz、20Hz、1Hz。 图4 分频模块的输入和输出 ⑵防抖动模块 设计原因:只要有按键或是拨码开关,防抖电路就是不可缺少的一个模块。否则,按键信号中的一些毛刺和抖动往往会引起电路不可预知的错误。 功能:将带有抖动的信号进行识别和判断,输出持续时间超过0.1s的高电平信号。 图5 防抖动模块的输入和输出 ⑶交通灯控制模块 设计原因:这个模块是本程序设计的灵魂,是重中之重!这个模块用于控制电路的状态改变和按键响应,也就是系统中控制器的作用。 功能:根据按键信号和输入时钟,输出符合交通灯状态变化规律的LED驱动信号、数码管显示的数据、数码管位选信号。 图6 交通灯控制模块的输入和输出 ⑷数字译码模块 设计原因:由于交通灯控制模块输出的为数码管显示的数据,为10进制数,因此必须要一个译码电路,将此十进制数转化为LED灯的驱动信号,而这个功能正是由此模块完成。 功能:将输入的十进制数转变为相应的8位2二进制数作为数码管的驱动信号。 图7 数字译码模块的输入和输出 ⑸整体模块连接图 图8 模块整体连接图 4.系统框图 图9 系统框图 四、程序代码 ⒈主程序 主程序 library ieee; use ieee.std_logic_1164.all; entity traffic_lights is port(clk:in std_logic; 时钟信号 emerg,reset:in std_logic; 复位和紧急情况信号 seg:out std_logic_vector(7 downto 0); 7段数码管显示

文档评论(0)

ranfand + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档