欢迎来到天天文库
浏览记录
ID:20817593
大小:295.00 KB
页数:43页
时间:2018-10-16
《智能卡网吧收费机设计三》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、智能卡网吧收费机设计(三)——接触式逻辑加密卡读写软件设计电子与信息工程学院教学目标SLE4442卡读主存储器SLE4442卡更新主存储器SLE4442卡密码校验产品开发——智能卡网吧收费机开发任务:设计智能卡网吧收费机卡型:SLE4442智能卡网吧收费机功能分析1、判断卡的合法性2、上网计时收费产品开发之第三步:软件实现智能卡网吧收费机工作流程1、判断卡的合法性:判断是否SLE4442卡、是否本网吧发行的卡、密码是否正确、卡中余额是否充足——复位与复位响应、读卡、校验密码2、计时收费:写卡扣款并发送允许上网代码,接收
2、PC机计时时间到发出的控制信号,收到启动信号则重新判断卡合法性并扣款,收到停止信号则下电并提示允许拔卡——写卡网吧收费机主程序流程图插卡上电是否4442卡?是否本网吧发行?是否合法卡?是否4442卡?插卡上电更新余额余额足否?发送上网允许代码接收PC机控制信号启动?N发送错误代码1卡类型错误发送错误代码2伪卡错误发送错误代码3密码错误发送错误代码4余额不足NNNYYYNY下电提示允许拔卡IOBITP1.0CLKBITP1.1RSTBITP1.2ICSWBITP1.6PWRBITP1.7PSC1EQU0FFHPSC2EQ
3、U0FFHPSC3EQU0FFHCOMEQU20HADDREQU21HDATEQU22HNUMEQU2FH;*************主程序**************ORG0030HMAIN:CLREA;关中断MOVSP,#60H;设置堆栈网吧卡功能测试主程序LCALLPWRON;上电控制LCALLRESET;复位MOVR0,#30H;设置读数据缓冲区1首地址LCALLREAD;读主存储器NOP;断点①LCALLVERIFY;PSC校验XRLA,#07h;断点②,检查PSC校验是否正确JNZEXIT;PSC校验失败退
4、出MOVR0,#50H;设置写数据缓冲区首地址LCALLWRITE;修改主存储器MOVR0,#40H;设置读数据缓冲区2首地址LCALLREAD;再次读主存储器EXIT:NOP;断点③LCALLPWROFF;下电控制SJMP$如何实现卡读写控制?接触式逻辑加密卡SLE4442与读写器如何交换数据?如何启动SLE4442卡工作?信息如何从卡中读出?如何校验密码?信息如何写入卡中?软件设计方法——按SLE4442操作时序编制卡读写程序通信协议:2线连接协议,满足ISO7816同步传送协议数据传输:CLK信号下降沿有效。复位
5、和复位响应(ResetandAnswer-to-Reset):上电后启动芯片,符合7816——RESET子程序实现命令(Command)命令=开始+(控制字+地址字+数据字)+附加脉冲+停止——COMMAND子程序实现操作模式(Mode):读数据:输出数据模式(OUTGOINGDATAMODE)——SHIN子程序实现写入、擦除、校验:处理模式(PROCESSINGMODE)——PROCESS子程序实现分任务1:读主存储器ReadMainMemory命令格式:30H+字节地址+**模式:OUTGOING功能:读出从给定的
6、字节地址(N)开始,直到整个存储器末尾的主存储器内容。说明:在该命令输入以后,接口设备IFD必须提供足够的时钟脉冲,起始地址为N时所需要的时钟脉冲数为M=(256-N)*8+1(N=0~255)例如:地址为7EH(N=254),M=17;**********读主存储器子程序**************READ:MOVCOM,#30H;设置读主存储器控制字MOVADDR,#R_ADDR;取读主存储器首地址MOVDAT,#00H;设置读主存储器数据字(任意)MOVR4,NUM;数据个数LCALLCOMMAND;送命令给卡R
7、EAD0:LCALLSHIN;读数据(输出数据模式)MOV@R0,A;送数据入数据缓冲区INCR0DJNZR4,READ0;未读完继续如何完成命令的发送呢?SETBCLK;发送一个附加脉冲LCALLDELAYCLRCLKLCALLDELAYSETBIO;置位数据线LCALLDELAYRET命令(Command)复位响应以后,芯片等待着命令。命令=开始+(控制字+地址字+数据字)+附加脉冲+停止。开始:在CLK为高状态(H)期间,I/O的下降沿为开始状态。停止:在CLK为高状态(H)期间,I/O的上升沿为停止状态。SLE
8、4442操作命令;************命令子程序***************;该子程序送出三字节的SLE4442命令;入口参数:COM为控制字,ADDR为地址字,DAT为数据字COMMAND:SETBCLKLCALLDELAY_12CLRIO;开始LCALLDELAYCLRCLKLCALLDELAYMOVA,COM;送命令字
此文档下载收益归作者所有