赞
踩
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新
本次使用的是共阳极数码管,关于FPGA驱动数码管的具体原理,也可以看我的这篇博客:
重点要讲的是输入密码和密码判断的逻辑控制。
首先要定义四个按键,用于控制系统的开始,密码的输入和确认等等。然后要定义两个LED输出,还要定义一个24位宽的输出量,用于将6位十进制密码输出到数码管显示模块进行显示。复位的时候让所有变量都清0,只有当按下开始按键时,系统才开始工作。接下来,结合代码来讲解设计的思路:
Password用于保存初始密码,如果要修改密码,就修改这里。
Key_input用于保存实时输出的密码,例如第一次输入1,这个量就应该是等于24’d000_001,再输入一次2,它就等于24’d000_012,
再把这个变量传入到数码管模块进行显示,就能达到实时显示输入密码的效果。
Num是保存每一次输入的密码,默认值为5.例如第一次输入密码时,num=5,当按下密码自增键(k2时),num=6,再按一次k2,num=7,如果此时按下确认键(k1),那么num的值就会保存到key_input中,表示这是一次有效的密码输入,同时num返回到复位值5。
Confi_times用于保存按下确认按键的次数,如果按下确认按键6次,那么说明密码已经全部输入完成了,此时要进行密码核对,如果密码正确,就亮绿灯。
Flag按键用于标志系统开始运行,当开始键按下(k3),flag就置1,当flag被置1时,系统才开始运行,否则不运行。
Flag相关代码如下:
这部分代码全部给出:
module mima( input clk, input rst, //复位 低电平有效 input k0, // - input k1, // confirm input k2, // + input k3, // start output reg led_red, output reg led_green, output [23:0] data //将输入的密码输出到显示模块用于显示 ); parameter password=24'h600417; //设定密码 如要修改密码 则修改这里 reg [23:0] key_input; //用于保存输入的密码 reg [3:0] num; //用于寄存正在从键盘输入的数 默认为5 reg [3:0] confirm_times; //用于记录按下k1的次数 reg flag; //用于标记k3已经按下 即系统已经开始工作 //记录k3已经被按下 always @(posedge clk or negedge rst) begin if(!rst) flag<=1'b0; else if(k3==1'b0) flag<=1'b1; else flag<=flag; end //控制密码的输入 判断密码是否正确 always @(posedge clk or negedge rst) begin if(!rst) begin led_green<=1'b0; led_red<=1'b0; key_input<=24'd0; confirm_times<=4'd0; num<=4'd5; //默认为5 end else if(flag==1'b1) //如果系统已经开始工作 begin key_input[3:0]<=num; led_red<=1'b1; //系统开启时 红灯亮 if(k2==1'b0) num<=num+4'd1; else if(k0==1'b0) num<=num-4'd1; else if(k1==1'b0) begin if(confirm_times>=4'd5) //如果按了6次k1 说明密码全部输入完毕 此时判断密码是否正确 begin confirm_times<=4'd0; //清0 以便下一次输入密码 if(key_input==password) //密码正确 led_green<=1'b1; //绿灯亮 else led_green<=1'b0;   **既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!** **由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新** **[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618679757)** 只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新** **[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618679757)**
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。