FPGA-基于EGO1开发板的蓝牙密码锁 无线控制 开锁 修改密码 防盗保护

        本次设计使用EGO1开发板,使用软件为vivado,代码是Verilog语言,实现具有多功能蓝牙密码锁的设计。功能包括,通过APP无线输入密码、开锁、修改密码、连续输错密码后锁定40秒并报警。

        部分代码:

//串口接收模块程序
module uart_rx(
    input rxd,
    input clk,
    input clear,
    input d,
    output receive_ack,
    output reg[7:0] data_i,          //接收的信息,8位ASCII
    output  reg [3:0] num          //接收的个数
    );
    //串口接收状态机分为三个状态:等待、接收、接收完成
    localparam IDLE = 0,
               RECEIVE = 1,
               RECEIVE_END = 2;
    
    reg[3:0] current_state, next_state;  // 状态机变量
    reg[4:0] count;
    
    always @(posedge clk)
        current_state <= next_state;
    
    always @(*) 
    begin  
        next_state = current_state;
        case(current_state)
            IDLE: if (!rxd) next_state = RECEIVE;
            RECEIVE: begin  if (count == 7) next_state = RECEIVE_END; end
            RECEIVE_END: begin next_state = IDLE; end
            default: next_state = IDLE;
        endcase    
    end
    
    always @(posedge clk) 
    begin
        if (current_state == RECEIVE)
            count <= count + 1;
        else if (current_state == IDLE | current_state == RECEIVE_END)
            count <= 0;
    end
    
    always @(posedge clk)
    begin
        if (current_state == RECEIVE)
        begin
            data_i[6:0] <= data_i[7:1];
            data_i[7] <= rxd;
        end 
    end
    
    assign receive_ack = (current_state == RECEIVE_END)?1:0;
 //对接收的信息进行记数
always @(posedge clk)                  
    if(clear==1)
        num<=1;
    else if(receive_ack==1&&num<=4'd12&&d==0)
        num<=num+1;
    else 
        num=num; 
endmodule

        直接上实物图,欢迎探讨,代码后续补充。

 EGO1开发板:

APP界面:

 

 输入密码正确,开锁。

 连续三次输入错误,进入锁定,40s内无法进行操作。

 

  • 4
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值