【《基于STC89C52单片机和射频RFID技术的员工考勤系统设计》12000字(论文)】_第1页
【《基于STC89C52单片机和射频RFID技术的员工考勤系统设计》12000字(论文)】_第2页
【《基于STC89C52单片机和射频RFID技术的员工考勤系统设计》12000字(论文)】_第3页
【《基于STC89C52单片机和射频RFID技术的员工考勤系统设计》12000字(论文)】_第4页
【《基于STC89C52单片机和射频RFID技术的员工考勤系统设计》12000字(论文)】_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第页共49页基于STC89C52单片机和射频RFID技术的员工考勤系统设计本文介绍的正是一款基于单片机的射频RFID技术的考勤系统,其采用STC89C52为核心主控,辅以RFID射频识别技术,集合了时钟模块、射频RFID检测模块以及液晶显示模块等而构成。其通过射频识别技术实现射频卡与识别芯片的无线通信,从而实现员工快速考勤监控与管理。该系统具有无线通信的特点,基于射频模块该系统能够为更高端的设计提供了一定的借鉴,其具有一定的性价比以及参考意见。该系统解决了传统考勤方式中存在的问题,相对基于指纹识别技术的考勤系统而言具有经济适用、性价比高等优点,并且较好的实现了中小企业考勤管理的一般需求,故其存在着一定的市场空间与价值。关键词:单片机;RFID射频;考勤系统目录引言 11绪论 21.1研究背景 21.2射频系统发展态势 21.3论文主要内容 21.4本章小结 32方案论证 42.1微控制器的选择 42.2射频信号接收模块选择 42.3液晶显示模块选择 52.4本章小结 53硬件电路设计 63.1硬件电路的设计原理 63.2硬件电路介绍 63.2.1中央处理器STC89C52RC单片机 63.2.2射频电路 83.2.3时钟芯片DS1302 93.2.4LCD1602液晶显示 103.2.5按键 123.2.6语音播报模块 123.3.7晶振电路 133.2.8复位电路 133.3本章小结 144软件电路设计 154.1程序的设计流程图 154.2主程序设计 164.3射频模块程序设计 174.3.1MFRC522 174.3.2RFID卡读卡过程 184.3液晶显示LCD1602与按键程序设计 194.4本章小结 205系统制作及调试 215.1电路板制作 215.2仿真电路图绘制 215.3系统硬件调试 225.3.1硬件电路焊接 225.3.2硬件电路调试 225.4软件调试 235.4.1显示模块调试 235.4.2开关测试 245.4.3射频电路调试 245.5整机调试 245.5本章小结 266总结 276.1展望 27参考文献 29附录 30引言如今考勤管理广泛存在于各企业、学校、政府等组织机构之中,而伴随着科技的进步,考勤管理系统应运而生,无论在生产管理还是在生活应用中都可随处见其身影。近十几年以来,随着新技术的发展,无线信息数据管理在人们的日常生活中的每个角落得以广泛应用,由此可以知道脱离人工考勤系统的设计相对来说也是比较重要的。上个世纪九十年代无线射频技术开始被研发出来,在之后的时间里逐渐演变成一种无线识别技术。其主要要是对射频信号进行分析和识别,从而达到无接触的一种信息交互技术。因为该技术在平常的研发过程中有许多优点,比如利用该射频技术可以识别到具体的目标,不需要和目标物体进行接触就能得到所需的一个数据信息。但是该技术也存在一些缺点,识别目标信息数据的时间可能较长。技术的标准很难得到统一,读取的准确率还需要有待提高等。针对现有各种射频卡来进行考勤应用技术,设计一款亲民且符合大众需求的考勤系统非常之重要,同时能够给人们更多的选择和促进市场的发展等,因此在本设计中,设计了一种基于单片机的射频RFID考勤系统,还可以利用单片机应用技术和非接触式射频卡技术等研究出一了套员工考勤机系统设计方案,采用员工出入刷卡的方法,使得对上班考勤的统计更加科学高效。然而对于射频方面的研究,相比于其他的国家,我国在这个领域的技术还是有一定的差距。因此基于对射频RFID卡考勤系统的研究,不管是对于自己还是对国家的射频识别技术都有很大的发展研究意义。1绪论1.1研究背景射频RFID识别技术近些年发展势头好,射频模块具体有能耗低,体积小,温度高也可耐用等特点。该模块是通过无线识别技术进行通信,不需要常规的物理接触以及光感识别等实现,使用起来较为便捷灵活。并且在存储方面也是有很大的实用空间,更改存储内容也灵活方便。随着技术的逐渐往好的方面发展,对于技术的内部安全问题也使得人民更加重视起来。同时该设计能够为单位学校等各种企业考核提供便利,对于技术方面的完善以及更多功能的实现方法探索等方面,该课题具有很好的研究意义。1.2射频系统发展态势对于门禁系统的研究发现,我国在这方面的研究已经得到了进一步的提升,从原先的认识发现阶段发展到了现在的自主研究的阶段。首先这个阶段的进步对于人民生活上的便利是有很大的帮助的。但是对于门禁系统内部结构来说,控制器是其核心的方面,但是我国对于控制器的使用都是使用国外的研制的产品。纵观国内市场,更多的控制器都是通过仿制实现的。RFID技术于1941年时由雷达改进应运而生的,关于理论基础也是在1948能才得以衍生。该阶段就是对RFID技术的探索,没有实质性地进行实践过。直到1961年射频识别技术开始进行初步的尝试,应用在实验研究阶段,正是这个阶段的研究发现,为后续RFID技术与产品的研发打下了基础。在该技术加速测试下,该技术也相应的得到应用,但是由于技术还未成熟,在应用方面还比较少。在2000年后RFID技术逐渐得到了人民的重视,由其生产出的产品也得到了市场的广泛应用,并且成为了人民生活中不可缺少的部分。RFID技术得到了研究和完善,为后续技术的应用打下了基础。然而这阶段也存在相应问题,如电子标签成本的控制,应用技术的优化等问题,也需要人民去探索和解决。但到了现在,RFID技术已变得很成熟了,其作为互联网的子行业,是互联网得以发展的前提基础,起有着在市场上发展迅速,软件与集成的发展潜力扩大,应用领域广泛应用等。但同时也存在相应问题,例如:在功能实现方面是否有更加灵活的方法,识别时间过长,再结合了其他功能后其成本控制等问题。因此结合前面该技术的优点,在本设计中设计一款符合大众的一款基于RFID技术的考勤系统的设置,一款价格亲民实惠的考勤系统能够为人们提供更多的选择。1.3论文主要内容以单片机作为主控芯片,通过其对每个模块进行控制实现功能。读卡器使用MFRC522,通过其与单片机进行连接通信。在读卡器读取出射频卡信号后解调发送给单片机,然后单片机再根据要求控制外部器件。通过输入模块中DS1302模块来获取时间,再用按键设置总上班人数,并且能在液晶显示屏上显示相应人数以及打卡状况和打卡时间。在人数与打卡人数不同时,能够通过蜂鸣器和者语音提示且LED灯亮起。本设计的系统框图如图1.3所示。图1.3系统框图核心模块:本系统采用的是单片机作为主控芯片,通过芯片的I/O口等通信方式控制其他功能模块的工作;射频信号接收模块:模块采用MFRC522作为读卡器,能够直接与单片机进行通信,且本模块使用的射频卡与读卡器在有效的无线射频范围内,通过射频信号进行通信连接,就可以进行成功刷卡操作;时钟芯片DS1302:通过简单的串口连接与单片机进行多次信息交互,提供秒、分、时的信息;按键:通过单片机的I/O口与按键连接,从而达到通过按键来设置人数;1602液晶显示:通过编程实现所需信息的显示;蜂鸣模块:通过单片机的I/O口控制蜂鸣;语音模块:通过语音芯片对语音进行设计。1.4本章小结通过本章的方案设计,更加明确了所需功能的设计方法。且对进行方式和可行性上进行分析,从而更加确定了整个设计的整体思路。在了解理论原理的基础上更加深入的掌握本系统设计的本质要求,同时为后续的工作打下了基础。2方案论证2.1微控制器的选择单片机作为本系统的核心,不同的单片机给本设计带来不同的功能实现。或者是同种功能下的单片机不同,使用起来的便捷程度以及价格方面也是不一样的。首先在设计的时候,对于单片机的选择对比了两种单片机的一种是stc12c5a60s2单片机,一种是AT89C51单片机。方案一:AT89C51单片机使用AT89C51单片机作为本设计的主控芯片,首先该单片机低电压,性能高。其是一个可编程的只读存储器。是一款8位的微型处理器。但是有一点不好的就是,其存储空间小,相比之下另一款单片机能够符合。方案二:STC89C52RC单片机这款单片机是日常实验中常使用到的一款单片机,其功耗低,性价比高,高性能,完全能够满足本设计的要求。是一款CMOS8位微控制器,在传统的C51单片机上做了改进,使得芯片具有51单片机不具备的功能。使用起来便捷好操作。综合上面两款单片机的功能等,在成本以及设计时间上考虑,在同时能完成设计任务的前提下,选择了方案二。STC89C52RC单片机是一个传统的单片机,其在使用编程等方面更加便捷,其价格也相对来说比较实惠,对于本系统的设计来说也比较容易上手等,所以最终选择了方案二。2.2射频信号接收模块选择随着RFID的快速发展,其所占据的市场也在迅速的猛增。其中各大传统的芯片制造商都争相的加入到开发的队列中。最早加入的是NXP公司也是一个国际半导体,相对来说对于射频芯片还是比较齐全的。方案一:MFRC500:目前使用的13.56MHz的非接触式通信IC卡中MFRC500芯片都是完全可以使用,其中所有的非接触式的协议和方式该芯片都具备有。ISO14443A的所有层通信方案该芯片模块支持。为了对ISO14443的应答信号进行一个兼容,在该芯片的接受器部分还专门设计了一个解调和解码的电路。该芯片的数字部分,负责处理ISO14443A帧和错误检测。同时为了对Mifare的一系列产品进行数据验证处理。在连接端口方面,该芯片的并行连接口可以直接和任意8位微处理器进行连接。虽然该芯片功能和性能好,但是使用起来技术性较强,但针对于本设计来说另一款芯片更加适合。方案二:MFRC522:该芯片的优点就是体积相对较小,功耗也较低。而且对于手持读写设备具有良好的开发环境。在电子钱包、身份识别以及门禁等行业当中,14443TypeA密耦合射频卡标准是不可缺少的一部分。其尺寸小巧对于所需的电压和成本都较低。并行接口、SPI、I2C等端口都是该模块中的标准数字接口,都能对外面提供。通过控制MFRC522芯片内部的寄存器来实现对数字接口的控制。对寄存器进行操作时会涉及到几个模块,分别为数字接口模块、防冲突和通信模块。综上所诉在实现本设计的原则上RC522相对来说功耗比较低在价格方面要比RC500便宜很多。而且低电压、小尺寸,同时在数据采集及处理方面也比较好,所以在本系统的设计中选择了MFRC522。2.3液晶显示模块选择本设计需要液晶显示来对上班总人数的设计,以及打卡时通过液晶显示时间等,在针对本设计时候,同时也对于两款液晶显示LCD12864和LCD1602进行选择。针对不同显示器的功能价格等方面做出选择。方案一:LCD12864:液晶显示相对来说是比较大的,LCD12864是128*64分辨率的点阵。能够显示64行,且每一行能够显示128个字体。是一个可以显示大量字符的器件,但是同时其价格相对来说较高,工作量也会比较大。方案二:LCD1602:其是每字5*8点阵,字符区域16*2,其与LCD12864的驱动芯片也不一样。因为其能够显示两行,每行能够显示16个字,所以在操作控制方面也比较灵活,且能够满足本设计的要求。综上我选择的是成本较低而且控制简单的LCD1602,在本设计中只需要用显示到两行即可,所以相对来说LCD1602比较适合本设计。2.4本章小结通过本章节的对比论证更加的明确了在本设计想要完成功能上各种器件的更好选择,以及对于本设计来说那种器件更加方便等。同时通过本章节的学习过程,对于使用的器件的工作原理也更加的熟悉了,针对可以实现相同功能情况下,也能更好的了解到本设计所需的理由。相信通过本章节的了解,我对于本系统设计完成得更加好。3硬件电路设计3.1硬件电路的设计原理本系统以射频识别技术为核心,所以要重点掌握核心模块的基本原理及其使用方法。以该射频识别技术为核心的就是RFID读写器。读写器中的核心芯片使用的是专门读写处理信息的芯片,其中还有信号的调制、解调和防碰撞等都是其功能,除此之外还能产生射频信号的功能,针对于本次的设计来说这个功能是实现射频识别的关键。读卡器的内部结构也比较简单,分为射频区和接口区。在射频区内包含了供电电路以及调制解调器,工作时能够直接和无线天线进行连接。接口区功能也相对丰富,其中包含了与核心系统进行交互的端口,而且在接口区有可以和射频区进行交互的收/发器,以及防撞缓冲器等模块。对于使用智能射频卡的无线通信来说,该模块属于一个核心模块,也相当于一个重要的接口芯片,可以实现对智能射频卡数据信息的读取。读卡器连接的天线与射频卡之间产生共振,这时电容充电有了电荷,当充电的数值达到一定时,可以作为一个电源供射频卡中其他电路运行,并且将相应卡片里的数信息据传送出去。然后通过天线传送到读卡器中。然后读卡器将接收到的信号进行调制解调后传送到单片机中,单片机模块将交互到的信息数据反馈给LCD液晶显示屏。用按键控制系统进入设置模式从而能够对上班人数进行按键控制。3.2硬件电路介绍3.2.1中央处理器STC89C52RC单片机在实验设计中经常用的单片机就是这款,这款单片机是由STC推出的。操作使用方便,抗干扰能力强,体积小但功能强大,同时在性价比方面也是有较强的优势。数据采集和控制中所需要的模块在这款单片机中几乎都包含有,强大的功能能够满足设计时所需要的功能的实现。单片机性能介绍:增强型单片机,指令跟代码对传统的8051其也完全兼容;工作电压范围:5.5V-3.3V;工作频率范围:0~40MHz相当于普通8051的0~80MH,实际工作频率可达48MHz;用户应用程序空间:4K/8K/13K/16K/32K/64K字节;片上集成1280字节和512直接RAM;共有通用的IO口35/39个,其中准双向口有P1、P2、P3,而P1属于开漏输出;有3个定时器/计数器,而其中就有可当做2个8位定时器使用的定时器0;单片机可以实现多个UART通过使用定时器完成。中央处理器、计数器、UART串口和程序储存器等,这些模块以经能完全满足本实验的要求,单片机结构图如图3.2.1所示:图3.2.1单片机结构图单片机在本设计中的功能:在设计中整个设计中最核心的就是单片机,数据的处理是其最主要负责的。其中还包括一些与其连接的外部设备等,如键盘和液晶显示屏模块等一些外部模块通过其控制。除此之外还有本设计中最核心的就是在射频模块中完成对射频卡的识别与信息读取信息时进行控制处理等。单片机原理图如图3.3.1所示:图3.3.1单片机原理图3.2.2射频电路在本设计中射频模块是本系统的关键技术。射频识别读写器主要的就是射频数据处理等。射频卡与射频模块之间通信是不接触的,其通过与射频读写处理模快进行无线通信。其中在本设计中的读卡器采用MFRC522芯片,读卡器的MF522-AN模块是由RC522原装芯片设计来的,该模块相对来说功能使用方便且价格实惠,主要的优势是能够直接与单片机进行直接的通信等。在跟单片机进行通信时只需要SPI接口中的线路进行通信,其中的SPI通信是四线控制。SPI的时钟是由单片机产生的,MFRC522模块作为从机,在通信时数据在MOSI和MISO2之间传输。在主机与射频模块中的通信是通过MOSI数据线,而反向传输使用的是MISO线。其中其他外围接口器件以及模块与CPU连接也是被其允许的。该射频电路只要把有效的射频卡放在射频范围能,能自动实现无接触连接从而进行的信息传输,方便灵活。MFRC522模块特性:该射频模块使用的RC522是一款无接触的读写芯片,是单片机与射频卡进行通信的桥梁,工作时使用的工作频率需要13.56MHZ,其使用的调制解调技术相对来说比较先进的,价格实惠,电压低,小巧等都是其优势。所有被动接触式的协议和通信方式该芯片都支持。读写器天线与ISO14443A/MIFARE卡和应答机之间的通信可由内部发送器驱动,对于IS014443A的多层应用也是支持的,且在处理IS014443A兼容的应答器信号时其接收器能够提供有效解调和解码线路。其对于不同的客户需求可选取不同的模式,这也使得成本下降和制作PCB板时合理布局,结构图如图3.2.2如下:图3.2.2MFRC522结构图在本设计中的功能:射频系统由射频卡和阅读器以及天线组成。当电磁场中出现的标签感应到信号的电流时,就可以通过电流获取的能量对接收读写器中的信息进行发送。这时候通过这些步骤能过调制解调出自己想要获取的相应的信息。本设计作为一个考勤系统,员工可以通过使用ID卡在一定范围内与射频芯片接触,然后通过四线制SPI与单片机通信。RFID模块电路设计图如图3.2.2(b)所示:图3.2.2RFID(b)模块电路设计图3.2.3时钟芯片DS1302本设计是考勤系统的设计,由此可知设计功能肯定是离不开时间的加持。对于当时间到达时,考核人数是否到齐等问题,肯定是用时间来进行衡量的。在本设计的要求中当人数不齐或者是当打卡人数没达到设定的人数时就会出现蜂鸣及语音提示。并且要求再打卡是要求显示时间等。本次使用的时钟芯片是DS1302,其与单片机之间的通信使用的是串行接口,除此之外内部含有一个实时时钟和日历以及31字节的静态RAM。该时钟芯片与单片机直接的通信仅仅通过三个口线,分别是复位RES、数据线IO以及串行时钟SCLK。通信使用的方式是同步串行方式,操作简单方便。同时其在保存数据和保持信息时的功率都低于1mv,有功耗低的优点。同时在电话以及各种便携式器件和电池供电等领域应用很广泛。管脚配置和引脚功能如图3.2.4(a)和图3.2.4(b)所示:图3.2.3(a)DS1302管脚配置图3.2.3(b)DS1306引脚功能在本设计中的作用:通过简单的串型接口与单片机相连,DS1302芯片与单片机之间仅仅通过简单的几条串口进行通信。单片机上机后首先从DS1302得到时间,并且判断时间是否初始化等。时钟电路原理图如图3.2.3所示:图3.2.3DS1302电路设计图3.2.4LCD1602液晶显示对于现在社会来说对于LCD1602的应用已经非常普及了,相对于其他的显示方式来说,液晶显示有小巧轻薄,低耗平价等优点,同时能过满足本系统的设置等,同时能过将设计中要求的东西完好的显示出来。进行编程时就可以实现所需信息的显示等,省去了大量的工程问题为设计带来了便捷。目前控制原理相同的液晶都是使用HD44780液晶芯片,所以使用该芯片写出的程序程序可以使用在大多数的字符型液晶显示当中。其中有一种字符型液晶是有14条引脚线,而另一种是有16条引脚线。引脚定义和地址屏幕对应表如下表3.2.4(a)和表3.2.4(b)所示:表3.2.4(a)引脚定义引脚号引脚名电平输入/输出作用1Vss电源地2Vcc电源(+5V)3Vee电压调整4Rs0/1输入0=输入指令1=输出指令5R/V1,1-0输入0=向LCD写入指令或数据,1=从LED读取信息6E0/1输入使能信号,1时读取信息7DB00/1输入/输出数据总线lin08DB10/1输入/输出数据总线lin19DB20/1输入/输出数据总线lin210DB30/1输入/输出数据总线lin311DB40/1输入/输出数据总线lin412DB50/1输入/输出数据总线lin513DB60/1输入/输出数据总线lin614DB70/1输入/输出数据总线lin715DB8ALCD背光电源正极16DB9KLCD背光电源负极表3.2.4(b)地址与屏幕对应关系表显示位置1234567…40DDRAM地址第一行00H01H02H03H04H05H06H…27H第二行40H41H42H43H44H45H46H…67HLCD1602在本设计中主要作为输出,对于考勤时设置总人数和在打卡时能通过在屏幕上显示相应的东西,并且打卡时能够显示时间等。液晶显示电路原理图如图3.2.4所示:

