基于STM32的智能社区门禁系统的设计与实现_第1页
基于STM32的智能社区门禁系统的设计与实现_第2页
基于STM32的智能社区门禁系统的设计与实现_第3页
基于STM32的智能社区门禁系统的设计与实现_第4页
基于STM32的智能社区门禁系统的设计与实现_第5页
已阅读5页,还剩26页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

附录附录一附表1系统元件清单器件名称器件型号器件个数单片机芯片STM32F103C8T61指纹AS6081RFIDRFID-RC5221蓝牙HC-051蜂鸣器有缘蜂鸣器1显示屏0.967针SPIOLED1步进电机28BYJ481按键4*4矩形按键1

附录二电路原理图

附录三部分代码:intmain(void){ u16set=0; u8err=0; intkey_num; inttime1; inttime2; //锁屏时间 chararrow=0;//箭头位子 //SysHSI_Init(); delay_init(); //延时函数初始化 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置NVIC中断分组2:2位抢占优先级,2位响应优先级 uart_init(9600); //串口初始化为9600 printf("串口功能正常\r\n"); Button4_4_Init();//初始化与按键连接的硬件接口 OLED_Init(); //显示初始化 Walkmotor_Init();//步进电机初始化 BEEP_Init(); //蜂鸣器初始化 usart2_init(usart2_baund);//初始化指纹模块 PS_StaGPIO_Init(); OLED_Clear(); starting();//开机信息logo err=RTC_Init(); //RTC初始化 if(err) { OLED_Clear(); Show_Str(12,13,128,20,"RTCCRYERR!",12,0); OLED_Refresh_Gram();//更新显示 delay_ms(3000); } SysPartInit();//系统参数初始化 while(1) {//锁屏界面MAIN: OLED_Clear(); OLED_Show_Font(56,48,0);//显示锁图标 while(1) { time1++;Display_Data();//时间显示:每1000ms更新一次显示数据 if(DisFlag==1) { DisFlag=0; OLED_Fill(0,24,16,63,0); OLED_Refresh_Gram();//更新显示 } if((time1%100)==1) { //MFRC522解锁 time1=0; MFRC522_Initializtion(); Error=MFRC522_lock(); if(Error==0) { gotoMENU; } else { OLED_Show_Font(56,48,0);//锁 } //手机蓝牙解锁密码1 Error=usart1_cherk((char*)sys.passwd1); if(Error==0){ OLED_Clear_NOupdate(); Show_Str(12,13,128,20,"蓝牙密码1:正确",12,0); OLED_Refresh_Gram();//更新显示 delay_ms(800); DisUnLock(); gotoMENU;} else {} //手机蓝牙解锁密码2 Error=usart1_cherk((char*)sys.passwd2); if(Error==0){ sys.errCnt=0; OLED_Clear_NOupdate(); Show_Str(12,13,128,12,"蓝牙密码2:正确",12,0); OLED_Refresh_Gram();//更新显示 delay_ms(800); DisUnLock(); gotoMENU; } else{} } //指纹解锁 if(PS_Sta) //检测PS_Sta状态,如果有手指按下 { while(PS_Sta){ Error=press_FR();//刷指纹 if(Error==0) {gotoMENU;//跳到解锁界面} else {OLED_Show_Font(56,48,0);//锁} } } //密码锁 key_num=Button4_4_Scan(); //按键扫描 if(key_num!=-1) {Error=password();//密码解锁函数 if(Error==0) { gotoMENU; //跳到解锁界面 } else {OLED_Show_Font(56,48,0);//锁}} delay_ms(1);} /********************主界面**************************/MENU:OLED_Clear();MENUNOCLR: OLED_Fill(0,0,20,48,0); //主页菜单显示 if(arrow<3){ Show_Str(5,arrow*16,128,16,"->",16,0);//显示箭头 set=0;} else{ Show_Str(5,(arrow-3)*16,128,16,"->",16,0); set=3;} Show_Str(25,0,128,16,setup[set],16,0); Show_Str(25,16,128,16,setup[set+1],16,0); Show_Str(25,32,128,16,setup[set+2],16,0); Show_Str(0,52,128,12,"上下确定",12,0); OLED_Refresh_Gram();//更新显示 time2=0; while(1) {//超时锁屏 time2++; if(time2>10000|key_num==4){ OLED_Clear(); DisLock(); if(time2>10000)beep_on_mode2(); time2=0; OLED_Clear(); gotoMAIN; } //手机蓝牙锁定 if(memcmp(USART_RX_BUF,"LOCK",4)==0) { DisLock(); gotoMAIN; } //功能选项选择 key_num=Button4_4_Scan(); if(key_num) {if(key_num==13){ if(arrow>0)arrow--; gotoMENUNOCLR;} if(key_num==15){ if(arrow<MaxParaNum-1)arrow++; gotoMENUNOCLR;} if(key_num==16){ switch(arrow) {#ifUSE_FINGERPRINT case0:Add_FR(); break;//录指 case1:Del_FR(); break;//删指纹 case2:SetPassworld();break;//修改密码 case3:Set_Time();break;//设置时间 case4:Add_Rfid();break;//录入卡片 case5:Massige();break;//显示信息#else case0:S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论