为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

基于单片机的指纹识别系统设计——毕业论文

2019-01-22 8页 doc 2MB 23阅读

用户头像 个人认证

不系舟红枫

从教近30年,经验丰富,教学水平较高

举报
基于单片机的指纹识别系统设计——毕业论文基于单片机的指纹识别系统设计 四川文理学院学位论文 学士学位论文    基于单片机的指纹识别系统设计 The Design of fingerprint identification System Based on Single Chip     摘 要 随着信息时代的发展, 自动指纹识别技术已经广泛地应用于公安、海关、银行、网络安全等需要进行身份识别领域。本文概述了自动指纹识别系统的研究现状和发展状况,介绍了指纹识别系统的算法流程,以及在此基础上的指纹图像的分割算法和指纹图像细化算法。并完成基于单片机...
基于单片机的指纹识别系统设计——毕业论文
基于单片机的指纹识别系统设计 四川文理学院学位 学士学位论文    基于单片机的指纹识别系统设计 The Design of fingerprint identification System Based on Single Chip     摘 要 随着信息时代的发展, 自动指纹识别技术已经广泛地应用于公安、海关、银行、网络安全等需要进行身份识别领域。本文概述了自动指纹识别系统的研究现状和发展状况,介绍了指纹识别系统的算法流程,以及在此基础上的指纹图像的分割算法和指纹图像细化算法。并完成基于单片机的指纹识别系统硬件电路设计。 本文应用ZMF-206指纹识别模块,设计基于单片机的指纹识别硬件电路系统,形成一个独立的指纹识别控制系统。该系统能够实现单片机和指纹模块之间的串口通信,通过操作独立式键盘按键,向指纹模块的DSP芯片发送相应指令,从而执行录入用户、添加用户、认证用户、删除指定用户、删除全部用户、用户匹配等功能,适用于需要进行身份识别的领域。 关键词:控制系统;指纹识别;单片机;串口通信 Abstract With the development of the information age, automatic fingerprint identification technology has been widely used in public security, customs, bank, network security, and other areas of the identification is required. This paper summarizes the research status and development status of automatic fingerprint identification system, the algorithm flow of the fingerprint identification system are introduced, and on the basis of the fingerprint image segmentation algorithm, and fingerprint image thinning algorithm. And finish the fingerprint identification system based on single chip microcomputer hardware circuit design. ZMF-206 fingerprint identification module is applied in this article, the design for fingerprint recognition based on single chip microcomputer hardware circuit system, fingerprint identification control system to form an independent. The system can realize serial communication between SCM and fingerprint module, by manipulating the independent type keyboard key, to the fingerprint module of DSP chip to send corresponding instructions, to perform input user, add users, authenticate the user, delete to specify user, delete all user, user matching, and other functions, applicable to the need for identification of areas. Key words: control system; Fingerprint identification; Serial Communications; MCU (Microcontroller Unit) 目录 1 第一章 绪论 1 1.1研究的背景及意义 1 1.2指纹识别技术 1 1.2.1指纹识别技术发展现状 2 1.2.2指纹识别技术的特点 3 1.3本课的内容 3 第二章 指纹识别系统实现原理 3 2.1人类指纹特征 4 2.1.1 指纹的总体特征 5 2.1.2指纹的局部特征 6 2.2指纹图像的分割 6 2.2.1指纹图像分割概述 7 2.2.2均值方差法 8 2.3指纹图像的细化 8 2.3.1指纹图像细化的预处理 9 2.3.2指纹图像细化方法计算 10 2.4指纹图像的匹配 11 第三章 指纹识别系统硬件设计 11 3.1系统总体设计 11 3.1.1指纹识别系统功能简述 11 3.1.2系统核心部件单片机 12 3.2指纹识别系统电路设计 13 3.3硬件系统组成模块电路 13 3.3.1下载口模块 13 3.3.2显示模块 14 3.3.3电源模块 14 3.3.4时钟模块 14 3.3.5复位模块 15 3.4指纹模块 15 3.4.1ZMF-206指纹识别模块 17 第四章 软件系统设计 17 4.ZFM-206指纹识别模块指令系统 17 4.1.1通信方式 18 4.1.2主要通讯协议命令说明 21 4.2单片机的程序设计流程图 22 第五章 实物的制作与系统调试 22 5.1 硬件材料 22 5.2 硬件的焊接与组装 23 5.3 系统的调试 23 5.3.1单片机的程序下载 23 5.3.2串口调试 24 5.3.3液晶显示器调试 25 第六章 总结和展望 26 参考文献 28 附 录 28 附录A 1602显示器子程序 第一章 绪论 1.1研究的背景及意义 科学技术的迅猛发展为人类的生产生活带来了极大的便利,大大地推动了现在社会的进步和发展。在网络化时代的今天,我们每个人都拥有大量的认证密码,比如开机密码、邮箱密码、银行密码、论坛登陆密码等等;并配备了各种钥匙,如门锁钥匙,汽车钥匙,保险柜钥匙等。这些都是传统的安全系统所采用的方式,随着社会的发展,其安全性越来越脆弱。而我们的生活随时都需要进行个人身份的确认和权限的认定。 指纹特征是人终生不变的特征之一,而且不同人的指纹特征相同的可能性几乎为零。人体指纹含有天然的密码信息,其具有作为密码信息必须具备的三个重要性质[1]: ①广泛性,指每一个正常人都有指纹。 ②唯一性, 指每一个人的指纹都不同。 ③终生不变性, 指非意外事故指纹终身不变。 因此,指纹识别技术,作为一种可靠的生物识别技术[1],受到了人们的重视。尽管人们已经对自动指纹识别技术作了深入广泛的研究,指纹识别技术也获得了不少应用,但是指纹识别的应用在目前并没有获得普及,这主要是因为指纹识别在识别准确性和识别速度方面还远远不能满足很多实际应用的要求。 这就要求研究指纹识别环节中若干问题,这对于问题的解决很有意义。 1.2指纹识别技术 1.2.1指纹识别技术发展现状 指纹识别算法的研究方向主要分为:基于图像的识别算法和基于特征的识别算法[2]。 基于图像的识别算法认为,指纹图像的频域和空域信息可以用来唯一表示并识别不同的指纹[2]。它是一种使用全局信息进行识别的方法,例如使用指纹图像的Fourier频谱来表示和识别指纹。这类算法的问题在于图像特征难以定义和匹配,因此算法的拒识率和误识率较高。 基于特征的指纹识别算法是找到并比对指纹的特征[2]。指纹特征的复杂度足以提供用于鉴别的足够特征。目前大多数的自动指纹识别系统使用的都是这类算法。指纹特征多种多样,有特征点、奇异点、域方向图、脊线数目,甚至脊线线型等。对应的匹配方法可以分为:基于点模式的匹配,基于脊线的匹配,基于纹理的匹配以及多种细节特征混合的匹配方法。 大多数基于特征的识别算法专注于脊线上的末梢点和分叉点,该方法根据各个特征点的位置和方向来表示和区分指纹,从而使指纹识别问题转化为判断两个特征点集间的最大相似度(最大重合度)的问题。提取该细节特征有多种方法:基于灰度指纹图像直接提取,基于二值图像的特征提取,基于细化图像的特征提取。 目前许多公司和研究视梅在指纹识别技术领域都取得了突破性的进展,推出许多指纹识别与传统IT技术完美结合的应用产品,这些产品已经被越来越多的用户所认可。中科院自动化所智能生物信怠系统研究组和北京数字指通软件技术有限公司对自动指纹识别技术进行了长期的理论研究和应用系统开发,指纹图像的识别准确率和识别速度已达到国际先进水平。另外,一些公司和机构结合社会应用的实际需求,开发了各种类型的具有独立知识产权的嵌入式指纹识别模块、指纹应用系统软件等,用户反映良好。指纹识别技术多用于对安全性要求比较高的领域,丽在商务移动办公领域颇其建树的富圭通、三星及等国际知名品牌都拥有技术与应用较为成熟的指纹识别系统[4]。 与国外相比,我国在自动指纹识别技术的研究水平上还存在一定的差距。主要表现在:(1)指纹录入设备的质量还不太过关:(2)自动指纹识别算法研究水平还有待提高,在应用上的表现为产品适应性和易用性较差,对干、湿一些的指纹往往不能正确区别,对指纹录入时的旋转、平移比较敏感。 1.2.2指纹识别技术的特点 指纹特征是人终生不变的特征之一,而且不同人的指纹特征相同的可能性几乎为零。人体指纹含有天然的密码信息,其具有作为密码信息必须具备的四个重要性质: ①广泛性,指每一个正常的人都有指纹。 ②唯一性,指每一个人的指纹都不同。指纹的细节由细微纹点和纹线的起点、终点、分叉等组成。正是这些无穷无尽的细节特征组合构成了指纹的唯一性.事实上,甚至包括双胞胎,世界上两个指纹相同的概率小于1/109,几乎为零,这就构成了指纹的第一大特点。 ③终生不变性,指纹终身不变即指纹的图案永远不会改变,从人的出现到死后的分解为止(除非指纹受到伤害)。 ④指纹与主体的不可分离性:即指纹不存在丢失、遗忘、被窃取的可能。 指纹的使用比起其它证卡来说更快捷、安全、准确、无干扰,可实现快速登录注册,系统兼容性好,也就是说可以独立或者通过联网构成系统并且很容易并入各类证卡和定义识别系统中。因此,指纹识别技术的应用范围极广。 指纹识别系统主要包括四部分:指纹图像采集,指纹图像预处理,指纹特征提取和指纹特征匹配。论文涉及指纹的图像分割、细化和匹配。就现有文献和产品来看,对低质量的指纹图像的处理效果还远不能令人满意。要想使设计的细节特征提取算法能够对低质量指纹图像也能可靠工作。 指纹匹配算法的性能主要决定于所提取到的特征点的数目、位置和相互关系的可靠性。要想设计一个对较多真正特征点缺失、较多伪特征点出现和较大形变均不敏感的指纹匹配算法,也是一件十分困难的事。 计算复杂性是自动指纹识别技术中一个重要的研究课题。实际应用要求最好自动指纹识别系统能对识别任务实时做出响应,而让指纹匹配算法同时达到高速度和高准确率也是一个难题。 1.3本课题的内容 以MCS-51系列单片机作为控制核心,设计并制作指纹识别控制系统。本系统采用模块化的总体结构设计,依据实现的各种功能,把整个系统分成几个功能模块,使得系统简洁明了。同时使得系统程序可读性加强,方便程序的完善和修改。各模块之间联系紧密,共同构成完整的系统。控制器设计首先要了解指纹识别系统的理论要求,再通过软硬件实现整个指纹识别的模拟过程。 该系统能够实现单片机和指纹模块之间的串口通信,通过操作独立式键盘按键,向指纹模块的DSP芯片发送相应指令,从而执行录入用户、添加用户、认证用户、删除指定用户、删除全部用户、以及管理个人身份信息等功能。 第二章 指纹识别系统实现原理 2.1人类指纹特征 我们定义了指纹的两类特征来进行指纹的验证:总体特征和局部特征。 2.1.1 指纹的总体特征 总体特征是指那些用人眼直接就可以观察到的特征,包括基本纹路图案[5]:环型(loop),弓型(arch),螺旋型(whorl)。其他的指纹图案都基于这三种基本图案。 指纹的脊纹形式是适应之间的球状表面和半圆形顶端以及横行的指间屈基线生长的,除少数弓形纹之外,绝大多数是箕、斗型纹(约占95%),(三种纹形的大致分布概率如表2.1) 基本纹型 弓型 箕型 斗型 分布概率 5% 60% 35% 表2.1 纹形的大致分布概率 纹型是指纹的基本分类,是按中心花纹和三角的基本形态划分的。中心线的按我国是指纹分析法,指纹分三大类型(如图2.1),三大种形态。 箕型 斗型 弓型 图2.1 指纹的纹形 (1) 箕形纹(Loop):有一条以上完整的基性线组成中心花纹。箕形线的对侧有一个三角的上下之线包围着中心花纹。按箕技的流向分为桡侧箕形纹(反箕)和尺侧箕形纹(正箕)两种。按中心花纹的结构形态又可分为普通箕、闭口箕、叶形箕、横箕和类似斗的箕。箕形纹中心和三角之间的距离和纹线数量多少不一,有的只有1-2条线,多数为十条线左右,个别的可达30余条。 (2)斗型纹(Whorl):中心花纹呈环、螺、曲状,由内向外扩展与上下包围线汇合形成两个以上的三角的纹线,称为斗型纹。分为环形、螺形、囊形、双箕形、杂形五种。斗型纹的中心花纹,在由一条环、螺、曲等纹线构成时,与两侧三角相对的弧形线凸面,必须是不折、不断的,并且不与来自从三角中的其它纹线相接。 (3)弓型纹(Arch): 由弓形线和横直线层叠而成,中心花纹与上下包围线无明显界限,因此也没有真正的三角区。分弧形和帐形纹两种。 (4)弧形纹:是由平缓的或略微突起的弧形线组成的一种结构简单的花纹形式。 (5)帐形纹:由平行的和突起的弧形线组成。花纹中部有直立的或倾斜的纹线,将弧形线撑起呈帐蓬状。 指纹类型的三类九种,是按我国现行的十指指纹分析法划分的。这是一种基本分类,也叫两极分类法。实际上指纹种类远不只这些。 2.1.2指纹的局部特征 局部特征是指指纹上的节点的特征,这些具有某种特征的节点称为特征点。两枚指纹经常会具有相同的总体特征,但它们的局部特征—特征点,却不可能完全相同。 指纹纹路并不是连续的、平滑笔直的,而是经常出现中断、分叉或打折。这些断点、分叉点和转折点就称为"特征点"。就是这些特征点提供了指纹唯一性的确认信息。特征点的分类有以下几种(如图2.2),最典型的是端点和分叉点。 图2.2 指纹特征示意图 很多研究者试图解决指纹分类问题,但至今分类算法的误识率仍较高。如何提高指纹分类的准确率在自动指纹识别研究中是一个较关键的问题。 2.2指纹图像的分割 2.2.1指纹图像分割概述 在指纹识别系统中,指纹图像分割是图像预处理的一部分。指纹分割的最基本的依据是图像某些特征和特征集合。图像特征是指纹图像的固有属性,如灰度值,邻域关系,纹线的扭曲程度等。特征集合则是几种的结合。通过提取图像特征,可将原始图像映射到特征空间,使图像特征在特征空间中呈现一定的分布。因此根据以上的的灰度值[6]领域关系,纹线的扭曲程度,指纹图像分割[6]大致分为三类:基于像素的图像分割,基于块特征的图像分割以及基于全局的图像分割。 基于像素的指纹图像分割中目前流行多尺度小波变换和阈值法[6]。小波变换和傅里叶变换的出发点都是将信号表示成基函数的线性组合。所不同的是傅里叶变换采用时间属于(一∞,+∞)的谐波函数 作为基函数,而小波变换的基函数是具有紧支集的母函数 (t),通过对母函数 (t)进行伸缩和平移得到一个小波序列: ; 式中 为伸缩因子,b为平移因子。对于任意函数 的连续小波变换[6]:公式(2.1)为变换公式,公式(2.2)为重构公式。 (2.1) (2.2) 计算机中的图像信息是以离散信号形式存放的,在信号处理中,特别是在数字信号处理和数值计算等方面,为了计算机实现的方便,连续小波必须进行离散化,而最基本的离散化方法就是二进制离散,一般将这种经过离散化的小波及其变换叫做二进小波和二进变换。 小波变换的特点是压缩比高,压缩速度快,压缩后能保持信号与图象的特征不变,且在传递中可以抗干扰。在指纹识别识别中使用小波变换有助于噪声的滤除以及有利于检测奇异点。但是小波变换的明显缺点是它计算复杂,计算效果也取决于函数的选择。 另一种阈值分割就是简单地用一个或几个阈值将图像的灰度直方图分成几个类,认为图像中灰度在同一个灰度类内的像素属同一物体。它是图像分割中最基本的方法。其原理是先定一个阈值,大于此值为1,小于则认为为0;多阀值则可以利用多维函数。此原理在匹配中也可以运用。其优点是计算简单,仅需比较灰度值即可;运算效率较高,速度快;它的缺陷在于仅考虑图像的灰度信息,而忽略了图像的空间信息,对于图像中不存在明显灰度差异或各物体的灰度值范围有较大熏叠的图像分割问题难以得到准确的结果[7]。 代表块特征的指纹图像分割目前研究趋势为多种块基本特征如灰度均值、块灰度方差[8]、块方向图等综合运用和重新定义块特征。其中块指的是将图像分个成一个个小的图像块。图像均值就是对每一个单位块的灰度值取均值,方差则反映该块中各点与均值的偏差性,方向这可以很好的反映纹理的变化趋势。一般来说,常见的方向场的计算分为掩模法和公式法两大类。LinHong等人开发的基于最小均方估计算法,即公式法。 EMBED Equation.3 (2.3) (2.4) 它是利用正交坐标系下,原点到它们组成的坐标点的有向线段与X的正半轴的夹角可来表示该子块的块方向。这种方法最大的优点是易实现,很好体现出纹理,但缺点是对于变化太快的部分出错。此方法的实现是利用方向滤波器。 基于全局的图像分割则是根据情况特别是某些特殊场合的利用,如残缺指纹。全局的图像分割可以是人工选定几个特定点后再根据全局的特点来处理,此法也可运用于匹配。基于全局的指纹识别仍处于实验室探索阶段,应用领域中尚不广泛。 2.2.2均值方差法 在图像分割概述中,已经提到基于块特征的指纹图像分割。在这部分将重点介绍均值法差法的计算方法和在仿真中的运用。 该算法基于背景区灰度方差小,而指纹区方差大的思想,将指纹图像分成块,计算每一块的方差,如果该块的方差小于阈值为背景,否则为前景。具体步骤分以下三步[10]: (1)将低频图分成M×M大小的无重叠方块,方块的大小以一谷一脊为宜。 (2)计算出每一块的均值和方差。 设指纹图像I的大小为H×L,I(i,j)为像素点(i,j)的灰度,AVE和VAR分别为原指纹图像的均值和方差,AVE和VAR可以通过公式(2.5)和(2.6)计算得到。 (2.5) (2.6) (3)如果计算得到的方差几乎接近于0就认为是背景,对于方差不为零的区域在进行阈值分割算法,这种算法主要是根据计算得到的方差来决定其是否为背景区。 在使用方差均值法之前还要使用归一法将图变为低频图。归一化[11]的目的是把不同原图像的对比度和灰度调整到一个固定的级别上,为后续处理提供一个较为统一的图像规格。指纹图像的归一化公式如式(2.6)所示,当大于平均值时为加。 (2.6) 其中 和 为期望的灰度均值和方差。 2.3指纹图像的细化 2.3.1指纹图像细化的预处理 这部分预处理主要为二值化。由于指纹图像脊、谷相间,因此指纹图像的处理常是将指纹图像二值化。灰度图像二值化是将灰度图变换为只有黑和白两种灰度的图像。这样不仅可以压缩原指纹图像的数据量,而且也方便后面的细节特征的提取。灰度图二值化的基本思想是选取适当的灰度阂值,将灰度图像转化为二值图像,阈值的选择是关键,对于阈值的选择,有多种方法,如熵法,Ostu法等。根据是否将图像分块处理,又分全局阈值算法和局部阈值算法两种,全局阈值算法是将整幅图像以一个阈值处理,而局部阈值算法则把原图分成若干个子图,在每个子图中确定闽值,在进行二值化,由于指纹图像在不同区域的亮度和对比度是有差别的,因而全局阈值算法不适用。 灰度图二值化的基本思路是选取适当的灰度阈值,将灰度图像转化为二值图像。一般的图像处理中的二值化算法主要是计算整幅图像的灰度平均值,然后将该值作为门限,高于该门限的像素点就置1,反之置0。我们通过研究发现,这种方法虽然简单,但是对噪声较大,图像质量不好的指纹会产生较大的二值化噪声。所以最好选用局部阈值法作为二值化算法。 论文中采用了一种动态局部阈值,满足这种条件下的灰度值为128,不满足则灰度值为255。再根据前面判断的是否为背景即Icc值的来修正Icc值:灰度值为128且Icc为1时(非背景指纹纹线时),Icc值为0,像素值置为0。背景和灰度值为255的纹线像素置为1,这做法的目的是去除不确切的点。此时背景为白,纹线为黑。 二值化后的图像中的点还要进行修改,修改条件为:当像素为1时,它周围点不大于3个为像素1点则修改为0;当像素为0时,它周围不小于7个点为像素1的点,则修改为1。这种修改是为了使图像连续圆滑。 2.3.2指纹图像细化方法计算 由于灰度过渡区[12]的存在,指纹细化是指纹图像预处理中的一个重要环节,因为一般的特征提取都是在细化的基础上进行的,如果细化不好,将无法使用常规的特征提取算法提取细节特征信息[13]。细化可以便我们得到绞线的单像素的骨架。所谓“骨架”,是指图像中央的骨骼部分,是描述图像几何及拓扑性质的重要方法之一。获取一个图像骨架的过程通常称为对图像“细化”的过程。在文字识别、地质构造识别、工业零件形状识别或图像理解中,先对被处理图像进行细化有助于突出形状特点和减少冗余信息。 细化处理是指在指纹图像二值化以后,在不影响纹线连通性的基础上,删除纹线的边缘像素,直到纹线为单像素宽为止。理想细化后的纹线骨架应该是原始纹线的中间位置,并保持纹线的连通性、拓扑结构和细节特征。一种好的细化算法应该满足下列条件[13]: (1)收敛性:迭代必须是收敛的。 (2)连通性;不破坏纹线的连接性。 (3)拓扑性:不引起纹线的逐步吞食,保持原图像的基本结构特性。 (4)保持性:保护指纹的细节特征。 (5)细化性:骨架纹线的宽度为1个像素,即单像素宽。 (6)中轴性:骨架尽可能接近条纹中心线。 (7)快速性:算法简单,速度快。 已有的算法迭代按迭代方式的不同分为串行算法和并行算法。在串行细化算法中,当前迭代的结果不仅取决于前一次的迭代迭代图像,而且与当前处理情况有关;而在并行方式中,当前迭代仅仅是由前一次的迭代情况决定,串行细化算法的处理结果依赖于对像素处理的先后顺序,因而像素点的消除或保留不可预测。并行细化算法对图像进行细化时利用相同的条件同时检测所有像素点,其结果具有各向同性,因此从算法原理上并行算法优于串行算法。由于并行细化算法具有快速而准确的特性,因此他一直是人们研究的热点,并且相应的提出了许多并行细化算法,如OPTA细化算法[15],R.W.Hall细化算法,Rosenfeld细化算法,Zhang & Suen 细化算以及ZR细化算法等等。性能上这些算法各有所长。 不同的文献上有不同的关于细化方法,如王家隆[16]等以及王业琳[17]等的细化模板。制约细化的直观表现在计算速度、毛刺和断点上。因而细化中选择一个好的模板很关键。模板分为保留模板和消除模板,消除模板就是根据条件判定这点去除作为背景的模板;保留模板则是根据条件判定这点保留作为前景的模板。这样就可以将较粗的图像曲线细化成很细的以像素为单位的线,大大减少了图像的信息量,有利于匹配的高效进行。 本论文中采用了细化方法步骤如下: (1)建立3维数组,第一组数据为预处理后的图像信息,定义每一个像素点它周围点像素参数。 (2)对于满足6种情况的模板,赋值为2 ,其实为像素1情况。对于满足后六种情况的模板赋值为3,别的情况点值不做改变。 (3)16种消去模板是在不满足上述情况下衍生的模板,对于满足这些模板的点像素全为0,以上都未涉及的点不做改变。 (4) 循环进行上述过程,到所有点值不改变为止,最多进行20次细化。 2.4指纹图像的匹配 指纹匹配要解决的是对两幅给定指纹图像的特征模式进行比对,判断这两幅图像是否来自同一个人的同一手指。指纹匹配是自动指纹识别的最后一步,也是非常关键的一步。 指纹图像匹配方面,主要有基于图像,脊线结构和特征点的方法。基于特征点的匹配算法具有简单、快速、鲁棒性等优点。目前最为常用的方法是FBI提出的细节点坐标模型来做细节匹配。它利用脊线上的端点和分叉点这两种关键点来鉴定指纹。通过将细节点表示为点模式,一个指纹识别问题可以转化为一个点模式匹配问题。点匹配算法是通过某些变换,如平移变换、旋转变化、伸缩变换,可以把两个点集中的对应点匹配起来。对于基于细节点的匹配思路大体分两种:基于直角坐标系的特征识别和基于极坐标系的特征识别。 第三章 指纹识别系统硬件设计 3.1系统总体设计 3.1.1指纹识别系统功能简述 本系统是针对指纹采集、识别模块开发出的指纹识别系统。该系统使用指纹模块搜索手指,一旦搜索到手指,立即采集指纹图像,并将采集到的图像转化成数据的形式发送出去。它利用人体指纹各异性和不变性,为用户提供加密手段,使用时只需将手指平放在指纹采集仪的采集窗口上,即可完成采集任务,并将显示出指纹模块采集指纹图像各个流程及比对的结果。简单的描述本次设计的功能即使用指纹模块检测、录入指纹,将比对结果显示。 该系统的主要功能有以下几个方面: (1) 指纹录入。能进行指纹的录入,二次录入无误后,记录该指纹数据。指纹图像通过专门的指纹采集仪采集。 (2) 指纹识别。能进行指纹的识别,指纹识别出错时,报警提示。图像采集完成后,与库中已存在指纹进行对比,与所有有权限用户信息对比后,若无相符信息即提示报警。 (3) 指纹管理。能进行指纹数据的管理,添加和删除指纹数据。对添加到库中的用户指纹进行权限管理,设置最高权限用户,并能够对其进行添加和删除管理。 (4) 操作显示。通过按键进行指纹系统的功能选择,采用数码管与LED(Light Emitting Diode,发光二极管)指示灯综合提示操作内容。若信息经核对相符,即提示该用户拥有权限,若不相符,即提示非法操作。 3.1.2系统核心部件单片机 AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K系统可编程Flash 存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决。AT89S52具有以下功能:8K字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。 另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 3.2指纹识别系统电路设计 系统电路框架是根据设计任务要求,对系统所需元件、设备参数进行必要的计算,通过认真研究、分析、比较选定设备型号,再将设备、元件通过可靠的接口电路联系起来构成的一个完整的系统。综合考虑系统的性能和稳定性要求,以保证所设计的系统达到预期的要求。主控芯片选用AT89S52单片机。系统总体框图如图3.1所示: 图3.1系统总体框图 系统主要由MCU(Microcontroller Unit,微程序控制器)、LED屏(Large Electronic Display,大型电子展示)、指纹模块组成。系统的工作过程主要是当检测到有按键按下时先由MCU通过串口通信控制指纹模块对指纹进行采集、录入、存储、比对。然后,根据所得的数据对其它接口器件,如显示屏、蜂鸣器、指示灯进行响应操作。 3.3硬件系统组成模块电路 3.3.1下载口模块 采用RS-232接口,从PC机将程序下载至单片机芯片当中,实现编程实际应用。本次设计采用9芯针接口,其主要包括DCD(Data Carrier Detect)载波检测引脚,RXD(Received Data)接收数据引脚,TXD(Transmit Data)发送数据引脚,DTR(Data Terminal Ready)数据终端准备就绪引脚,SGND(Signal Ground)信号地引脚,DSR(Data Set Ready)数据准备就绪引脚,RTS(Request To Send)请求发送引脚,CTS(Clear To Send)清除发送引脚,RI(Ring Indicator)振铃提示引脚。在RS-232标准中,字符以一串行的比特串来一个接一个的串行方式传输,优点是传输线少,配线简单,传送距离可以较远。最常用的编码格式是异步起停格式,它使用一个起始比特后面紧跟7或8 个数据比特,然后是可选的奇偶校验比特,最后是一或两个停止比特。 如图3.2所示: 图 3.2 下载口模块 3.3.2显示模块 采用1602字符型液晶。1602电路如图3.3所示: 图 3.3 显示及驱动电路 3.3.3电源模块 整个模块采用USB供电,以按键式开关启动或关闭电源。当按下电源键时,电源开启,电源指示灯点亮。如图3.4所示: 图 3.4 电源模块电路 3.3.4时钟模块 时钟电路用来产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。通过在芯片的外部XTAL1和XTAL2两个引脚跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡电路。时钟电路为单片机产生时钟脉冲序列,本设计中采用的晶振频率为11.0592MHz,电容为33pF。如图3.5所示: 图 3.5 时钟模块电路 3.3.5复位模块 复位电路用于产生复位信号,通过RST引脚送入单片机,复位是单片机的初始操作,其主要功能是:为一些专用寄存器设置初始状态、程序状态字PSW清0、程序计数器PC被赋值为0000H等,除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需安装复位键以重新启动。RST引脚是复位信号的输入端,复位信号是高电平有效,完成复位操作共需要24个状态周期,本设计使用频率为11.0592MHz的晶振,所以复位信号持续时间应大致超过2μs才能完成复位操作。本设计采用按键复位。 如图3.6所示: 图3.6 复位模块电路 3.4指纹模块 3.4.1ZMF-206指纹识别模块 ZMF-206 指纹开发模块是深圳市十指科技有限公司最新推出的,以 TI 公司的 TMS320VC5501 高速 DSP 处理器为核心,结合具有公司自主知识产权的商用指纹算法,光学指纹传感器,具有指纹录入、图像处理、特征值提取、模板生成、模板储存、指纹比对和搜索等功能的智能型模块,并提供UART 接口和通讯协议,方便进行二次开发应用。 其具有如下特点: (1) 体积小巧、成像清晰、手指感应灵敏、识别速度快、干/湿手指适应性强,二次开发简单、应用方便,适用面广; (2) 稳定:工作稳定,可应用于各种类型单片机; (3) 方便:串口UART操作(直接接任何带串口单片机),操作简单; (4) 开放:可以自由输入、输出指纹图片、指纹特征值文件及各种指纹操作; (5) 高性能:采用商业算法,识别速度快,手指感应灵敏,手指只要轻轻地触碰采集窗就能快速识别,不需要用力按压。 指纹模块与单片机接口框架如图3.7所示: 图 3.7 指纹芯片与AT89S52单片机接口框图 第四章 软件系统设计 4.ZFM-206指纹识别模块指令系统 4.1.1通信方式 DSP 模块作为从设备,由主设备发送相关命令对其进行控制。 命令接口:19200bps 1 起始位 1 停止位 (无校验位) 主设备发送的命令及 DSP 模块的应答按数据长度可分为两类: (1) = 8 字节,数据格式如下: 表4.1 8字节数据格式 字节 1 2 3 4 5 6 7 8 命令 0xF5 CMD P1 P2 P3 0 CHK 0xF5 应答 0xF5 CMD Q1 Q2 Q3 0 CHK 0xF5 说明: CMD:命令/应答类型 P1,P2,P3:命令参数 Q1,Q2,Q3:应答参数, Q3 多用于返回操作的有效性信息,此时可有如下取值: #define ACK_SUCCESS 0x00 //操作成功 #define ACK_FAIL 0x01 //操作失败 #define ACK_FULL 0x04 //指纹数据库已满 #define ACK_NOUSER 0x05 //无此用户 #define ACK_USER_EXIST 0x07 //用户已存在 #define ACK_TIMEOUT 0x08 //采集超时 CHK:校验和,为第 2 字节到第 6 字节的异或值 (2) > 8 字节,数据由两部分组成:数据头+数据包,格式如下: 表4.2 大于8字节数据头格式 字节 1 2 3 4 5 6 7 8 命令 0xF5 CMD Hi(Len) Low(Len) 0 0 CHK 0xF5 应答 0xF5 CMD Hi(Len) Low(Len) Q3 0 CHK 0xF5 说明:CMD,Q3 的定义同上 Len:数据包内有效数据长度,16 位,由两字节组成 Hi(Len):数据包长度高 8 位 Low(Len):数据包长度低 8 位 CHK:校验和,为第 2 字节到第 6 字节的异或值 表4.3 大于8字节数据包格式 字节 1 2…Len+1 Len+2 Len+3 命令 0xF5 Data CHK 0xF5 应答 0xF5 Data CHK 0xF5 4.1.2主要通讯协议命令说明 (1) 添加指纹(命令/应答均为 8 字节) 为确保有效性,用户必须录入 3 次指纹,主机须向 DSP 模块发送 3 次命令。(这里仅列出第一次) 表4.4 添加指纹(第一次)指令格式 字节 1 2 3 4 5 6 7 8 命令 0xF5 0x01 用户号 (高8位) 用户号 (低8位) 0 0 CHK 0xF5 应答 0xF5 0x01 0 0 ACK_SUCCESS ACK_FAIL ACK_FULL ACK_TIMEOUT 0 CHK 0xF5 (2) 删除指定用户(命令/应答均为 8 字节) 表4.5 删除指定用户指令格式 字节 1 2 3 4 5 6 7 8 命令 0xF5 0x04 用户号 (高8位) 用户号 (低8位) 0 0 CHK 0xF5 应答 0xF5 0x04 0 0 ACK_SUCCESS ACK_FAIL 0 CHK 0xF5 (3) 删除所有用户(命令/应答均为 8 字节) 表4.6 删除所有用户指令格式 字节 1 2 3 4 5 6 7 8 命令 0xF5 0x05 0 0 0 0 CHK 0xF5 应答 0xF5 0x05 0 0 ACK_SUCCESS ACK_FAIL 0 CHK 0xF5 (4) 比对 1:1(命令/应答均为 8 字节) 表4.7 比对1:1指令格式 字节 1 2 3 4 5 6 7 8 命令 0xF5 0x0B 用户号(高8位) 用户号(低8位) 0 0 CHK 0xF5 应答 0xF5 0x0B 0 0 ACK_SUCCESS ACK_FAIL ACK_TIMEOUT 0 CHK 0xF5 (5) 比对 1:N(命令/应答均为 8 字节) 表4.8 比对1:N指令格式 字节 1 2 3 4 5 6 7 8 命令 0xF5 0x0C 0 0 0 0 CHK 0xF5 应答 0xF5 0x0C 用户号(高8位) 用户号(低8位) ACK_SUCCESS ACK_FAIL ACK_TIMEOUT 0 CHK 0xF5 (6) 取用户权限(命令/应答均为 8 字节) 表4.9 取用户权限指令格式 字节 1 2 3 4 5 6 7 8 命令 0xF5 0x0A 用户号(高8位) 用户号(低8位) 0 0 CHK 0xF5 应答 0xF5 0x0A 0 0 用户权限1/2/3 ACK_NOUSER 0 CHK 0xF5 (7) 设置/读取比对等级(命令/应答均为 8 字节) 表4.10 设置/读取比对等级指令格式 字节 1 2 3 4 5 6 7 8 命令 0xF5 0x28 0 Byte=0:新比对等级 Byte=1:0 0:设置新的比对等级 1:读取当前比对等级 0 CHK 0xF5 应答 0xF5 0x28 0 当前对比等级 ACK_SUCCESS ACK_FAIL 0 CHK 0xF5 说明:比对等级取值为 0-9,取值越大比对越严格,默认值为 5。 (8) 设置/读取指纹采集等待超时(命令/应答均为 8 字节) 表4.11 设置/读取指纹采集等待超时指令格式 字节 1 2 3 4 5 6 7 8 命令 0xF5 0x2E 0 Byte=0:新超时时间 Byte=1:0 0:设置新的超时时间 1:读取当前超时时间 0 CHK 0xF5 应答 0xF5 0x2E 0 当前超时时间 ACK_SUCCESS ACK_FAIL 0 CHK 0xF5 说明:指纹等待超时时间(tout)范围为 0-255。若此值为 0,若无指纹按压则指纹采集过程将一直持续;若此值非 0,在 tout*T0 时间内若无指纹按压则系统将超时退出。 注:T0 为采集/处理一幅图像所需的时间,一般为 0.2-0.3s。 4.2单片机的程序设计流程图 图4.1 程序流程图 第五章 实物的制作与系统调试 5.1 硬件材料 本次指纹识别系统实物制作所涉及的硬件: 电阻器、电容器、二极管、三极管、集成电路、大功率管。 5.2 硬件的焊接与组装 1.制作前期的准备 首先要熟悉所焊印制电路板的装配图,并按图纸配料,检查元器件型号、规格及数量是否符合图纸要求,并做好装配前元器件引线成型等准备工作。 2.焊接元器件的顺序 元器件装焊顺序依次为:电阻器、电容器、二极管、三极管、集成电路、大功率管,其它元器件为先小后大。 3.对元器件焊接要求 (1)电阻器焊接 按图将电阻器准确装人规定位置。要求标记向上,字向一致。装完同一种规格后再装另一种规格,尽量使电阻器的高低一致。焊完后将露在印制电路板表面多余引脚齐根剪去。 (2)电容器焊接 将电容器按图装人规定位置,并注意有极性电容器其 “ + ” 与 “ - ” 极不能接错,电容器上的标记方向要易看可见。先装玻璃釉电容器、有机介质电容器、瓷介质电容器,最后装电解电容器。 (3)二极管的焊接 二极管焊接要注意以下几点:第一,注意阳极阴极的极性,不能装错;第二,型号标记要易看可见;第三,焊接立式二极管时,对最短引线焊接时间不能超过 2S 。 (4)三极管焊接 注意 e 、 b 、 c 三引线位置插接正确;焊接时间尽可能短,焊接时用镊子夹住引线脚,以利散热。焊接大功率三极管时,若需加装散热片,应将接触面平整、打磨光滑后再紧固,若要求加垫绝缘薄膜时,切勿忘记加薄膜。管脚与电路板上需连接时,要用塑料导线。 (5)集成电路 焊接首先按图纸要求,检查型号、引脚位置是否符合要求。焊接时先焊边沿的二只引脚,以使其定位,然后再从左到右自上而下逐个焊接。对于电容器、二极管、三极管露在印制电路板面上多余引脚均需齐根剪去。 5.3 系统的调试 5.3.1单片机的程序下载 程序存储器的更新以页的方式进行。在用临时页缓冲器存储的数据对一页存储器进行编程时,首先要将这一页擦除。SPM指令以一次一个字的方式将数据写入临时页缓冲器。临时页缓冲器的写入可以在页擦除命令之前完成,也可以在页擦除和页写操作之间完成。通过电脑上的下载软件将HEX文件传输到USB下载线板上的ATmega8芯片里,程序代码在这里经过处理后从固定的I/O管脚中输出烧写到单片机的Flash存储器中。此外单片机一般采用5V以下的电源供电,USB接口也采用5V电源,所以,该下载线还可以通过电脑向单片机提供工作电源。该下载线采用先进的USB2.0接口技术解决了本不带并口的遗憾,还有它小巧精致,携带方便,下载程序速度快等优点得到了众多编程爱好者的青睐而被广泛的使用着。 5.3.2串口调试 使用串口调试助手进行测试 测试结果如图5.1所示: 5.1 串口通信测试结果图 5.3.3液晶显示器调试 液晶显示器测试程序见附录A: 液晶显示器试程序结果如图 5.2所示: 图 5.2液晶显示器测试结果 第六章 总结和展望 作为一种可靠的生物识别技术,指纹识别技术受到了广泛关注,高效可靠的指纹图像识别算法技术在实际生活中具有很高的实用价值。本文针对以TI公司TMS320VC5501 高速 DSP 处理器为核心的TFS-M51 指纹开发模块,设计了基于AT89S52单片机的指纹识别系统。主要研究内容如下: 指纹识别原理。分析如何对采集到的图像进行预处理,包括图像的规格化,图像分割,图像二值化,图像增强,图像细化以及特征值的提取。 指纹识别模块工作流程。包括添加用户,删除指定用户,删除所有用户,认证用户,管理用户权限等功能的工作原理。 单片机与DSP的通信。如何实现串口通信,以及怎样运用软件进行仿真。掌握指纹识别模块的与单片机的通信机制,运用通信协议实现各功能控制。 本文由于时间上的限制,在指纹识别系统的用户管理功能上没有进行更深入的开发,是一个缺憾。如何有效提高指纹识别可靠度,更安全地管理用户控制权限,以及寻求更为简洁可靠的指纹图像识别算法,应该是今后开展工作的方向。 参考文献 [1] 杨强,谭礼俊. 生物识别技术对比浅析[J].大众科技.2005年02期。 [2]王崇文,李见为,周宏文.指纹识别系统的设计与实现[J].计算机应 用.2001,21(12):23— 25。 [3]B Moayer and K S Fu. An application of stochastic languages to finger pattern recognition[J]. Pattern recognition.1976,12:173-179。 [4]谢立锋,陈灵枭.浅谈指纹识别基本原理[J].技术与市场.2008.1:44-45。 [5]耿德英,陈志敏,陈梅琴.图像处理在指纹识别中实践[J].西昌学院 报.2009.32(4):72-74。 [6]刘明生,吴小培,项明.一种基于指纹图像特征的图像分割算法[J].电子测 技术第32卷.2009.8:92-94。 [7]郭文鹃,杨公平,董晋利.指纹图像分割方法综述[J]. 山东大学学 报.2010.45(7):94-100。 [8]高月红.灰度图像分割算法的研究[J].科技信息.2009年27期:17-18。 [9]郭丹颖,吴成东,曲道奎.小波变换理论应用进展[J]. 信息与控 制.2004.33(1):67-71。 [10]李晨丹,徐进.指纹图像预处理和特征提取算法的Matlab实现[J].计算机工 程与科学.2009.31(7):61-64。 [11] 温苗利,梁彦等.基于GaborN数的小波域指纹图像增强算法[J].计算 机应用.2006,20(9):68-74。 [12]Gerbrands J J.Segmengtation of Noisy Images[D].Delft University of Technology.1988。 [13]张亮. 指纹图像传感器技术关键及发展趋势[J] . 传感器技术 .2005.09。 [14] 田野. 用你的手指“说话”——指纹识别器[J]. 大众硬件.  2005.06。 [15]王业琳,宁新宝,尹义龙.指纹图像细化算法的研究[J].南京大学学报:自然科学版,2003,39(4):469-475 [16] 詹伟林. 马芳. 邹进和红外线技术在公安工作中的应用[J].森林公安。 2005.01。 致 谢 这次毕业设计得到了很多老师、同学的帮助,在此我要感谢曾经教导过我的老师,和帮助过我的同学、老师们。其中我的指导老师易鸿老师对我的关心和支持尤为重要,每次遇到难题,我首先做的就是向易老师寻求帮助,而易老师每次不管忙或闲,总会抽空来给我指导,然后一起商量解决的办法。 另外,感谢学院给予我这样一次机会,让我能够独立地完成一个课题,并在这个过程当中,给予我们各种方便,使我们在即将离校的最后一段时间里,能够更多地学习一些实践应用知识,不断增强我们实践操作能力和动手应用能力,提高了我们独立思考的能力。再一次对我的母校表示感谢。 感谢在整个毕业设计期间和我密切合作的同学,和曾经在各个方面给予过我帮助的伙伴们,在大学生活即将结束的最后的日子里,我们再一次演绎了团结合作的童话,把一个庞大的,从来没有上手的课题,圆满地完成了。正是因为有了你们的帮助,才让我不仅学到了本次课题所涉及的新知识,更让我感觉到了知识以外的东西,那就是团结的力量。通过这次毕业设计,使我得到了一次用专业知识、专业技能分析和解决问题的能力。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧的掌握方面都向前迈了一大步,为日后成为合格的应用型人才打下坚实的基础。 最后,感谢所有在这次毕业设计中给予过我帮助的人,感谢你们为我的本次设计所付出的努力与帮助,再一次真诚地感谢你们。 附 录 附录A 1602显示器子程序 #include #include #include"lcd1602.h" /***********1602液晶显示部分子程序****************/ void lcddelay(unsigned int z) { unsigned int x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void LCD_Write(bit style, unsigned char input) { LcdRs=style; P0=input; lcddelay(5); LcdEn=1; lcddelay(5); LcdEn=0; } void LCD_SetDisplay(unsigned char DisplayMode) { LCD_Write(LCD_COMMAND, 0x08|DisplayMode); } void LCD_SetInput(unsigned char InputMode) { LCD_Write(LCD_COMMAND, 0x04|InputMode); } //初始化LCD************************************************************ void LCD_Initial() { LcdEn=0; LCD_Write(LCD_COMMAND,0x38); //8位数据端口,2行显示,5*7点阵 LCD_Write(LCD_COMMAND,0x38); LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); //开启显示, 无光标 LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN); //清屏 LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE); //AC递增, 画面不动 } //液晶字符输入的位置************************ void GotoXY(unsigned char x, unsigned char y) { if(y==0) LCD_Write(LCD_COMMAND,0x80|x); if(y==1) LCD_Write(LCD_COMMAND,0x80|(x-0x40)); } //将字符输出到液晶显示 void Print(unsigned char *str) { while(*str!='\0') { LCD_Write(LCD_DATA,*str); str++; } } 附录B 单片机程序清单 #include #include #include"lcd1602.h" sbit buzzer=P2^0; //蜂鸣器 低电平打开蜂鸣器 sbit red= P1^0; //红色灯 表示 录入 模式 sbit green= P1^1; //绿色灯 表示 识别 模式 sbit k1=P3^2; //清除所有指纹(10个指纹清除) sbit k2=P3^3; //模式识别转换 sbit k3=P3^4; //录入一次指纹 #define Max_User 10 #define error 2 unsigned char SaveNumber=0,searchnum=0; unsigned int SearchNumber=0; unsigned int clk0=0; unsigned char str[6]={0,0,0,0,0,'\0'}; unsigned char code Identify[16]="Lock: Idenfity"; unsigned char code Input[16] ="Lock: Input "; bit modeflag=0,clearallflag=0,changeflag=0; // modeflag=0 为识别模式 modeflag=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 ERROR 255 //状态定义表 #define on 1 #define off 0 #define MAX_NUMBER 63 #define _Nop() _nop_() //////////////////////////////////////宏定义------------结束//////////////////////////////////////////////////////// unsigned char FifoNumber=0; xdata unsigned char FIFO[MAX_NUMBER+1]={0}; /*********1毫秒延时程序**********/ void delay1ms(unsigned int t) { unsigned int i,j; for(i=0;i=6) { checksum=FIFO[count]+checksum; //计算校验和 } if(count==8) { package=FIFO[7]*0X100+FIFO[8]; //计算包长度 stop= TURE; } if(stop) { if(count==package+8) { checksum=checksum-FIFO[count-1]; if(checksum!=FIFO[count]&0xff) result=FALSE; //校验失败,置结果标志为0 else result=TURE; flag=0; break; } } } } }/////////////////////////////do的内容----------------结束//////////////////////////////// while ((clk0<=MaxTime)&&(count<=MAX_NUMBER)&&(changeflag==0)); //由定时器以及最大接收数据来控制,保证不会在此一直循环 FifoNumber=count; //保存接收到的数据个数 } return (result); } bit VefPSW(void)//验证设备握手口令,成功返回1 { unsigned char count=0; while (1) { if(Command(VPWD,20) && (FifoNumber==11) && (FIFO[9]==0x00)) return(1); count++; if (count>=2)//如果不成功,再验证一次,如果两次不成功,返回失败 { return(0); } } } void Clear_All(void) //清空所有指纹信息,清空前首先验证和指纹模块通讯是否正常 { if(VefPSW()!=1)//验证失败 { } else //验证成功 { Command(DELE_all,50); //清空指纹库 Command(DENT,20); //清空用户记事本 } } unsigned char ImgProcess(unsigned char BUFID) //发获取图像并生成特征文件,存入BUFID中//输入参数为缓冲区号 { if(Command(GIMG,89) && (FifoNumber==11) && (FIFO[9]==0x00)) { if(BUFID==1) { if(Command(GENT1,60) && (FifoNumber==11) && (FIFO[9]==0x00)) { return 1; } else { return 0; } } else if(BUFID==2) { if(Command(GENT2,60) && (FifoNumber==11) && (FIFO[9]==0x00)) { return 1; } else { return 0; } } } else { return 0; } return 0; } bit Searchfinger(void)//搜索指纹(发送搜索命令、以及根据返回值确定是否存在) { if(Command(SEAT,60) && (FifoNumber==15) && (FIFO[9]==0x00) ) { SearchNumber=FIFO[10]*0x100+FIFO[11];//搜索到的页码 //MatchScore=FIFO[12]*0x100+FIFO[13] 可以在此计算得分,从而进行安全级别设定,本程序忽略 return 1; } else { return 0; } } unsigned char search(void)//搜索用户 { unsigned char SearchBuf=0,i=0; while (i<20) { if(modeflag==0)//在识别模式下 { if (ImgProcess(1)==1)//首先读入一次指纹 { SearchBuf=Searchfinger();//进行指纹比对,如果搜索到,返回搜索到的指纹序号 if(SearchBuf==1) //成功搜索到指纹号 { return SearchNumber; } else //如果没有搜索到指纹号 { return 255; //由于只能录入162个指纹,这时候如果返回255表示识别错误,或者这个指纹没有登记 } } } else { return 0; } i++; } return 0; } bit savefingure(unsigned char ID)//保存指纹 { unsigned char i=0; //现在开始进行存储指纹模板的操作 for (i=0;i<16;i++) //保存指纹信息 { FIFO[i]=STOR[i]; } FIFO[12]=ID; //把指纹模板存放的PAGE_ID也就是FLASH的位置 FIFO[14]=FIFO[14]+ID; //校验和 if (Command(FIFO,70)==1)//不成功返回0 //此处进行存放指纹模板的命 {return(1);} else {return(0);} //不成功返回0 } unsigned char enroll(void) //采集两次指纹,生成1个 指纹模板 { unsigned char temp=0,count=0; while(1) { temp=ImgProcess(1); //生成特征1 if (temp==1)//生成特征文件成功 { break; } else { if (temp==0)//采集指纹没有成功 { count++; if (count>=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)&& (FifoNumber==11) && (FIFO[9]==0x00))==0 ) //合并不成功返回0,成功返回1 { return 0; } 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 if(numdat<162)//指纹模块只能存162个指纹 { str[0]=0x30+numdat/100; //百 位转换成ASCII码 str[1]=0x30+(numdat%100)/10; //十 位转换成ASCII码 str[2]=0x30+numdat%10; //个 位转换成ASCII码 str[3]=' '; str[4]=' '; Print(str); } if(numdat==ERROR)//表示识别错误 { Print("Error"); } } void changeState(void) { GotoXY(0,0);//x,y if(modeflag==0) { Print(Identify);//显示 识别模式 Indentity green=0; red=1; } else { Print(Input); //显示 输入模式 Input green=1; red=0; } changeflag=0; 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,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波特率设置:9600 TR1=1; TR0=1;// 开定时器0 IT0=0;//中断0低电平中断 IT1=1;//中断1低电平中断 EX0=1;//开中断0 EX1=1;//开中断1 EA=1; for(i=0;i<6;i++)//开始握手6次,如果没有一次成功,表示模块通信不正常。只要成功就跳出此循环 { if(VefPSW())//与模块握手通过,绿灯亮起。进入识别模式 { green=0; //读一次 buzzer=0; shownum(0); delay1ms(300); buzzer=1; break; } else { red=1; green=1; break; } } while(1) { if(k3==0)//录入一个指纹 { delay1ms(10); if(k3==0)//如果仍为低电平,表示按键有效 { while(k3==0);//等待松手 if(VefPSW()==1&&modeflag==1&&SaveNumber<162)//与模块握手通过 { if(enroll()==1)//采集两次,生成1个指纹模板成功 { if(savefingure(SaveNumber+1)==1)//保存也成功 { SaveNumber++;//加一次 shownum(SaveNumber); } } } else { buzzer=0; for(i=0;i<8;i++) { delay1ms(100); red=~red; } red=0; buzzer=1; } } } if(modeflag==0)//为识别模式 { searchnum=search(); if(searchnum>=1&&searchnum<=162)//最多只能存储162个指纹 { //显示搜索到的指纹号 shownum(searchnum); //蜂鸣器响一声 buzzer=0; delay1ms(100); buzzer=1; } if(searchnum==ERROR)//表示放上了没有登记的指纹或者识别错误 { shownum(searchnum); //蜂鸣器响三声 buzzer=0;delay1ms(100); buzzer=1;delay1ms(100); buzzer=0;delay1ms(100); buzzer=1;delay1ms(100); buzzer=0;delay1ms(100); buzzer=1; } } 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) { changeState(); changeflag=0; } }////////////////////////////while(1)结束//////////////////////////////// } void int0(void) interrupt 0//中断0,清除所有指纹 { if(k1==0) //清除所有指纹 { delay1ms(10); if(k1==0)//如果仍为低电平,表示按键有效 { while(k1==0);//等待松手 clearallflag=1; } } } void Timer0(void) interrupt 1//定时器0中断函数 { TL0=0x97; TH0=0xBD; clk0++; //延时17ms } void int1(void) interrupt 2//中断1,模式转换 { if(k2==0)//模式转换 其中用modeflag 来标志,默认从第1个指纹开始录入 { delay1ms(10); if(k2==0)//如果仍为低电平,表示按键有效 { while(k2==0);//等待松手 modeflag=~modeflag;//0表示录入指纹 1表示识别指纹 changeflag=1;//表示模式有变化 } } 毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作 者 签 名:       日  期:        ​​​​​​​​​​​​ 指导教师签名:        日  期:        使用授权说明 本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:        日  期:        ​​​​​​​​​​​​ 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名: 日期: 年 月 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权      大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名: 日期: 年 月 日 导师签名: 日期: 年 月 日 指导教师评阅书 指导教师评价: 一、撰写(设计)过程 1、学生在论文(设计)过程中的治学态度、工作精神 □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、学生掌握专业知识、技能的扎实程度 □ 优 □ 良 □ 中 □ 及格 □ 不及格 3、学生综合运用所学知识和专业技能分析和解决问题的能力 □ 优 □ 良 □ 中 □ 及格 □ 不及格 4、研究方法的科学性;技术线路的可行性;设计方案的合理性 □ 优 □ 良 □ 中 □ 及格 □ 不及格 5、完成毕业论文(设计)期间的出勤情况 □ 优 □ 良 □ 中 □ 及格 □ 不及格 二、论文(设计)质量 1、论文(设计)的整体结构是否符合撰写规范? □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)? □ 优 □ 良 □ 中 □ 及格 □ 不及格 三、论文(设计)水平 1、论文(设计)的理论意义或对解决实际问题的指导意义 □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、论文的观念是否有新意?设计是否有创意? □ 优 □ 良 □ 中 □ 及格 □ 不及格 3、论文(设计说明书)所体现的整体水平 □ 优 □ 良 □ 中 □ 及格 □ 不及格 建议成绩:□ 优 □ 良 □ 中 □ 及格 □ 不及格 (在所选等级前的□内画“√”) 指导教师: (签名) 单位: (盖章) 年 月 日 评阅教师评阅书 评阅教师评价: 一、论文(设计)质量 1、论文(设计)的整体结构是否符合撰写规范? □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)? □ 优 □ 良 □ 中 □ 及格 □ 不及格 二、论文(设计)水平 1、论文(设计)的理论意义或对解决实际问题的指导意义 □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、论文的观念是否有新意?设计是否有创意? □ 优 □ 良 □ 中 □ 及格 □ 不及格 3、论文(设计说明书)所体现的整体水平 □ 优 □ 良 □ 中 □ 及格 □ 不及格 建议成绩:□ 优 □ 良 □ 中 □ 及格 □ 不及格 (在所选等级前的□内画“√”) 评阅教师: (签名) 单位: (盖章) 年 月 日 教研室(或答辩小组)及教学系意见 教研室(或答辩小组)评价: 一、答辩过程 1、毕业论文(设计)的基本要点和见解的叙述情况 □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、对答辩问题的反应、理解、表达情况 □ 优 □ 良 □ 中 □ 及格 □ 不及格 3、学生答辩过程中的精神状态 □ 优 □ 良 □ 中 □ 及格 □ 不及格 二、论文(设计)质量 1、论文(设计)的整体结构是否符合撰写规范? □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、是否完成指定的论文(设计)任务(包括装订及附件)? □ 优 □ 良 □ 中 □ 及格 □ 不及格 三、论文(设计)水平 1、论文(设计)的理论意义或对解决实际问题的指导意义 □ 优 □ 良 □ 中 □ 及格 □ 不及格 2、论文的观念是否有新意?设计是否有创意? □ 优 □ 良 □ 中 □ 及格 □ 不及格 3、论文(设计说明书)所体现的整体水平 □ 优 □ 良 □ 中 □ 及格 □ 不及格 评定成绩:□ 优 □ 良 □ 中 □ 及格 □ 不及格 (在所选等级前的□内画“√”) 教研室主任(或答辩小组组长): (签名) 年 月 日 教学系意见: 系主任: (签名) 年 月 日 学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下进行的研究工作所取得的成果。尽我所知,除文中已经特别注明引用的内容和致谢的地方外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式注明并表示感谢。本人完全意识到本声明的法律结果由本人承担。 学位论文作者(本人签名): 年 月 日 学位论文出版授权书 本人及导师完全同意《中国博士学位论文全文数据库出版章程》、《中国优秀硕士学位论文全文数据库出版章程》(以下简称“章程”),愿意将本人的学位论文提交“中国学术期刊(光盘版)电子杂志社”在《中国博士学位论文全文数据库》、《中国优秀硕士学位论文全文数据库》中全文发表和以电子、网络形式公开出版,并同意编入CNKI《中国知识资源总库》,在《中国博硕士学位论文评价数据库》中使用和在互联网上传播,同意按“章程”规定享受相关权益。 论文密级: □公开 □保密(___年__月至__年__月)(保密的学位论文在解密后应遵守此协议) 作者签名:_______ 导师签名:_______ _______年_____月_____日 _______年_____月_____日 独 创 声 明 本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议。尽我所知,除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。 本声明的法律后果由本人承担。   作者签名: 二〇一〇年九月二十日   毕业设计(论文)使用授权声明 本人完全了解滨州学院关于收集、保存、使用毕业设计(论文)的规定。 本人愿意按照学校要求提交学位论文的印刷本和电子版,同意学校保存学位论文的印刷本和电子版,或采用影印、数字化或其它复制手段保存设计(论文);同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布设计(论文)的部分或全部内容,允许他人依法合理使用。 (保密论文在解密后遵守此规定)   作者签名: 二〇一〇年九月二十日 致 谢 时间飞逝,大学的学习生活很快就要过去,在这四年的学习生活中,收获了很多,而这些成绩的取得是和一直关心帮助我的人分不开的。 首先非常感谢学校开设这个课题,为本人日后从事计算机方面的工作提供了经验,奠定了基础。本次毕业设计大概持续了半年,现在终于到结尾了。本次毕业设计是对我大学四年学习下来最好的检验。经过这次毕业设计,我的能力有了很大的提高,比如操作能力、分析问题的能力、合作精神、严谨的工作作风等方方面面都有很大的进步。这期间凝聚了很多人的心血,在此我表示由衷的感谢。没有他们的帮助,我将无法顺利完成这次设计。 首先,我要特别感谢我的知道郭谦功老师对我的悉心指导,在我的论文书写及设计过程中给了我大量的帮助和指导,为我理清了设计思路和操作方法,并对我所做的课题提出了有效的改进方案。郭谦功老师渊博的知识、严谨的作风和诲人不倦的态度给我留下了深刻的印象。从他身上,我学到了许多能受益终生的东西。再次对周巍老师表示衷心的感谢。 其次,我要感谢大学四年中所有的任课老师和辅导员在学习期间对我的严格要求,感谢他们对我学习上和生活上的帮助,使我了解了许多专业知识和为人的道理,能够在今后的生活道路上有继续奋斗的力量。 另外,我还要感谢大学四年和我一起走过的同学朋友对我的关心与支持,与他们一起学习、生活,让我在大学期间生活的很充实,给我留下了很多难忘的回忆。 最后,我要感谢我的父母对我的关系和理解,如果没有他们在我的学习生涯中的无私奉献和默默支持,我将无法顺利完成今天的学业。 四年的大学生活就快走入尾声,我们的校园生活就要划上句号,心中是无尽的难舍与眷恋。从这里走出,对我的人生来说,将是踏上一个新的征程,要把所学的知识应用到实际工作中去。 回首四年,取得了些许成绩,生活中有快乐也有艰辛。感谢老师四年来对我孜孜不倦的教诲,对我成长的关心和爱护。 学友情深,情同兄妹。四年的风风雨雨,我们一同走过,充满着关爱,给我留下了值得珍藏的最美好的记忆。 在我的十几年求学历程里,离不开父母的鼓励和支持,是他们辛勤的劳作,无私的付出,为我创造良好的学习条件,我才能顺利完成完成学业,感激他们一直以来对我的抚养与培育。 最后,我要特别感谢我的导师***老师、和研究生助教***老师。是他们在我毕业的最后关头给了我们巨大的帮助与鼓励,给了我很多解决问题的思路,在此表示衷心的感激。老师们认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助,感谢他耐心的辅导。在论文的撰写过程中老师们给予我很大的帮助,帮助解决了不少的难点,使得论文能够及时完成,这里一并表示真诚的感谢。 致 谢 这次论文的完成,不止是我自己的努力,同时也有老师的指导,同学的帮助,以及那些无私奉献的前辈,正所谓你知道的越多的时候你才发现你知道的越少,通过这次论文,我想我成长了很多,不只是磨练了我的知识厚度,也使我更加确定了我今后的目标:为今后的计算机事业奋斗。在此我要感谢我的指导老师——***老师,感谢您的指导,才让我有了今天这篇论文,您不仅是我的论文导师,也是我人生的导师,谢谢您!我还要感谢我的同学,四年的相处,虽然我未必记得住每分每秒,但是我记得每一个有你们的精彩瞬间,我相信通过大学的历练,我们都已经长大,变成一个有担当,有能力的新时代青年,感谢你们的陪伴,感谢有你们,这篇论文也有你们的功劳,我想毕业不是我们的相处的结束,它是我们更好相处的开头,祝福你们!我也要感谢父母,这是他们给我的,所有的一切;感谢母校,尽管您不以我为荣,但我一直会以我是一名农大人为荣。 通过这次毕业设计,我学习了很多新知识,也对很多以前的东西有了更深的记忆与理解。漫漫求学路,过程很快乐。我要感谢信息与管理科学学院的老师,我从他们那里学到了许多珍贵的知识和做人处事的道理,以及科学严谨的学术态度,令我受益良多。同时还要感谢学院给了我一个可以认真学习,天天向上的学习环境和机会。 即将结束*大学习生活,我感谢****大学提供了一次在农大接受教育的机会,感谢院校老师的无私教导。感谢各位老师审阅我的论文。 毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作 者 签 名:       日  期:        ​​​​​​​​​​​​ 指导教师签名:        日  期:        使用授权说明 本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:        日  期:        ​​​​​​​​​​​​ 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名: 日期: 年 月 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权      大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名: 日期: 年 月 日 导师签名: 日期: 年 月 日 独 创 声 明 本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议。尽我所知,除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。 本声明的法律后果由本人承担。   作者签名: 年 月 日   毕业设计(论文)使用授权声明 本人完全了解**学院关于收集、保存、使用毕业设计(论文)的规定。 本人愿意按照学校要求提交学位论文的印刷本和电子版,同意学校保存学位论文的印刷本和电子版,或采用影印、数字化或其它复制手段保存设计(论文);同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布设计(论文)的部分或全部内容,允许他人依法合理使用。 (保密论文在解密后遵守此规定)   作者签名: 年 月 日 基本要求:写毕业论文主要目的是培养学生综合运用所学知识和技能,理论联系实际,独立分析,解决实际问题的能力,使学生得到从事本专业工作和进行相关的基本训练。毕业论文应反映出作者能够准确地掌握所学的专业基础知识,基本学会综合运用所学知识进行科学研究的方法,对所研究的题目有一定的心得体会,论文题目的范围不宜过宽,一般选择本学科某一重要问题的一个侧面。 毕业论文的基本教学要求是: 1、培养学生综合运用、巩固与扩展所学的基础理论和专业知识,培养学生独立分析、解决实际问题能力、培养学生处理数据和信息的能力。2、培养学生正确的理论联系实际的工作作风,严肃认真的科学态度。3、培养学生进行社会调查研究;文献资料收集、阅读和整理、使用;提出论点、综合论证、总结写作等基本技能。 毕业论文是毕业生总结性的独立作业,是学生运用在校学习的基本知识和基础理论,去分析、解决一两个实际问题的实践锻炼过程,也是学生在校学习期间学习成果的综合性总结,是整个教学活动中不可缺少的重要环节。撰写毕业论文对于培养学生初步的科学研究能力,提高其综合运用所学知识分析问题、解决问题能力有着重要意义。 毕业论文在进行编写的过程中,需要经过开题报告、论文编写、论文上交评定、论文答辩以及论文评分五个过程,其中开题报告是论文进行的最重要的一个过程,也是论文能否进行的一个重要指标。 撰写意义:1.撰写毕业论文是检验学生在校学习成果的重要措施,也是提高教学质量的重要环节。大学生在毕业前都必须完成毕业论文的撰写任务。申请学位必须提交相应的学位论文,经答辩通过后,方可取得学位。可以这么说,毕业论文是结束大学学习生活走向社会的一个中介和桥梁。毕业论文是大学生才华的第一次显露,是向祖国和人民所交的一份有份量的答卷,是投身社会主义现代化建设事业的报到书。一篇毕业论文虽然不能全面地反映出一个人的才华,也不一定能对社会直接带来巨大的效益,对专业产生开拓性的影响。但是,实践证明,撰写毕业论文是提高教学质量的重要环节,是保证出好人才的重要措施。 2.通过撰写毕业论文,提高写作水平是干部队伍“四化”建设的需要。党中央要求,为了适应现代化建设的需要,领导班子成员应当逐步实现“革命化、年轻化、知识化、专业化”。这个“四化”的要求,也包含了对干部写作能力和写作水平的要求。 3.提高大学生的写作水平是社会主义物质文明和精神文明建设的需要。在新的历史时期,无论是提高全族的科学文化水平,掌握现代科技知识和科学管理方法,还是培养社会主义新人,都要求我们的干部具有较高的写作能力。在经济建设中,作为领导人员和机关的办事人员,要写指示、通知、总结、调查报告等应用文;要写说明书、广告、解说词等说明文;还要写科学论文、经济评论等议论文。在当今信息社会中,信息对于加快经济发展速度,取得良好的经济效益发挥着愈来愈大的作用。写作是以语言文字为信号,是传达信息的方式。信息的来源、信息的收集、信息的储存、整理、传播等等都离不开写作。 论文种类:毕业论文是学术论文的一种形式,为了进一步探讨和掌握毕业论文的写作规律和特点,需要对毕业论文进行分类。由于毕业论文本身的内容和性质不同,研究领域、对象、方法、表现方式不同,因此,毕业论文就有不同的分类方法。 按内容性质和研究方法的不同可以把毕业论文分为理论性论文、实验性论文、描述性论文和设计性论文。后三种论文主要是理工科大学生可以选择的论文形式,这里不作介绍。文科大学生一般写的是理论性论文。理论性论文具体又可分成两种:一种是以纯粹的抽象理论为研究对象,研究方法是严密的理论推导和数学运算,有的也涉及实验与观测,用以验证论点的正确性。另一种是以对客观事物和现象的调查、考察所得观测资料以及有关文献资料数据为研究对象,研究方法是对有关资料进行分析、综合、概括、抽象,通过归纳、演绎、类比,提出某种新的理论和新的见解。 按议论的性质不同可以把毕业论文分为立论文和驳论文。立论性的毕业论文是指从正面阐述论证自己的观点和主张。一篇论文侧重于以立论为主,就属于立论性论文。立论文要求论点鲜明,论据充分,论证严密,以理和事实服人。驳论性毕业论文是指通过反驳别人的论点来树立自己的论点和主张。如果毕业论文侧重于以驳论为主,批驳某些错误的观点、见解、理论,就属于驳论性毕业论文。驳论文除按立论文对论点、论据、论证的要求以外,还要求针锋相对,据理力争。 按研究问题的大小不同可以把毕业论文分为宏观论文和微观论文。凡届国家全局性、带有普遍性并对局部工作有一定指导意义的论文,称为宏观论文。它研究的面比较宽广,具有较大范围的影响。反之,研究局部性、具体问题的论文,是微观论文。它对具体工作有指导意义,影响的面窄一些。 另外还有一种综合型的分类方法,即把毕业论文分为专题型、论辩型、综述型和综合型四大类: 1.专题型论文。这是分析前人研究成果的基础上,以直接论述的形式发表见解,从正面提出某学科中某一学术问题的一种论文。如本书第十二章例文中的《浅析领导者突出工作重点的方法与艺术》一文,从正面论述了突出重点的工作方法的意义、方法和原则,它表明了作者对突出工作重点方法的肯定和理解。2.论辩型论文。这是针对他人在某学科中某一学术问题的见解,凭借充分的论据,着重揭露其不足或错误之处,通过论辩形式来发表见解的一种论文。3.综述型论文。这是在归纳、总结前人或今人对某学科中某一学术问题已有研究成果的基础上,加以介绍或评论,从而发表自己见解的一种论文。4.综合型论文。这是一种将综述型和论辩型两种形式有机结合起来写成的一种论文。如《关于中国民族关系史上的几个问题》一文既介绍了研究民族关系史的现状,又提出了几个值得研究的问题。因此,它是一篇综合型的论文。 写作步骤:毕业论文是高等教育自学考试本科专业应考者完成本科阶段学业的最后一个环节,它是应考者的 总结 性独立作业,目的在于总结学习专业的成果,培养综合运用所学知识解决实际 问题 的能力。从文体而言,它也是对某一专业领域的现实问题或 理论 问题进行 科学 研究 探索的具有一定意义的论说文。完成毕业论文的撰写可以分两个步骤,即选择课题和研究课题。 首先是选择课题。选题是论文撰写成败的关键。因为,选题是毕业论文撰写的第一步,它实际上就是确定“写什么”的问题,亦即确定科学研究的方向。如果“写什么”不明确,“怎么写”就无从谈起。 教育部自学考试办公室有关对毕业论文选题的途径和要求是“为鼓励理论与工作实践结合,应考者可结合本单位或本人从事的工作提出论文题目,报主考学校审查同意后确立。也可由主考学校公布论文题目,由应考者选择。毕业论文的总体要求应与普通全日制高等学校相一致,做到通过论文写作和答辩考核,检验应考者综合运用专业知识的能力”。但不管考生是自己任意选择课题,还是在主考院校公布的指定课题中选择课题,都要坚持选择有科学价值和现实意义的、切实可行的课题。选好课题是毕业论文成功的一半。 第一、要坚持选择有科学价值和现实意义的课题。科学研究的目的是为了更好地认识世界、改造世界,以推动社会的不断进步和发展 。因此,毕业论文的选题,必须紧密结合社会主义物质文明和精神文明建设的需要,以促进科学事业发展和解决现实存在问题作为出发点和落脚点。选题要符合科学研究的正确方向,要具有新颖性,有创新、有理论价值和现实的指导意义或推动作用,一项毫无意义的研究,即使花很大的精力,表达再完善,也将没有丝毫价值。具体地说,考生可从以下三个方面来选题。首先,要从现实的弊端中选题,学习了专业知识,不能仅停留在书本上和理论上,还要下一番功夫,理论联系实际,用已掌握的专业知识,去寻找和解决工作实践中急待解决的问题。其次,要从寻找科学研究的空白处和边缘领域中选题,科学研究。还有许多没有被开垦的处女地,还有许多缺陷和空白,这些都需要填补。应考者应有独特的眼光和超前的意识去思索,去发现,去研究。最后,要从寻找前人研究的不足处和错误处选题,在前人已提出来的研究课题中,许多虽已有初步的研究成果,但随着社会的不断发展,还有待于丰富、完整和发展,这种补充性或纠正性的研究课题,也是有科学价值和现实指导意义的。 第二、要根据自己的能力选择切实可行的课题。毕业论文的写作是一种创造性劳动,不但要有考生个人的见解和主张,同时还需要具备一定的客观条件。由于考生个人的主观、客观条件都是各不相同的,因此在选题时,还应结合自己的特长、兴趣及所具备的客观条件来选题。具体地说,考生可从以下三个方面来综合考虑。首先,要有充足的资料来源。“巧妇难为无米之炊”,在缺少资料的情况下,是很难写出高质量的论文的。选择一个具有丰富资料来源的课题,对课题深入研究与开展很有帮助。其次,要有浓厚的研究兴趣,选择自己感兴趣的课题,可以激发自己研究的热情,调动自己的主动性和积极性,能够以专心、细心、恒心和耐心的积极心态去完成。最后,要能结合发挥自己的业务专长,每个考生无论能力水平高低,工作岗位如何,都有自己的业务专长,选择那些能结合自己工作、发挥自己业务专长的课题,对顺利完成课题的研究大有益处。 致 谢 这次论文的完成,不止是我自己的努力,同时也有老师的指导,同学的帮助,以及那些无私奉献的前辈,正所谓你知道的越多的时候你才发现你知道的越少,通过这次论文,我想我成长了很多,不只是磨练了我的知识厚度,也使我更加确定了我今后的目标:为今后的计算机事业奋斗。在此我要感谢我的指导老师——***老师,感谢您的指导,才让我有了今天这篇论文,您不仅是我的论文导师,也是我人生的导师,谢谢您!我还要感谢我的同学,四年的相处,虽然我未必记得住每分每秒,但是我记得每一个有你们的精彩瞬间,我相信通过大学的历练,我们都已经长大,变成一个有担当,有能力的新时代青年,感谢你们的陪伴,感谢有你们,这篇论文也有你们的功劳,我想毕业不是我们的相处的结束,它是我们更好相处的开头,祝福你们!我也要感谢父母,这是他们给我的,所有的一切;感谢母校,尽管您不以我为荣,但我一直会以我是一名农大人为荣。 通过这次毕业设计,我学习了很多新知识,也对很多以前的东西有了更深的记忆与理解。漫漫求学路,过程很快乐。我要感谢信息与管理科学学院的老师,我从他们那里学到了许多珍贵的知识和做人处事的道理,以及科学严谨的学术态度,令我受益良多。同时还要感谢学院给了我一个可以认真学习,天天向上的学习环境和机会。 即将结束*大学习生活,我感谢****大学提供了一次在**大接受教育的机会,感谢院校老师的无私教导。感谢各位老师审阅我的论文。 AT89S52 单片机 数码 显示管 指纹模块 独立按键 指示灯 蜂鸣器 电源、时钟电路 11.0592 RXD TXD TX RX AT89S52 指纹模块 GND GND _1234567897.unknown _1234567901.unknown _1234567905.unknown _1234567907.unknown _1234567909.unknown _1234567910.unknown _1234567911.unknown _1234567908.unknown _1234567906.unknown _1234567903.unknown _1234567904.unknown _1234567902.unknown _1234567899.unknown _1234567900.unknown _1234567898.unknown _1234567893.unknown _1234567895.unknown _1234567896.unknown _1234567894.unknown
/
本文档为【基于单片机的指纹识别系统设计——毕业论文】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
热门搜索

历史搜索

    清空历史搜索