STM32 按键密码系统的实现

本次基于STM32F407开发板,来实现密码系统,输入四位密码,密码正确时LED1亮,密码错误时四个LED灯双闪。

LED双闪代码

简单的逻辑,让四个LED灯先亮然后再延时一会LED灯灭,循环4此实现双闪的效果。

STM32 按键密码系统的实现_第1张图片

按键密码的实现

前面我们写了一个按键按下返回1 否则返回0的函数(在按键配置的那一章),根据这个函数来进行按键密码的实现,定义一个数组,使其按键一按下为密码一,按键二按下为密码二,按键三为密码三,按键四为密码四,实现密码系统。

封装一个函数名为Password,在这个函数里面实现密码功能。

先对KEY进行宏定义。

STM32 按键密码系统的实现_第2张图片

然后在Password.h里面宏定义密码 这里密码为1111

STM32 按键密码系统的实现_第3张图片

密码功能函数:

void Password(void)
{
	int pass[] = {0, 0, 0, 0};
	int i = 0;
	while(1)
	{
		if(KEY_Scanf(GPIOG,KEY1_PIN) == 1)
		{
			pass[i] = 1;
			i++;
		}
		if(KEY_Scanf(GPIOG,KEY2_PIN) == 1)
		{
			pass[i] = 2;
			i++;
		}
		if(KEY_Scanf(GPIOG,KEY3_PIN) == 1)
		{
			pass[i] = 3;
			i++;
		}
		if(KEY_Scanf(GPIOG,KEY4_PIN) == 1)
		{
			pass[i] = 4;
			i++;
		}
		if(pass[0] == A && pass[1] == B && pass[2] == C && pass[3] == D && i == 4)
		{
			LED1(0);
			i = 0;
			break;
		}
		else if(i == 4)
		{
			LED_Glint(100);
			i = 0;
		}
			
	}
}

你可能感兴趣的:(stm32,嵌入式硬件,单片机)