《物联网RFID开发平台实验指导书》 - 图文-_第1页
《物联网RFID开发平台实验指导书》 - 图文-_第2页
《物联网RFID开发平台实验指导书》 - 图文-_第3页
《物联网RFID开发平台实验指导书》 - 图文-_第4页
《物联网RFID开发平台实验指导书》 - 图文-_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

1、全国物联网技术应用人才培养认证项目系列教程(物联网应用工程师全国物联网认证RFID开发平台实训教程 全国物联网技术应用人才培养认证项目办公室目录第1章IC技术简介和开发环境的快速建立 (11.1IC卡技术 (11.2RC522芯片简介 (121.3物联网RFID开发平台介绍 (171.4开发软件和驱动的安装 (21第2章操作演练 (352.1IC卡操作简述 (352.2读IC卡号 (442.3读数据 (602.4写数据 (662.5修改密码 (74第3章项目实战 (833.1IC卡点台灯 (833.2IC卡门禁系统 (943.3校园卡:消费、充值 (110 第1章IC技术简介和开发环境的快速建

2、立1.1IC卡技术IC(集成电路卡于1974年诞生于法国,当时有位叫罗兰·莫雷诺(Roland Moreno的工程师为了将一些个人信息存放在一个便于携带、保存的存贮媒体上,提出了将一个集成电路芯片嵌装于一块塑料基片上构成一张存贮卡的想法,并按此方法做了一张卡片,这就是世界上第一张IC卡。但是由于当时集成电路技术水平有限,市场也没有形成迫切的需要,这种想法并没有立即付诸实施,后来随着集成电路技术的发展,芯片的集成度、容量、安全性都得到了很大的提高,尤其是EEPROM技术的成熟,使得IC卡的生产、应用成为现实。目前,以欧洲为中心的IC卡市场已发展成为世界性的市场。 图1.1 IC卡非接触

3、式IC卡又称射频率卡,是世界上最近几年发展起来的一项新技术,它成功地将射频识别技术和IC卡技术结合起来,解决了无源(卡中无电源和免接触这一难题,是电子器件领域的一大突破。与接触式IC卡相比较,非接触(感应式IC卡具有以下优点: * 操作方便、快捷由于采用非接触无线通讯,读写器对在感应范围内的卡就可以进行操作,免去了插拔卡,所以非常方便用户使用;而且非接触卡在使用时既没有正反面之分也没有方向性与角度限制,卡片可以随意方向掠过读写器表面,完成一次操作仅需0.1秒,这就大大提高了每次使用的速度。* 抗干扰性高非接触式IC卡中有快速防冲突机制,能有效防止卡片之间出现数据干扰,在多卡同时进入读写范围内时

4、,读写设备可一一对卡进行处理。这提高了应用的并行性,也无形中提高了系统工作的速度。* 可靠性高非接触式IC卡与读写器之间没有机械接触,这就从根本上消除了由于接触读写而产生的各种故障;而且卡中的IC芯片和感应天线完全密封在标准的PVC中,这也进一步提高了应用的可靠性和卡的使用寿命。* 高安全性非接触式卡的序列号是唯一的,制造商在产品出厂前已将此序列号固化在芯片中,不可以更改;非接触式卡与读写器之间采用双向互认验证机制,即读写器要验证IC卡的合法性,IC卡也要验证读写器的合法性;非接触式IC卡在数据交换前要与读写器进行三次相互认证;而且在通讯过程中所有的数据都加密;此外,卡中各个区域都有自己的操作

5、密码和访问条件。*适合于多种应用非接触式IC卡的存贮结构特点使其可以做到一卡多用,能应用于不同的场合或系统,例如,企业或机关内部员工“一卡通”,可用作考勤、食堂就餐、电话管理、停车场、门禁等;校园“一卡通”,可用作学生证、借书证、消费卡、门禁“铜匙”等,此时用户可根据不同的应用设置不同的密码和访问条件。* 适应于多种要求非接触式IC卡系统可根据环境与应用对象的不同而做到作用距离不同,如用于高速公路或一般路、桥收费,可选用作用距离为0.6m20m的系统,如用于电子钱包或公交收费,可选用作用距离仅几厘米的系统。系统配置相当灵活多样。正是由于非接触式IC卡的上述特点,使它在某些领域具有接触式IC卡无

6、法比拟的优越性,被广泛应用于电子钱包、铁路、地铁、公交、轮渡、高速公路、一般路桥收费、食堂售饭收费、门禁系统、考勤系统、身份证等领域。特别是在地铁、公交、路桥、轮渡等收费应用中,近期将占到整个卡应用的50%以上。1998 年4月25、26日,国家建设部组织专家对非接触式IC卡公交收费系统进行了论证签定。而非接触式IC卡轮渡储值票收费系统,在上海金陵路渡口应用2年以后,目前正在上海轮渡所有渡口全面推广,非接触式IC卡三角闸门通道的安装量将达到128个。*非接触式IC卡路桥收费系统*非接触式IC卡考勤系统*非接触式IC卡食堂收费系统*非接触式IC卡电话机及电话用户卡付费与查询系统*非接触式IC卡行

7、车证件查验系统等*非接触式IC卡门禁管理系统*非接触式IC卡出租车收费管理系统*非接触式IC卡停车埸收费管理系统*非接触式IC卡加油站收费管理系统*非接触式IC卡液化石油气收费管理系统*非接触式IC卡企业、机关、院校、酒店“一卡通”综合管理系统 图1.2 IC卡打卡器 MIFARE是恩智浦半导体(NXP Semiconductors拥有的商标之一。伴随着超过50亿张智能卡和IC卡以及超过5 千万台读卡器的销售,MIFARE已成为全球大多数非接触式智能卡的技术选择,并且是自动收费领域最成功的平台。目前我们使用的IC卡普遍是Mifare的产品,常简称M1卡,下面我们来了解Mifare 技术:电气特

8、性:*容量为8K位EEPROM*分为16个扇区,每个扇区4块,每块16个字节,以块为单位;*每个扇区有独立的一组密码及访问控制;*每张卡有唯一序列号,为32位;*具有防冲突机制,支持多卡操作;*无电源,自带天线,内涵加密控制逻辑和通讯逻辑电路;*工作温度:-2050;*工作频率:13.56MHz*通讯速率:106Kb/s*读写距离:可达10mm(与读写器以及卡天线尺寸有关;*数据保存期为10年,可改写10万次,读不限次。工作原理:卡片由一个卷绕和特定用途集成电路模块组成。其中,模块由一个高速(106Kb波特率的RF接口、一个控制单元和一个8K位EEPROM组成。读写器向M1卡发出一组固定频率(

9、13.56MHz的电磁波, 卡片内有一个LC串联谐振电路,其频率与读写器发射频率相同,在电磁波的激励下,LC谐振电路产生共振,从而使谐振电容内有了电荷,在这个电容的另一端,接有一个单向导通电子泵,将电容内的电荷送到模块存储电容内储存,当所积累的电荷达到2V以上时,此电容可作为电源向模块电路提供工作电压,将卡内数据发射出去或接受读写器的数据。存储结构:M1卡分为16个扇区,每区有4块(块0块3,共64块,按块号编址为063。第0扇区的块0 (即绝对地址块0用于存放芯片商、卡商相关代码,已经固化不可更改。其他扇区的块0、块1、块2为数据块,用于储存用户数据;块3为各扇区的控制块,用于存放密码A、存

10、取控制条件设置、密码B。各扇区控制块结构相同,如表1.1所示:表1.1 各扇区控制块结构3 控制属性:每个扇区的用户密码和存取控制条件都是独立设置的,可以根据实际需要设定各自的密码和存取控制。在存取控制中,每个块都有三个控制位相对应,用于决定某数据块或控制块的读写条件,定义为“CXxy”,如表1.2所示。其中CX:代表每块控制位号(C1C3,x:代表某块所属扇区号(015,y:代表该扇区内某块号。例如C1x2即为x扇区内块2的第1控制位,如此类推。(注:控制位的设置存放在存取控制字节中,见表1.3所示。表1.2 控制位定义“CXxy” 表1.3 三个控制位在存取控制字节中的位置 各扇区数据块0

11、块2的三个控制位以正反两种形式存在于块3的存取控制字节中,它决定了改块的访问权限(例如进行减值及初始化值操作必须验证KEY A,进行加值操作必须验证KEY B,等等。三个控制位在存取控制字节(69字节中的权限如下(阴影区的存取控制为厂商初始值;字节9为备用字节,默认为69;注释:如表1.4所示,KeyA|B表示密码A或者密码B,Never表示没有条件实现。表1.4数据块的存取控制权限(x=015扇区;y=块0,块1,块2 例如,某区块的3个存取控制位C1xy、C2xy、C3xy=000时(厂商预设的初始值,见阴影区,验证 密码A或者密码B正确后可读出/可写入/可加值/减值及初始化操作。该初始值

12、主要供制卡和发卡商检测心片功能使用,确认所有读写/加密功能均正常(存取控制初始值“ff 07 80 69”,请参考“步骤举例”自行验算后,再依据使用需要和参照表4表5设置新的存取控制权限值,进行用户数据操作和修改新的用户密码。再如当某区块0的存取控制位C10、C20、C30的设置均=100时,验证密码A或密码B正确后可读出其数据;只有验证密码B正确后才可允许改写数据;不能进行加值、减值等操作。以厂商初始值“FF 07 80 69”为例,说明存取控制条件对数据块的影响。初始存取控制默认值(C1x0,C2x0,C3x0=000; C1x1,C2x1,C3x1=000;C1x2,C2x2,C3x2=

13、000;C1x3,C2x3,C3x3=001和KeyA、KeyB默认值(由厂商提供,通常为:ffffffffffff。那么块3中,厂商初始的存取控制值如表1.5所示:表1.5块3中厂商初始存取控制值(-号表示需要取反 如果用户要读到块1的内容,对照表4和查对表3可知,当存取控制C1x1,C2x1,C3x1=000时,必需正确校验KEY A或KEY B后才可允许读取块1的内容,否则,MF1读写器会因校验某区密码出错而无法读取和传送数据!如此类推,用户要进行其它操作时,可根据存取条件,对照表24来决定其操作权限。表1.6列出了飞利浦公司对MF1卡的8种控制位设置值所对应的存取控制权限表,供发卡商及

14、用户设置MF1卡使用权限时参考,其释义如下:表1.6 块3的存取控制权限(供发卡商及用户设置权限时参考 例如:当块3的存取控制位C13 C23 C33 = 100 时,表示:密码A:不可读(隐藏,验证KEYB 正确后,可写(或更改;存取控制:验证KEYA或KEYB正确后,可读不可写(写保护;密码B:不可读,验证KEYB正确后可写。又如:当块3的存取控制位C13 C23 C33 = 110或者111时,除存取控制值需要在验证KEYA或KEYB正确后仅仅可读外,其它如存取控制值的改写、密码A、密码B的读写权限均被锁死而无法访问!MF1卡修改各区块控制位值和数据一、以常用设置“08 77 8F 69

15、”控制条件为例,先搞清楚它具有的访问权限。1、对“08 77 8F 69”值进行计算,该值定位于各区块3的6、7、8、9四个字节内,字节6=08,字节7=77,字节8=8F,字节9=69(默认值,不予计算。2、例如:字节6=08,对应其二进制值=00001000, 则对6、7、8这三个字节进行二进制转换结果见表1.7:表1.7 二进制转换表 3、参照表2及表4算法,字节6的全部二进制值取反,字节7的低四位二进制值取反,字节8不变,得到表1.8:表1.8 运算结果 4、对以上6、7、8字节的存取/控制二进制已取反值,依照表2、表4块位转换为各块控制值,如表1.9所示:表1.9 第4步骤结果 注意

16、: 高4位的各块值=低4位的各块值时,其值可用。高4位值低4位值时,其值不可用!5、查对访问权限(数据存取控制依照表3,块3存取控制依照表5,该例“08 77 8F 69”的访问权限为:块3 = 011:权限为:KeyA、KeyB均不可读,验证KeyB正确后可改写KeyA和KeyB,验证KeyA 或KeyB正确后可读“控制位”。在此可见密钥KeyB的重要性,KeyB不正确是无法看到块3控制值,更无法修改密钥。块2 = 块1 = 块0 = 110:权限为:验证KeyA或KeyB后可读该块数据、减值以及初始化值,只有验证KeyB 正确后才可改写该块数据,在此可以看到密钥KeyB对改写数据块也起着关

17、键性作用。 二、“08 77 8F 69”控制条件设置步骤:由(一可知:KeyB设置后为不可读,并且改写数据和改写控制位都需要正确验证它,故KeyB设置后程序操作员必须妥善保管KeyB值,否则以后改写数据和控制位时,不正确的KeyB值将无法实现卡的任何操作!1、修改块3控制位的值:最初的各区块3内的KeyA、KeyB都是厂商12个“F”默认值(KeyA在任何条件下均为不可读,大部分读写机程序表现KeyA为未知的12个“0”,在修改控制值时,先不要修改默认密码KeyA和KeyB,在控制位修改成功后,再去更改新密码值。即先对块3的控制位进行修改(默认值FF 07 80 69改为新值08 77 8F

18、 69并执行写操作。控制位写成功后,KeyB亦为12个“0”不可读了,但仍是隐藏的12个“f”默认值。2、修改块3的KeyA和KeyB值:控制位08 77 8F 69值写成功后,验证KeyB正确后方可改写KeyA 和KeyB新密码。在密码操作模式键入要改写区块之先前密码B(先前密码为默认值时,则不需改动和加载,加载后反回数据操作模式,再进行读值、KeyA和KeyB值的改写。3、修改块0块2中数据:由新的控制条件08778F69可知,要修改数据,必须先验证KeyB,故先设置密码操作为KeyB认证方式,加载后再返回数据操作模式,对要修改的数据块进行值的改写操作。4、上例中分析了“08 77 8F

19、69”的访问条件及其改写步骤,对用户的其它控制条件亦可参照应用。常见问题及处理建议:1、盲目操作:造成某些区块误操作被锁死不能再使用。应当仔细参考表3表5的控制权限后,予先得出操作后的结果是否适合使用要求,并且列出操作顺序表单再操作。最好授权程序员对块3的设置作专人操作。2、丢失密码:再读写时造成密码认证出错而不能访问卡。特别要求在对MF卡进行块3编程操作时,必须及时记录相关卡号的控制值、KeyA、KeyB等,而且应当有专人管理密码档案。 3、错误设置:对MF1卡的块3控制块了解不透彻,错误的理解造成设置造成错误的设置。依照表2可知,目前Mf1卡的控制块仅只有8种数据块访问控制权限和8种控制块

20、设置权限,超出这16种权限的其他代码组合,将直接引起错误设置而使卡片报废!4、极端权限:当块3的存取控制位C13 C23 C33 = 110或者111时,称为极端权限。除特殊应用外一般不被使用!启用前认真权衡对密码读写、存取控制的锁死是否必要,否则,数据加密后即使有密码也无法读取被锁死的数据区块(看不见!5、设备低劣:低劣的设备将直接影响卡的读写性能。对MF卡进行块3编程操作的设备,特别要求其性能必须十分可靠,运行十分稳定!建议选用由飞利浦公司原装读写模块构建的知名读写机具!6、编程干扰:在对块3进行编程操作时,不可以有任何的“IO”中断或打扰!包括同时运行两个以上程序干扰甚至PC 机不良的开

21、关电源纹波干扰等,否则,不成功的写操作将造成某个扇区被锁死的现象,致使该扇区再次访问时出错而报废。7、数据出错:在临界距离点上读卡和写卡造成的。通常的读卡,特别是写卡,应该避免在临界状态(刚能读卡的距离读卡。因为临界状态下的数据传送是很不稳定的!容易引起读写出错!8、人为失误:例如,密码加载操作失误,误将KeyA加载为KeyB;或者是误将其他制卡厂约定的初始密码值如a0a1a2a3a4a5、b0b1b2b3b4b5加载到刚生产的MF1卡内;或者在初始状态下(密码A= 000000000000【隐藏状态,实际为ffffffffffff】、控制位=FF 07 80 69、密码B=fffffffff

22、fff【可见】若不经意地将KeyA=000000000000 删除后又重新输入12个“0”,并加载了它!这时无意中已将KeyA原来12个隐藏的“f”,修改成了12个“0”,其后果可想而知!9、弯曲而造成内电路断裂。10、读写距离过近:与用户使用的读写器性能有关。标准型MF1卡的读写距离可达10cm(在飞利浦公司的标准读写机具上测试的最大距离,国产知名品牌读写器一般可达5-10cm。尺寸较小的匙扣卡,其读写距离当然比标准卡近许多,但只要可靠的读写距离510mm以上,一般不会影响正常使用! 1.2RC522芯片简介概述:MFRC522是高度集成的非接触式(13.56MHz读写卡芯片。此发送模块利用

23、调制和解调的原理,并将它们完全集成到各种非接触式通信方法和协议中(13.56MHz。MFRC522发送模块支持下面的工作模式:读写器,支持ISO 14443A / MIFARE®MFRC522的内部发送器部分可驱动读写器天线与ISO 14443A/MIFARE®卡和应答机的通信,无需其它的电路。接收器部分提供一个功能强大和高效的解调和译码电路,用来处理兼容ISO 14443A/MIFARE®的卡和应答机的信号。数字电路部分处理完整的ISO 14443A帧和错误检测(奇偶&CRC 。MFRC522支持MIFARE® Classic(如,MIFARE

24、®标准器件。MFRC522支持MIFARE® 更高速的非接触式通信,双向数据传输速率高达424kbit/s。可实现各种不同主机接口的功能:1、SPI 接口2、串行UART(类似RS232 ,电压电平取决于提供的管脚电压3、I2C 接口特性:·高度集成的模拟电路,解调和译码响应。·缓冲的输出驱动器与天线的连接使用最少的外部元件。·支持ISO 14443A/MIFARE ® 。 ·读写器模式中与ISO 14443A/MIFARE® 的通信距离高达50mm ,取决于天线的长度和调谐。·读写器模式下支持MIFAR

25、E® Classic 加密·支持ISO 14443 212kbit/s 和424kbit/s 的更高传输速率的通信。·支持的主机接口-10Mbit/s 的SPI 接口-I2C 接口,快速模式的速率为400kbit/s,高速模式的速率为3400kbit/s-串行UART,传输速率高达1228.8kbit/s,帧取决于RS23接口,电压电平·取决于提供的管脚电压·64字节的发送和接收FIFO缓冲区。·灵活的中断模式。·低功耗的硬复位功能。·软件掉电模式。·可编程定时器。·内部振荡器,连接27.12M

26、Hz 的晶体。·3.3V 的电源电压。·CRC协处理器·自由编程的I/O 管脚·内部自测试 简化MFRC522框图: 图1.3 MFRC522简化框图 图1.4 RC522引脚图表1.10 管脚描述 (注:管脚类型:I -输入;O-输出;PWR-电源引脚符号类型描述1 I2C I I2C 使能2 PVDD PWR 管脚电源3 DVDD PWR 数字电源4 DVSS PWR 数字电源地5 PVSS PWR 管脚电源地6 NRSTPD I 不复位和掉电:管脚为低电平时,切断内部电流吸收,关闭振荡器,断开输入管脚与外部电路的连接。管脚的上升沿来启动内部复位阶段

27、7 MFIN I MIFARE信号输入8 MFOUT O MIFARE信号输出9 SVDD I MFIN和MFOUT电源10 TVSS PWR 发送器地:TX1 和TX2 的输出级的地。11 TX1 O 发送器1:传递调制的13.56MHz 的能量载波信号12 TVDD PWR 发送器电源:给TX1 和TX2 的输出级供电。13 TX2 O 发送器2:传递调制的13.56MHz 的能量载波信号14 TVSS PWR 发送器地:TX1 和TX2 的输出级的地15 AVDD PWR 模拟电源16 VMID PWR 内部参考电压:该管脚提供内部参考电压 17 RX I 接收器输入:接收的RF信号管脚

28、18 AVSS PWR 模拟地19 AUX1 O 辅助输出:这两个管脚用于测试20 AUX2 O21 OSCIN I 晶振输入:振荡器的反相放大器的输入。它也是外部产生的时钟的输入(fosc =27.12MHz22 OSCOUT O 晶振输出:振荡器的反相放大器的输出23 IRQ O 中断请求:输出,用来指示一个中断事件24 SDA/NSS/RX I 串行数据线25 D1/ADR_5 I/O 不同接口地数据管脚(测试端口、I2C、SPI、UART 26 D2/ADR_4 I/O27 D3/ADR_3 I/O28 D4/ADR_2 I/OI/O29 D5/ADR_1/SCK/DTRQI/O30

29、D6/ADR_0/MOSI/MX31 D7/SCLI/O/MISO/TX32 EA I 外部地址:该管脚用来编码I2C 地址 1.3物联网RFID开发平台介绍为了让大家更方便快捷地入门RFID技术,我们一如既往,打造出高性价比的物联网RFID开发平台,开发平台使用STC89LE52RC单片机作为控制核心,和过去51单片机的编程环境和指令完全兼容,可以让我们把精力投放在IC卡技术上。IC模块选用RC522,也是国内最流行的学习方案。物联网项目办物联网RFID开发平台实验指导书也是基于此平台开发。内容和代码承诺不断更新,同时开源。保证所有程序能直接跑起。毫不夸张地说,你甚至可以将本教材的例程和实践

30、应用在自己的设计、项目生产上。 图1.5 RC522 IC卡模块 图1.6 IC卡模块接口原理图 功能特点:尺寸:6 * 4 cm产品芯片:RC522工作电流:1326mA/直流3.3V空闲电流:10-13mA/直流3.3V休眠电流:<80uA峰值电流:<30mA工作频率:13.56MHz读卡距离:060mm(mifare1卡接口:SPI数据传输速率:最大10Mbit/s支持卡类型:mifare1 S50、mifare1 S70、mifare UltraLight、mifare Pro、mifare Desfire 工作环境工作温度:摄氏-2080度储存温度:摄氏-4085度湿度:

31、相对湿度5%95% 图1.7 物联网RFID开发平台底板功能特点:底板尺寸:18 *12. 5 cm串口通讯:自带USB转串口功能(PL-2303,方便笔记本用户供电方式:方口USB、DC2.1电源座(5V功能接口:物联网盒子接口,单片机所有IO引脚以及5V/3.3V引脚功能按键:1个复位,16个普通按键(矩阵键盘LED指示灯:电源指示灯和普通LED其他:继电器、蜂鸣器核心模块支持:1、ID低频模块125KHz2、IC高频模块13.56MHz 3、UHF超高频模块900MHz平台特色:·主控制核心选用STC89LE52RC,指令和开发环境(KEIL与传统51单片机完全兼容。快速掌握开

32、发和使用方法。·平台包含低频ID、高频IC、超高频UHF的读卡模块。频率:125KHz、13.56MHz、860-960MHz,支持协议:ISO/IEC 15693 、ISO/IEC18000、ISO/IEC14443。·核心模采用标准排针拔插式设计,母板、核心板均可插拔更换,方便用户自己设计控制板,便于二次开发及科研创新和竞赛,同时便于后续升级和维护;·开发平台集成LCD12864显示模块、矩阵键盘控制、继电器、蜂鸣器等外设,资源丰富实用板上资源接口丰富,国产式设计,更适合国人使用。·板载USB转串口电路,方便笔记本以及没有串口的电脑用户使用USB直接

33、下载程序和调试,同时支持5V开关电源供电、USB供电。·引出所有IO口,方便用户添加自己的传感器或者模块。·国内首创物联网接口。通过配套的物联网盒子可以与嵌入式网关、ZigBee、蓝牙、WIFI等任意物联网平台进行数据传输。通用性极强。 1.4开发软件和驱动的安装为了让大家能把精力都放在IC卡技术的开发上,我们的控制MCU选用STC89LE52,引脚和功能普通51单片机完全兼容,而且LE属于低功耗系列单片机,供电电压为3.3V。方便我们与其他物联网开发平台连接,开发环境我们使用非常熟悉的KEIL 4。本章节内容分3部分:1、开发软件KEIL安装和工程文件的建立2、USB转串

34、口驱动的安装3、程序下载1、开发软件KEIL安装和工程文件的建立第一步:安装KEIL 4打开“KEIL 4”文件夹下安装文件,如图1.8所示: 图1.8 KEIL安装文件 按照默认选项选择下一步: 图1.9选择合适的安装路径: 图1.10 选择Next直到安装完成。 第二步:破解KEIL 4选择FILELicense Management,如图1.11所示: 图1.11在KEIL 4目录下打开KEIL4 注册机: 图1.12复制KEIL 4 License Management的CID号码到注册机,点击Create,生成注册码。 图1.13 图1.14将注册码复制到New License ID

35、 Code 的对话框,点击Add LIC 当出现如图1.15所示的Expires:Jan 2020 (有效期到2020年的时候,恭喜你,注册成功了。 图1.15最后,我们将keil 4/ KEIL 4中加入STC单片机头文件文件夹下的UV4.cdb文件复制到安装路径下的UV4文件夹里替换原文件,这一步是为了使用STC的单片机。 图1.16 图1.17第三步:新建工程文件打开安装好的KEIL 4软件,点击projectNew uvision Project,在新建号的LED文件夹下新建led 工程,点击保存。 图1.18 图1.19点击Projectoptions for Target 或者如图

36、1.20所示按钮,在弹出的窗口按Target,配置相关参数。 图1.20在output下选择Create HEX File选项,这样编译后自动生成hex文件。便于下载调试使用。完成后点击OK。 图1.21接下来点击filenew:输入或者复制代码。 图1.22点击保存,我们需要保存成C文件。路劲为默认的工程文件夹。 图1.23在左边Source Group 1点击右键add file 图1.24添加成功后,左边出现刚刚保存的C文件,右边代码变成正规代码。 图1.25 代码变成正规代码 点击编译按钮,提示0错误,0警告,同时在工程文件夹出现.hex的文件,至此,新建工程完毕。如图1.26、图1.

37、27所示: 图1.26 图1.27 工程出现.hex文件 2、USB转串口驱动的安装RFID开发平台上集成PL2303的USB转串口芯片,我们通过安装相应的驱动可通过USB直接开发调试。打开PL2303_driver软件直接进行安装。(安装时候建议USB线不连接开发平台! 图1.28安装好后,通过方口USB线连接开发平台,我们右键打开我的电脑-属性硬件设备管理器,查看到USB-to-Serial Com,说明驱动安装成功。 图1.293、程序下载我们找到STC下载程序绿色版的软件: 图1.30 STC_ISP图标芯片选择STC89LE52RC,串口选择在设备管理器看到的对应串口: 图1.31

38、配置相关软件 打开程序文件,我们刚刚新建的工程里面编译出来的hex文件。 图1.32将开放平台断电再重新上电,自动下载程序。下载完成如图1.33所示: 图1.33 第2章操作演练从这一章起我们正式开始RFID IC开发平台的编程和实验,这样主要讲述通过RC522控制从而进行IC卡的读卡号、读/写数据以及修改密码的具体操作。有了本章的基础,你才能更好地完成接下来关于IC 技术的项目。在学习本章节之前,你需要了解我们第一章关于MF1卡的技术介绍和操作描述。从而避免操作不当而引起锁卡等导致卡报废的情况。请先看实验讲解格式预览,每一节我们都会以以下形式讲解,图文并茂,务求达到快速理解的效果:1标题:基

39、础实验内容2前言:简单介绍这个版块的应用3实验现象:提前让大家知道此程序实现的现象。4实验讲解:对寄存器、代码、编程方法详细讲解,代码为了方便大家会使用颜色区分,尽量做到像编译器一样。5实验图片:记录程序下载到开发板上的图片示例。2.1IC卡操作简述前言:为了让大家对IC卡操作有一个感性的认识,这一节我们将结合上位机,通过串口通信对IC模块操作,从而实现读卡号、读/写数据,修改密码等一系列操作。通过本节,你能深刻地体会IC卡操作的原理。 实验平台:物联网RFID开发平台 图2.1物联网RFID开发平台实验现象:我们利用自带的上位机和下位机软件实现IC卡读卡号、读卡、写卡和修改密码功能。 图2.

40、2 读IC卡号 图2.3 读数据 图2.4 写数据 实验讲解:上位机实验的功能本质是与RFID开发平台的串口通信,在实验前我们先要给开发平台下载相应的程序代码,然后与上位机进行串口通信,从而实现IC卡的操作!我们打开配套资源包里面的STC程序下载软件,我们选择配套例程中的第二章例程中的Hex文件下载到RFID开发平台上。下载成功后,开发平台如图2.5所示: 图2.5 下载程序后LCD显示信息我们通过USB线将开放平台连接到电脑,打开配套资源里面的上位机软件: 图2.6 IC模块上位机软件选择对应的串口,计算机控制方式,点击“打开串口”。 图2.7 设置上位机 一、读卡号我们将IC卡放到IC模块

41、的正上方,然后点击读卡号按钮,当看到LED指示灯闪一下,蜂鸣器响一下时,读取成功。32位的卡号显示在上位机指定位置上。如图2.8所示: 图2.8 读取卡号二、读数据在第一张IC卡技术的介绍中我们知道,IC卡有64个块,每4个块组成一个扇区,每个扇区的第三块存储密码和加密方式等内容,不建议修改,另外第0扇区的第0块存放出厂信息,也不允许用户修改。在这里我们演示一下读取IC卡第01块的内容:我们在上位机块地址输入01,IC白卡的初始密码A/B均是0xFF 0xFF 0xFF 0xFF 0xFF 0xFF。输入后点击读数据,我们可以看到块01的数据。可以看到,默认出厂的16字节数据均为0x00,如图

42、1.28所示。 图2.9 读IC卡块数据三、写数据写数据和上面读数据的操作方式类似,需要输入待写的块号和密码,需要注意的是块0是出厂数据,不能进行写操作,每个扇区的第3块是存储密码和加密方式等数据,不建议随便进行写操作,否则可能导致IC卡报废。如图2.10所示,我们将01块的前2字节修改成0xFF,点击写数据按钮将数据写进IC卡。通过如所图2.11所示再次对01块进行读数据,我们看到此时IC卡01块的数据已经成功被修改。 图2.10 IC卡块1写操作 图2.11 验证写入数据 四、修改密码前文提到IC卡是每个扇区(4个块公用一个密码的,密码信息存储在每个扇区的第三块上。我们在修改地址栏密码块输

43、入01,软件自动定位到0003块,即第一扇区。输入新修改的密码,我们再次使用读数据功能是,需要使用新的密码。这说明修改密码成功。(为了不影响我们以后学习使用,请在实验完成后将密码重新设置成默认的0xFF 0xFF 0xFF 0xFF 0xFF 0xFF ,方便以后使用! 图2.12 修改密码实验小结:这一节我们通过了上位机对IC卡进行了读卡号、读数据、写数据和修改密码等操作。通过这简单的实验我们初步对IC卡的内部构造、存储方式有了一定的理解,为下面进一步实验巩固了基础。后面的实验我们将展开对IC模块卡的编程操作,通过程序的操作方式能更深入地了解IC模块和IC卡的原理。 2.2读IC卡号前言:上一节我们通过上位机方式演示了IC卡的操作方法,这样操作较为直观。从这一节开始,我们以通过分析RC522 IC模块函数源代码的方式来理解IC卡的操作,通过程序的操作方式能更深入地了解IC模块和IC卡的原理。实验平台:物联网RFID开发平台 图2.13 物联网RFID开发平台实验现象:通过串口调试助手实现IC卡卡号的读取。

温馨提示

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

评论

0/150

提交评论