提供对应的Proteus仿真电路图,Keil程序源码(C语言)等电子资料参考学习,附全部资料的下载链接

1)项目完整资料获取链接:下载链接

2)Keil、Proteus各个版本安装包: 下载链接

01设计要求

设计一个基于STM32控制的智能密码锁仿真系统:

  1. OLED屏可以实时显示系统状态信息;
  2. 采用六位密码锁的程序设计;
  3. 键盘可以实现密码的输入;
  4. 密码正确时,光耦开关打开,密码隐藏,三秒后,光耦开关关闭,上锁;
  5. 密码错误时,输入的密码清零,重新输入;
  6. 密码输入错误时,可以通过删除按键删除,重新输入。

02Proteus仿真在这里插入图片描述

04示例代码

#include <reg52.h>
#include <intrins.h>

void Key_Init(void)
{
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
	
	GPIO_InitTypeDef GPIO_InitStructure;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOA, &GPIO_InitStructure);
}

int main(void)
{
	TIM2_Int_Init(100 , 72);
	LedIoInit();
	OLED_Init();
	Key_Init();
	OLED_Clear();
	OLED_ShowCHinese(16,0,0);
	OLED_ShowCHinese(32,0,1);
	OLED_ShowCHinese(48,0,2);
	OLED_ShowCHinese(64,0,3);
	OLED_ShowCHinese(80,0,4);
  OLED_ShowCHinese( 0,2,5);
	OLED_ShowCHinese(16,2,6);
	OLED_ShowCHinese(32,2,7);
	OLED_ShowCHinese(48,2,8);
	OLED_ShowCHinese(64,2,9);
	OLED_ShowChar(80,2,':',16);
	OLED_ShowChar(0,4,'*',16);OLED_ShowChar(10,4,'*',16);OLED_ShowChar(20,4,'*',16);OLED_ShowChar(30,4,'*',16);OLED_ShowChar(40,4,'*',16);OLED_ShowChar(50,4,'*',16);
	while (1)
	{
		if(clock2.t1sf==1){
			clock2.t1sf=0;
		}
		KeyFunc();  	
	}
}

注:

  1. 源码使用Keil4或Keil5打开

  2. 仿真使用的是Proteus8.17及以上版本,版本过低可能会打不开。

04资料获取

1)项目完整资料获取链接:下载链接

2)Keil、Proteus各个版本安装包: 下载链接

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