【FPGA】电梯楼层显示(简易) |
您所在的位置:网站首页 › 电梯突然不显示楼层号是怎么回事 › 【FPGA】电梯楼层显示(简易) |
前言
这是作者室友的项目,本来不管作者事儿的,但是后来听到说是室友去网上找人花了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 |