图3.2.4LCD1602液晶显示3.2.5按键在本设计中主要是使用按键对上班人数设置,和人数加和减。因为本次使用的按键不是很多所以就使用最基础的开关按键。这种按键非常的简单只是通过I/O口与单片机相连进行控制。按键设计图如图3.2.5所示且按键的功能如下:按键一:当按键一按下时可以对上班人数进行人数设置模式;按键二:在按下按键一按下进入设置人数模式后,此按键用来人数加;按键三:在按下按键一按下进入设置人数模式后,此按键用来人数减:按键四:按键四按下后模拟上班时间到;图3.2.5按键设计图3.2.6语音播报模块在本设计中需要在上班信号后,若上班人数跟设置的人数不符合时进行语音提醒。使用的是DY-SV17F这款语音播报模块。该模块有电平控制、串口控制、单总线控制,支持MP3,WAV解码格式。能够通过使用USB与电脑连接时更新音频。在本设计中就通过本芯片进行语音提醒,通过芯片与电脑连接下载相应音频,从而实现语音提示。芯片结构图和引脚定义图如图3.2.6(a)和图3.2.6(b)所示:图3.2.6(a)芯片结构图3.2.6(b)引脚定义3.3.7晶振电路此电路对单片机来说是非常重要的,单片机想要正常工作的话是需要其提供一个时钟频率。而且系统工作的快慢也是由其产生的时钟频率决定的,并且单片机中的所有的工作都在这个相同的节拍下工作而这个时钟正是此电路产生的,所以晶振电路就是单片机的系统心脏。其实晶振的大小可以由客户决定的,不同的单片机选择的也有点不相类似。晶振电路原理图如图3.2.7所示:图3.2.7晶振电路设计图3.2.8复位电路复位电路就是对单片机内部电路进行初始化操作,想要单片机复位,则该电路中的引脚出现两个机器周期的高电平。根据前面的原理我们设计时使用的是上电复位,相对来说也是比较方便的。复位电路原理图如图3.2.8所示:图3.2.8复位电路设计图3.3本章小结本章从单片机、射频模块、时钟芯片DS1302、LCD1602液晶显示等几个方面介绍了整体的硬件设计。通过对硬件电路以及原理等的分析更加进一步的了解本设计。通过本章节的介绍,在对电路设计方面遇到的问题都能很好的解决,且通过硬件方面的了解对本系统设计更加的有把握。整体设计原理图如图3.3所示:图3.3电路整体设计原理图4软件电路设计整个系统的硬件设计是需要软件来驱动的。在应用单片机进行设计的系统中,C语言是比较常见且应用比较广泛的开发应用程序的手段。相对来说C语言的设计比较简单明了,较其他的编程软件来说C语言比较适合一些简单的系统设计,且C语言在功能上、结构上、可读性上有很大的优势。在本设计中采用Keil5来进行编程,界面简洁,调试方便,相对来说比较容易上手。4.1程序的设计流程图本设计的软件部分主要由显示模块、时钟模块、蜂鸣模块、射频模块以及按键控制模块等组成。在系统设计中软件设计也是很重要的,软件设计对硬件设计起到驱动作用,两个部分相辅相成,从而实现相应功能,并且可以按照相应的软件设计使得硬件设计更好的完成。本设计的流程图如图所示单片机上电之后,首先从DS1302时钟芯片得到时间,同时判断时间是否以及初始化。然后再通过按键对上班人数进行输入,通过按键输入上班人数后在液晶显示屏上显示上班总的人数,并且可以随时调整。设置完人数确认后,开始等待刷卡,刷卡时由液晶显示屏进行显示成功时显示“Y”以及时间,失败则显示“N”。当人数达到设定值时停止检测射频信号并开始等待上班信号。如果按下按键后表示正式上班时间开始时,若刷卡签到人数与系统设置的总人数不符合时候,则蜂鸣器响、LED灯亮且通过语音提示上班人数不足。本设计使用的输入模块时按键、DS1302模块和射频接收模块,输出模快有1602液晶显示模块,蜂鸣模块、语音模块等共同组成。流程图如图4.1所示:图4.1设计流程图4.2主程序设计在主程序中对一些引脚和变量进行定义以及一些程序的初始化等,包括LCD显示屏的初始化和MFRC522的初始化。在主程序中对于需要控制人数的按键进行循环等。其中在主程序中完成了射频检测,首先通过循环控制,在射频区域内判断是否有卡,若没寻到卡继续回到循环中进行寻找,若读取到的卡号与实际的卡号进行对比,若对比结果成功则相应标志处理。并且在液晶显示上更新显示等。程序流程图如图4.2所示:。图4.2主程序流程图4.3射频模块程序设计4.3.1MFRC522在这次的设计中MFRC522模块与单片机之间的通信是在MOSI和MISO2之间传输。其中主要是在主机与射频模块中的通信是通过MOSI数据线,而反向传输使用的是MISO线。其中其他外围接口器件以及模块与CPU连接也是被其允许的。该射频电路只要把有效的射频卡在射频范围能,能自动实现无接触连接从而进行的信息传输。在该模块的程序设计中,首先在射频范围内对有效射频卡进行寻卡操作,其中寻找的卡是所有符合14443A标准的卡。在完成寻卡操作后进行防冲撞函数操作,其中输入的是4个字节的卡片序列号。然后验证是否与系统中的一样,若一样则通过单片机进行通信等。RC522连接图4.3.1所示:图4.3.1MRC522连接图4.3.2RFID卡读卡过程读卡器程序编辑过程中,对RFID卡实现了一系列的操作等。其中有寻卡、防冲撞等。通过查阅资料发现除了防冲撞外还有选定卡号,并且验证卡的编码再就是读取射频卡中的数据,然后把射频卡数据读出来,最后完成一系列操作后复位RC522。但是通过对比,以及成本便捷等。在设计时遇到的问题有:寻卡是否有时间限制;在没有寻到卡时系统应该怎么处理。经过查阅大量资料,发现当在射频范围内出现射频卡时,芯片就会不停的检测是否射频卡符合,若不符合在相应时间里面通过系统反映到外部器件,例如当无反应时,液晶显示屏显示N以及时间等。其中寻卡就是当射频卡进入到读卡器所能够识别的范围内,通过吸收磁场能量进行工作,符合条件的卡就会对一直往外发送请求信号的读卡器进行响应。而防冲撞就是所谓的好几张卡请求通信时,选择一张符合条件的卡,其他卡继续等待。实现的代码如图4.3.2所示:图4.3.2寻卡代码图4.3.2防冲代码4.3液晶显示LCD1602与按键程序设计在本液晶显示模块中主要是对考核到勤人数状态显示以及STC89C52RC发出的显示指令等进行显示操作,而内容等读写操作都是通过编程来操作的。相对来说比较简答,易于操作起到人机交互的功能。显示程序流程图如4.3所示:图4.3显示流程图4.4本章小结本章节通过系统的整体功能架构实现了系统软件方面的编程,在本章节中主要具体描述了几个较为重要的模块章节的编程。并且通过分析更加使得整个模块更加清晰。本章节的软件设计也是经过多次尝试之后达到的效果,并且经过多次的调试使得系统设置达到预期效果。5系统制作及调试在硬件设计和软件设计都完成后,就对系统进行调试。而调试方面从实物调试和软件调试进行展开:实物调试:在实物调试的前提是,已经完成了电路的绘制以及元器件的焊接,所以在实物调试的前提是需要对前期制作的PCB绘制进行多次的检查。在检查的PCB板子没有问题后。将绘制好的PCB图印在板子上,随后对板子进行擦拭,方便后续对板子进行腐蚀等工作。在腐蚀板子时,对于腐蚀液的调制也应该按照相应的比例进行调制的,若腐蚀液比例控制不当会使得板子腐蚀不到位或腐蚀过度等问题。当腐蚀过度时是会造成板子出现短路或者对后续实现功能的电路板有影响。在进行完腐蚀后,就使用元器件对前边弄好的板子进行焊接。在焊接时把元器件摆放好,测试前期对元器件正负极进行测量工作。在完成焊接后,把软件部分下载下去,进行上电后,发现板子中的蜂鸣器没响,然后使用万用表对电路进行测试后,发现焊接时蜂鸣器焊接错误,后面更改过来后电路正常实现功能。软件调试:这方面的调试相对于软件来说比较好实现,因为软件部分的调试是在仿真上完成的。在对仿真进行测试时,因为射频识别不能够在仿真上实现,所以我通过按键模拟射频电路的识别,所以在这一阶段也给编辑程序带来了很大的挑战。导致在连接完电路图后,代码烧录进去发现功能实现不了。后面通过查阅资料发现仿真时使用的芯片不对导致的问题。在完成仿真后,将程序进行烧录。5.1电路板制作电路板的设计也是设计中非常重要的一步。这次的设计使用的是AltiumDesigner软件进行PCB图设计。在绘制时首先把电路的原理图绘制出来,每个功能模块都需要很好的布局。其次对PCB板进行绘制时器件的布局要完整美观,线路的排版要整洁,尽可能的减少跳线等问题。绘制后效果图如图5.1所示:图5.1PCB图5.2仿真电路图绘制本设计的硬件设计首先设计出相应的原理图,其中画好最小系统、液晶显示和单片机之间连接的电路、射频电路和语音电路等的设计。并且进行一系列的仿真等工作。在这次仿真中射频信号是不能够仿真的,所以一开始我是用按键代表有人刷卡,然后蜂鸣语音这些都能够很好的完成。后面等仿真都实现后进行PCB板制作。仿真图图如图5.2所示:图5.2仿真图5.3系统硬件调试5.3.1硬件电路焊接在焊接时还遇到了排布问题,因为没有按照一个模块做完再到下一个模块,导致焊接时出现了漏掉了一些线路,且把大件的实物焊接上去了,那些小的元器件就很难焊接上去。后面把全部大件的器件全部焊接下来后发现需要焊接的洞变大了一点,这就需要更多了焊锡才能够完成焊接。最后吸取教训先把小的器件焊接完,再整的一个模块的弄,最后再整体完善。因为一开始把电容,电阻等一些元器件准备好后,就开始着手焊接工作,没有对元器件的正负极进行测量等工作,然后把这些元器件焊接完后用用万用表测量后发现正负极弄反了,然后通过焊枪把焊接错的元器件全部弄下来后,把元器件都重新摆好后重新焊接。一开始在焊接的时候会有多余的焊锡等附着在板子上,并且在线路中也有一点小焊锡,后面通过用吸焊器把多余的焊锡吸走。在焊接时可能会使得电路出现短路以及虚焊等问题。元器件放入到板子上时注意是否正确,在都完成后进行焊接。其中焊锡不能过多也不能过少,要适量等。焊接完成后再用万用表整体检查一遍,看是否有引脚短接和电路出现短路情况等问题的出现。但是在第一块板子焊接时因为焊接手法不熟练导致线焊接断了,后面解决办法就是重新制作一块板子。等全部焊接完成后,再整体检查是否有错,检查上电后相应器件等是否能够正常工作。用手触摸相应的元器件是否有过烫,并且再次检查电路有接反等问题。在以上步骤都完成后把LCD显示屏和蜂鸣器、语音芯片等都安装上。5.3.2硬件电路调试在把板子焊接完成后开始对硬件电路进行调试工作。首先找到所需要的芯片,电阻电容以及按键等东西,安装前就用万用表先测试器件是否完好。在制作过程中因为手法不好把线焊断了没发现,因为后面又重新上电,导致后面焊接完成后上电把元器件烧坏了,且电路板出现了焊点接触氧化,代码下载不进去。后面重新制作了一块板子。第二次焊接后查看焊接的元器件有没有正负极焊接正确,随后看焊接上去的器件能不能正常工作。然后检查电容和电阻以及导线是否有短接的现象。这次设计中使用的器件相对来说比较少,且这次使用的是PCB板子,所以也锻炼了能力。制作完成后,单片机上电,通过刷卡测试射频电路能否正常工作。在对射频模块测试时首先把各部分的芯片以及地线等是否有出现短路的情况用万用表进行检查,因为一旦出现短路情况会导致芯片会烧坏的情况。然后一开始上电后发现液晶显示屏和LED灯东都没有亮起,且蜂鸣也没有反应。用电压表进行测量,发现原来是射频识别模块出现了问题,其在安装时出现镜像相反的境况。在对问题进行确认后把器件拆下来重新安装焊接。焊接完后继续对器件上电发现之前没工作的都全部正常工作了。在板子制作完成后把显示屏插上,然后把代码烧进去后因为焊点接触氧化,导致液晶显示屏出现异常,只能够显示8个字符了。查明原因后,把异常的元器件清理一遍后,发现用于语音的喇叭也烧坏了,喇叭的阻值到了0.6,磁性也被消除了。后面重新制作了一个板子后,针对第一次的问题,在焊接元器件时遵守焊接的原则,并且处理好元器件及板子表面的焊锡,并且把焊接温度调节到适当的温度。图5.3.2显示异常图5.4软件调试软件测试是一件非常重要的工作,同时在这项工作中更需要耐心和细心去完成。本次的代码编程是在Keil4软件编程上完成的。软件功能强大,易于上手,能够很好的满足本次实验的工作。软件方面测试相对来说也比较复杂,甚至会出现一个问题需要很长时间才能够排除出问题出在哪里,即使有时候出现的错误会是一个标点符号造成的。本次软件测试我是直接把硬件全安装好后才调试的。5.4.1显示模块调试液晶显示与时序是有关系的,如果出现时序错误的问题那屏幕就不能够正常的显示出来。一开始上电后液晶显示不显示,以为是代码或者是测试的数据线的问题。在排除了语法和板子虚焊等问题后,开始通过仿真排除问题,通过仿真我发现自己的定义的语句错了。后面更改后就很好的显示了,等排除了完上述问题后,我还发现代码中延时时间太长了,导致一开始上面的字有重叠,并且还有点不稳定,然后我先排除了是否是焊锡的时候出现的接触不好等问题,后面把代码更改后再烧进来发现没有问题了。图5.4.1显示模块测试5.4.2开关测试按键测试时出现有点不灵敏的现象,经过硬件测试排除后,发现是因为延长时间过长了,不能够确保按键能够得到及时的相应,通过对相关延时代码进行调试后,解决不灵敏情况。其他模块是先通过仿真然后才进行烧录的,所以出现的问题不大,在烧录板子上时都能够正常运行实现相应功能。5.4.3射频电路调试射频模块的调试使用IC卡进行测试,首先把IC卡放到射频识别范围内,发现是本员工的IC卡时,也出现了错误的信息信号,屏幕上显示N,究其原因是预设的组号跟卡号不兼容的情况。后面为了使得程序运行更加高效,对编码对比程序进行优化。5.5整机调试在经过前面的各种测试后,对整个系统进行测试。整机测试就是将代码烧录进去后看是否有出现问题的情况,如何解决的等方面进行扩展。在把代码烧录后,将射频模块的调试使用IC进行测试,首先把IC卡放到射频识别范围内,发现是本员工的IC卡时候,也出现了错误的信息信号。如下图5.5所示:图5.5显示错误图究其原因是因为预设的组跟卡号不兼容的情况。后面为了使得程序运行更加高效,对编码对比程序进行优化。最终实现结果如下当本公司员工打卡且刷卡正确时显示如图5.5所示:图5.5(a)一名员工打卡后效果图5.5(b)打卡成功效果图图5.5(c)两名员工打卡后效果图5.5(d)打卡完毕效果图当输入的员工人数与上班人数不符合时,同时按键四按下后模拟上班时间到,出现语音提示和LED灯亮起与蜂鸣提醒,显示如图:图5.5(e)打卡人数不齐效果图5.5本章小结在本章节中,主要

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论