基于51单片机的指纹红外密码电子锁
- 1、项目简介
- 1.1 系统框架
- 1.2 系统功能
- 2、部分电路设计
- 2.1 STC89C52单片机最小系统电路设计
- 2.2 矩阵按键电路电路设计
- 2.3 液晶显示模块电路设计
- 3、部分代码展示
- 3.1 LCD12864显示字符串
- 3.2 串口初始化
- 实物图
1、项目简介
- 选题指导,项目分享: https://gitee.com/lighter-z/embedded-base/tree/master
- 点击查看详细资料
1.1 系统框架
本设计由STC89C52RC单片机最小系统+指纹模块电路+矩阵按键电路+AT24C02+LCD12864液晶显示屏电路构成。
1.2 系统功能
- 1.采用AT24C02芯片可以实现存储的密码掉电保存。密码为6位,可以随意更改,更改时要输入两遍确认;
- 2.采用矩阵按键输入、12864液晶显示、继电器模拟开锁,有开锁指示灯。继电器有常开常闭触点可外接电磁锁等负载;
- 3.有管理员密码,即使望记密码也不怕哈,可以找回;
- 4.密码输入错误3次,蜂鸣器响,报警锁死;
- 5.三种开锁方式:红外遥控开锁(红外遥控器)、指纹开锁(指纹模块)和密码开锁(键盘模块)
2、部分电路设计
2.1 STC89C52单片机最小系统电路设计
STC89C52RC单片机是宏晶科技推出的新一代高速、低功耗、超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。
STC89C52单片机最小系统电路由复位电路、时钟电路和电源电路。拥有这三部分电路后,单片机即可正常工作。
单片机最小系统原理图如下图所示:
实物图:
2.2 矩阵按键电路电路设计
矩阵式键盘由行线和列线组成,按键位于行、列的交叉点上。当键被按下时,其交点的行线和列线接通,相应的行线或列线上的电平发生变化,单片机通过检测行或列线上的电平变化可以确定哪个按键被按下。
矩阵键盘的检测方法有多种,常见的有:逐点扫描法、逐行扫描法、全局扫描法。
其具体电路原理图如下图所示:
2.3 液晶显示模块电路设计
液晶是一种高分子材料,因为其特殊的物理、化学、光学特性,20世纪中叶开始广泛应用在轻薄型显示器上。
液晶显示器的主要原理是以电流刺激液晶分子产生点、线、面并配合背部灯管构成画面。为叙述简便,通常把各种液晶显示器都直接叫做液晶。
液晶体积小、功耗低、现实操作简单,但是它有一个致命的弱点,其使用温度范围很窄,通用型液晶正常工作温度范围为0°C~+55°C,存储温度范围为-20°C~+60°C,因此在设计相应产品时,务必要考虑周全,选取合适的液晶。
其具体电路原理图如下图所示:
实物图如下:
3、部分代码展示
3.1 LCD12864显示字符串
void PutStr(unsigned char row,unsigned char col,unsigned char *puts)
{
WriteCommand(0x30);
WriteCommand(AC_TABLE[8*row+col]);
while(*puts != '\0')
{
if(col==8)
{
col=0;
row++;
}
if(row==4) row=0;
WriteCommand(AC_TABLE[8*row+col]);
WriteData(*puts);
puts++;
if(*puts != '\0')
{
WriteData(*puts);
puts++;
col++;
}
}
}
3.2 串口初始化
void UartInit(void) //2400bps@11.0592MHz
{
SCON = 0x50; //8-bit variable UART
PCON=0X00;
TMOD = 0x20; //Set Timer1 as 8-bit auto reload mode
TH1 = TL1 = 0XF4; //Set auto-reload vaule
TR1 = 1; //Timer1 start run
ES = 0; //Enable UART interrupt
EA = 0; //Open master interrupt switch
}