单片机控制的密码锁设计(含电路图及源程序)
[09-11 23:01:38] 来源:http://www.88dzw.com 单片机学习 阅读:8782次
文章摘要: return k;}//-主程序main(){ //初始化各变量audio_out=1; P3=0xff; cnt_val_15s=0; cnt_val_5s=0; cnt_val_4s=0; cnt_state=0; //0-待机计时5s状态;1-密码正确,计时4s状态 ;2-三次密码错误,处于计时15秒状态。 T1_cnt=0; error_num=0; key_val_old=255; init_variant(); //初始化51的寄存器 TMOD=0x20; //用T1计时 8位自动装载定时模式 TH1=0x19; //500微秒溢出一次; 250
单片机控制的密码锁设计(含电路图及源程序),标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.comreturn k;
}
//---------主程序----------------
main()
{ //初始化各变量
audio_out=1;
P3=0xff;
cnt_val_15s=0;
cnt_val_5s=0;
cnt_val_4s=0;
cnt_state=0;
//0-待机计时5s状态;1-密码正确,计时4s状态 ;2-三次密码错误,处于计时15秒状态。
T1_cnt=0;
error_num=0;
key_val_old=255;
init_variant();
//初始化51的寄存器
TMOD=0x20; //用T1计时 8位自动装载定时模式
TH1=0x19; //500微秒溢出一次; 250=(256-x)*12/11.0592 -> x=19
TL1=0x19;
EA=1; //开中断
ET1=1;
TR1=0; //开定时器T1
while(1)
{ key_val=scan_key(); //按键输入,有键按下key_val为0-7,无键按下key_val为255。
if (key_val!=key_val_old)
{ key_val_old=key_val;
if (key_val!=255&& cnt_state!=2)
{ audio_out=0;
delay(100); //延时去抖动
audio_out=1;
switch (key_val)
{ case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
if(key_index<6) //密码为6位,超过6位视为输入无效
{ show_val[key_index]=key_val;
key_index++; }
break;
case 6: //确认键
if(check_input_pw())
{//密码正确
error_num=0; //密码输入错误次数清零
//---------
pw_error=1; //密码错误指示灯灭
relay_open=0; //开锁驱动信号灯亮
open_lock=0; //已开锁信号灯亮
//---------
delay(50000); //两声短“滴”声
audio_out=0;
delay(50000);
上一页 [1] [2] [3] [4] [5] [6] [7] 下一页
Tag:单片机学习,单片机开发,单片机原理,单片机教程,单片机学习
《单片机控制的密码锁设计(含电路图及源程序)》相关文章
- › 单片机控制彩电遥控器玩具车电路图
- › PWM技术在单片机控制智能充电器中的应用
- › 关于单片机控制GSM手机的技术及应用
- › 基于单片机控制的带锁相环三路智能同步采集卡设计
- › 用单片机控制红外编码探测障碍物
- › 单片机控制器在水泵一用一备控制系统中的应用
- 在百度中搜索相关文章:单片机控制的密码锁设计(含电路图及源程序)
- 在谷歌中搜索相关文章:单片机控制的密码锁设计(含电路图及源程序)
- 在soso中搜索相关文章:单片机控制的密码锁设计(含电路图及源程序)
- 在搜狗中搜索相关文章:单片机控制的密码锁设计(含电路图及源程序)
分类导航
最新更新