网站导航三角怎么做,火车头wordpress发布模块,新闻头条最新消息30字,友情网站制作目录
一、前言
二、项目简介
1.功能详解
2.主要器件
三、原理图设计
四、PCB硬件设计
1.PCB图
2.PCB板及元器件图
五、程序设计
六、实验效果
七、资料内容
项目分享 一、前言
项目成品图片#xff1a; 哔哩哔哩视频链接#xff1a;
https://www.bilibili.c…目录
一、前言
二、项目简介
1.功能详解
2.主要器件
三、原理图设计
四、PCB硬件设计
1.PCB图
2.PCB板及元器件图
五、程序设计
六、实验效果
七、资料内容
项目分享 一、前言
项目成品图片 哔哩哔哩视频链接
https://www.bilibili.com/video/BV1Sg4y1X7Ex/?share_sourcecopy_webvd_source097fdeaf6b6ecfed8a9ff7119c32faf2 资料分享见文末
二、项目简介
1.功能详解
基于STM32智能门禁锁系统。
功能如下
按键解锁系统通过4×4矩阵键盘模块输入密码进入主菜单门禁刷卡通过RFID模块刷卡进入主菜单卡片可以添加或者覆盖删除指纹识别通过AS608指纹识别模块识别指纹开锁蓝牙APP解锁通过蓝牙APP输入密码解锁实时时间显示OLED屏幕显示当前时间可通过按键修改步进电机步进电机模拟门锁开关OLED显示显示用户解锁界面主菜单以及各项功能界面蜂鸣器报警密码输入错误蜂鸣器报警
2.主要器件
STM32F103C8T6最小系统板OLED显示屏7针SPI协议4×4矩阵键盘RFID门禁模块加卡片AS608指纹模块蓝牙模块BT04-A蜂鸣器
三、原理图设计
四、PCB硬件设计
1.PCB图
2.PCB板及元器件图
五、程序设计 int main(void){ u16 set0;u8 err0;int key_num;int time1;int time2; //锁屏时间char arrow0; //箭头位子delay_init(); //延时函数初始化 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级2位响应优先级uart_init(9600); //串口初始化为9600printf(串口功能正常\r\n);Button4_4_Init(); //初始化与按键连接的硬件接口OLED_Init(); //显示初始化Walkmotor_Init();BEEP_Init(); //蜂鸣器初始化usart2_init(usart2_baund); //初始化指纹模块PS_StaGPIO_Init();OLED_Clear(); starting();//开机信息 logoerr RTC_Init(); //RTC初始化if(err){OLED_Clear(); Show_Str(12,13,128,20,RTC CRY ERR!,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解锁time10;MFRC522_Initializtion(); ErrorMFRC522_lock();if(Error0){goto MENU; }else {OLED_Show_Font(56,48,0);//锁}//手机蓝牙解锁密码1Errorusart1_cherk((char*)sys.passwd1); if(Error0){ OLED_Clear_NOupdate();Show_Str(12,13,128,20,蓝牙密码1正确,12,0); OLED_Refresh_Gram();//更新显示delay_ms(800);DisUnLock();goto MENU; }else {}//手机蓝牙解锁密码2Errorusart1_cherk((char*)sys.passwd2); if(Error0){sys.errCnt 0;OLED_Clear_NOupdate();Show_Str(12,13,128,12,蓝牙密码2正确,12,0); OLED_Refresh_Gram();//更新显示delay_ms(800);DisUnLock();goto MENU; }else {}}//指纹解锁if(PS_Sta) //检测PS_Sta状态如果有手指按下{while(PS_Sta){Errorpress_FR();//刷指纹if(Error0){goto MENU; //跳到解锁界面} else {OLED_Show_Font(56,48,0);//锁}}}//密码锁key_numButton4_4_Scan(); //按键扫描if(key_num!-1){Errorpassword();//密码解锁函数if(Error0){goto MENU; //跳到解锁界面}else {OLED_Show_Font(56,48,0);//锁}}delay_ms(1); }
/********************主界面**************************/MENU:OLED_Clear();MENUNOCLR:OLED_Fill(0,0,20,48,0);//主页菜单显示if(arrow3){Show_Str(5,arrow*16,128,16,-,16,0);//显示箭头set0;}else {Show_Str(5,(arrow-3)*16,128,16,-,16,0);set3;}Show_Str(25,0,128,16,setup[set],16,0);Show_Str(25,16,128,16,setup[set1],16,0);Show_Str(25,32,128,16,setup[set2],16,0);Show_Str(0,52,128,12,上 下 确定,12,0);OLED_Refresh_Gram();//更新显示time20;while(1){//超时锁屏time2;if(time2100 | key_num4){ OLED_Clear();DisLock();if(time2100) beep_on_mode2();time2 0;OLED_Clear();goto MAIN;}//手机蓝牙锁定if(memcmp(USART_RX_BUF,lock,4)0) {DisLock();goto MAIN;} //功能选项选择key_numButton4_4_Scan(); if(key_num){if(key_num13){if(arrow0)arrow--;goto MENUNOCLR;}if(key_num15){if(arrow5)arrow;goto MENUNOCLR;}if(key_num16){switch(arrow){case 0:Add_FR(); break;//录指case 1:Del_FR(); break;//删指纹case 2:SetPassworld();break;//修改密码case 3:Set_Time(); break; //设置时间case 4:Add_Rfid(); break; //录入卡片case 5:Massige(); break; //显示信息 }goto MENU;} }delay_ms(1);} }}
六、实验效果
七、资料内容
项目分享