⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hz16_16.c

📁 是一个基于arm开发平台的指纹识别的原程序,基于ucos
💻 C
字号:
#include "config.h"


const uint8 hz0[][32]={//功能列表
//功   CB9A6
{0x000,0x020,0x000,0x020,0x07F,0x020,0x008,0x020,
 0x00B,0x0FC,0x008,0x024,0x008,0x024,0x008,0x044,
 0x009,0x044,0x00E,0x044,0x0F0,0x084,0x040,0x084,
 0x001,0x004,0x002,0x078,0x004,0x010,0x000,0x000
},
//能   CC4DC
{0x020,0x040,0x030,0x040,0x024,0x04C,0x042,0x070,
 0x0FF,0x044,0x042,0x046,0x000,0x07C,0x07E,0x000,
 0x042,0x040,0x07E,0x04C,0x042,0x070,0x07E,0x040,
 0x042,0x044,0x042,0x046,0x04A,0x03C,0x044,0x000
},
//列   CC1D0
{0x000,0x004,0x0FF,0x084,0x008,0x004,0x011,0x024,
 0x01F,0x0A4,0x011,0x024,0x021,0x024,0x052,0x024,
 0x08A,0x024,0x004,0x024,0x004,0x024,0x008,0x004,
 0x010,0x000,0x020,0x014,0x0C0,0x008,0x000,0x000
},
//表   CB1ED
{0x001,0x000,0x001,0x000,0x03F,0x0FC,0x001,0x000,
 0x01F,0x0F8,0x001,0x000,0x07F,0x0FE,0x003,0x000,
 0x006,0x088,0x00C,0x08C,0x038,0x050,0x0C8,0x020,
 0x009,0x010,0x00A,0x00E,0x00C,0x004,0x008,0x000,
},
//:
{0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,
 0x000,0x000,0x003,0x000,0x003,0x000,0x000,0x000,
 0x000,0x000,0x000,0x000,0x003,0x000,0x003,0x000,
 0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000
}
};

const uint8 hz1[][32]={//一、提取指纹
//一[16*16]横排
{  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,
   0x00,  0x00,  0x00,  0x00,  0x00,  0x04, 0x0FF, 0x0FE,
   0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,
   0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00
},
//、
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00,0x0F,0x80,0x0F,0x0C0,
 0x07,0x00,0x03,0x0C0,0x01,0x0C0,0x00,0x0C0,
 0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00
},
//提[16*16]横排
{  0x10,  0x08,  0x11, 0x0FC,  0x11,  0x08,  0x11,  0x08,
  0x0FD, 0x0F8,  0x11,  0x08,  0x15,  0x08,  0x19, 0x0F8,
   0x30,  0x00, 0x0D7, 0x0FE,  0x10,  0x20,  0x11,  0x28,
   0x11,  0x3C,  0x11,  0x20,  0x52, 0x0A6,  0x24,  0x7C
},
//取[16*16]横排
{   0x01,  0x00, 0x0FF,  0x80,  0x22,  0x00,  0x23, 0x0FC,
   0x3E,  0x04,  0x22,  0x84,  0x22,  0x88,  0x3E,  0x88,
   0x22,  0x48,  0x22,  0x50,  0x22,  0x20,  0x3E,  0x50,
  0x0E2,  0x48,  0x42,  0x8E,  0x03,  0x04,  0x02,  0x00
},
//指[16*16]横排
{  0x11,  0x00,  0x11,  0x08,  0x11,  0x1C,  0x11, 0x0E0,
  0x0FD,  0x02,  0x11,  0x02,  0x14, 0x0FE,  0x18,  0x04,
   0x31, 0x0FE, 0x0D1,  0x04,  0x11,  0x04,  0x11, 0x0FC,
   0x11,  0x04,  0x11,  0x04,  0x51, 0x0FC,  0x21,  0x04
},
//纹[16*16]横排
{  0x10,  0x80,  0x10,  0x40,  0x20,  0x40,  0x20,  0x04,
   0x4F, 0x0FE, 0x0FA,  0x08,  0x11,  0x10,  0x21,  0x10,
   0x40, 0x0A0, 0x0FC, 0x0A0,  0x00,  0x40,  0x00, 0x0A0,
   0x1C, 0x0A0, 0x0E1,  0x10,  0x42,  0x0E,  0x04,  0x04
}
};

