基于小脚丫FPGA开发板的交通灯设计-电路方案

上传者: 38747025 | 上传时间: 2021-12-06 17:48:37 | 文件大小: 1009KB | 文件类型: -
1、设计要求基于小脚丫FPGA开发板设计带数码管显示倒计时的交通灯系统,要求: 1)一个道路绿灯持续时间25S,红灯持续时间10S,黄灯持续时间3S; 2)另一道路绿灯持续时间10S,红灯持续时间25S,黄灯持续时间3S; 3)第一位数码管和第二位数码管显示倒计时; 2、硬件连接FPGA的系统时钟来自于小脚丫FPGA开发板配置的25MHz时钟晶振,连接FPGA的C1引脚。 本设计除了时钟和复位键以外没有其他的输入,故只用到一个按键K6硬件设计如图1所示,按键连接到FPGA的B1引脚。 图1、复位键硬件设计 设计中需要两个RGB的led进行交通灯显示的呈现,每一个RGB的LED都有三个引脚需要跟小脚丫连接在一起。两个LED跟小脚丫FPGA开发板之间的连接关系如图2所示,对应的管脚如下。 图2、RGB_LED硬件连接 设计中需要使用数码管进行倒计时的显示,小脚丫通过74HC595来控驱动和控制数码管。74HC595跟小脚丫FPGA开发板之间的连接关系如图3所示,对应的管脚如下。 图3、数码管驱动74HC595硬件连接 3、工作原理和状态转换 1)使用计数器做分频处理,得到周期为1秒的脉冲信号clk_1h; 2)使用一个6bit的BCD码表示倒计时时间的值,其中高2bit表示值的十位,低4bit表示值的个位; 3)用以下四个状态分别表示交通灯不同的显示; S0: 大路绿灯亮,小路红灯亮,持续25S; S1: 大路黄灯(蓝灯)亮,小路红灯持续3S; S2: 大路红灯亮,小路绿灯亮,持续10S; S3: 大路红灯亮,效率黄灯(蓝灯)亮,持续3S; 得到状态转换图如下: 图4、交通灯状态转换图 4、代码设计为了实现所需要的功能,我们将整个设计在顶层划分为五个不同的模块,如图5所示。 图5、交通灯程序框图 4.1clock_division模块Clock_division模块主要实现数字时钟的模式控制,程序代码截图如下: 4.2 Curren_state模块 这部分代码的作用是将次态赋值给当前态,这是三段式的标志性模块。该模块程序代码截图如下: 4.3 Output&count模块这部分代码可以说是整个代码的核心部分,交通灯的显示在这部分完成。此外,这一部分还负责进行倒计时,这部分的代码将即使数字分为个位和十位进行分别倒计时。此举有利用后面对74HC595驱动数码管的代码进行调用。其序代码截图如下: 4.4 CubeDisplay模块这部分代码用于74HC595的控制,以使得数码管能够按照计划进行倒计时显示。这部分代码截图如下: 5、系统运行图6、系统运行 视频地址: 优酷视频(基于小脚丫FPGA的倒计时交通灯): https://v.youku.com/v_show/id_XMTU0NDI4NjQ1Mg==.html 6、资源报告资源数量比例说明 LUT4s24919% 寄存器1157% 存储器00% IO管脚11 时钟频率25MHz 7、知识点时钟计数分频 三段式程序段的编写 串行/并行转换 74HC595控制 9、相关文件文件名称功能 Traffic_Light交通灯状态转换和灯显示,以及顶层模块功能 DLED_4Bit倒计时显示模块

文件下载

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明