自-基于LG单片机的IC卡读写

上传人:长*** 文档编号:186651750 上传时间:2021-07-19 格式:DOC 页数:7 大小:47.50KB
返回 下载 相关 举报
自-基于LG单片机的IC卡读写_第1页
第1页 / 共7页
自-基于LG单片机的IC卡读写_第2页
第2页 / 共7页
自-基于LG单片机的IC卡读写_第3页
第3页 / 共7页
自-基于LG单片机的IC卡读写_第4页
第4页 / 共7页
自-基于LG单片机的IC卡读写_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《自-基于LG单片机的IC卡读写》由会员分享,可在线阅读,更多相关《自-基于LG单片机的IC卡读写(7页珍藏版)》请在金锄头文库上搜索。

1、基于LG单片机的安全可靠的I卡读写器设计日期:2009-5-1 9:50:09 作者:admin 来源:深科特集团 文字 大 中 小 双击滚屏IC卡 (IteadCirc ,集成电路卡)是继磁卡之后出现的又一种新型信息工具。C卡在有些国家和地区也称智能卡(smr cr)、智慧卡(intelgentcard)、微电路卡(microict card)或微芯片卡等。C卡是指集成电路卡,我们一般用的公交车卡就是卡的一种,一般常见的C卡采用射频技术与IC卡的读卡器进行通讯IC卡与磁卡是有区别的,C卡是通过卡里的集成电路存储信息,而磁卡是通过卡内的磁力记录信息.C卡的成本一般比磁卡高,但保密性更好。 IC

2、卡读写器是C卡与应用系统间的桥梁,在ISO国际标准中称之为接口设备IFD(Interface Dice)。I内的CPU通过一个接口电路与IC卡相连并进行通信。下面介绍一种以OR公司的X76F100为卡片的、用于存取款的C卡读写器方案。1.硬件组成 图1为C卡及其读写器硬件电路图。其中读写器由单片机、键盘、显示、监控电路等部分组成。IC卡采用ICOR公司的X7F100Y。图1 IC卡读写器系统电路图11 IC卡及卡座 X76100为1288位的保密串行FLAS E2POM,其中读密码和写密码分别为64位。图2为其智能卡mart Cr封装的引脚图。把芯片封装在一个卡片上,将卡片插入IC卡读写器的卡

3、座中,读写器就可以对它进行读写,实现加密、查询、 存款、取款等功能。 C卡座有8个引脚,当X7F100Y插入时,正好同这几个引脚相连。另外还有两个固定端,其中一个固定端同卡座上一个弹簧片相连,两个触点和簧片就相当于一个常闭开关。当卡未插入时,簧片闭合,3.2脚保持低电平;当卡插入时,簧片被顶开,3.2脚变为高电平。当单片机检测到P3.2脚变高,通过P1.3 使X76F00的RST引脚变高,使其复位。1.2单片机 单片机采用L公司的G9752。它有K字节的RM,2个字节的AM以及32个IO口,1口与串行器件504和76F10连接,P、2口用于键盘和显示,3口中P.用于检测IC卡是否插入,其余个口

4、,可作其它功能扩充。图2 X76F10引脚1.3监控电路 监控电路采用X205芯片,它包括看门狗定时器、电压监控电路和EPOM存贮器。其功能是:上掉电时对GM97C2产生REET信号;看门狗对系统进行监控,防止死机。 14键盘电路为了方便,键盘接口电路用I/口实现,它为44结构,16个键。其中数字键1个,功能键4个,回车键个。数字键:0、2、3、4、5、6、7、9、(退格)。 功能键:查询?、存储+、取款-、改密码*。 查询?:用户通过读密码可以查询卡中所存的款额。存款+ :用户通过写密码可以将款存入卡中。 取款-:用户通过写密码可以从卡中取款。 改密码:分为修改读密码和写密码。为方便起见,令

5、读密码和写密码一致,按此键将同时修改读密码和写密码。 回车键:8位密码或存取款数输入完确认,以及新密码输入完确认。1.5显示电路 显示部份采用LED显示器,也用O口实现。用于显示系统状态、输入的密码或所要存取的款额以及出错信息等。 由于GMS7C52的驱动电流有限,在P0、P2口加反向器N7404,增加驱动能力。它的吸入电流为6mA,输出电流为,可以保证位选所需的吸入电流。2程序设计21主程序流程图 主程序流程图如图3所示。 开机后,系统处于待机状态,不断查询32脚电平,当X76F10插入读写器卡座时,.2脚电平变高,单片机检测到P3.2高电平信号时,使P1.3脚电平变高,如果此时为低电平,X

