智能门禁系统详细设计.docx
- 文档编号:11492896
- 上传时间:2023-03-01
- 格式:DOCX
- 页数:21
- 大小:603.26KB
智能门禁系统详细设计.docx
《智能门禁系统详细设计.docx》由会员分享,可在线阅读,更多相关《智能门禁系统详细设计.docx(21页珍藏版)》请在冰豆网上搜索。
智能门禁系统详细设计
智能门禁系统
摘要:
智能门禁系统采用凌阳十六位单片机作为系统控制核心,利用其强大的语音识别功能,不仅实现了语音播放功能,完成了语音提示的要求,而且实现了语音控制门禁系统;利用其内置的Flash闪存,实现了密码的断电保护。
除此而外,在键盘输入方面,强大的功能选择键满足了系统的要求;16*2液晶显示器的选择使操作要求清晰明了。
此套智能门禁系统强烈体现了其人性化的一面。
关键词:
智能门禁系统、语音识别、凌阳十六位单片机。
引言
家用防盗门早已经进入到千家万户,但防盗门的操作麻烦给用户带来了许多不便,当今市场迫切需要一种既安全又方便的门禁系统,鉴于此,我们的“智能门禁系统”——带语音识别、液晶显示功能的电子密码锁便应运而生。
为了向大家介绍此智能门禁系统,我们将从以下几个方面介绍:
系统的制作意义。
系统的制作早期构想及其实现方案简介。
系统功能最终实现及演示。
系统硬件部分原理介绍。
系统软件部分设计实现。
对系统的自我评价。
(存在及要解决的问题)
制作心得和体会。
参考文献。
附录
(一):
凌阳单片机最小系统。
附录
(二):
凌阳单片机下电子密码锁程序实现。
附录(三):
器件列表。
1.系统的制作意义
现在人们生活水平提高了,安全防范,是人们考虑的首要问题。
而锁是解决安全问题的重要产品。
目前市场上的电子锁产品功能不全,性能和安全性不高,且造价高。
低质量的电子锁,给用户的财产安全造成很大威胁,同时,由于功能的不健全,给用户的使用带来了一定麻烦。
故我们试图研制一种智能化、多功能、更人性化的门禁系统。
我们研制的带语音识别功能电子控制密码锁,不仅给用户带来了安全的保障,方便的享受,而且此电子锁的语音识别功能更加体现了他人性化的一面,此种类型的电子密码锁将成为未来社会的供求亮点。
2.系统的制作早期构想及其实现方案简介
1.早期构想
预期实现功能如下:
(1)、键盘简化及编码方式的改进;
键盘简化及编码方式的改进:
普通数字键密码锁虽然有使用简单的特点,但是键盘暴露在外,易受破坏,或者保密性不高;此外,键盘数量的简化又同时增加了使用的难度,用户使用不方便。
大家可能见到过一些进口的温控制器(如日本RKCINSTRUMENTINC.生产的REX_C700温控器)的面板设计为:
温度测量只用4位LED数码管显示,输入设定值显示也用4位LED。
综合以上因素考虑,我们采取四按键的形式,输入键分为加、减、左、右移动键,按下加法键(减法键)确定一位密码的值,然后使用左右移动键移向下一位密码,再一次使用加、减键确定此位密码的值。
(备注:
这部分虽然没有实现,但我们的16位键盘设置更加体现了系统功能的强大性)
(2)、语音识别系统控制;语音识别功能,语音控制门禁开关。
(3)、语音提示功能;
(4)、自动实现报警;当门禁系统输入密码错误过多时,自动报警
(5)、断电密码保护;出现断电、多次错误密码输入时的处理
(6)、限时开门系统;(这部分功能我们没能实现,很是遗憾)
(7)、液晶显示功能;
在初期设计电路时,我们计划采取51单片机作为我们的控制核心,然而,语音识别功能、语音提示功能、密码断电保护功能需要我们外扩集成芯片才能满足系统要求。
其功能实现原理方框图如下:
在此种条件下我们用51单片机做出了一个简单的系统,基本实现了电子密码锁的键盘输入和液晶显示功能。
具体电路图如下:
其软件编程实现程序见附录
(一):
其实现功能如下:
设置密码,断电不保护;
输入密码,与系统原有密码或者设置新密码比较;
液晶显示功能;
报警功能;
显然,这个“最小系统”的制作无法满足我们预期的功能实现,如果采用外扩集成芯片的做法,不仅从技术上,还是从经济方面考虑都不是一个明智的选择。
鉴于此,我们采用凌阳单片机作为我们的控制电路核心,凌阳十六位单片机不仅内置32kFlash(闪存),而且集成了语音识别模块,从根本上,凌阳单片机满足了系统的基本要求,具体功能实现以及电路设计在以下详细介绍。
3.系统功能最终实现及演示
此系统现阶段包括以下几个模块:
1)、键盘输入密码
此系统采用4*4按键输入模式,密码初始设置为4位,(从软件上很容易实现更多位数的密码操作,为操作演示计,我们采用4位)。
各个按键功能的定义如下:
0~9数字健指定为密码设置健(仅且只有他们能够作为密码值)
A——确认健(按下此键,即比较输入密码值正确如否)
B——取消键(按下此键,即取消上一次操作)
C——开启语音功能键(按下此键,再次输入密码,就可以开启语音控制功能)
D——关闭语音功能键(按下次键,就可以关闭语音控制功能)
E——修改密码键(按下次键,再次输入密码,通过验证后,连续输入两次新的密码就可以设置新的密码)
F——更改语音控制口令(按下次键,再次输入密码,通过验证后,即可进入语音口令修改程序操作)
2)、语音控制输入
进入语音控制功能后,先进行语音控制训练操作(训练过后此操作可跳过),训练成功后,方可进行语音控制,并且时时可以关闭语音功能。
此外,语音口令还可以时时修改,再次进行语音控制训练操作即可。
3)、密码修改操作
此系统的密码设置存在Flash中,断电不丢失,密码修改后,系统原密码作废,新的密码生效,并存入Flash中。
4)、语音提示操作
对应于每一种操作,系统均给予一定的语音提示。
如:
“请输入密码”、“密码错误”等。
5)、液晶显示功能
对应于每一种操作,系统均给予一定的显示提示,方便操作。
6)、液晶背光功能实现
为了实现液晶背光功能,我们设计了一下三种电路:
超声波探测电路、光敏传感电路、按键触发电路,在光线好的情况下,液晶不背光显示,光线差时,有按键或探测到有人接近时背光显示。
7)、系统执行机构
系统执行机构我单片机I/O口输出控制的继电器。
8)、报警蜂鸣器
9)、电源信号指示灯
10)、控制信号指示灯
4.系统硬件部分原理介绍
此系统硬件部分电路核心部分为凌阳单片机及其外围电路(包括语音识别、输出电路),外围电路有:
键盘输入、液晶显示、执行机构电路,此外,为了实现液晶显示器的背光功能,我们采用了超声波探测电路、光敏传感电路、输出延时电路等。
电路总体设计模块方框图如下:
为了详细介绍我们的电路功能模块,我们将在下面分块介绍本系统的各个功能模块:
电源部分:
电源信号灯:
凌阳十六位单片机控制电路:
见附录
(一)
被控制的继电器:
控制信号灯:
蜂鸣器:
键盘输入部分:
液晶显示部分:
背光功能控制模块
基本方框图如下:
1)、超声波探测发射部分:
(含波形)
2)、超声波探测接收放大电路:
3)、光敏传感检测电路:
4)、输入信号延迟电路:
5.系统软件部分设计实现
1、软件设计操作平台简介:
(µ'nSP®IDE)
µ'nSP®IDE工作界面如下:
2、此系统功能复杂,但软件设计较为简单,程序功能实现简介图如下:
对操作程序的解释以及要求:
直接输入密码开门;
输入四位密码后按确认键,比较密码,密码正确表开启门禁系统,并有“门已经打开,请进”的提示余音。
设置新的密码;
按下B键后,输入原密码,确认后输入新的密码,确认后再次输入新的密码,检验正确后,密码修改成功,原密码作废。
开启语音功能;
按下C键,输入密码确认后,进入语音识别模式。
如果是第一次进入语音识别模式,需要进行语音识别训练,训练两遍正确后,完成训练操作,此时语音识别功能实时监测。
在语音识别实时监测的同时,我们的键盘扫描并没有停止,也就是说我们的键盘输入等级高于语音识别模式,在任何情况下键盘输入都是有效的。
关闭语音识别功能;
按下D键,不需要输入密码即可关闭语音识别功能,要想开启此项功能,必须按下C键开启语音识别功能。
更改语音口令;
按下E键,进入语音识别口令修改模块,输入密码确认后,进入语音口令修改训练模块,根据语音提示以及液晶显示很方便的就可以成功更改语音口令。
取消键;
按下F键,即可取消所有操作,回到系统初始化后的界面。
主程序见附录
(二):
6.对系统的自我评价
在总体上,我们对这个系统的设计还是比较满意的,但是,虽然我们对这个项目投入了大量的时间和精力,由于知识有限,我们在很多方面有很多的不足之处。
以下我将从硬件和软件两个方面来阐述这个系统的各个部分:
硬件部分:
1.我们认为,我们做得比较成功的地方就是通过超声波探测、光敏传感以及延时电路的组成实现了液晶显示器的背光功能
2.此外,我们的液晶显示和键盘电路十分简洁。
3.遗憾的是,超声波探测精度不高,准确性有待改进。
软件部分:
一提的是,在整个系统设计过程中,语音控制和语音输出提示一直是我
们软件设计的重点,同时也是我们的亮点,体现了我们设计系统人性化的一面。
键盘扫描和液晶驱动工程中,我们详尽地应用了科学的软件设计思想,
使程序简洁,有效。
此外,我们的主程序设计,结构鲜明,条理清晰。
但是,美中不足的是,我们在开启语音功能时,系统时钟不断变化,所以造成键盘扫描的不成熟,此处有待改进。
7.系统设计过程中的实践体验
通过对该系统的设计,我们不仅收获颇丰,而且体会也颇深。
过这次设计,我们深深体会到,理论指导着实践,但实践才是最终的目
标。
我们在设计过程中,往往遇到这样的情况,设计的电路从理论上毫无差错,但实现起来却是困难重重。
只有在不断的摸索中才能找到界却问题的方法。
们深深体会到团体合作,在项目制作过程中十分重要,好的合作精神需
要我们时时刻刻牢记在心。
在任何时候,科技离不开创新,在设计项目的同时,我们需要抛弃成见,标新立异,敢于实现。
在这一点上,我认为我们做得比较成功。
在设计系统初始,我们采用51系列单片机,而语音功能却只能外扩专用芯片,实现起来比较困难,最后我们大胆采用凌阳单片机一举解决语音控制问题。
制作过程中,齐明老师在技术上给予极大的帮助和支持。
在此,感谢齐明老师对我们电子制作的指导!
总之,这次活动给我们带来了无穷的收获和乐趣,感谢学校和老师给我们提供了一个锻炼的大舞台。
8.参考文献
《凌阳十六位单片机应用教程》
《MCS-51单片机应用设计》
《元器件手册》
9.附录
附录
(一):
凌阳单片机最小系统:
附录
(二):
凌阳单片机下电子锁程序实现:
#include""
#defineHaveKey1
#defineNoKey0
#defineNAME_ID0x100
#defineRSP_AGAIN1
#defineRSP_NOVOICE2
#defineRSP_NAMEDIFF3
#defineRSP_CMDDIFF4
#defineRSP_STAR5
#defineRSP_NOISY6
................全程变量....................
externvoidClearWatchDog();
intPlayFlag=0;
unsignedintKey_Value;
unsignedintKeyDownTimes;intPass.");
if(F_FlashRead(Pwd_Init))
{
F_FlashErase(0xfe00);
for(i=0;i<4;i++)
{
F_FlashWrite1Word(0xfe00+i,i);
}
F_FlashWrite1Word(Pwd_Init,0);
}
while
(1)
{
ClearWatchDog();
Protect_Clock();
InitIO();.");
Key_Num=0;
State=1;
break;
}
}
elseif(State==4)
{Pass=0;
Pass=F_Affirm_New_Password();
}.");
Key_Num=0;
State=1;
break;
case2:
LCD_CLEAR();
LCD_SHOW("Passwordright!
");
SET_Address2();
LCD_SHOW("Newpassword:
");
PlayRespond(8);.");
State=1;
break;
case5:
if(Trained)
{
Voice_State=1;
}
else
{
while(TrainWord(NAME_ID,0)!
=0);
BSR_InitRecognizer(BSR_MIC);.");
State=1;
break;
case6:
.");
State=1;
break;
default:
break;
}");
}
else
{
LCD_CLEAR();
LCD_SHOW("errorpwd");
SET_Address2();
LCD_SHOW("Rememberit!
");
ALARM();
PlayRespond(10);");
}
Clear_Password();
Key_Num=0;
State=1;
break;
}
case12:
");
Key_Num=0;
State=1;
break;
case13:
");
break;
default:
break;
}.");
Key_Num=0;//**********
State=1;//********
break;
}
}
}//if(Voice_state=1)
}//while
(1)
}//main()
///////////////////////////////////////////////
voidClear_Password()
{
inti;
for(i=0;i<4;i++)
{
Password[i]=0;
Password_Temp[i]=0;
}
Key_Num=0;
}
/////////////////////////////////////////////////
unsignedintF_Affirm_New_Password()
{
inti;
for(i=0;i<4;i++)
if(Password[i]!
=Password_Temp[i])
{return0;}
return1;
}
///////////////////////////////////////////////////
unsignedintF_Affirm_Password()
{
inti;
unsignedtemp;
for(i=0;i<4;i++)
{
temp=F_FlashRead(0xfe00+i);//确定返回值是r1
if(
Password[i]!
=temp)
return0;
}
return1;
}
/////////////////////////////////////////////////////
voidSave_New_Pwd_To_Flash()
{
inti;
F_FlashErase(0xfe00);
for(i=0;i<4;i++)
{
F_FlashWrite1Word(0xfe00+i,Password[i]);
}
}
///////////////////////////////////////////////////////
voidLCD_SHOW(charSentence[])
{
inti;
for(i=0;Sentence[i]!
='\0';i++)
LCD_ADD(Sentence[i]);
}
////////////////////////////////////////////////////////
voidPlayRespond(intResult)
{
BSR_StopRecognizer();
SACM_S480_Initial
(1);
SACM_S480_Play(Result,3,3);
while((SACM_S480_Status()&0x0001)!
=0)
{
SACM_S480_ServiceLoop();
ClearWatchDog();
}
SACM_S480_Stop();
BSR_InitRecognizer(BSR_MIC);
BSR_EnableCPUIndicator();
}
////////////////////////////////////////////////////////
intTrainWord(intWordID,intRespondID)
{
intres;
PlayRespond(RespondID);//----------------------------------请输入触发名称-(0)-----------
while
(1)
{
ClearWatchDog();
Protect_Clock_fast();
res=BSR_Train(WordID,BSR_TRAIN_TWICE);
Protect_Clock();
if(res==0)break;
switch(res)
{
case-1:
//没有检测出声音-----------
(1)
PlayRespond(RSP_NOVOICE);
return-1;
case-2:
//需要重新训练一遍-----
(2)
PlayRespond(RSP_AGAIN);
break;
case-3:
//环境太吵--------(3)
PlayRespond(RSP_NOISY);
return-1;
case-4:
//数据库满
return-1;
case-5:
//检测出声音不同
if(WordID==NAME_ID)PlayRespond(RSP_NAMEDIFF);//两次输入名称不同(4)
elsePlayRespond(RSP_CMDDIFF);//两次输入命令不同(5)
return-1;
case-6:
//序号错误
return-1;
}
Protect_Clock();
}
return0;
Protect_Clock();
}
附录(三):
器件列表
凌阳单片机最小系统一套;
16*216位液晶显示器一块;
4*4键盘一个;
C945三极管若干;
继电器一块;
555定时器若干;
超声波探头一对;
LM567音频解码器一个;
电阻电容若干;
74LS00与非门一块;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 门禁 系统 详细 设计