const uint8 hz2[][32]={//二、存储指纹
//二
{
0x000,0x000,0x000,0x010,0x03F,0x0F8,0x000,0x000,
0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,
0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x004,
0x07F,0x0FE,0x000,0x000,0x000,0x000,0x000,0x000
},
//、
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00,0x0F,0x80,0x0F,0x0C0,
 0x07,0x00,0x03,0x0C0,0x01,0x0C0,0x00,0x0C0,
 0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00
},
//存   
{
0x003,0x000,0x002,0x000,0x07F,0x0FC,0x004,0x000,
0x004,0x000,0x00B,0x0F8,0x018,0x010,0x010,0x020,
0x030,0x020,0x057,0x0FE,0x090,0x020,0x010,0x020,
0x010,0x020,0x010,0x020,0x010,0x0A0,0x010,0x040,
},
//储
{
0x010,0x020,0x018,0x024,0x015,0x0FE,0x024,0x024,
0x020,0x028,0x05D,0x0FE,0x0A4,0x020,0x024,0x040,
0x025,0x0FC,0x026,0x084,0x024,0x0FC,0x024,0x084,
0x025,0x084,0x02E,0x0FC,0x024,0x084,0x000,0x000
},
//指[16*16]横排
{  0x11,  0x00,  0x11,  0x08,  0x11,  0x1C,  0x11, 0x0E0,
  0x0FD,  0x02,  0x11,  0x02,  0x14, 0x0FE,  0x18,  0x04,
   0x31, 0x0FE, 0x0D1,  0x04,  0x11,  0x04,  0x11, 0x0FC,
   0x11,  0x04,  0x11,  0x04,  0x51, 0x0FC,  0x21,  0x04
},
//纹[16*16]横排
{  0x10,  0x80,  0x10,  0x40,  0x20,  0x40,  0x20,  0x04,
   0x4F, 0x0FE, 0x0FA,  0x08,  0x11,  0x10,  0x21,  0x10,
   0x40, 0x0A0, 0x0FC, 0x0A0,  0x00,  0x40,  0x00, 0x0A0,
   0x1C, 0x0A0, 0x0E1,  0x10,  0x42,  0x0E,  0x04,  0x04
}
};

const uint8 hz3[][32]={
//三
{0x000,0x000,0x000,0x000,0x07F,0x0FC,0x000,0x000,
 0x000,0x000,0x000,0x000,0x000,0x000,0x03F,0x0F8,
 0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,
 0x000,0x000,0x07F,0x0FE,0x000,0x000,0x000,0x000
},
//、
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00,0x0F,0x80,0x0F,0x0C0,
 0x07,0x00,0x03,0x0C0,0x01,0x0C0,0x00,0x0C0,
 0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00
},
//返   CB7B5
{0x000,0x008,0x043,0x0FC,0x022,0x000,0x032,0x000,
 0x023,0x0F8,0x002,0x008,0x0E3,0x008,0x022,0x090,
 0x022,0x050,0x024,0x020,0x024,0x050,0x028,0x088,
 0x023,0x004,0x050,0x000,0x08F,0x0FC,0x000,0x000
},
//回   CBBD8
{0x000,0x000,0x07F,0x0FC,0x040,0x004,0x040,0x004,
 0x04F,0x0E4,0x048,0x024,0x048,0x024,0x048,0x024,
 0x048,0x024,0x048,0x024,0x04F,0x0E4,0x040,0x004,
 0x040,0x004,0x040,0x004,0x07F,0x0FC,0x000,0x000
}
};
//const int8 hz1[]="一提取指纹";
//const int8 hz2[]="二保存指纹";
//const int8 hz3[]="三返回";
//const int8 hz1[]="一提取指纹";
//const int8 hz1[]="一提取指纹";
extern uint8 dcb2dex_tab[];
//const uint8 dcb2dex_tab[8]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
/****************************************************************************
* 名称:GUI_PutChar24()
* 功能:显示ASCII码(24*24字体),显示值为20H-7FH(若为其它值,则显示' ')。
* 入口参数: x		指定显示位置,x坐标
*           y		指定显示位置,y坐标
*           ch		要显示的ASCII码值。
* 出口参数:返回值为1时表示操作成功,为0时表示操作失败。
* 说明:操作失败原因是指定地址超出有效范围。
****************************************************************************/

