版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要智能考勤系统是一种学生考勤技术。智能考勤系统的主要采用STC89C52RC单片机,配备OLED液晶显示模块、非接触式IC卡读卡模块和DS1302时钟模块等,来实现非接触式IC控制考勤系统。本设计主要是从整体设计、硬件设计、软件设计以及结果调试四个方面介绍智能考勤系统。近年来智能考勤系统几乎应用于各行各业,例如:学校教师与学生的考勤签到与迟到记录查询,写字楼以及各企业上班打卡签到智训能化查询与管理,医院记录大夫护士上班时间与迟到记录,工厂员工上下班的签到。这些工作都越来越多的利用到了RFID的无线射频技术,用来实现更方便、快捷的考勤方式,更加智能化地查看迟到缺勤人员具体信息,大大减少了人工查询的时间与精力,和对纸张记录人事管理的浪费。大大提高企业,学校等工作单位的办公效率。也为人力资源的管理者提供较大方便,增加了考勤的真实性。本设计基于以上的好处通过射频刷卡模块、读卡模块进行对IC卡的识别,利用导入到单片机里的核心程序对识别到的IC卡实现多种功能,最后反馈到液晶屏上,从而实现智能考勤:查看缺勤或迟到人员。本系统不但可以对新入学生的学生进行信息注册,而且还可以对已经毕业的学生进行信息注销(若希望保存信息导出即可),实现对人员的智能化管理。关键词:智能考勤系统;单片机;读卡模块;射频模块;IC卡AbstractTheintelligentattendancesystemisastudentattendancetechnique.TheintelligentattendancesystemmainlyusesSTC89C52RCMCU,OLEDLCDmodule,non-contactICcardreadingcardmoduleandDS1302clockmoduletorealizenoncontactICcontrolattendancesystem.Thisdesignmainlyintroducestheintelligentattendancesystemfromfouraspects:theoveralldesign,hardwaredesign,softwaredesignandresultdebugging.Inrecentyears,theintelligentattendancesystemisalmostusedinallwalksoflife,suchasattendancecheckattendanceandlaterecordinquiryofschoolteachersandstudents,officebuildingandbusinesscardcheck-inintheintellectualtrainingcanbequeryingandmanagement,hospitalrecordsofdoctorandnurseworktimeandlaterecords,workersandworkerssigntoandfromwork.MoreandmoreuseoftheseworktoRFIDradiofrequencytechnology,usedtoachievemoreconvenientandquickwayofcheckingattendance,moreintelligenttoviewthelateattendancepersonnelspecificinformation,greatlyreducedthetimeandenergyofartificialinquiry,andthewasteofpaperrecordspersonnelmanagement.Theofficeefficiencyofenterprises,schoolsandotherworkingunitscanbegreatlyimproved.Italsoprovidesgreaterconvenienceformanagersofhumanresourcesandincreasestheauthenticityofattendance.Thisdesignisbasedontheabovebenefitsthroughtheradiocardmodule,readcardmoduletoidentifytheICcard,usingthecoreprogramintroducedintothemicrocontrollertoachieveavarietyoffunctionsidentifiedintheICcard,andfinallyfeedbacktotheLCDscreen,soastorealizetheintelligentattendance:checkabsenceorlatetothepersonnel.Thesystemcannotonlyregisternewstudents,butalsocanceltheinformationofstudentswhohavealreadygraduated,anddonotrealizeintelligentmanagementofpersonnel.Keyword:Intelligentattendancesystem;MCU;cardreadermodule;RFmodule;ICcard.引言智能考勤在日常生活的应用,企业工作管理,工厂员工统计出勤甚至部队管理中,都得到了非常广泛的应用。随着日新月异的技术革新,传统考勤系统如:学生签到,员工上班打卡等一系列公司和学校人员管理都已经走向快捷化和智能化。而基于RFID的考勤系统则为智能考勤提供了更大的方便。它融合了无线射频技术,软件编程技术及机械电子和单片机原理技术等。RFID技术也被应用到如:银行、小区、酒店、数据库中心,国家军火库等保密和安全性要求极高的场所。随着科技的不断进步和向前发展,考勤系统的早已不仅仅限制于简单的功能,目前的技术已经能够实现一机多功能并且安全又稳定的控制管理系统。考勤的方法例如老师人工点名,学生签到,指纹或者打卡,人脸识别打卡机等。但都遇到各自实际的问题,人工点名浪费大量的时间,还可能会存在徇私舞弊的现象,学生本人签到费时费力,指纹打卡存在因汗渍或手指受伤存在的指纹识别出错现象,人脸识别系统刚刚问世价格居高不下。就目前来看,基于RFID技术的智能考勤系统已经从最开始的认知和理论教育的阶段,发展到了研发及应用阶段。但我国的研究发展还依然存在着各种问题需要解决,比如还依然存在仿造国外已经有的系统,和现成的集成模块等。对识别读卡模块的研究以及考勤系统的开发都略有劣势。所以未来我国对于智能考勤系统的开发一定还会加大力度,打破产品形式单一以及直接购买国外技术的现状。从而节省更多资金并保证技术的安全性和专利性。当然,就目前的发展和未来趋势来看,智能考勤系统和RFID技术都有着巨大的前景,考勤系统也发挥着自己越来越多的功能和优势,尤其是把系统本身的硬件与适合的软件环境相结合,就可以实现非常全面的功能,人工操作的繁冗复杂也得到了很大程度上的改善,极大提升了办公的效率。现在学生想到图书馆借阅书籍,车辆进入停车场的出入控制,企业核心办公区的出入管理以及小区人员的进出都必须用到此系统。所以本次设计也有着很积极的作用,其研究设计的应用价值极高。本设计解决了目前现存的的考勤器存在的一些问题,使用RFID射频识别,单片机控制,后台数据库存储等功能。只要通过个人刷卡便可实现签到的目的,一人一卡不存在徇私舞弊或者带签等问题,并且数据会存储在后台的数据库中方便随时调用查看。人机交互方面来看,采用OLED显示屏幕,将刷卡后的信息直观的呈现在刷卡人的面前,成本低,效果好。在系统的拓展性上,只需添加所需的功能模块就能轻松实现功能,例如脱机刷卡,无线传输等,并且不存在安装成本,整个界面看起来简单清晰,容易上手操作。从识别到读写模式过程都无需任何人工参与,其最大的优点就是非接触式识别,而且不同的硬件模块和频率能实现的识别距离也不同,对于一些不同的应用技术识别距离可以达到30-100米甚至更远。这意味着此技术识别区域受外界影响的干扰非常小,它可以透过各种包装,泥垢,雾,冰雪,涂料等一系列介质进行识别。短距离射频技术可以代替条码而且不受油渍等恶劣环境的干扰。利用此系统可24小时进行管理。此外射频技术的读取速度极快,大多时候不会超过100ms,所以可想而知,应用此技术到工作生活中将会比人工劳动力结约大把时间。本系统体积小巧,方便存放或携带,操作简易,只需在上课时由放置在讲台或教室门口由学生打卡,打卡后数据自动将存入考勤器的数据库中,每周系统会进行一次更新,使用者可讲数据通过串口连接电脑,将数据上传保存,随时准备调用或查看。综上所述,基于以上的应用价值分析和市场前景,本设计得以拥有研究的背景,在课题中,RFID技术思想,智能考勤思路和单片机,液晶显示器都有着很大作用。1RFID考勤器的整体研究 RFID技术的主要应用包括:物流和供应管理、生产制造和装配、航空行李处理、邮件/快运包裹处理、文档追踪/图书馆管理、动物身份标识、运动计时、门禁控制/电子门票、道路自动收费、城市一卡通的应用、高校手机一卡通的应用、仓储中塑料托盘、周转筐中的应用等。RFID(RadioFrequencyIdentification)是一种近年来兴起的、广泛应用于人流和物流管理方面的新技术。该技术集编码、载体、非接触自动识别与通信等多种技术于一体,通过射频信号自动识别高速运动对象.并能同时识别多个标签,获取相关数据。主要应用目标是实现信息系统的自动化信息采集,保证被识别对象的信息化管理。RFID技术的基本工作原理并不复杂:标签进入磁场后,接收解读器发出的射频信号,凭借感应电流所获得的能量发送出存储在芯片中的产品信息(PassiveTag,无源标签或被动标签),或者由标签主动发送某一频率的信号(ActiveTag,有源标签或主动标签),解读器读取信息并解码后,送至中央信息系统行有关数据处。一套完整的RFID系统,是由读写器(Reader)与电子标签(TAG)也就是所谓的应答器(Transponder)及应用软件系统三个部份组成,其工作原理是Reader发射一特定频率的无线电波能量给Transponder,用以驱动Transponder电路将内部的数据送出,此时Reader便依序接收解读数据,送给应用程序做相应的处理。本系统中使用了STC,射频模块通讯,时钟模块和显示模块四个模块,其中最主要的核心元件为STC89C52RC单片机。在通电实验之后,STC89C52RC、DS1302时钟模块以及无线刷卡模块恢复到初始状态,然后通过硬件的配置方法,为了使无线刷卡系统处于持续监测状态可以设置两个不同SPI进行通信[1]。此时当有已经注册过的IC卡放入刷卡感应模块时,系统就会自动识别该IC卡内的存储标签,接下来就会将已经读出的卡片信息自动上传给STC89C52RC系统。同时STC单片机也同时自动将信息上传给显示器,显示模块最终将打卡时间显示出来。与此同时,单片机会判断次IC卡是否在规定的签到时间打卡。是则将此卡标签存入系统。当打卡信息存储成功后,可通过设置好的按键查询签到和缺勤人员信息。对人员的考勤情况进行智能化管理。 图1系统结构图系统以STC89C52单片机为核心,上端连接OLED液晶显示屏用于显示各项指令,下端连接RFIDMFRC522芯片用于读取卡片数据并向单片机传输,右接DS1302时钟芯片用以写存时间。1.1考勤器的发展简介考勤系统在多年的发展过程中逐渐趋于成熟化,由开始的军事战备逐渐融入到我们的日常生活中。在欧美国家,RFID技术已经得到了广泛的使用,如美国政府将国防管理系统中融入了RFID技术,以及以沃尔玛为代表的众多企业在各自的行业领域中广泛的使用该技术。并且在生产控制、公共交通、医药管理、公共安全等领域的应用也在积极的开展。目前欧美等国家在零售业、公共交通、邮政等领域的RFID技术应用相当成熟,亚洲的一些国家也取得了很大成功,大大提高了效率降低了成本[1]。 `1.2RFID考勤器的概念为了方便学校统一对学生进行管理,减少不必要的人工资源消耗,基于RFID的考勤器系统通过一系列技术的设计包括数据库管理、非接触射频识别技术和信息存储技术达到相比于一般意义上的考勤模式更加便捷、低耗损的新型考勤系统[2]。考勤系统具有对人员进出、授权、查询和统计等多种功能,还可作为人事管理、考勤管理,可于任何机电设备产品及控制系统联动,既方便内部人员或用户的自由出入,又杜绝外来人员随意进出,提高安全防范能力。考勤系统按联接方式可分为多门联网门禁系统和单门单机门禁系统两种;按数据读取方式可分为感应式、密码式、感应+密码式;刷卡式、刷卡+感应式、刷卡+密码式;指纹、指纹+密码(联机和脱机型)等多种方式。经授权用户可利用使用卡开启各房间门的电锁。用户权限可由系统管理员设定。当系统出现故障时管理人员可利用后备卡,开启通道门。 1.3RFID考勤器的前景基于整个物联网大环境来说,RFID是数据采集方法中的核心技术手段之一,但RFID的技术的体现必须要基于现实的项目工程,并与互联网、大数据、人工智能和云计算等技术整体融合在一起,在各大型的无人超市问世之后,无人零售掀起了再一次的RFID技术的使用高潮。根据新思界产业研究中心发布的《2018-2022年中国RFID行业市场深度调研及投资前景预测分析报告》显示,RFID技术与普通的条形码的区别在于,RFID在工作时,射频传输出的信息是基于电磁信号,终端识别的是经射频转换到基带的数字式电信号;传统条形码,传输过程主要基于与图像有关的光学信号,终端的数据传输是使用光电转换设备获取数字式电信号[3]。RFID的考勤器系统成本低廉,容易操作,并且兼容性强,也非常适合在未来科技发展时与其他新兴的技术相结合成为更先进的科技。随着科技的进步在接下来的研究中高精度的RFID芯片的价格可以更低廉,便可在与其他新技术融合后大规模的应用到人们日常的中,大大方便人们的工作与生活。2RFID考勤器的整体设计本系统将学生信息存储在后台的数据库中,学生将手中注册好的卡片通过RC522模块识别,并发送给STC89RC522芯片,再由该芯片传送到OLED屏幕上反馈给学生打卡成功信息,同时存入后台数据库中,若超过时间打卡或本日未打卡的用户将由后台数据库筛选并标记存储备用。通过记录每日的打卡状态来判断学生是否有迟到、缺课等现象,并将数据录入后台的数据库中,在学期末时学校管理人员可以随时查看某位同学一学期的出勤情况作为期末成绩评定的参考。图2整体设计图本系统由硬件和软件两部分组成,硬件主要包括RFIDMFRC522芯片,DS1302时钟模块,OLED显示屏,STC89C52单片机。软件使用KEILuvsion4环境,C语言开发了读卡模块,时钟模块,注册卡与注销卡模块,查询模块,签到模块和存储数据库。再通过串口与计算机进行连接实现软硬件交互。2.1单片机选型通过对系统整体功能,尤其是尾灯控制策略的研究,发现只有采用处理器进行处理运算和控制,才能够实现预期功能。为此,本文首先对处理器进行选型,以确定最终的处理器型号。目前,常见的处理器有如下三种:(1)STM32处理器STM32处理器的的主要特点主要是:它的体积比较小,功耗比一般的处理器也要低一些,但性能比较高STM32是基于ARMCortex-M3的新一代32位处理器,是一个性能良好、成本低廉的开发平台,常用在微控制器、工业控制系统及无线网络传感器等场合。同时,STM32处理器主频较高,主频可以通过设置达到72M。因为这个原因,该单片机运行指令的时间更短,效率更高,这个是51单片机所没法超过的[4]。(2)PLC控制器PLC,是目前较为常见的可编程逻辑控制器。该处理器的输出输出接口都是采用光电隔离实现数据输入输出的,因此可靠性较高。同时,PLC可以采用梯形图进行设计,极大的降低了开发难度。目前PLC广泛应用于工业控制,目前条件下其强大的输入输出接口、稳定可靠性使其不会被其它处理器代替,工业生产中PLC一般做为下位机,处理执行上位机计算机的命令。该系统可以充分利用PLC的多路输入输出能力,同时也能在上位机上进行信息集中显示。通过这种结构方式,可以对现场多路控制进行集中管理,效果突出。(3)STC89C52RC单片机戴尔维STC89C52RC单片机,虽然问世时间已经很久,由于其性价比相较于大多数单片机而言依然较高,因而使用范围依旧较为广泛。目前,在自动化领域,该单片机占有非常重要的地位。该单片机价格低廉,但是功能却足以满足大多数自动化设备需求。STC89C52RC单片机引脚图,如图3所示[5]。图3STC89C52RC单片机引脚图设计选择的STC89C52RC,是一款小型控制器。它可以为控制系统提供一个价格低廉性能稳定的方案。现在的市面上51系列单片机,做为使用最频繁的单片机,它拥有许多较为实用的软硬件资源。并且,项目开发中,只需要较低的研发成本,就可以实现预期功能。上述原因,是51系列单片机目前使用最广泛的根本原因。为了同时达到降低成本又可以实现最佳效果,选择了STC89C52RC作为考勤系统的射频识别芯片。现在的市场上51系列单片机作为使用最频繁的单片机,它拥有许多的可以利用的资源,并且只需要低的研发成本,是51系列单片机目前使用最多的版本。在器件选择上,始终以高性价比为原则,在对比后果断选择了STC89C52RC单片机,从而一定范围内压缩了设计成本,在降低成本的同时又实现了相当高级的功能,并且此硬件还具有可以自动将读取的信息上传到显示终端的优点。通过对上述三种处理器的性能、成本、开发难度进行对比,本设计对各种状态的按键输入信息进行识别,驱动LED灯显示,这些功能较为简单,因此该单片机完全可以胜任。若采用该方案,能够在较低成本的基础上实现预期功能。并且STC9C52单片机,不仅性能稳定,成本低,并且由于先前已经学过该单片机的课程,因此最终在处理器的选择上我选择选用STC89C52RC单片机进行设计。2.2RFID读写器选型MFRC522是应用于13.56MHz非接触式通信中高集成度读写卡系列芯片中的一员。它是NXP公司针对“三表”应用推出的一款低电压、低成本、体积小的非接触式读写卡芯片,是智能仪表和便携式手持设备研发的较好选择[6]。MFRC522利用了先进的调制和解调概念,完全集成了在13.56MHz下所有类型的被动非接触式通信方式和协议。支持ISO14443A的多层应用。其内部发送器部分可驱动读写器天线与ISO14443A/MIFARE®卡和应答机的通信,无需其它的电路。接收器部分提供一个坚固而有效的解调和解码电路,用于处理ISO14443A兼容的应答器信号。数字部分处理ISO14443A帧和错误检测(奇偶&CRC)。此外,它还支持快速CRYPTO1加密算法,用于验证MIFARE系列产品。MFRC522支持MIFARE®更高速的非接触式通信,双向数据传输速率高达424kbit/s[7]。作为13.56MHz高集成度读写卡系列芯片家族的新成员,MFRC522与MFRC500和MFRC530有不少相似之处,同时也具备诸多特点和差异。它与主机间的通信采用连线较少的串行通信,且可根据不同的用户需求,选取SPI、I2C或串行UART(类似RS232)模式之一,有利于减少连线,缩小PCB板体积,降低成本[8]。图4RFIDMFRC522结构图2.3时钟模块选型DS1302是DALLAS(达拉斯)公司出的一款涓流充电时钟芯片,广泛应用于电话、传真、便携式仪器等产品领域。其优势特点如下:(1)DS1302是一个实时时钟芯片,可以提供秒单位、分单位、小时单位、日单位、月单位、年单位等数据,并且软件还具有自动校正的能力,可以采用配置AM/PM来决定应用24小时式还是12小时式[9]。(2)拥有31字节数据存储RAM。(3)采取串行I/O通信方式,相比较而言比较节省IO口的使用。(4)DS1302的工作电压范围比较宽阔,2.0V~5.5V之内都能够正常工作。(5)DS1302时钟芯片功率消耗很少,在2.2V电压下工作,工作电流能够达到低于300nA。(6)DS1302具有8个引脚,两种封装模式可供选择,一种是DIP-8封装,芯片宽度(不含引脚)是300mil,一种是SOP-8封装,有两种宽度,一种是150mil,一种是208mil[10]。DS1302的引脚封装图如图5所示。图5DS1302引脚图2.4显示屏选型 在目前市场上流通的显示屏中以OLED和LCD显示屏最为符合本系统的需求。对比如下:OLED(OrganicLightEmittingDiode),中文译作有机发光二极管,当下被广泛的应用于手机或电视机显示屏幕上。它具有非常快的反应速度和轻薄两个优点,但是美中不足是存在使用寿命对大尺寸来说支持不足。与LCD屏幕相比如下:(1)屏幕的厚度能够达到1毫米以下,达到LCD屏幕的1/3,重量上也要轻得多;(2)完全固态结构,不含有流体的无知,于是抗震能力更强,不怕摔;(3)几乎不存在可视角度的顾虑,即便很大的视角下观看,画面效果依旧不会失真;(4)响应时间是LCD的千分之一,显示运动画面绝对不会有拖影的现象;(5)耐低温,经在零下40度的环境下检测仍能正常使用,LCD无法耐受低温;(6)制造工序更简便,价格更低廉;(7)低能量消耗的状态下发光效率更高;(8)可以分别在各种材质的基板上制造,机身柔软可以弯曲[11]。图6OLED显示屏幕结构图3RFID考勤器的硬件设计 3.1单片机的电路设计本次的电路设计中,我们使用到了单片机型号为STC89C52RC。它的主要作用是在于能将51单片机的正常功率发挥出来,则在本次设计中单片机是整个系统电路最主要的组成部分。复位电路我们选择了使用阻容复位电路。复位电路的电平显示在1时整个系统是有效的,但是在突然供电的瞬间,可能会出现电容C9上突发的短路效应,如果出现这种情况,STC89C52RC单片机会自动选择复位,在复位的过程中,电容C9上的电压是不变的,电路也会因此断开。单片机RESET引脚上为低电平,在这种情况下,整个系统不会选择复位操作,单片机依然会进行正常的工作;时钟源电路是使用无源晶振设计的,选用11.0592M晶振作为系统的时钟源。本次的设计过程主要使用的是STC89C52RC,因此能够达到一个完整的基础电路系统,然后将单片机能够完成设计的任务。 图7STC89C52电路图3.2电源电路设计 HT7533将5V电压转换成3.3V为RC522芯片供电[11]。它具有外电路系统特别简易的特性,在现实情况下使用尤为的简易,更容易上手。具体的设计如下所示:图8HT7533电源转换电路原理图图8中,HT7533的1引脚接地线,2 引脚接5.3V入电压,3引脚为输出引脚,直接输出3.3V电源供RC522使用。3.3显示电路设计(1)供电:模块供电输入端为VCC_IN,经U2降压后供U1、U4等电路。OLED屏工作需要7~7.5V电压,由SSD1306内置电荷泵升压后提供。(2)接口:SSD1306支持并行、SPI及I2C等串行协议,本模块通过BS0、BS1、BS2这三个引脚接地,并设定为SPI协议,与U4汉字库芯片共享SPI接口,工作时通过芯片的片选引脚来区分,读写时应将目标芯片的CS引脚置为低电平。(3)其他外围电路:R5=910K,设置恒流源参考电流;R6、R7为数据线上拉电阻;RES#接复位电路[12]。图9OLED显示屏幕电路图 3.4刷卡电路设计 MFRC522利用了先进的调制和解调概念,完全集成了在13.56MHz下所有类型的被动非接触式通信方式和协议。支持ISO14443A的多层应用。其内部发送器部分可驱动读写器天线与ISO14443A/MIFARE卡和应答机的通信,无需额外电路设计。MFRC522支持MIFARE更高速的非接触式通信,双向数据传输速率高达424kbit/s。接收器部分提供一个坚固而有效的解调和解码电路,用于处理ISO14443A兼容的应答器信号。数字部分处理ISO14443A帧和错误检测(奇偶&CRC)。另外,它还支持快速CRYPTO1
加密算法,用于验证MIFARE系列产品[13]。本设计中,刷卡电路核心芯片为RC522,采用PCB天线,实现读卡操作。具体接口电路如图10。图10MFRC522电路图3.5系统硬件电路连接本系统中应用到的元件以STC89C52单片机为核心元件与其他各元件相连图11系统电路连接图3.6硬件的实物连接 系统实物连接图如图11,通过焊接将STC89C52芯片、DS1302时钟模块、OLED显示屏幕和三个按键与板子相连,再根据各自芯片的管脚图进行芯片与芯片之间的相互来连接实现数据的传输。RFIDMFRC522射频识别芯片将识别出的信息传输给STC89C52单片机,单片机在内部进行信息的比对与标记写出结果传送给OLED显示屏幕进行显示。按键与单片机相连。使用按键进行注销、查询和注册功能。图12系统实物连接图片系统连接实物各部分的相关说明如表1所示:表1系统各部分说明序号各部分名称1注册成功闪烁灯2检测有卡闪烁灯3OLED显示屏幕43.3V电源电池5DS1302时钟模块6STC89C52单片机7注销信息按键8注册信息按键9查看考勤记录按键10MFRC522读卡器11DC座,USB转DC线12引角接口4RFID考勤器的软件设计 4.1软件设计思路在完成硬件元件选型和硬件电路设计之后,系统还不能按照既定功能进行工作。此时需要编写单片机程序,来驱动硬件电路,实现预期的功能。完成硬件设计之后,再对系统的软件进行编程设计。在硬件电路设计完成后,需要根据实物开始程序设计。本设计选用的程序开发软件为KEILUVISION4。KEILUVISION4支持汇编编程,也支持C语言编程。由于汇编语言编程相对于用C语言更加复杂,且复制性差、调试麻烦,因此不采用汇编语言,而是采用的C语言进行的开发。且C语言通俗易于理解,易于分析。因而,选择采用C语言编写系统程序。 4.2读卡模块 学生在考勤时,需要进行相应的刷卡操作,读卡器的天线作为最基础的识别元件,可以识别出学生IC卡中的标签信息。接下来将读取到的信息经过SO脚传输,发送到单片机的应用芯片中。当CP脚传输的信息中的显示电平指数变为零时则代表了学生证在刷卡,若变为1则相反[14]。开始开始选择卡系统初始化选择卡系统初始化读卡读卡器初始化读卡读卡器初始化寻卡寻卡通过验证通过验证有卡在作用区N有卡在作用区查无此人发送数据YN查无此人发送数据Y防碰撞防碰撞图13读卡模块程序流程图打开系统后系统自动开始初始化,读卡模块的MFRCC522芯片接下来进行芯片本身的初始化,当卡片进入天线寻卡区的时候芯片确认卡存在,进行防碰撞检测,在进行防抖检测,再进行选定卡片,选定后读取卡中数据,与数据库中的已存储信息进行比对若存在,则进行打卡标记,若不存在通过单片机向OLED发送数据再由显示屏幕显示查无此人字样。复位初始化各芯片复位初始化各芯片发送RewuestS发送RewuestStd或RewuestAll请求防重叠,获取序列号防重叠,获取序列号选择卡片选择卡片密码认证密码认证通过停机通过停机YN复制停机减值增值写块传递数据读快复制停机减值增值写块传递数据读快图14RC522工作流程图读写器要通过天线来发射能量,形成电磁场,通过电磁场来对电子标签进行识别,天线所形成的电磁场范围就是射频识别系统的可读写区域。所以,对读写器的读写距离要求进行拉长,所设计的天线必须能在尽可能大的范围内产生所需的电磁场[15]。模块与单片机接口如下表2:表2单片机接口表4.2.1RC522读卡程序第一步:ucharj;if(PcdRequest(PICC_REQIDL,&CardRevBuf[0])!=MI_OKif(PcdRequest(PICC_REQIDL,&CardRevBuf[0])!=MI_OKLED1=1;CheckFlag=0;第二步:if(PcdAnticoll(&CardRevBuf[2])!=MI_OK) LED1=1;CheckFlag=0; 第三步:if(PcdSelect(&CardRevBuf[2])!=MI_OK)LED1=1;CheckFlag=0;读卡的过程必须要完成如下的四个步骤:寻卡并防抖→防冲撞处理→选卡→读卡/写卡。寻找天线区域内未休眠的卡片并返回卡片的类型,为防止无意碰触,写入防抖程序,再次寻找天线区域内未休眠的卡片,确认信息一致后,执行防碰撞程序,确认无卡重叠并发送卡片序列号给STC单片机,灯亮提示后确认信息,读卡完成。4.3时钟模块本系统采用了DS1302时钟模块,DS1302工作时要对所有数据传送进行初始化,需要将复位脚(RST)置为高电平并且将8位地址和命令信息装入移位寄存器。数据在时钟(SCLK)的上升沿串行输入,前8位指定访问地址,命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数据,写操作时输出数据。时钟脉冲的个数在单字节方式下为8+8(8位地址+8位数据)[16]。开始开始SSTC89C52初始化串口及CAN串口及CAN初始化给各节点传送校时命令当前时钟为零Y给各节点传送校时命令当前时钟为零节点有数据将信息写入EEPROMN节点有数据将信息写入EEPROMY将信息传给管理层将信息传给管理层N收到管理层命令操作相应节点Y收到管理层命令操作相应节点N循环循环图15DS1302时钟模块工作流程图当命令字节为BE或BF时DS1302工作在多字节传送模式8个时钟/日历寄存器从寄存器0地址开始连续读写从0位开始的数据当命令字节为FE或FF时DS1302工作在多字节RAM传送模式31个RAM寄存器从0地址开始连续读写从0位开始的数据。时钟模块主要应用于本系统的初试时间定义及刷卡时间的记录。将初试时间定义主要分为三步。定义引脚:sbitRST=P2^2;sbitIO=P2^1;sbitSCK=P2^0;定义地址:#defineds1302_sec_add 0x80 #defineds1302_min_add 0x82 #defineds1302_hr_add 0x84 #defineds1302_date_add 0x86 #defineds1302_month_add 0x88 #defineds1302_day_add 0x8a #defineds1302_year_add 0x8c #defineds1302_control_add 0x8e #defineds1302_charger_add 0x90 #defineds1302_clkburst_add 0xbe定义初始时间:uchartime_buf[8]={0x20,0x00,0x01,0x01,0x00,0x00,0x00,0x02};uchartime_SetBuf[8]={0x20,0x18,0x01,0x01,0x00,0x00,0x00,0x02};ucharreadtime[14];ucharsec_buf=0;ucharsec_flag=0;4.4考勤功能的软件实现 4.4.1注册与注销模块设计对新卡进行注册并编号:if(FlagAddNum)FlagAddNum=0;DisplayBuf[6]=Add[1];DisplayBuf[7]=Add[2];if((Add[0]>=1)&&(Add[0]<=4))write_eeprom_j(Add[0]); 注册成功: FlagZhCGood=1;新卡片未经注册前读卡时黄灯闪烁,当通过串口调试助手将数据发送给单片机后单片机存储并显示在OLED屏幕上注册成功字样,注册完成的同时蓝灯闪烁。将卡片注销:if(K2==0)write_eeprom_jj(0) ; write_eeprom_jj(1) ; write_eeprom_jj(2) ; write_eeprom_jj(3) ; write_eeprom_jj(4) ; write_eeprom_jj(5) ; for(k=0;k<10;k++)ID[0][k]='0';for(k=0;k<10;k++)ID[1][k]='0';for(k=0;k<10;k++)ID[2][k]='0';for(k=0;k<10;k++)ID[3][k]='0';for(k=0;k<10;k++)ID[4][k]='0';IDCnt1=0;IDCnt2=0;IDCnt3=0;IDCnt4=0;while(K2==0); 长按K2键时其定义数字变成0时系统自动清除所有储存的卡片数据。注册成功后查看已经打卡信息:if(K3==0)DispFlag++;Picture();if(DispFlag==5)DispFlag=0;while(K3==0);按下K3按键时定义数字变为0进入程序中调用已注册信息界面再按一次变为1则返回主界面。4.4.2签到模块设计 注册成功后卡片进行刷卡签到,将DS1302写入当前时间并保存voidds1302_write_time(void) ds1302_write_byte(ds1302_control_add,0x00); ds1302_write_byte(ds1302_sec_add,0x80); ds1302_write_byte(ds1302_charger_add,0xa9); ds1302_write_byte(ds1302_year_add,time_SetBuf[1]); ds1302_write_byte(ds1302_month_add,time_SetBuf[2]); ds1302_write_byte(ds1302_date_add,time_SetBuf[3]); ds1302_write_byte(ds1302_hr_add,time_SetBuf[4]); ds1302_write_byte(ds1302_min_add,time_SetBuf[5]);ds1302_write_byte(ds1302_sec_add,time_SetBuf[6]);ds1302_write_byte(ds1302_day_add,time_SetBuf[7]);ds1302_write_byte(ds1302_control_add,0x80);用DS1302分理出年月日时分秒标志位,分别记下当前数据组合成时间存入DS1302中并在OLED显示屏中显示。 4.4存储数据库将现有的学生信息存储至数据库中,等待刷卡时调用和标记。在有新的学生加入时可修改文档更新新学生信息,删除毕业学生数据。该数据库可以查找学生信息,标记未打卡学生,并在一周进行一次数据库更新方便用户查看新一周的打卡出勤情况。图16数据库模块框图4.4.1数据库创建、识别与更新用户数据库创建用户:voidcreatedb(char*str) inti=0,j=0,k=0,blanktag,c_num; FILE*fp_sql,*fdb; structdb_struct*db_p; structdb_column*c_p; charstrtmp[300],str_sql[300],c; printf("CreateSQLFile:%s\n",str); if((fp_sql=fopen(str,"r"))==NULL) printf("Cannotopenthisfile!\n");数据库选择已识别用户:voidselectdb(char*str) clock_tstart,end; start=clock(); end=clock(); printf("ExecuteTime:%10.0fms\n",(end-start)/CLK_TCK*1000); printf("selectdb:%s\n",str);数据库更新:voidupdatedb(char*str) FILE*fsql,*fdb; inti=0,j=0,c_num=0,rec=0,dbrec=0,reclen=0,recint; floatdataf=0; structdb_column*c_p; charsqlfile[128],dbfile[128]={""},tmp[128],c,*updatafile,*recchar,*datac; clock_tstart,end; start=clock(); i=0;j=0; while(str[i]!='\0') if(str[i]!=''||str[i]!='\n') sqlfile[j++]=str[i]; i++;4.4.2筛选并标记模块设计系统读卡器在识别出卡片信息后,进入数据库中找寻学生信息,并在该生信息后标注已打卡标记,若未打卡则空置本次打卡信息,每周进行一次筛选,筛选出本周未打卡学生信息,学校可进入后台的数据库中查看学生考勤情况。找寻数据库中的相关信息:structdb_column charc_name[128]; chardatatype[20]; intdatalen; chardatanull[20];筛选出未打卡学生:voidselectdb(char*str) clock_tstart,end; start=clock(); end=clock(); printf("ExecuteTime:%10.0fms\n",(end-start)/CLK_TCK*1000); printf("selectdb:%s\n",str);标记未打卡:voidinsertdb(char*str) inti=0,j=0,c_num=0,rec=0,dbrec=0; FILE*fp_data,*fdb; floatdataf; structdb_column*c_p; chardbfile[128],*datachar,c,*datafile; clock_tstart,end; start=clock(); printf("insertdb:%s\n",str);4.4.3数据库E-R图(1)学生表E-R图学生信息表格由学号、学生姓名、性别、年龄、专业和班级六部分信息构成,在数据库中存储学生的六项基本信息,在学生刷卡时可以根据实际需要调用出该学生的信息进行后续的一系列操作。性别学号年龄专业班级学生信息性别学号年龄专业班级学生信息学生姓名学生姓名图17学生信息E-R图(2)刷卡表E-R图刷卡信息表中包括刷卡编号,卡编号和注册时间三项基本信息,在数据库中存储这三项基本信息可在周末调用时查看学生打卡打卡时间,出勤是否按时等信息。卡编号刷卡卡编号刷卡注册时间刷卡编号注册时间刷卡编号图18刷卡E-R图(3)刷卡记录表E-R图刷卡记录表中包括了刷卡日期、卡编号、学号和刷卡编号,在管理者查看数据库数据时可以清楚地看到学生的本阶段的考勤情况,以该情况作为评价指标。图19刷卡记录E-R图(4)数据库全局E-R图数据库全局表包含了学生基本信息、刷卡记录信息和刷卡三大信息模块,多个学生可拥有刷卡记录,但每张卡只具有单独的刷卡记录和刷卡信息,刷卡后信息保存在刷卡记录中,管理者可调用查看每个学生考勤基本状况。图20系统全局E-R图4.4.4数据库表结构(1)学生表表3学生信息表字段数据类型能否为空备注snovarchar2(8)不能学号(主键)snamevarchar(20)不能学生姓名sexvarchar2(2)不能性别sagenumber(4)不能年龄specialityvarchar(16)能专业banjivarchar(12)能班级(2)刷卡表表4刷卡表字段数据类型能否为空备注skidnumber(4)不能刷卡编号kidnumber(4)不能卡编号zctimedate能注册时间(3)刷卡记录表表5刷卡记录表字段数据类型能否为空备注sktimetimestamp不能刷卡日期snovarchar2(8)不能学号kidnumber(4)不能卡编号akidnumber(4)不能刷卡编号5系统调试和结果在本文的前两个章节中我们大致已经完成了硬件设施和软件环境设计的介绍,在本章节中我们按照设计的要求步骤来进行焊接,焊接完硬件部分后需要对系统的各个功能一一进行测试和调整,检查是否存在设计时出现的错误,然后进行修改,最后完成整个设计的最终制作。本章主要对整个系统的实物按照步骤来进行逐一的介绍。5.1系统实物焊接sz由于整个系统的硬件都在选择模型类型,所以选择是错误的,因此在项目结束后,需要对整个项目进行系统测试,特别是物理检查。第一步,我们必须设计出连接整个电路所需的东西,然后购买组件。第二,整个电路的连接,根据我们设计的电路图。在这个过程中,需要考虑元素的高度和排序。为了允许直接连接到高水平的电子元件,然后在一个完整的元素的最终连接后连接到高海拔的电子元件,必须检查这些元素,以检查连接是否连接。根据上述情况,我们可以知道是否有必要检查线路是否被焊接。在这里,我们可以使用自动取款机作为检测工具。如果电路没有短路或闭路电路,那么简单的确定电路的连接可能是正确的,然后可以检查输入电压。主输入电压的控制应根据每个连接点的电路特性进行验证。在焊接电路完成后,我们必须先检查电路,如果有某种虚拟焊接或焊接现象,我们可以通过一个多板凳来验证这些现象,如果是这样的话,他们必须及时纠正焊接。如果不可能,可以进行电力测试,以检测每个电路节点的特征。焊接和测试硬件电路的焊接,一分之一的一步是组件的难度,通常我们把各种部件最困难首先,然后,安装组件最困难的,因为如果而错误后的步点。在物理焊接之后,你不能立即进行电测试。在此之前,有必要使用眼睛和多米来检测所有的焊接点和焊接线,看看是否有短路。如有,应立即解决。如果检测不存在问题,则将进行下一个下载和测试。然后,通过微处理器下载工具,从微处理器下载一个好程序,然后进行物理测试。 在焊接电路板后,不可能立即进行功能测试,因为如果道路上有短路,就很容易燃烧相应的元素。为了达到这个目的,在焊接后,必须测量每一个元素之间的导线,通过短路和中断的道路。在溶解过程中发现了两个短路电路。在验证了焊接时间错误后,电路板没有进一步的问题,可以进行电气操作测试。图21电路焊接后实物图5.2软件调试在硬件完成调试之后,我们发现了程序的设计,整个系统都是用Keil编程的,Keil可以在网上提供模拟功能,让我们可以想象在程序编程中出现的问题。程序是按编码模块首先要调试一个接着一个,然后,通过您的编码程序集成,通过下载一个微处理器芯片,可下载的程序的微处理器,硬件和软件的调试。由于在线模拟不能完全理解,整个程序的逻辑是不正确的。可观察到的观测和模拟精度在界面的参数值是节目每个每个变量在程序中变量和参数设置记录的芯片,同时在线仿真的功能可能触发使用模拟的输入输出特性、启动在线仿真。在线模拟方法是由于内部参数设置的一个小问题而被发现的。这就是误差范围。这种在线仿真方法有很多好处,不仅是为了方便实时观察程序的运行,而且还可以通过提高效率来减少CPU的性能量。使调试过程更容易访问和更快。5.3软硬件结合在调试了软件和硬件电路之后,我们将程序转移到微处理器,用于硬件和软件的调试,把它放在试验场,看看它是否有效。如果不能灌溉自动管理的,或者是不可能的选择的灌溉方式,需要解决的问题和检查软件或硬件电路是否有问题,然后发现问题,总结问题的突出,直到我们的设计工作。硬件调试和软件调试调试完,尤其是对探测了论文的设计可以做全身检查,调试硬件是设计对象的最终解决物理、出现的焊接,我们用万用表测试试验,刺激之后用一个实验,物理刺激的作品被[14]。我们使用自动取款机来测试所有完整的组件。如图22所示,将单片机连接计算机,打开STC助手进行程序烧录。选择单片机的型号,打开写好的程序文本,选择连接串口,修改波特率,设置单倍速,数据选择好后点击下载进行程序的写入,等待串口助手提示成功,即单片机程序烧录成功。图22程序写入STC89C52单片机界面5.4卡片信息注册和设置时间首先将单片机接电并使用USB转TTL串口与计算机相连。连接成功后查询连接单片机所用COM口为COM3口。图23计算机与单片机连接COM口查询打开commix1.4串口调试助手,选中当前COM3口,波特率9600,停止位1位,8位字节,开启串口。图24commix1.4串口调试助手初始界面(1)设置时间将当前时间输入,发送给STC芯片由芯片接收向DS1302时钟模块发送指令写入当前时间,同时发送给OLED显示屏幕,然后由STC芯片向计算机返回数据FE。图25设置时间界面图26单片机时间设置成功(2)卡片注册将卡片在RC522模块上黄灯闪烁此时卡片空白未注册,打开commix1.4串口调试助手,设置改卡片为01号卡位,学号为0001。向单片机发送数据,单片机将数据发送给RC522模块并将数据写入空白卡片内。接下来单片机将注册成功信息AA返回给计算机,并同时发送给OLED显示屏幕,屏幕显示注册成功字样。图27卡片注册成功commix1.4显示界面图28卡片注册成功单片机显示界面5.5考勤打卡实现将已注册的卡片放在RC522芯片读取信息,单片机从eeprom记忆模块中调用已存储信息并向DS1302时钟模块发送指令,记录当前时间并重新写入eeprom记忆模块中,并由STC芯片将数据发送给显示屏幕显示当前打卡时间。图29打卡时间显示5.6存储数据查看按下按键8跳转至考勤记录界面,连续按键可查看数据库中所有用户的当天考勤打卡记录。对未打卡或超时打卡的用户,可在数据库中进行调用查看。结论近年来,智能辅助系统几乎完全被应用到所有部门,比如,教师和学生的注册,注册登记的延迟的办公室以及卡片的名片的公司,注册护士,医生的工作时间,我迟到了,工厂的人员进入和退出。这些就业岗位越来越explotadosRFID射频识别技术,用于让更聪明,更智能,更容易访问和查看个人的具体信息,你迟到了,大大降低了人工调查的时间和精力和浪费的人事管理。提高企业、学校等的效率,也应该通过增加验证服务的真实性来促进人力资源的管理。技术援助系统的应用被应用于学生,这个设计被设计成设计的核心。经过仔细的分析,选择是与相关的组件,模块模块的设计,无线电频率模块,卡片读出模块,液晶显示模块和存储模块。众所周知,RFID射频识别具有广泛的应用在我们的生活中,然后使用这个技术有其独有的二维码标签的存在在我们的城市,我们都知道,RFID射频识别标签是非常受欢迎的方便和迅速。这比一个两色的代码标签更好。事实上,原因很简单,RFIDRFID,它的无限循环能力,它的优势在于,它不能与现在的qr代码竞争,因为它的材料和资源越来越少。其次,它有一个巨大的信息存储空间,储存在它的小身体里丰富的信息,这一优势也不能被其他产品所取代;当然最重要的是严格的安全性能,技术已经是剑的两排每一天科技,都代表着一个巨大的挑战对我们产品的安全性和RFID标签就是控制自己的密码信息,保证牢固的安全。正是由于这个优势,RFID标签不能被超越,因为越来越多的人发现他们不可替代的优势也占据了人们的心。有人指出,RFIDRFID在目前的生活中有巨大的商业潜力,所以我对他进行了研究,并在教授的帮助下进行了一系列的研究和制作,他完成了一个无线电频率读卡器系统。该设计被设计为一套STC89C52微处理器的设计,但也有MFRC522rfid模块和数据传输时钟模块。在电流、微处理器、射频模块第一次恢复到初始状态,以及随后使用的硬件配置方法之后。射频模块总是被检查,当新的射频卡进入感应区域,以精确识别信息,然后识别的信息自动传输到微处理器。微处理器自动启动屏幕,显示屏幕上的信息。然后,微芯片决定这张卡是否在服务期间有效,如果是的话,在记忆卡上的信息。当服务时间结束时,可以在验证卡的情况下进行咨询,并提供有关缺席的人的信息。选项89C52是一个小控制器,它提供一个控制系统,可以选择多个选项和可接受的价格。在目前的市场上,51系列微处理器被用作最常见的单片机,有许多可用的资源,只有低成本的研发成本,目前使用的版本是51。这个设计选择了89C52作为射频电路的控制器,这反过来又最大化了公司的最大化,并促进了对复杂的卡片阅读设备的访问。读卡器的功能是通过RC522实现的。自上世纪初以来,飞利浦公司一直致力于研究棒球的芯片,现在已经有了许多研究成果。其中包括最经典的RC500和RC530。在上面提到的两个经典芯片中,对其内部结构的简化处理,以及E2PROM的消除,成为目前的RC522芯片。它更适合于开发和选择目前的资源。它还可以简化手表电路和负载调制电路,使过程更容易发送和接收复杂的信号。最后,通过设计整个生产过程:这次用了聪明的登记制度是旨在智能系统在低成本的状态,对学生有效的监管工作,同时集成电路IC,这次联系,现在接触IC卡等,相对的校园里说联系不上的ci有很多好处,并且有更好的安全的存储空间。由于没有接触,因此可以避免升级,系统的功能允许识别和管理多个频率卡,并在适当的情况下不响应无效的信用卡响应。预期的效果是完美的。这个项目,选择问题的研究生产,给了我更深的知识在知识领域的RFID射频识别,不仅提高了我的文化知识,但也明显改善的能力设计的能力,帮助了我很多。
参考文献[1]熊海青.基于RFID的嵌入式智能宿舍考勤系统的设计[J].电子技术与软件工程,2017(16):192-193.[2]姜伟,李胜.基于RFID远距离自动识别技术的校园考勤管理系统研究[J].长春师范大学学报,2017,36(4):43-46.[3]叶长亮,林金珠,李世强,等.基于RFID的教室考勤系统设计与实现[J].电脑编程技巧与维护,2017(8):36-37.[4]徐斌,包宋建,陈凡见,等.基于RFID技术的智能考勤系统设计[J].信息通信,2017(3):78-81.[5]杨雪松,刘家明.基于RFID的学生考勤系统的设计[J].甘肃科技,2017,33(2):9-10.[6]PetitC,BergeronM,AtkinsonS,etal.ProspectiveDescriptiveStudyofRFIDTagDetectionRatesbasedonVariousExploratoryScenariosAimedatIdentifyingOptimalConditionsofUse[J].PharmaceuticalTechnologyinHospitalPharmacy,2016,1.[7]高猗男.高校综合考勤管理系统的设计与实现[D].大连海事大学,2010.[8]胡必玲,杨诺,黄志炜,等.基于RFID和WiFi的分布式校园智能考勤系统[J].合肥师范学院学报,2016,34(6):28-32.[9]魏蕾,常林松,冯云梦,等.基于RFID的智能考勤管理系统的设计[J].物联网技术,2016,6(10):97-98.[10]孙卫华.基于RFID的体育训练考勤系统研究[J].自动化与仪器仪表,2016(10):107-108.[11]蔡振宇,金光,陈豪,等.基于Android和RFID的智能考勤系统应用与开发[J].无线通信技术,2016,25(3):52-56.[12]HassanA,BruiningH,MusaT,etal.TheuseofRFIDtechnologytomeasurethecompositionsofdiethylether-oil-brinemixturesinenhancedimbibitionexperiments[J].JournalofPetroleumScience&Engineering,2017,156:769-779.[13]王燕.RFID考勤管理系统在课堂中的应用——以福州大学为例[J].高校后勤研究,2016(4).[14]王蒙.基于RFID技术的学生考勤管理系统设计与实现[J].电子技术与软件工程,2016(6):195-195.[15]张义.基于RFID技术的中职学校考勤管理系统的设计[D].电子科技大学,2016.[16] 乔宏飞,李刚.基于互联网的校园卡考勤系统[J].电子制作,2017(23):35-37.附录#include<REG52.h>#include<intrins.h> #include"main.h"#include"picture.h"#include<rc522.c>#include<eeprom52.h>#defineucharunsignedchar#defineuintunsignedint#definehigh1#definelow0sbitLED1=P0^1; //z注册的卡贴上才亮sbitLED2=P0^0; //有卡贴上就亮sbitK2=P3^6; //注销卡sbitK3=P3^5; //注册卡sbitSCL=P0^6;sbitSDA=P0^7;//DS1302引脚定义,可根据实际情况自行修改端口定义sbitRST=P2^2;sbitIO=P2^1;sbitSCK=P2^0;//DS1302地址定义#defineds1302_sec_add 0x80 //秒数据地址#defineds1302_min_add 0x82 //分数据地址#defineds1302_hr_add 0x84 //时数据地址#defineds1302_date_add 0x86 //日数据地址#defineds1302_month_add 0x88 //月数据地址#defineds1302_day_add 0x8a //星期数据地址#defineds1302_year_add 0x8c //年数据地址#defineds1302_control_add 0x8e //控制数据地址#defineds1302_charger_add 0x90 #defineds1302_clkburst_add 0xbe//初始时间定义uchartime_buf[8]={0x20,0x00,0x01,0x01,0x00,0x00,0x00,0x02};//初始时间uchartime_SetBuf[8]={0x20,0x18,0x01,0x01,0x00,0x00,0x00,0x02};//初始时间ucharreadtime[14];//当前时间ucharsec_buf=0;//秒缓存ucharsec_flag=0;//秒标志位uchara_a;unsignedcharxdataCardRevBuf[16]={0};unsignedcharcurrent_id; unsignedcharzong_id;unsignedcharflag_exist;unsignedcharflag_cunzai[6];unsignedcharAdd[3];unsignedchark;unsignedcharDispFlag=0;xdataunsignedcharID[5][10];xdataunsignedcharIDCnt1=0;xdataunsignedcharIDCnt2=0;xdataunsignedcharIDCnt3=0;xdataunsignedcharIDCnt4=0;unsignedintTime_1ms=0;unsignedcharIndex=0;unsignedcharRxdBuf;unsignedcharbdatabit8;sbitFlagSetTime=bit8^0;sbitFlagTxd=bit8^1;sbitCheckFlag=bit8^2;sbitFlagAddNum=bit8^3;sbitFlagZhCGood=bit8^4;sbitFlagIC=bit8^5;charxdataDisplayBuf[10];//当前读出卡的IDcharxdataDisplayBuf_c[10];//当前单片机里存的卡IDvoidwrite_eeprom(){ SectorErase(0x2000); //清空 byte_write(0x2060,0x01);}voidwrite_eeprom_j(unsignedcharj) //将对应的ID写入到单片机{ SectorErase(0x2200+j*0x0200); //清空 byte_write(0x2200+j*0x0200,DisplayBuf[0]); byte_write(0x2201+j*0x0200,DisplayBuf[1]); byte_write(0x2202+j*0x0200,DisplayBuf[2]); byte_write(0x2203+j*0x0200,DisplayBuf[3]); byte_write(0x2204+j*0x0200,DisplayBuf[4]); byte_write(0x2205+j*0x0200,DisplayBuf[5]); byte_write(0x2206+j*0x0200,DisplayBuf[6]); byte_write(0x2207+j*0x0200,DisplayBuf[7]);}voidwrite_eeprom_jj(unsignedcharj) //将对应的ID清空{ SectorErase(0x2200+j*0x0200); //清空 byte_write(0x2200+j*0x0200,''); byte_write(0x2201+j*0x0200,''); byte_write(0x2202+j*0x0200,''); byte_write(0x2203+j*0x0200,''); byte_write(0x2204+j*0x0200,''); byte_write(0x2205+j*0x0200,''); byte_write(0x2206+j*0x0200,''); byte_write(0x2207+j*0x0200,'');}voidread_eeprom_j(ucharj){DisplayBuf_c[0]=byte_read(0x2200+j*0x0200);DisplayBuf_c[1]=byte_read(0x2201+j*0x0200);DisplayBuf_c[2]=byte_read(0x2202+j*0x0200);DisplayBuf_c[3]=byte_read(0x2203+j*0x0200);DisplayBuf_c[4]=byte_read(0x2204+j*0x0200);DisplayBuf_c[5]=byte_read(0x2205+j*0x0200);DisplayBuf_c[6]=byte_read(0x2206+j*0x0200);DisplayBuf_c[7]=byte_read(0x2207+j*0x0200);}/******************把数据从单片机内部eeprom中读出来*****************/voidread_eeprom() { a_a=byte_read(0x2060); }/**************开机自检eeprom初始化*****************/voidinit_eeprom(){uchari,j; a_a=byte_read(0x2060); if(a_a!=1) //新的单片机初始单片机内问eeprom { a_a=1; for(i=0;i<6;i++) { SectorErase(0x2200+i*0x0200); for(j=0;j<8;j++) byte_write(0x2200+i*0x0200+j,''); } write_eeprom(); //保存数据 } }//延时函数,后面经常调用voiddelay(uintxms)//延时函数,有参函数{ uintx,y; for(x=xms;x>0;x--) for(y=110;y>0;y--);}voiddisplay_id(unsignedcharxdata*SrcBuf){ charxdata*pDisplayChar; unsignedcharxdataTmp,i; pDisplayChar=DisplayBuf; for(i=0;i<4;i++) { Tmp=((*SrcBuf)>>4)&0x0F; if((Tmp>=0)&&(Tmp<=9) ) { *pDisplayChar++='0'+Tmp; } else { *pDisplayChar++='A'+Tmp-10; } Tmp=(*SrcBuf)&0x0F; if((Tmp>=0)&&(Tmp<=9) ) { *pDisplayChar++='0'+Tmp; } else { *pDisplayChar++='A'+Tmp-10; } SrcBuf++; } *pDisplayChar++='\0';// DisplayListChar(0,4,DisplayBuf);}voidctrl(void){ucharj; if(PcdRequest(PICC_REQIDL,&CardRevBuf[0])!=MI_OK)//寻天线区内未进入休眠状态的卡,返回卡片类型2字节 { if(PcdRequest(PICC_REQIDL,&CardRevBuf[0])!=MI_OK)//寻天线区内未进入休眠状态的卡,返回卡片类型2字节 { LED1=1; CheckFlag=0; return; } } if(PcdAnticoll(&CardRevBuf[2])!=MI_OK)//
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宾馆信息守秘保证承诺书3篇
- 山东省济南市高新区重点名校2026年语文试题基地校初三毕业班总复习平面向量、复数形成性测试卷语文试题试卷含解析
- 企业网络安全防护年度评估IT部门预案
- 粮库储存粮质量保证承诺书(8篇)
- 2026年财务数据分析与可视化报告
- 2026年高值医用耗材行业未来五年集采影响预测
- 历史隋唐时期的科技与文化课件2025-2026学年统编版七年级历史下册
- 餐饮服务双语·第二版课件 项目七 席间服务
- 水土保持方案报告表公示(模板)
- 管网回填施工方案(3篇)
- 2025年常州纺织服装职业技术学院高职单招(数学)历年真题考点含答案解析
- 内科护理学重点考点
- 初中家庭教育课件
- GB/T 45103-2024肉鸭营养需要量
- 《水库大坝震后安全检查技术指南》
- 第8章 古工程景观鉴赏
- DB 5103T 50-2024 学校食堂食品安全管理规范
- DL-T+961-2020电网调度规范用语
- DB53-T 1253-2024 密集烤房梳式烟夹使用技术规程
- 海洋工程领域新材料与技术
- 风险和机遇识别、评价及控制措施表
评论
0/150
提交评论