专做民宿的网站,品牌网站建设开发价格,国家企业公示信息系统(全国)官网,网站建设公司 待遇基于51单片机的指纹红外密码电子锁 1、系统功能介绍2、演示视频3、系统框图4、系统电路介绍4.1、STC89C52单片机最小系统设计4.2、LCD12864显示屏电路设计4.3、矩阵键盘按键控制部分电路设计4.4、AS608指纹模块电路设计 5、程序设计5.1、LCD12864屏幕初始化5.2、AT24C02存储芯片… 基于51单片机的指纹红外密码电子锁 1、系统功能介绍2、演示视频3、系统框图4、系统电路介绍4.1、STC89C52单片机最小系统设计4.2、LCD12864显示屏电路设计4.3、矩阵键盘按键控制部分电路设计4.4、AS608指纹模块电路设计 5、程序设计5.1、LCD12864屏幕初始化5.2、AT24C02存储芯片读写操作 6、资料下载 1、系统功能介绍
1.采用AT24C02芯片可以实现存储的密码掉电保存。密码为6位可以随意更改更改时要输入两遍确认2.采用矩阵按键输入、12864液晶显示、继电器模拟开锁有开锁指示灯。继电器有常开常闭触点可外接电磁锁等负载3.有管理员密码即使望记密码也不怕哈可以找回4.密码输入错误3次蜂鸣器响报警锁死5.三种开锁方式红外遥控开锁红外遥控器、指纹开锁指纹模块和密码开锁键盘模块
2、演示视频
演示视频https://www.bilibili.com/video/BV1jM4m1674i资料在视频简介中获取
3、系统框图 4、系统电路介绍
4.1、STC89C52单片机最小系统设计
单片机亦称单片微电脑或单片微型计算机。它是把中央处理器CPU、随机存取存储器RAM、只读存储器ROM、输入/输出端口I/0等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。现在可以说单片机是百花齐放的时期世界上各大芯片制造公司都推出了自己的单片机从8位、16位到32位数不胜数应有尽有它们各具特色互成互补为单片机的应用提供广阔的天地[6]。纵观单片机的发展过程可以预示单片机的发展趋势。STC89C52RC单片机是宏晶科技推出的新一代高速、低功耗、超强抗干扰的单片机指令代码完全兼容传统8051单片机12时钟/机器周期和6时钟/机器周期可以任意选择。51单片机最小系统电路图如下图所示
4.2、LCD12864显示屏电路设计 灰尘传感器可以对1微米以上的灰尘进行检测并通过输出电压的方式对数据进行采集。本系统使用灰尘传感器对室内PM2.5进行监测。 LCD12864共有20个引脚各引脚说明如下面表格所示 电路原理图如下图所示
4.3、矩阵键盘按键控制部分电路设计 按键的闭合与否反应在电压上就是呈现出高电平或低电平如果高电平表示断开那么低电平则表示闭合通过电平的高低状态的检测可确认键按下与否。为了确保CPU对一次按键动作只确认一次并且防止干扰信号的影响必需加入消除电平抖动的措施下图2-5为按键抖动示意。消除抖动通常有硬、软硬两种方法硬件消除抖动可采取双稳态电路或滤波消抖电路软件消抖是在第一次检测到有键按下时执行一段延时程序再确认该键是否仍闭合如果还是闭合状态则确认该键按下从而消除抖动和干扰影响。 矩阵键盘按键电路设计如下图所示
4.4、AS608指纹模块电路设计
本设计选择的指纹模块型号是AS608指纹模块里面主要是DSP芯片型号为AS606加上外面的CMOS芯片CMOS芯片主要是对指纹进行“照相”生成指纹特征如下图所示就是一个指纹模板录入两次这样的指纹特征就能生成一个指纹模板。具体的工作过程是扫描指纹录入图像、生成特征、合成模板建立一个指纹库文件成功录入一个指纹。电路原理图如下图所示实物图
5、程序设计
5.1、LCD12864屏幕初始化
void LCD_init(void)
{ LCD_write_com(0x30); //选择基本指令集 LCD_write_com(0x0c); //开显示无游标不反白LCD_write_com(0x01); //清除显示屏幕把DDRAM位址计数器调整为00HDelay_nms(5); //清屏操作时间较长1.6ms 因此加此延时LCD_write_com(0x02); //清DDRAM位址归位,此处貌似与清屏重复LCD_write_com(0x06); //设定光标右移整体显示不移动
}5.2、AT24C02存储芯片读写操作
/********************************************************************
* 名称 : x24c02_read()
* 功能 : 从24c02中读出值
* 输入 : address(要在这个地址读取值
* 输出 : 从24c02中读出的值
***********************************************************************/
uchar x24c02_read(uchar address)
{uchar i;start();writex(0xc0);ack();writex(address);ack();start();writex(0xc1);ack();i readx();stop();return(i);
}/********************************************************************
* 名称 : x24c02_write()
* 功能 : 想24c02中写入数据
* 输入 : address(地址 info值
* 输出 : 无
***********************************************************************/
void x24c02_write(uchar address, uchar info)
{start();writex(0xa0);ack();writex(address);ack();writex(info);ack();stop();
}
6、资料下载
演示视频https://www.bilibili.com/video/BV1jM4m1674i