基于89C51的IC卡读写器设计与实现
时间:07-23
来源:互联网
点击:
4、89C51软件模块设计
由于89C51是主控芯片,因此89C51需要完成对IC芯片的复位、读写等操作。首先对于复位响应操作,由于复位响应是根据ISO7816标准来进行的。在操作期间的任何时候都可以复位,只有经过了复位才能对IC卡进行其他操作。开始时地址计数器随一个时钟脉冲而被设置成0。当RST线从H状态置到L状态时,第一个数据位的内容被送到I/O线上。若连续输入32个时钟脉冲,主存储器中的前4个字节地址单元中的内容被读出。在第33个时钟脉冲的下降沿,I/O线被置成H状态而关闭。 在复位响应期间,“启动”和“停止”状态被忽略。单片机上的程序设计如下:
CARD_RST:
CLR RST
CLR CLK
LCALL DELAY_20US
SETB RST
LCALL DELAY_20US
SET CLK
LCALL DELAY_20US
CLR CLK
LCALL DELAY_20US
CLR RST
LCALL DELAY_20US
MOV B,#32
RESET1:
SETB CLK
LCALL DELAY_20US
CLR CLK
LCALL DELAY_20US
DJNZ B,RESET1
RET
在命令模式下,复位响应之后,芯片等待着命令。每条命令都以一个“启动状态”开始。整个命令包括三个字节。随后紧跟着一个附加脉冲并用一个“停止状态”来结束操作。当CLK为H状态期间,I/O线的下降沿为启动状态;当CLK为H状态期间,I/O线的上升沿为停止状态;限于篇幅,此处不再列出整个读写操作的程序代码。需要注意的是:脉冲的下降沿之后,I/O线上的第一位数据变为有效。随后每增加一个时钟脉冲,芯片内部的一位数据被送到I/O线上。其输出的顺序是从侮个字节的最低位开始。当所需要的最后一个数据送出以后,需要再附加一个时钟脉冲来把I/O线置成H状态,以便准备接受新的命令。在输出数据期间,任何“启动状态”和“停止状态”均被屏蔽掉。
5、结束语
本文的创新点是提出了一种新型的IC卡读写器设计方案,在串口通讯的设计中,除了要对单片机的异步通讯口进行操作,还要对PC 机的串口进行底层实时控制,并通过调用系统的API 函数的方法成功的解决了这一问题。由于西门子公司的SLE4442型逻辑加密IC卡是一种比较通用的IC卡芯片,因此通过更新读写器软件也可以操作其他类型的接触式同步IC一卡,使得这种接触式IC卡读写器成为一种通用的读写器。
集成电路 微芯 Microchip 电路 无线电 电子 电压 单片机 51单片机 振荡器 电阻 二极管 电路图 相关文章:
- 单芯片集成电路优化自适应转向大灯系统的设计 (07-12)
- 基于FPGA的液晶显示控制器设计(02-17)
- DJ1001-063一风扇单片微电脑集成电路图(04-09)
- 嵌入式系统是嵌入式软件与IC发展基础(11-03)
- 应用处理器连接汽车和消费电子两大领域(02-26)
- ARM、FPGA和DSP的特点和区别是什么?(05-08)