6、76F100复位,输出2位固定的“同步复位响应”数据。然后循环扫描键盘显示程序,进行存款、取款、查询或改密码。一次操作完成后返回,然后不断循环。 2.循环键盘显示程序循环扫描键盘显示程序如图4所示,它采用程控扫描方式。键盘实际操作的顺序是:先按功能键,然后依次输入8位(十进制)密码,按回车键确认。当存取款时,随后输入所存取的款额;当修改密码时,随后输入8位新密码,输完后按回车键确认。若输入密码正确,显示IC卡内存款的余额或改密码成功信息(SUCCSS)。若密码不正确,提示重新输入,允许输入密码4次。 为了记录操作中正在进行的状态,在键盘程序中设置了多个指针。 (1)KEY 有否按键按下标志。0

7、0H表示无键按下,01H表示有键按下。此标志用于判断按键是否已松开,防止误操作。(2)UN为功能键指针,00H表示无功能键按下,1H表示存款(ADD),0H表示取款(SB),H表示查询(IIE),04H表示改密码(CHANEASWORD)。(3)D为允许数字键输入标志,00表示不允许,01H表示允许。此标志主要是防止输入多余的密码,或输入的款数超出限额。 (4) M表示输入第几个数字,00H表示无数字输入,018H表示输入密码,09H10H表示输入款数或新密码,若NU为11H,显示出错信息。2 6F100读程序举例图4循环键盘显示程序流程图 X76100为I2C总线E2PROM。SL为时钟输入

8、,SDA为双向数据输入输出线。通过片输入来控制对器件的访问。下面以页写为例,先结合时序说明X7100的工作过程,然后给出程序。页写时序如图5所示。在该系统中,G975为主机,X7F00为从机。首先主机向从机发一个AT命令,产生开始条件,然后发写命令字。当从机接到命令后,向主机发一个应答信号AC。然后跟随8字节密码,随后进入一个写周期,写周期结束后进行密码应答轮询ACK Polng。X76F00要求主机用专用的应答命令55进行应答轮询。如果输入的密码正确,将返回一个“AC”。如果密码不正确,将返回“o-AC”,重试计数器加1,返回到启始位置,提示重新送入写命令字和8字节密码。若密码正确,主机接着

9、送入个字节的数据,ACK响应成功后,主机发出STOP命令完成写操作。下面是用写密码进行页写的程序。 图5页写时序图(需要密码)RE_USI_WRITE_PASS: ;用写密码进行写操作 ACALL AT ;调开始命令 MOV A,#SECTO_WR ;调页写命令 AC UTBYT;调输出字节命令 L NCK;XF10发应答信号 AALL WR_WR_PAS ;调写密码命令 ACLL 10ms ;10s延时开始写密码周期 ACAL AK_POLLNG;调密码应答轮询子程序 ACAL WR_ATA ;调页写数据子程序 ACLL STOP ;调停止命令 AALL T10ms ;延时10ms写密码周期

10、 RETR_W_PASS: ;将写密码写入76F100 MO R0,WR_PASS7 ;将密码首址送入R0 MOV R1,#0H ;写密码为8个字节 P:MOV A,R0;将R中的数据送入A中 ACALL OTBTE ;输出字节子程序 ACL NACK NC R0 JNZ R1,P T WR_DAA:;将数据写到X76F中MOV R0,#DAT0 ;将数据首地址送入R MOVR1,08H ;一页有8个数据 W:OV A,R0 ;将中数据送入ACL UBYTE ;调输出字节子程序CAL NACK ;从机发应答信号 I 0 ;下一个字节 DNZ R1,WB ;循环直到R1为0RET OUTBYTE

11、:;主机向7600发字节 MOV2,#08 ;一个字节有位 LOOPO: L SCL_76 RLC A ;移位 MO S7,C ;将进位送入数据线 SETB CL_6 DN R,LOP ;循环直到R2为0RT STR: SEB SD_6 ;开始子程序 SEB SCL_7 CLR SDA76 CR SCL7RE STOP: L D6;停止子程序 TB CL_76 ETB S_76RACK_POLIG: ;密码应答轮询子程序 AALL SARTMOV A,H ;主机发固定应答命令 AAL OUTBYTE ACL NACK ;调从机发应答信号J PASERO ;若有进位则密码错误 RTPAS_ERR

12、OR:;密码错误 ACAL STOP RC: L SDA_76 ;主机执行一个应答 AAL CLOCK RT NACK: SEB SA6 ;从机执行一个应答ACAL OCK RET COC: SETB SL_76 ;第9个脉冲 MOV ,SDA-6;读SD状态以判断是否有应答 S_6RET T0ms:MO 7,#04H ;10m延时T10A: O R6,#32T10B: JN6,B JNZ R7,TA结束语: 在IC卡的一些应用领域比如金融领域,其上记录有大量重要信息,安全性是很重要的,作为IC卡应用系统开发者必须为卡系统提供合理有效的安全措施,以保证IC卡及其应用系统的数据安全。本文在这方面的关注使的本I卡读写器系统安全,可靠。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 社会学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号