【FPGA】电梯楼层显示(简易)

您所在的位置:网站首页 电梯突然不显示楼层号是怎么回事 【FPGA】电梯楼层显示(简易)

【FPGA】电梯楼层显示(简易)

2024-06-20 18:24| 来源: 网络整理| 查看: 265

前言

        这是作者室友的项目,本来不管作者事儿的,但是后来听到说是室友去网上找人花了80块买了个劣质的,不仅是从CSDN上抄的,而且使用的板子还不符合室友的要求。可叹作者心软啊,顺便给室友做了。

        在代码实现部分会给出设计理念和分析,整体资源可以直接下载压缩包(手机端依然看不到,还是不知道为什么)。

题目需求及分析 需求

基于双向计数器设计一个电梯楼层显示电路

说明:         设计多层电梯楼层显示电路。电梯每经过一层,“楼层信号”输入一个可逆计数脉冲电梯上升时“上升”为高电平,“下降”为低电平,下降时相反。

要求:         1、电梯楼层数为2(至少2层)         2、楼层数需使用7位译码器显示         3、可逆计数功能需用双向计数器实现 其输入端包含上升和下降操作信号、楼层信号、校正         4、上升下降状态过程中用小彩灯灯带变化体现

分析

1. sw1作为总开关,置0清零,置1工作

2. sw2作为楼层“上升”/“下降”控制开关:置0时呈下降状态,楼层信号发生后楼层数减一;置1时呈上升状态,楼层信号发生后楼层数加一

3. led流水灯作为上升下降的具象化表示:向上流水表示上升,向下流水表示下降

4. 辅助功能:显然对于按键,需要有按键消抖的功能;显示分数则需要数码管驱动模块;而关于时序电路中必不可少的分频器也是需要的

代码实现

由于CSDN编辑文章工具中没有VDL语言的设置,这里就用C++来显示代码了(纯黑实属难看)。

1. 楼层显示模块 (1) 中控:elevator.v module elevator( input clk, input rst, //重置键 input floor_signal, //楼层信号 //功能选择端 input sw1, //sw1作为总开关,置0清零,置1工作 input sw2, //sw2作为楼层“上升”/“下降”控制开关:0下1上 output [8:0] segment_led_1,segment_led_2, //数码管输出 output [7:0] led ); reg [7:0] floor_level; //内部信号:当前楼层数 reg [7:0] display; //显示输出 //电梯显示模块 always@(posedge clk_500hz)begin //sw1=0,此时楼层数清零,显示FF,作为reset态 if(sw1 == 1'b0)begin floor_level[7:0]


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3