资源简介

本系统采用51单片机作为控制器,12864作为显示屏吗,以及指纹模块设计了一款指纹锁,开机上电显示菜单界面,可以通过按键设置管理员以及保存的指纹数据,可以对已保存的指纹数据进行增减,或者新加入新指纹数据,用户通过识别指纹,可以进行解锁,希望对大家有一定的帮助

资源截图

代码片段和文件信息

#include 
#include 
#include“24C02.h“
#define uchar unsigned char
#define uint unsigned int
/********************************************************************
* 名称 : flash()
* 功能 : 延时时间为5个NOP,大概为5US
* 输入 : 无
* 输出 : 无
***********************************************************************/
void flash(void) 
{
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}

/********************************************************************
* 名称 : x24c02_init()
* 功能 : 24c02初始化子程序
* 输入 : 无
* 输出 : 无
***********************************************************************/
void x24c02_init(void) 
{  
scl = 1;
flash();
sda = 1;
flash();
}

/********************************************************************
* 名称 : start(void)
* 功能 : 启动I2C总线
* 输入 : 无
* 输出 : 无
***********************************************************************/
void start(void)
{
scl = 1; 
flash();
sda = 1;
flash(); 
sda = 0; 
flash(); 
scl = 0;   //钳住低电平,准备发送信号
flash();
}

/********************************************************************
* 名称 : stop()
* 功能 : 停止I2C总线
* 输入 : 无
* 输出 : 无
***********************************************************************/
void stop() 
{
scl = 0;
flash();
sda = 0; 
flash();
scl = 1;
flash();
sda = 1;
flash();
}

/********************************************************************
* 名称 : writex()
* 功能 : 写一个字节
* 输入 : j(需要写入的值)
* 输出 : 无
***********************************************************************/
void writex(uchar j)
{  
uchar itemp;
temp = j;
for(i=0; i<8; i++)
{
scl = 0; 
flash(); 
sda = (bit)(temp & 0x80);  //把数据的最高位电平赋值给SDA
flash();
scl = 1; 
flash();
temp = temp << 1;     //数据左移一位
}
scl = 0;
flash(); 
}

/********************************************************************
* 名称 : readx()
* 功能 : 读一个字节
* 输入 : 无
* 输出 : 读出的值
***********************************************************************/
uchar readx(void)
{
uchar i j k = 0;
for(i=0; i<8; i++)
{
scl = 0;
flash();
if(sda == 1)
{
j = 1;
}
else j = 0;
k = (k << 1) | j; 
scl = 1;
flash();

return(k);
}

/********************************************************************
* 名称 : ack()
* 功能 : I2C总线时钟
* 输入 : 无
* 输出 : 无
***********************************************************************/
void ack(void)
{
uchar i = 0;
scl = 1;
flash();
while((sda == 1) && (i < 255)) 
{
i++;   //i的作用是当SDA时钟为1时,程序不会一直锁死在这里
}
scl = 0;
flash();
}

/********************************************************************
* 名称 : x24c02_write()
* 功能 : 想24c02中写入数据
* 输入 : address(地址) , info(值)
* 输出 : 无
***********************************************************************/
void x24c02_write(uchar address uchar info)
{
start();
writex(0xa0);
ack();
writex(address);
ack();
writex(info);
ack();
stop();
}

/************************************************

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-05-13 22:50  1-指纹密码锁源程序\
     文件        3595  2018-04-26 19:23  1-指纹密码锁源程序\24C02.c
     文件         975  2018-05-11 11:42  1-指纹密码锁源程序\24C02.h
     文件        7923  2018-05-13 22:50  1-指纹密码锁源程序\24C02.LST
     文件        7156  2018-05-13 22:50  1-指纹密码锁源程序\24C02.OBJ
     文件        4031  2018-05-11 11:14  1-指纹密码锁源程序\LCD12864.c
     文件         510  2018-04-25 20:37  1-指纹密码锁源程序\LCD12864.H
     文件        8199  2018-05-13 22:50  1-指纹密码锁源程序\LCD12864.LST
     文件        7712  2018-05-13 22:50  1-指纹密码锁源程序\LCD12864.OBJ
     文件       54496  2018-05-13 22:50  1-指纹密码锁源程序\指纹密码锁
     文件       22357  2018-05-13 22:41  1-指纹密码锁源程序\指纹密码锁.c
     文件       15778  2018-05-13 22:50  1-指纹密码锁源程序\指纹密码锁.hex
     文件          83  2018-05-13 22:50  1-指纹密码锁源程序\指纹密码锁.lnp
     文件       49528  2018-05-13 22:50  1-指纹密码锁源程序\指纹密码锁.LST
     文件       70677  2018-05-13 22:50  1-指纹密码锁源程序\指纹密码锁.M51
     文件       50624  2018-05-13 22:50  1-指纹密码锁源程序\指纹密码锁.OBJ
     文件        2066  2018-05-13 22:50  1-指纹密码锁源程序\指纹密码锁.plg
     文件      430735  2015-03-10 15:22  1-指纹密码锁源程序\指纹密码锁.uvgui.SP
     文件      430076  2015-03-04 08:41  1-指纹密码锁源程序\指纹密码锁.uvgui_SP.bak
     文件       58131  2018-05-13 22:50  1-指纹密码锁源程序\指纹密码锁.uvopt
     文件       13612  2018-04-25 20:43  1-指纹密码锁源程序\指纹密码锁.uvproj
     文件       58131  2018-05-13 22:50  1-指纹密码锁源程序\指纹密码锁_uvopt.bak
     文件       13612  2018-04-25 18:47  1-指纹密码锁源程序\指纹密码锁_uvproj.bak
     文件     1796096  2014-12-25 19:14  1-指纹密码锁源程序\指纹识别系统原理图.Bkp

评论

共有 条评论