uint8  GUI_Put16_160(uint32 x, uint32 y)//, uint8 hz[][32], uint8 num)
{  uint8   font_dat;
   uint8   i, j, k;

	
   /* 参数过滤 */
   if( x>(GUI_LCM_XMAX-16) ) return(0);
   if( y>(GUI_LCM_YMAX-16) ) return(0);
  
  
  
   for(k=0;k<5;k++)
   { 
	   for(i=0; i<16; i++)						// 显示共24行
	   {  for(j=0; j<16; j++)					// 每行共24点
	      {  // 若当前点为0、8、16点,读取点阵数据 
	         if((j==0)|(j==8)) font_dat = hz0[k][i*2+j/8];     
	         // 设置相应的点为color或为back_color 
	         if( (font_dat&dcb2dex_tab[j%8])==0 ) GUI_Point(x, y,WHITE);// RED);
	            else  GUI_Point(x, y, BLACK);//GREEN); 
	         x++;
	      }
	      
	      y++;									// 指向下一行
	      x -= 16;								// 恢复x值
	   }
	   y-=16;
	   x+=16;
   }
   return(1);
}

uint8  GUI_Put16_161(uint32 x, uint32 y)
{   uint8   font_dat;
   uint8   i, j, k;

	
   /* 参数过滤 */
   if( x>(GUI_LCM_XMAX-16) ) return(0);
   if( y>(GUI_LCM_YMAX-16) ) return(0);
  
  
  
   for(k=0;k<6;k++)
   { 
	   for(i=0; i<16; i++)						// 显示共24行
	   {  for(j=0; j<16; j++)					// 每行共24点
	      {  // 若当前点为0、8、16点,读取点阵数据 
	         if((j==0)|(j==8)) font_dat = hz1[k][i*2+j/8];     
	         // 设置相应的点为color或为back_color 
	         if( (font_dat&dcb2dex_tab[j%8])==0 ) GUI_Point(x, y,WHITE);// RED);
	            else  GUI_Point(x, y,BLACK);// GREEN); 
	         x++;
	      }
	      
	      y++;									// 指向下一行
	      x -= 16;								// 恢复x值
	   }
	   y-=16;
	   x+=16;
   }
   return(1);
}

uint8  GUI_Put16_162(uint32 x, uint32 y)
{   uint8   font_dat;
   uint8   i, j, k;

	
   /* 参数过滤 */
   if( x>(GUI_LCM_XMAX-16) ) return(0);
   if( y>(GUI_LCM_YMAX-16) ) return(0);
  
  
  
   for(k=0;k<6;k++)
   { 
	   for(i=0; i<16; i++)						// 显示共24行
	   {  for(j=0; j<16; j++)					// 每行共24点
	      {  // 若当前点为0、8、16点,读取点阵数据 
	         if((j==0)|(j==8)) font_dat = hz2[k][i*2+j/8];     
	         // 设置相应的点为color或为back_color 
	         if( (font_dat&dcb2dex_tab[j%8])==0 ) GUI_Point(x, y,WHITE);// RED);
	            else  GUI_Point(x, y,BLACK);// GREEN); 
	         x++;
	      }
	      
	      y++;									// 指向下一行
	      x -= 16;								// 恢复x值
	   }
	   y-=16;
	   x+=16;
   }
   return(1);
}

uint8  GUI_Put16_163(uint32 x, uint32 y)
{  uint8   font_dat;
   uint8   i, j, k;

	
   /* 参数过滤 */
   if( x>(GUI_LCM_XMAX-16) ) return(0);
   if( y>(GUI_LCM_YMAX-16) ) return(0);
  
  
  
   for(k=0;k<4;k++)
   { 
	   for(i=0; i<16; i++)						// 显示共24行
	   {  for(j=0; j<16; j++)					// 每行共24点
	      {  // 若当前点为0、8、16点,读取点阵数据 
	         if((j==0)|(j==8)) font_dat = hz3[k][i*2+j/8];     
	         // 设置相应的点为color或为back_color 
	         if( (font_dat&dcb2dex_tab[j%8])==0 ) GUI_Point(x, y,WHITE);// RED);
	            else  GUI_Point(x, y,BLACK);// GREEN); 
	         x++;
	      }
	      
	      y++;									// 指向下一行
	      x -= 16;								// 恢复x值
	   }
	   y-=16;
	   x+=16;
   }
   return(1);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -