概括
随着中国经济的快速发展,人们的生活水平逐渐提高,对更高生活品质的追求日益强烈,其中包括更安全、更舒适的生活环境。 门禁系统是控制私人区域人员出入的设施,对于保护该区域的人员和财产安全发挥着重要作用。 因此,人们对安全、便捷的智能门禁系统的需求也越来越大。
如今,智能门禁系统已成为楼宇安防系统的重要组成部分。 市场上有各种各样的门禁系统,在实际场景中也很常见。 在各种公司大楼门禁、小区门禁、校园门禁等场所,都可以看到保安人员添加智能门禁系统和监控系统来管理和控制人员出入。 以很小的成本,就可以对多区域的人员出入进行管理和控制。 它不仅安全、便捷,还提供了许多传统门禁系统难以实现的功能,如进出日志记录、人员打卡签到、外部访客记录等功能。
通过调查,我们发现市场上的门禁系统产品非常多,而且门禁系统的功能越来越丰富,更加安全、便捷。 但仍有不少场所采用落后的门禁系统技术,使用起来非常不方便,且存在很大的安全隐患。 这与门禁系统的采购成本和管理成本有关。 市场上最便宜的IC卡识别门禁系统没有人机交互界面,只有一种验证方式。 使用起来很不方便,至少要150元。 一套功能齐全、验证方式多样、人机交互界面的普通门禁系统成本约为四五百元。 百度的离线人脸识别闸机售价在三千元左右,一些安全性较高的门禁系统售价高达数万元。 一般来说,门禁系统的价格偏高。 因此,开发一种更便宜、更安全、更方便、更易于管理和维护的门禁系统非常重要。 本设计选用高性价比的硬件,节省成本,解决门禁系统价格昂贵的问题; 包含多种验证方式,使门禁系统更加安全、便捷; 它提供人机交互界面供人们使用,使门禁系统更加智能化。
1. 系统总体设计 1. 硬件总体设计
为了使门禁系统智能化,需要一个主控芯片来管理和控制整个门禁系统。 然后需要相应的模块来完成数字密码验证、IC卡身份验证等功能。 当出现非法入侵、验证失败等情况时,需要对操作人员进行警告。 最后还需要一个人机交互界面,方便管理人员对门禁系统进行管理和控制。 总体硬件设计框图如图2.1所示。
本设计采用STM32F103作为主控芯片来控制其他模块和处理信息。 与51单片机相比,STM32性能更快,GPIO端口更多,功能更丰富。 与其他高性能嵌入式设备相比,具有低功耗、低成本的特点,更适合低成本的智能门禁。 系统。
MRC522射频识别模块通过SPI接口与主控芯片STM32F103连接。 MRC522接收主控芯片发送的命令,执行相应的操作,并向主控芯片发送内部数据。 同时与查找到的IC卡进行通信,识别IC卡的信息。 MRC522利用NFC原理与IC卡进行通信。 它具有三轮认证机制。 通信过程安全、快速。 它还具有防冲突机制,可以在多张卡时选择一张卡进行识别。 同时,IC卡相比ID卡具有密码验证方式,不易被复制,安全性更高。
触摸屏通过8080接口与STM32F103连接。 触摸屏包括LCD显示器和电阻屏。 液晶屏配有控制芯片和显存。 主控芯片只要向显存写入数据就可以在液晶屏上显示内容。 它很容易使用。 电阻屏还有自己的控制芯片,处理触摸数据,可以减少对液晶屏的影响。 主控芯片性能要求。 管理人员可以通过按压电阻屏进行操作,并看到液晶屏上显示的信息,方便管理人员对门禁系统进行管理。 触摸屏还可以进行数字密码验证,解决用户忘记带IC卡的问题。 同时,数字密码可以作为管理者的验证手段。 为了更好的反馈运行结果,提供错误警告,采用RGB等以及蜂鸣器作为报警系统。
图2.1 整体硬件框图
2 软件总体设计
软件的整体逻辑结构根据不同的功能分为不同的部分。 各部分实现独立的功能,主函数调用不同的模块来完成整体功能。 软件总体框图如图2.2所示。
该设计是使用ST的标准库开发的。 很多函数直接调用标准库中已经编写的函数,可以加快开发周期,让产品兼容性更强。 上电复位后,系统首先进行初始化,包括芯片初始化和外设初始化。 芯片的部分初始化是在标准库的启动文件中完成的。 这也是使用标准库进行开发的好处。 我们不需要配置一些底层的东西,因为标准库已经写好了。
外设的初始化包括触摸屏模块、射频识别模块、RGB灯、蜂鸣器等外设的初始化。 您可以自己编写这些部分,也可以使用STM32CUBEMAX软件在简单的可视化配置后自动为我们生成这些配置程序。 外设初始化的主要工作包括主控芯片与射频识别模块连接的SPI接口的配置和主控芯片通过8080接口连接触摸屏模块的配置,配置相应的GPIO口以及数据传输方法,以及蜂鸣器和RGB等。外围引脚的初始配置。
系统初始化完成后,进入主循环,判断各个功能是否被激活。 当条件满足时,执行分支程序。 执行完毕后,返回到main函数。 首先打印菜单界面并在液晶屏上显示功能图标。 当卡进入时,射频识别模块搜索IC卡,并将IC卡信息发送给主控芯片进行识别。 当信息与主控芯片保存的用户信息相同时,验证成功,打印卡ID和用户信息。 。 若识别到IC卡信息错误,RGB灯闪烁,蜂鸣器报警。
当没有接收到卡信息时,执行下一步判断触摸屏是否被按下。 当按下触摸屏时,就进入相应的模块进行处理。 当按下该按钮时,表示输入数字密码进行验证。 用户需要手动输入密码。 如果密码正确,则验证成功。 如果密码错误,将会触发蜂鸣器和RGB灯警告。 当按下二号按钮时,表示更改密码。 修改密码前,您需要确认原密码。 验证成功后,您可以输入新密码。 当按下三号按钮时,表示修改IC卡信息,添加或删除IC卡。 修改IC卡前还需要验证数字密码。 当密码正确时,会提示您插入IC卡。 当IC卡存在时,该卡将被删除。 如果IC卡不存在,则添加该卡。
图2.2软件总体设计框图
二、基本内容
主要内容: 本系统将设计一个完整的基于单片机的办公楼门禁系统。 该系统包括门禁锁、信息采集、信息管理三个模块。 门禁锁有密码(保安人员使用)、射频识别、指纹识别三种开锁方式。 信息采集用于收集用户的访问信息以及通过访问锁生成的生物识别信息。 信息管理文案考虑信息的整体规划,包括员工信息(基本信息、就业状况等)和门禁信息(用户的门禁信息和生物特征信息)以及访客可视对讲系统。
目标:准备毕业设计报告和系统演示。 毕业设计报告包括系统的设计思路、来源、目标、技术路线等。 系统演示用于实现系统的基本功能。
主题信息组织得很详细。
利用所学到的知识完成系统的设计和开发。
系统功能全部实现,程序运行正常。
论文结构合理,符合毕业论文写作标准。 ;
实习内容为C/C++相关技术,让学生获得职场所需的技能。 研究内容是当今社会主流的楼宇门禁系统,以便于了解其特点和优势。 对自己想要设计的系统的功能模块进行详细分析和具体实现,查阅资料了解STM32单片机的相关知识,各个模块如何使用,为毕业设计做好相应的准备。
3.内容截图
4.主要代码
主程序:
int main ( void ){
//*******************初始化************************
//刷新标志位,当触摸屏被改下,界面被改变时进行刷新液晶屏的显示内容
u8 flash=1;
/*滴答时钟初始化*/
SysTick_Init ();
/*USART1 配置模式为 115200 8-N-1,中断接收*/
USART1_Config ();
/*RC522模块所需外设的初始化配置*/
RC522_Init ();
/*LCD 初始化*/
LCD_Init ();
LED_GPIO_Config();//RGB灯初始化
BEEP_GPIO_Config();//蜂鸣器初始化
/*清屏操作*/
ILI9341_Clear ( 0, 0, 240, 320);
ILI9341_Clear ( 0, 272, 240, 2);
PcdReset ();//RC522复位
/*设置工作方式*/
M500PcdConfigISOType ( 'A' );
//*******************初始化************************
menu_1();//显示主界面
while ( 1 ){
/*IC卡检测,当识别IC卡成功,会进入显示持有者信息5秒,
否则会快速的进行轮询检测触摸屏是否被按下*/
flash = IC_test ();
/*触摸屏检测程序*/
if(XPT2046_TouchDetect() == TOUCH_PRESSED && states==0){
states=1;
BEEP(OFF);//开启
XPT2046_Get_TouchedPoint(&cinfo,strXPT2046_TouchPara);
Delay_us(1*500);
BEEP(ON);//关闭
if(cinfo.x>24 && cinfo.y>24 && cinfo.x<96 && cinfo.y<96)//pwd{
flash=1;
mune=2;}
....(其余类似的判断省略)
if(XPT2046_TouchDetect() ==TOUCH_NOT_PRESSED){
//按键释放时,坐标清零,标志位清零
states=0;
cinfo.x=-1;
cinfo.y=-1;}
//****************************************
/*定义菜单标志位
1:菜单界面
2:密码输入界面
3:密码修改界面
4:增加IC卡界面
5:删除IC卡界面
*/
if(flash==1){
switch(mune){
case 1:flash=0;//主界面
menu_1();
break;
case 2:flash=0;//输入密码进入
if(!Key(0))//密码正确,开锁{
LED1_ON;
BEEP(OFF);
ILI9341_Clear ( 0, 0, 240, 360);// 清屏
ILI9341_DispString_EN ( 0, 32,"psw is error !" );
Delay_us(2*1000*1000);
LED1_OFF;
BEEP(ON);}
else {
ILI9341_Clear ( 0, 0, 240, 360);// 清屏
ILI9341_DispString_EN ( 0, 32,"psw is true !" );
Delay_us(2*1000*1000); }
//开锁函数
///
//执行开门操作,然后重新回到主界面
mune=1;
menu_1();
break;}
...(类似菜单判断省略)
4. 文章目录
目录
1 简介…………………………………………………………………………………………1
1.1 研究背景………………………………………………………………Y
1.2 国内外研究现状…………………………………………………………Y
1.3 选题背景及研究内容………………………………………………………………Y
1.4 本章小结……………………………………………………Y
2 方案论证………………………………………………………………Y
2.1 功能需求分析…………………………………………………………………………Y
2.2 技术应用概述………………………………………………………………………………Y
2.3 本章小结…………………………………………………………………………Y
3 硬件设计………………………………………………………………………………Y
3.1 芯片选型及系统架构………………………………………………………………Y
3.2 方案设计………………………………………………………………Y
4 软件开发………………………………………………………………………………Y
4.1 开发软件应用程序………………………………………………………………Y
4.2 程序流程图………………………………………………………………………………Y
5 综合测试………………………………………………………………………………Y
5.1 硬件测试………………………………………………………………是
5.2 功能测试……………………………………………………………………Y
6总结与展望…………………………………………………………Y
致谢…………………………………………………………………………Y
参考文献…………………………………………………………………………………………Y
附录…………………………………………………………………………………………Y