欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于.单片机指纹识别系统设计.doc

    • 资源ID:820127       资源大小:423.50KB        全文页数:31页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于.单片机指纹识别系统设计.doc

    ''任任 务务 书书课程设计题目:指纹识别课程设计题目:指纹识别功能简述:1)根据所学的知识和能力,设计程序可以实现根据指纹的大小、形状等特征,识别出不同的指纹。2)利用按键标志当前指纹识别的状态,例如录入状态,识别状态,清楚状态;利用液晶 1602 能够显示当前指纹识别的状态信息。3)利用继电器,对当前信息的判断,例如提醒当前指纹识别错误;利用蜂鸣器和 LED 等提醒当前指纹识别是否正确''目录第一章 绪论.11、指纹识别中的基本概念1.2 指纹识别的发展前景1.3、指纹识别课题设计的内容与意义.第二章 方案选择2.1 系统原理图设计2.2 方案说明2.3 方案比较2.4 方案选择第三章 硬件设计31 AT89C52 单片机设计3.2 电源电路设计3.3 按键控制部分电路3.4 LED 指示灯电路3.5 蜂鸣器电路3.6 指纹传感器模块第四章 软件程序设计.4.1 程序流程图4.2 程序.第五章 调试5.1 硬件调试.5.2 软件调试''摘 要随着时代的发展,社会越来越需要高效、可靠的身份识别系统传统的个人身份鉴别手段如钥匙、口令、密码、身份证件,甚至 IC 卡等识别方式,由于它们具有可假冒、可伪造、可盗用、可破译的弱点,已不能完全满足现代社会经济活动和社会安全防范的需要。随着识别技术的不断成熟和计算机技术的飞速发展,各种基于人体生理特征的身份识别系统如:指纹、手掌、声音、视网膜、瞳孔和面纹等识别技术纷纷从实验室中走出来。目前,从实用的角度看,指纹识别技术是优于其它生物识别技术的身份鉴别方法。本次设计我们利用指纹识别传感器进行指纹采集与识别,在单片机中对指纹进行处理, 用按键标志当前指纹识别的状态,录入状态,识别状态,清除状态,用液晶 1602 能够显示当前指纹识别的状态信息;用继电器对当前信息进行判断,例如提醒当前指纹识别错误;利用蜂鸣器和 LED 等提醒当前指纹识别是否正确关键词:指纹识别;单片机;指纹识别传感器;液晶 1602;继电器''第一章 绪论进入 21 世纪后,由于国际反恐、互联网应用等因素的推动,在全球范围内, 指纹识别技术得到了更加广泛的应用,指纹识别市场进入高速发展阶段。利用 人的生理特征,例如像指纹等来识别个人的身份,将成为今后几年 IT 产业的重 要革新。指纹在所有的生物特征中,相对稳定、不随年龄而变化和采集较为便 捷,同时它的研究历史最长、相对更为成熟。与现有的智能卡、身份证号码和 密码的身份识别系统相比,指纹识别的性价比最高,也更适于应用到大众生活 中。因此指纹识别以其革命性的便捷和安全性成为一个理想的卓越的解决方案。11、指纹识别中的基本概念指纹识别是成熟的生物识别(Biometric)技术,由于人体的身体特征具有不可复 制的特点,人们把目光转向了生物识别技术,希望可以籍此技术来应付现行系 统安全所面临的的挑战。要把人体的特证用于身份识别,这些特征必须具有唯 一性和稳定性。研究和经验表明,人的指纹、掌纹、面孔、发音、虹膜、视网 膜、骨架等都具有唯一性和稳定性的特征,即每个人的这些特征都与别人不同、 且终生不变,因此就可以据此识别出人的身份。基于这些特征,人们发展了指 纹识别、面部识别、发音识别等多种生物识别技术,目前许多技术都已经成熟 并得以应用,其中的指纹识别技术更是生物识别技术的热点。1.2 指纹识别的发展前景指纹行业是一个新兴的行业,本身具有很高的科技含量,相对利润高发展前景 广阔。经专家预计,指纹产品将是未来 IT 产业新的增长点:利润率最高、发展 潜力最大。于是,世界顶尖的指纹识别技术得到了全球范围内的高度重视,指 纹识别技术的应用如火如荼地迅速发展起来。目前,国内已经有不少企业在参 与指纹识别技术的开发和应用。指纹技术在现代生活和工作中的应用已越来越 普遍,例如:指纹考勤、指纹社保、指纹银行、指纹商场、指纹接送幼儿等等 生活和工作的新现象已广为人知,指纹技术正在日益刷新着我们的现代化生活 方式。1.3、指纹识别课题设计的内容与意义指纹识别技术相对于其他识别方法有许多独到之处,具有很高的实用性和可行 性。因此,指纹识别成为最流行、最方便、最可靠的身份认证方式,己经在社 会生活的诸多方面得到广泛应用。这是由于指纹是独一无二的,两人之间不存 在着相同的指纹,指纹是独一无二的,两人之间不存在着相同的指纹,同时指 纹样本易于采集,难以伪造,便于开发,实用性强,可以利用多个指纹构成多 重口令,提高系统的安全性。 本文主要通过对 MCS-51 系列单片机的结构和功能进行分析,来研究基于单片机 指纹识别系统的内部结构特点和功能阐述以及工作原理,更好的了解了指纹识 别系统的未来前景。第二章 方案选择2.1 系统原理图设计''2.2 方案说明2.1.1 方案一:摄像头采集、飞思卡尔单片机处理 这种方案由指纹图像采集、指纹图像预处理、指纹特征提取、指纹特征匹配、 特征数据库等几部分组成。指纹识别系统的原理框图如图 1 所示。图 2-1、指纹识别系统框图该系统首先由数字摄像头 ov6620 采集指纹,并将指纹图像转化为数字图像;然 后用 16 位的飞思卡尔 X128 单片机对指纹数字图像进行预处理,再通过图像增强、 分割、平滑、细化等处理过程得到便于指纹特征提取的数字图像:接着提取细 化后的图像细节特征点; 然后将指纹信息数据送入 STC89C52 单片机中,一块 液晶 1602 与 STC89C52 单片机相连,液晶用于显示当前指纹采集系统的工作状 态和经对比后指纹采集的信息是否正确,用一个蜂鸣器和 LED 指示灯指示当前 采集的指纹信息正确。当采集到的指纹信息正确,蜂鸣器发出响声并且 LED 指 示灯点亮。 2.1.2 方案二 指纹识别传感器 代替第一种方案中的摄像头和飞思卡尔单片机,我们利用一个指纹识别传 感器来对指纹进行采集,识别以及部分处理,然后将信息输送到 AT89C52 单片''机中,利用按键控制当前指纹识别的状态,用 LED 灯进行显示,即录入状态, 识别状态,清除状态;利用液晶 1602 能够显示当前指纹识别的状态信息,即录入 指纹的编号以及当前指纹;利用继电器,对当前信息的判断,例如提醒当前指 纹识别错误;利用蜂鸣器提醒当前指纹识别是否正确,如果指纹录入正确,蜂鸣 器发出响声。2.3 方案比较1)复杂性:方案一采取用数字摄像头 ov6620 采集指纹图像,然后用 16 位 的飞思卡尔 X128 单片机进行图像处理,还要进行图像增强、分割、平滑、细 化等处理过程才能得到便于指纹特征提取的数字图像;而这些过程在方案二中 只用一个指纹传感器模块就可以代替,所以方案二设计简单。 2)准确性:方案一中所采集的摄像头分辨率有限,所以采集的指纹信息有 一定的误差,方案二中指纹传感器模块是利用集成的光学头进行处理的,比较 精确。 3)局限性:由于方案一中使用的飞思卡尔单片机处理程序比较复杂,超出 了我们的学习范围,而方案二传感器就使程序简单化了。2.4 方案选择鉴于各种原因,我们最终选择第二种方案,使用指纹传感器模块来设计系统。第三章 硬件设计31 AT89C52 单片机设计3.1.1 主要性能有 12k 字节 Flash 闪速存储器,1024 字节内部 RAM,32 个 I/O 口线,两个 16 位定时/计数器,5 个中断向量,一个全双工串行通信口,片内振荡器及时钟电 路。3.1.2 引脚结构图(如图 3-1)XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C52''图 3-1 AT89C52 管脚图3.1.3 一些端口的介绍:P30 口:RXD(串行输入口) P31 口:TXD(串行输出口) XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端。3.1.4 单片机最小系统1)外部晶振的设计 STC89C52 的内部有一个用于构成振荡器的高增益反相放大器,通过 XTAL1,ATAL2 外部接上一片作为反馈元件的晶体,与 C1 和 C2 构成了并联谐振 电路,使其构成自激振荡器,电容的值具有微调的作用,我们取 30PF,具体的 接法如图 3-2 外部晶振电路。X1 12MC122pFC222pF图 3-2 外部晶振电路STC89C52 的工作频率范围在 0-24MHZ。我们选用的是 11.0592MHZ 的晶振, 振荡周期约为 1us 机器周期约为 0.1us,所以这个晶振可以满足这个系统的要 求。并且晶振不能离单片机太远,不然使用外部晶振进行软件调试时就会发现 找不到信号。 2)复位电路的设计 MCS51 单片机通常采用上电自动复位和按钮复位两种方式,本系统采用简单 的自动复位电路如图 2-2 所示。单片机在上电瞬间,RC 电路充电,RST 引脚端 出现正脉冲,只要 RST 端保持两个机器周期以上的高电平,就能使单片机有效 复位。其中电容选 10uF、电容选 10K。22pFC310uf R110K图 3-3 复位电路''3.2 电源电路设计本系统采用的 5V 电源主要采用两种方法,第一是直接用 9V 电池然后通过一 个变压电路,利用 7805 将转化成 5V 供单片机和液晶显示部分使用;其二是用 220V 通过变压器等将其转化成 5V。 两种方法都可以,但是由于第一种方法便于携带、而且成本相对较低所以我们 选用第一种方案。图 3-4 电源电路3.3 按键控制部分电路1)消除抖动 按键的闭合与否反应在电压上就是呈现出高电平或低电平,如果高电平表示 断开,那么低电平则表示闭合,通过电平的高低状态的检测可确认键按下与否。 为了确保 CPU 对一次按键动作只确认一次,并且防止干扰信号的影响,必需加 入消除电平抖动的措施,下图 3-5 为按键抖动示意图:图 3-5 按键闭合及断开前后的电压 消除抖动通常有硬、软硬两种方法,硬件消除抖动可采取双稳态电路或滤波消 抖电路;软件消抖是在第一次检测到有键按下时,执行一段延时程序再确认该 键是否仍闭合,如果还是闭合状态则确认该键按下,从而消除抖动和干扰影响。 当按键较多时,我们多采用硬件件消抖法。本系统中按键少直接采用直接接入 的方式。 2)按键接口设计 按键接口设计有两种方法,独立式按键和矩阵式键盘。独立式按键各键相独''立,每个按键各接入一根输入线,只要检测输入线的电平就可以识别按键状态。 这种方法电路配置灵活,软件结构简单,但每个按键需占用一根输入口。由于 该设计方案 IO 资源浪费大。故此方法只适用于按键少或其他控制功能很简单的 场合。由于本设计中的按键只有 3 个,考虑系统可靠性和键盘设计的简单所以 采用独立式按键。本系统的按键电路如图 3-6 所示:图 3-6 独立按键电路 按键按下是呈低电平,我们采用软件消抖来减少对的单片机影响。3.4 LED 指示灯电路图 3-7 LED 灯指示电路 当 k2 键按下时,录入模式指示灯 red 亮;当 k1 键按下时,识别模式指示灯 green 亮。3.5 蜂鸣器电路图 3-8 蜂鸣器电路3.6 指纹传感器模块1)指纹模块电路如下所示:''图 3-9 指纹识别模块 指纹模块里面主要是 DSP 芯片,型号为 PS1802,加上外面的 CMOS 芯片,CMOS 芯片主要是对指纹进行“照相” ,生成指纹特征,如图 3-8 所示就是一个指纹模 板,录入两次这样的指纹特征就能生成一个指纹模板。 具体的工作过程是:扫描指纹(录入图像) 、生成特征、合成模板(建立一个指 纹库文件,成功录入一个指纹) 。图 3-10 指纹模板 指纹模板就是“照一次相” ,指纹模块里面的 CMOS 芯片采集一次指纹信息,然 后进行模糊处理生成 0 和 1 两种记录信息,存入指纹模块的 FLASH 芯片里面。 当切换到识别模式的时候,指纹模块就会先让 CMOS 芯片采集一次指纹,然后和 FLASH 芯片的数据进行对比。看是不是存在,如果存在就能返回是几号指纹。 这样我们就能通过单片机或者电脑进行指纹识别与登记了。 2)指纹传感器模块实物图 指纹模块型号是:FM-180,此模块上里面包含了: 1、光学头 2、通信连接线 3、DSP 芯片(在模块里面) ''4、稳压芯片 5、FLASH 芯片 6、CMSO 传感器(在模块里面) 等部件组成。图 3-11 指纹传感器模块实物图第四章 软件程序设计该设计主要通过设定的 3 个按键来实现一定的功能,3 个按键分别为模式切换 (识别模式和录入指纹模式) 、指纹录入、删除所有指纹。41 程序流程图4.1.1 程序主流程图 (1)指纹录入: 先进行录入模式,然后按一下录入指纹,灯会闪烁,录入成 功一次,蜂鸣器响一次,这时候拿开手指,1 秒放入同一个手指,会再录入一 次,如果两次都成功,就成功录入了一个指纹。蜂鸣器会响两次,同时显示录 入指纹成功。如果不成功就会显示录入失败。录入完成后,可以进入识别模式, 或者接着录入下一个指纹。录入完成,按一次指纹转换,进入指纹识别开锁模 式。 单片机主程序流程设计:1、光学头2、通信连接线3、DSP 芯片4、稳压芯片5、FLASH 芯片6、CMOS 传感器''4.2 系统关键代码引脚使用:sbit relay =P14; /继电器引脚 sbit buzzer=P15; /蜂鸣器引脚 sbit red= P27;/录入模式指示灯 在板子靠近单片机处 sbit green= P20;/识别模式指示灯 在板子远离单片机处sbit k2=P34; /录入一次指纹 sbit k1=P33; /模式识别转换 sbit k3=P32; /清除所有指纹(10 个指纹清除)部分主函数代码:void main(void)/主函数 unsigned char i=0;ET0=1; /定时器 0 开中断 TL0=0x97; /17ms 的初值 TH0=0xBD;delay1ms(5);LcdRw=0; /只对液晶进行写操作,不进行读操作delay1ms(5);LCD_Initial();/液晶初始化delay1ms(5); GotoXY(0,0);/x,y''Print(Identify);/串口初始化 SCON=0x50; /UART 方式 1:8 位 UART; REN=1:允许接收 PCON=0x00; /SMOD=0:波特率不加倍 TMOD=0x21; /T1 方式 2,用于 UART 波特率TH1=0xFD; TL1=0xFD; /UART 波特率设置:9600TR1=1; TR0=1;/ 开定时器 0IT0=0;/中断 0 低电平中断 IT1=1;/中断 1 低电平中断 EX0=1;/开中断 0 EX1=1;/开中断 1 EA=1;mode();/看当前是什么模式for(i=0;i=1 /继电器引脚 sbit buzzer=P15; /蜂鸣器引脚 sbit red= P27;/录入模式指示灯 在板子靠近单片机处 sbit green= P20;/识别模式指示灯 在板子远离单片机处sbit k2=P34; /录入一次指纹 sbit k1=P33; /模式识别转换 sbit k3=P32; /清除所有指纹(10 个指纹清除)#define Max_User 10 #define error 2unsigned char SaveNumber=0,searchnum=0; unsigned int SearchNumber=0; unsigned int clk0=0;unsigned char str3=0,'0','0'unsigned char code Identify16=“Lock: Idenfity“; unsigned char code Input16 =“Lock: Input “;bit modeflag=0,clearallflag=0,changeflag=0;/默认为识别模式 /常用指令定义/ /Verify Password :验证设备握手口令 unsigned char code VPWD16=16,0X01 ,0Xff,0xff,0xff,0xff, 0x01,0,7,0x13,0x00,0x00,0x00,0x00,0x00,0x1b; /回送 12 个 /设置设备握手口令 unsigned char code STWD16=16,0X01 ,0Xff,0xff,0xff,0xff, 0x01,0,7,0x12,0x00,0x00,0x00,0x00,0x00,0x1a; /回送 12 个 /GetImage :探测手指并从传感器上读入图像 unsigned char code GIMG14=12, 0X01 ,0Xff,0xff,0xff,0xff, 0x01, 0,3,1,0x00,0x05; /回送 12 个 /Gen Templet1 :根据原始图像生成指纹特征 1 unsigned char code GENT114=13,0X01 ,0Xff,0xff,0xff,0xff,0x01,0,4,2,1,0x00,0x08; /回送 12 个 /Gen Templet2 :根据原始图像生成指纹特征 2 unsigned char code GENT214=13,0X01 ,0Xff,0xff,0xff,0xff,0x01,0,4,2,2,0x00,0x09; /回送 12 个 /Search Finger :以 CharBufferA 或 CharBufferB 中的特征文件搜索整 个或部分指纹库 unsigned char code SEAT18=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 MERG14=12, 0X01 ,0Xff,0xff,0xff,0xff, 0x01, 0,3,5 , 0x00,0x09;/回送 12 个 /Store Templet :将 ModelBuffer 中的文件储存到 flash 指纹库中 unsigned char code STOR16=15, 0X01 ,0Xff,0xff,0xff,0xff, 0x01, 0,6,6,2, 0x00,0x00, 0x00,0x0f; /回送 12 个 /Read Note unsigned char code RDNT14=13,0X01 ,0Xff,0xff,0xff,0xff, 0x01, 0,4,0x19, 0, 0x00,0x1e; /Clear Note unsigned char code DENT46=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_one16=16, 0X01 ,0Xff,0xff,0xff,0xff, 0x01, 0,7, 0x0c, 0x00,0x00, 0,1, 0x00,0x15; /DEL templet ;清空指纹库 unsigned char code DELE_all12=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; xdata unsigned char FIFOMAX_NUMBER+1=0;/*1 毫秒延时程序*/ void delay1ms(unsigned int t) unsigned int i,j; for(i=0;i=6) checksum=FIFOcount+checksum; /计算 校验和 if(count=8) package=FIFO7*0X100+FIFO8; /计算 包长度 stop= TURE; if(stop) if(count=package+8) checksum=checksum-FIFOcount-1; if(checksum!=FIFOcount /校验失败,置结 果标志为 0 else result=TURE; flag=0; break; /do 的内容-结束 /while (clk0=2)/如果不成功,再验证一次,如果两次不成功,返回失 败 return(0); void Clear_All(void) /清空指纹库 delay1ms(200);Command(DELE_all,50); /清空指纹库 unsigned char ImgProcess(unsigned char BUFID) /发获取图像并生成特征 文件,存入 BUFID 中/输入参数为缓冲区号 if(Command(GIMG,89) elsereturn 0; else if(BUFID=2) if(Command(GENT2,60) elsereturn 0; ''elsereturn 0; return 0; bit Searchfinger(void)/搜索指纹(发送搜索命令、以及根据返回值确定是否 存在) if( Command(SEAT,60) /搜索到的页码 /MatchScore=FIFO12*0x100+FIFO13 可以在此计算得分,从而 进行安全级别设定,本程序忽略return 1; else return 0; unsigned char search(void)/搜索用户 unsigned char SearchBuf=0,i=0;while (i=40)/如果采集了 40 次,还不成功,直接采集失败, 直接退出 enroll 函数返回 0 return(0); /采集第一个特征成功 count=0; buzzer=0;''delay1ms(100); buzzer=1; delay1ms(2000);/延时 2S 开始采集下一个特征/开始采集第二个特征 while(1)temp=ImgProcess(2); /生成特征 2 if (temp=1)/生成特征文件 2 成功if ( (Command(MERG,40) else/特征文件合并生成模板,结果存于 ModelBuffer buzzer=0;delay1ms(100);buzzer=1;delay1ms(100);buzzer=0;delay1ms(100); /响两声,表示生成一个模板成功buzzer=1;return 1; else if (temp=1)/采集指纹没有成功 count+;if (count>=25) return(0); void shownum(unsigned char dat) ''unsigned char numdat=0; numdat=dat; GotoXY(0,1);/x,y Print(“Finger:“); GotoXY(0,8);/x,y str0=0x30+numdat/10; str1=0x30+numdat%10; Print(str); void mode(void) if(modeflag=0)GotoXY(0,0);/x,y Print(Identify); green=0; red=1;elseGotoXY(0,0);/x,y Print(Input); red=0; green=1;shownum(0); void main(void)/主函数 unsigned char i=0;ET0=1; /定时器 0 开中断 TL0=0x97; /17ms 的初值 TH0=0xBD;delay1ms(5);LcdRw=0; /只对液晶进行写操作,不进行读操作delay1ms(5);LCD_Initial();/液晶初始化delay1ms(5); GotoXY(0,0);/x,yPrint(Identify);''/串口初始化 SCON=0x50; /UART 方式 1:8 位 UART; REN=1:允许接收 PCON=0x00; /SMOD=0:波特率不加倍 TMOD=0x21; /T1 方式 2,用于 UART 波特率TH1=0xFD; TL1=0xFD; /UART 波特率设置:9600TR1=1; TR0=1;/ 开定时器 0IT0=0;/中断 0 低电平中断 IT1=1;/中断 1 低电平中断 EX0=1;/开中断 0 EX1=1;/开中断 1 EA=1;mode();/看当前是什么模式for(i=0;i=1/蜂鸣器响一声relay=0;buzzer=0;delay1ms(100);buzzer=1;for(i=0;i<20;i+)delay1ms(150);''relay=1;if(searchnum=255)/不正确的指纹 蜂鸣器响三声shownum(0);buzzer=0;delay1ms(100); buzzer=1;delay1ms(100);buzzer=0;delay1ms(100); buzzer=1;delay1ms(100);buzzer=0;delay1ms(100); buzzer=1;delay1ms(100); if(clearallflag=1) clearallflag=0; Clear_All();red=0; /红色灯亮green=1; /蜂鸣器长响一次,表示清除所有指纹结束 modeflag=1;/进入录入指纹模式 GotoXY(0,0);/x,y Print(Input); shownum(0); buzzer=0; delay1ms(800); buzzer=1; SaveNumber=0; if(changeflag=1) mode();/显示当前模式changeflag=0; /while(1)结束/ void int0(void) interrupt 0/中断 0,清除所有指纹 if(k3=0) /清除所有指纹 delay1ms(10); if(k3=0)/如果仍为低电平,表示按键有效 while(k3=0);/等待松手 clearallflag=1; changeflag=1;'' void Timer0(void) interrupt 1/定时器 0 中断函数 TL0=0x97; TH0=0xBD; clk0+; /延时 17ms void int1(void) interrupt 2/中断 1,模式转换 if(k1=0)/模式转换 其中用 modeflag 来标志,默认从第 1 个指纹开始录 入 delay1ms(10);if(k1=0)/如果仍为低电平,表示按键有效 while(k1=0);/等待松手modeflag=modeflag;/0 表示录入指纹 1 表示识别指纹changeflag=1;/模式发生了转换

    注意事项

    本文(基于.单片机指纹识别系统设计.doc)为本站会员(一***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开