基于状态机的密码锁

基于状态机的密码锁

原理图

Key1 按下为 0 信号,Key2 按下为 1 信号
在这里插入图片描述

代码

module lab( 
    input clk,                              
    input key0,                     //按下代表0,按键值不按为1,按下为0
    input key1,                     //按下代表1
    output reg led                 
    );
    reg [4:0]cur_st=0;
    reg [4:0]nxt_st=0;
    
    wire press=key1&&key0;            //当key1或key2中有一个键按下,press从1变成0
    wire rst=key1|key0;              //当key1和key2同时按下,rst从1变成0
    //定义状态
    parameter s0 = 5'b00000; 
    parameter s1 = 5'b00001; 
    parameter s2 = 5'b00010; 
    parameter s3 = 5'b00100; 
    parameter s4 = 5'b01000; 
    parameter s5 = 5'b10000; 
    
    always @(negedge rst or posedge clk)
        begin
             if(!rst)
                cur_st<=s0;             //复位
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值