没有合适的资源?快使用搜索试试~ 我知道了~
指纹识别模块单片机程序.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 198 浏览量
2023-09-17
21:34:25
上传
评论
收藏 296KB PDF 举报
温馨提示
试读
14页
指纹识别模块单片机程序.pdf
资源推荐
资源详情
资源评论
#include <reg52.h>
#include <intrins.h>
#define TRUE 1
unsigned char SaveNumber=0,searchnum=0;
unsigned int SearchNumber=0;
unsigned int clk0=0;
sbit relay =P1^4; //继电器引脚
sbit buzzer=P1^5; //蜂鸣器引脚
sbit red= P2^7;//录入模式指示灯 在板子靠近单片机处
sbit green= P2^0;//识别模式指示灯 在板子远离单片机处
sbit k1=P3^3; //模式识别
sbit k2=P3^4; //录入一次指纹
sbit k3=P3^2; //清除所有指纹(10 个指纹清除)
//变量定义:
unsigned char code tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//表:共阳数
码管 0-9
//数码管引脚定义:
sbit SMG_g = P1^3; //定义数码管阳级控制脚(个位)
//由于程序中定时器被用 我们用一位数码管显示 且为静太显示 所以推荐大家用 1602 或者
12864 液晶
bit changeflag=0,modeflag=0,clearallflag=0; //默认为识别模式,如果为 1 为录入指纹模式,
每录入一次 SaveNumber++
//////////////////////////////////////常用指令定义/////////////////////////////
//Verify Password :验证设备握手口令
unsigned char code VPWD[16]={16,0X01 ,0Xff,0xff,0xff,0xff,
0x01,0,7,0x13,0x00,0x00,0x00,0x00,0x00,0x1b}; //回送 12 个
//设置设备握手口令
unsigned char code STWD[16]={16,0X01 ,0Xff,0xff,0xff,0xff,
0x01,0,7,0x12,0x00,0x00,0x00,0x00,0x00,0x1a}; //回送 12 个
//GetImage :探测手指并从传感器上读入图像
unsigned char code GIMG[14]={12, 0X01 ,0Xff,0xff,0xff,0xff, 0x01, 0,3,1,0x00,0x05}; // 回 送
12 个
//Gen Templet1 :根据原始图像生成指纹特征 1
unsigned char code GENT1[14]={13,0X01 ,0Xff,0xff,0xff,0xff,0x01,0,4,2,1,0x00,0x08}; // 回 送
12 个
//Gen Templet2 :根据原始图像生成指纹特征 2
unsigned char code GENT2[14]={13,0X01 ,0Xff,0xff,0xff,0xff,0x01,0,4,2,2,0x00,0x09}; //回送
12 个
//Search Finger :以 CharBufferA 或 CharBufferB 中的特征文件搜索整个或部分指纹库
unsigned char code SEAT[18]={17, 0X01 ,0Xff,0xff,0xff,0xff, 0x01, 0,8, 4,1,0,0, 0,0x65,
0x00,0x73}; //回送 16 个
//Merge Templet ;将 CharBufferA 与 CharBufferB 中的特征文件合并生成模板,结果存
于 ModelBuffer。
unsigned char code MERG[14]={12, 0X01 ,0Xff,0xff,0xff,0xff, 0x01, 0,3,5 , 0x00,0x09};//回
送 12 个
//Store Templet :将 ModelBuffer 中的文件储存到 flash 指纹库中
unsigned char code STOR[16]={15, 0X01 ,0Xff,0xff,0xff,0xff, 0x01, 0,6,6,2, 0x00,0x00,
0x00,0x0f}; //回送 12 个
//Read Note
unsigned char code RDNT[14]={13,0X01 ,0Xff,0xff,0xff,0xff, 0x01, 0,4,0x19, 0, 0x00,0x1e};
//Clear Note
unsigned char code DENT[46]={45,0X01 ,0Xff,0xff,0xff,0xff, 0x01,
0,36,0x18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x00,0x3d};
//DEL one templet
unsigned char code DELE_one[16]={16, 0X01 ,0Xff,0xff,0xff,0xff, 0x01, 0,7, 0x0c,0x00,0x00,
0,1, 0x00,0x15};
//DEL templet ;清空指纹库
unsigned char code DELE_all[12]={12,0X01 ,0Xff,0xff,0xff,0xff, 0x01, 0,3, 0x0d,0x00,0x11};
////////////////常用指令定义-------结束///////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////宏定义////////////////////////////////////////////////////////////////////////
#define FALSE 0
#define TURE 1
//状态定义表
#define on 1
#define off 0
#define MAX_NUMBER 63
#define _Nop() _nop_()
//////////////////////////////////////宏定义------------结束////////////////////////////////////////////////////////
unsigned char FifoNumber=0;
unsigned char FIFO[MAX_NUMBER+1]={0};
/*********1 毫秒延时程序**********/
void delay1ms(unsigned int t)
{
unsigned int i,j;
for(i=0;i<t;i++)
for(j=0;j<120;j++)
;
}
void TxdByte(unsigned char dat)//串口发送信息,通过查询方式发送一个字符
{
TI = 0; //让 TI=0
SBUF = dat; //读入数据
while(!TI); //等待发送完毕
TI = 0; //清零
}
bit Command(unsigned char *p,unsigned char MaxTime) //命令解析,给模块发送一个命令
{
unsigned char count=0,tmpdat=0,temp=0,i=0,package=0,flag=0,checksum=0;
bit result=0, start=0,stop=0;
TxdByte(0xef);//数据包包头识别码
剩余13页未读,继续阅读
资源评论
hhappy0123456789
- 粉丝: 61
- 资源: 5万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功