附录1:串口调试子程序
串口调试子程序
#include #include
unsigned char FP_Pack_Head[6] = {0xEF,0x01,0xFF,0xFF,0xFF,0xFF}; //协议包头
unsigned char FP_Get_Img[6] = {0x01,0x00,0x03,0x01,0x0,0x05}; //获得指纹图像
unsigned char a[6] ={}; unsigned char b[6] ={}; //初始化 UART 子程序 void UART_Init(void) {
UCSRB = 0x00; //disable while setting baud rate UCSRA = 0x00; //Bit1为1则倍速发送 UCSRC = 0x06;
UBRRL = 0x07; //波特率:57600 Bps UBRRH = 0x00; //误差率:0.000% UCSRB = 0x18; }
//发送一个位
void UART_Send_Byte(unsigned char ucData) {
while(!(UCSRA&(1< unsigned char UART_Receive_Byte(void) { 29 while(!(UCSRA & ( 1< return UDR; } //_获得指纹图像命令 void Cmd_Get_Img(void) { unsigned char i; for(i=0;i<6;i++) UART_Send_Byte(FP_Pack_Head[i]); for(i=0;i<6;i++) UART_Send_Byte(FP_Get_Img[i]); for(i=0;i<6;i++) //发送包头 a[i] =UART_Receive_Byte(); for(i=0;i<6;i++) //发送命令 0x1d b[i] = UART_Receive_Byte(); for(i=0;i<6;i++) UART_Send_Byte(a[i]); for(i=0;i<6;i++) UART_Send_Byte(b[i]); } int main() { UART_Init(); Cmd_Get_Img(); } 30 附录2:整体源程序 整体源程序 #include #include //#include #define uchar unsigned char #define uint unsigned int #define key1 0x01 #define key2 0x02 #define key3 0x04 #define key4 0x08 static uchar k=0; uchar name00[]={\ %uchar name01[]={\ 欢迎使用 %uchar name02[]={\单片机指纹密码锁%uchar name03[]={\ %uchar name04[]={\ 指纹采集开始 %uchar name05[]={\ 指纹对比开始 %uchar name06[]={\ 指纹存储开始 %uchar name07[]={\ 一次采集 %uchar name08[]={\ 二次采集 %uchar name09[]={\ 录入成功 %uchar name10[]={\ 录入失败 %uchar name11[]={\ 收包有错 %uchar name12[]={\传感器上无手指 %uchar name13[]={\ 生成特征成功 %uchar name14[]={\图想乱生不成特征%uchar name15[]={\图象正常特征点少%uchar name16[]={\指纹模板合并成功%uchar name17[]={\指纹模板合并失败\ 31 uchar name18[]={\ 非同一手指 %uchar name19[]={\ 存储成功 %uchar name20[]={\ 写指纹库出错 %uchar name21[]={\ 指纹匹配 %uchar name22[]={\ 指纹不匹配 %uchar name23[]={\ 密码正确 %uchar name24[]={\ 密码不正确 %uchar FP_1[6]={}; uchar FP_2[6]={}; uchar FP_Pack_Head[6]={0xEF,0x01,0xFF,0xFF,0xFF,0xFF}; //协议包头 uchar FP_Get_Img[6]={0x01,0x00,0x03,0x01,0x0,0x05}; //获得指纹图像 uchar FP_Search_0_9[11]={0x01,0x0,0x08,0x04,0x01,0x0,0x0,0x0,0x13,0x0,0x21}; //搜索0-9号指纹 uchar FP_Img_To_Buffer1[7]={0x01,0x0,0x04,0x02,0x01,0x0,0x08}; //将图像放入到BUFFER1 uchar FP_Img_To_Buffer2[7]={0x01,0x0,0x04,0x02,0x02,0x0,0x09}; //将图像放入到BUFFER2 uchar FP_Reg_Model[6]={0x01,0x0,0x03,0x05,0x0,0x09}; //将BUFFER1跟BUFFER2合成特征模版 volatile uchar FP_Save_Finger1[9]={0x01,0x00,0x06,0x06,0x01,0x00,0x0B,0x00,0x19};//将BUFFER1中的特征码存放到指定的位置 volatile uchar FP_Save_Finger2[9]={0x01,0x00,0x06,0x06,0x01,0x00,0x0C,0x00,0x1A};//将BUFFER1中的特征码存放到指定的位置 volatile uchar FP_Save_Finger3[9]={0x01,0x00,0x06,0x06,0x01,0x00,0x0D,0x00,0x1B};//将BUFFER1中的特征码存放到指定的位置 uchar yb=0x80; //初始化 UART 子程序 void UART_Init(void) { UCSRB = 0x00; //disable while setting baud rate UCSRA = 0x00; //Bit1为1则倍速发送 32 UCSRC = 0x06; //传送一桢数据位为8位 UBRRL = 0x07; //波特率:57600 Bps UBRRH = 0x00; //误差率:0.000% UCSRB = 0x18; } //发送八位数据 void UART_Send_Byte( uchar ucData) { while(!(UCSRA&(1< //接收八位数据 uchar UART_Receive_Byte(void) { while(!(UCSRA&(1< //_获得指纹图像命令 void Cmd_Get_Img(void) { uchar i,j; for(i=0;i<6;i++) //发送包头与模块地址 UART_Send_Byte(FP_Pack_Head[i]); for(i=0;i<6;i++) //发送命令 0x1d UART_Send_Byte(FP_Get_Img[i]); for(i=0;i<6;i++) FP_1[i]=UART_Receive_Byte(); for(i=0;i<6;i++) FP_2[i]=UART_Receive_Byte(); j=FP_2[3]; 33 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库AAA基于单片机的指纹识别电子密码锁的毕业设计初稿 - 图文(7)在线全文阅读。
相关推荐: