【单片机毕业设计13-基于stm32c8t6的智能门禁系统设计】
【单片机毕业设计13-基于stm32c8t6的智能门禁系统设计】
- 前言
- 一、功能介绍
- 二、硬件部分
- 三、软件部分
- 总结
前言
🔥这里是小殷学长,单片机毕业设计篇13-基于stm32c8t6的智能门禁系统设计
🧿创作不易,拒绝白嫖可私
一、功能介绍
------------------------------------------智能门禁系统设计-----------------------------------------
功能:
1.按键,指纹,RFID,蓝牙四种形式进行解锁
2.可进行密码修改,
3.可进行指纹添加删除
4.可进行RFID添加删除
5.可通过蓝牙进行解锁
6.语音播报
功能可定制
🔥 实物展示
二、硬件部分
下面为该毕设中所用到的相关硬件说明,具体参数不做细节描述
硬件材料
PCB和原理图
三、软件部分
main.c部分代码
int main(void)
{
u8 ensure;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);//设置系统中断优先级分组4
delay_init(); //延时初始化
LED_Init(); // led初始化
RC522_Init(); //RFID初始化
Buzzer_Init(); //蜂鸣器初始化
Key_Init_Config(); //按键初始化
Init_Usart(); //串口初始化
TIM3_Init(); //定时器初始化
Moto_Init(); //电机初始化
OLED_Init(); //初始化OLED
OLED_Clear(0); //清屏
Buzzer_Voice(); //开机蜂鸣器提示
Buzzer_Voice();
printf("HardWare Init OK\r\n");
#if Finger_Function
PS_StaGPIO_Init(); /*初始化FR读状态引脚*/
printf("与指纹模块握手\r\n");
while(PS_HandShake(&AS608Addr)) /*与AS608模块握手*/
{
delay_ms(400);
printf("未检测到模块\r\n");
delay_ms(800);
printf("尝试重新连接模块\r\n");
}
printf("通讯成功\r\n");
printf("地址:%x\r\n",AS608Addr); /*打印信息*/
PS_Empty();
ensure=PS_ValidTempleteNum(&ValidN); /*读库指纹个数*/
if(ensure!=0x00)
ShowErrMessage(ensure); /*显示确认码错误信息*/
ensure=PS_ReadSysPara(&AS608Para); /*读参数 */
if(ensure==0x00)
{
printf("库容量:%d 对比等级: %d",AS608Para.PS_max-ValidN,AS608Para.PS_level);
}
else
{
ShowErrMessage(ensure);
}
#endif
while(1)
{
Key_Task(); //数据处理任务
Interface_Task(work_mode); //界面显示任务
Logical_Task(); //逻辑处理任务
Usart_Task(); //串口处理任务
#if Rrid_Function
Card_Tsk(); //RFID处理任务
#endif
#if Finger_Function
Finger_Task(); //指纹侦测任务
if(PS_Sta) //检测PS_Sta状态,如果有手指按下
{
if(work_mode == 6)
{
finger_ok = press_FR();//刷指纹
}
}
#endif
}
}
总结
上面为基于stm32f103c8t6的智能门禁系统设计相关的大致介绍,源码,pcb和原理图以及相关文档说明做了详细说明,有需可私
🧿创作不易,拒绝白嫖