既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新
需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)
本次使用的是共阳极数码管,关于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


**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新**
**需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)**
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618679757)**
电子书籍、讲解视频,并且后续会持续更新**
**需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)**
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618679757)**