1、uchar code nian=年;uchar code yue=月uchar code ri=日uchar code xinqi=星期uchar code mao=0x3a;unsigned char code text1= 请按指纹 unsigned char code text2= 请再次按指纹 unsigned char code text3= 指纹采集成功 unsigned char code text4=请按任意键继续 unsigned char code text5= 指纹采集失败 unsigned char code text6=输入删去的指纹号unsigned char co
2、de text7= 删指纹号成功 unsigned char code text8=按键一:增加指纹unsigned char code text9=按键二:删去指纹unsigned char code text10= 请重新按指纹 unsigned char code text11=清空指纹库成功 unsigned char code text12= 没搜索到指纹 unsigned char code text13=请先按键再刷指纹unsigned char code text14= 请重新操作 unsigned char code text15= 删去失败 unsigned char co
3、de text16= 接收包出错 unsigned char code text17= 编号为: unsigned char code text18=指纹已找到 请进unsigned char code text19= 该指纹已存储 unsigned char code text20= 请输入密码 unsigned char code text21= 密码错误 unsigned char code text22=按键三:更新密码 / unsigned char code text23=请再次输入密码 unsigned char code text24=两次输入的密码不unsigned char
4、 code text25=一致,请重新操作unsigned char code text26= 密码更新成功 另外:void delay(uint tt) uchar i; while(tt-) for(i=0;i125;i+); void initialize51() SCON= 0x50; /串口方式1/REN=1; 允许接收 PCON=0x80; /SMOD=1 TMOD= 0x20; /定时器1定时方式2 TH1= 0xff; /11.0592MHz 模块默认波特率为57600bps TL1= 0xff; TR1= 1; /启动定时器unsigned char Keycan(void)
5、 /按键扫描程序 P1.0-P1.3为行线 P1.4-P1.7为列线 unsigned char rcode, ccode; P1 = 0xF0; / 发全0行扫描码,列线输入 if(P1&0xF0) != 0xF0) / 若有键按下 delay(1);/ 延时去抖动 = 0xF0) rcode = 0xFE; / 逐行扫描初值 while(rcode&0x10) != 0) P1 = rcode; / 输出行扫描码= 0xF0) / 本行有键按下 ccode = (P1&0xF0)|0x0F; /do; while(P1&= 0xF0); /等待键释放 return (rcode) + (c
6、code); / 返回键编码 else rcode = (rcode4; n4=a6&0x0f;WriteCommand(0x90);/指定第二行显示位置WriteData(0x32);WriteData(0x30);WriteData(0x30+n3);WriteData(0x30+n4);2;i+) WriteData(niani);y1=a4 y2=a4&WriteData(0x30+y1);WriteData(0x30+y2);i+) WriteData(yuei);r1=a3 r2=a3&WriteData(0x30+r1);WriteData(0x30+r2);i+)WriteDa
7、ta(rii);WriteCommand(0x88);/指定第三行显示位置i+)WriteData(xinqii);WriteData(a5+0x30);s1=a2s2=a2& f1=a1f2=a1& m1=a0m2=a0&WriteCommand(0x98);/指定第四行显示位置WriteData(0x30+s1);WriteData(0x30+s2);WriteData(mao);WriteData(0x30+f1);WriteData(0x30+f2);WriteData(0x30+m1);WriteData(0x30+m2);/*/ds1302控制uchar r1302() /读数据d
8、s1302uchar i;8; B=1; B7 = IO; SCLK=1; SCLK=0;return B;void w1302(uchar co)/ 写ds1302 单字节 uchar i; B = co; IO = B0;/原来是使用ACC寄存器 ,但不行,后改使用B寄存器后才正常运行 ?void w(uchar a, uchar d) /寻址,写数 RST = 0; SCLK = 0; RST = 1; w1302(a); w1302(d); SCLK = 1;uchar r(uchar a) /寻址,读数 uchar r; r=r1302();return r;void wclo(uc
9、har *p) /写多字节ds1302uchar i; w(0x8e,0x00); /写允许 RST=0; RST=1;w1302(0xbe); /写多字节命令 w1302(*(p+i); /写时钟数据 w(0x00,0x50); /? 启动定时器 SCLK=1;RST=0;void rclo(uchar *p)/读出多字节ds1302 w1302(0xbf);7; *(p+i) = r1302(); /读出时钟数据 /*/void SFG_getimage() /录入指纹图像 SBUF=0xef; while(TI=0); TI=0; SBUF=0X01; SBUF=0XFF; SBUF=0
10、X00; SBUF=0X03; summaf=0x05; SBUF=summaf;9; while(RI=0); RI=0; querenma=SBUF; sum1=SBUF; sum0=SBUF; summas=(sum1 SBUF=sum1; while(TI=0) SBUF=sum0;void SFG_regmodel() /合并生成模板 SBUF=0X05; summaf=0x09; /校验和void SFG_storechar(uint pageID) /储存模板ID1010也储存成功 ID=1011 querenma=0x18? uchar i,ID1,ID2; SBUF=0X06; ID1=pageID;ID2=pageID SBUF=ID2; SBUF=ID1; summaf=0x0e+ID1+ID2;void SFG_empty() /清空指纹库 SBUF=0X0d; summaf=0x11;void SFG_fastsearch(uchar bufferID) /搜索指纹返回指纹ID号 sum、pagenum255都会使程序卡
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1