always@(d or code) /*使能,开始判断密码(即,钥匙插入保险箱右转) 【注:】本来这里不应该取反的,但是考虑到实际设备中的轻触按键KEY1, 默认是弹起的,电平默认为高电平, 也就是用默认按键弹起的状态来模拟未插入钥匙或者钥匙插入没有右转的情况更为合适 即高电平=按键弹起=未插入钥匙或钥匙未右转的情况,故此处取反*/ if(d==~1'b1) begin if(code==4'b0101)//正确输入密码 begin open=1'b1;//开锁 alarm=1'b0;//未报警 end else//输错密码的情况 begin open=1'b0;//未开锁 alarm=1'b1;//报警 end end else//钥匙未插入保险箱或者插入后未右转的情况下 begin open=1'b0;//未开锁 alarm=1'b0;//未报警 end assign led1=~open; //led亮表示密码锁打开 assign led2=~alarm;//led亮表示报警信号