智能交通灯控制器的设计(verilog).pdf

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
智能交通灯控制器的设计(verilog)

智能交通灯控制器的设计 1、实验目的及要求 实验目的:通过交通灯的设计与仿真综合,体会复杂时序的实现方法,学会 用框图表示程序的设计思想,掌握中小规模集成电路的系统综合设计方法。 实验要求:设计一个交通灯信号控制电路。具体要求为:输入为 50MHz 的时钟 和复位信号,输出为红、绿、黄三个信号(高电平为亮)。复位信号(高电平) 有效,红、绿、黄灯灭;接着进行如下循环:绿灯亮1 分钟,黄灯闪烁10 秒, 红灯亮1 分钟。在此基础上再加两个数码管,对倒计时的数显示。 2、实验设备(环境)及要求 实验EDA 工具为: Synplify Pro 9.6.2 和ModelSim SE 6.2b。 3、实验内容与步骤 3.1 设计思路概述 总体上分为三个大模块,即:顶层模块、控制模块、译码模块(包括显示模 块)。他们各自的作用分别如下: 顶层模块: 此模块只做例化,即对底层的控制模块和译码模块进行例化,而不做逻辑设 计。 控制模块: 此模块是本程序的主体,主要是控制各个灯颜色(此模块并不控制黄灯的闪 烁)的转换,以及倒计时时间输出。 首先要对时钟进行分频。由于系统时钟频率比较大,因此首先分频产生时钟, 用于下面的电路的控制;然后是各种颜色之间的转换,在此在添加一个使能端 enable ,当使能端enable 为0 的时候,就开始进行状态循环以及倒计时,然后 enable 就立即变为1;状态用light_status (分别为0 、1、2 )表示,开始的时候, 如果状态 light_status 为0 ,表示此时显示的是绿灯,便把绿灯亮的时间(60s ) 给统计灯亮时间的变量 light_long,并且把显示灯亮的变量light_select 赋值 100 (高电平表示亮),最后把状态标志位light_status 赋 1,但是此时并不能转向下 一个状态(黄),因为绿灯亮的时间还没有控制,接下来会转到倒计时处。 然后,我们这里用了 BCD 码表示倒计时时间。灯亮或闪烁时间(绿、黄、 红分别为60s、10s、60s )用BCD 码表示(分别为60h、10h、60h ),倒计时的时 候个位和十位分别是BCD 码的高四位和低四位,首先是低四位倒数,当倒数到0 时,给它重新赋值为9,且高四位减 1,如此循环,直到这个数减到0 ,此时表 示某一个灯亮的时间到,接着进行下一个状态,为了能使进入下一个状态,必须 在时间减到0 的时候,给使能端enable 赋值0 ;由于用的BCD 码,高四位和低四 位就分别是我们要在译码模块的要用数码管显示的十位和个位。 译码模块: 此模块主要有两个作用,控制黄灯闪烁以及对倒计时时间进行译码输出。 首先是控制黄灯闪烁。由于控制模块只是控制三个灯的亮与不亮,在此模块 中首先是相当于产生一个分频时钟y_flicker (周期1s),然后是控制黄灯的闪烁, 控制模块 light_select 只是控制了三个灯亮与不亮(三位二进制,高电平有效), 最后显示灯的亮或者闪还用三位二进制表示(colour ),控制时直接把light_select 的最高位和最低位直接赋给 colour 的最高位和最低位(分别控制绿灯和红灯的 亮),中间位当分频时钟y_flicker 为高且输入light_select 为高时,输出colour 才 为高(黄灯亮),别的情况colour 中间位都为低(黄灯灭),至此可以完美实现黄 灯的闪烁了(1s 内亮0.5s 灭0.5s ),也就可以实现要求的各个灯的亮或者闪烁。 然后就是七段译码的过程。采用了3—8 译码器的设计原理,将倒计时时间 译码,输出到LED 晶体管,显示最终倒计时时间。LED 中二极管对应的顺序编号 如图1 所示,并且是低电平有效。写出所有数字对应的字型码,就可以知道数字 的控制电平。由于只有两位数字,考虑到成本以及复杂性,可不用扫描,直接用 两个译码器就可以了。 图1 七段数码管显示字段的示意图 3.2、总体设计框图及详细说明 程序总体设计框图如图2 所示。 图2 程序总体设计框图 下面将对所做的系统框图进行详尽说明: 首先,输入的 50MHz

文档评论(0)

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

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

1亿VIP精品文档

相关文档