求救!!!各位高手,IC卡的编程问题。。。

windwood 2003-09-27 04:17:52
你好:

普通IC卡,的存储空间有多大?怎么编程?它的I/O端口中断是多少?
怎么读数据和写数据?怎么编程?

--------------------分不够再加
...全文
69 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
KenyYu 2003-09-30
  • 打赏
  • 举报
回复
普通电话卡式的那种IC卡为MEMORY卡.很多是I2C协议的.手机卡是CPU卡T0格式.遵循7816协议.
liangsiyuan 2003-09-30
  • 打赏
  • 举报
回复
下面是西门子的SLE4442逻辑加密卡的读写代码。请参考!
**************************************

SFR WDG=0xA6
ICLK EQU P3.4
IO EQU P3.7
IRST EQU P3.5
HDOG EQU P2.6

;************************************
;* RL A; rotate left acc
;************************************
PUBLIC _ASM_RL
ASM_RLP SEGMENT CODE
RSEG ASM_RLP
_ASM_RL:
MOV A,R7
RL A
MOV R7,A
RET

;************************************
;* DELAY serveral CPU CLK
;************************************
PUBLIC DELAY
DELAYP SEGMENT CODE
RSEG DELAYP
DELAY:
MOV WDG,#0x1E
NOP
MOV WDG,#0xE1
NOP
CPL HDOG
NOP
NOP
NOP
RET

;************************************
;* S_IN
;************************************
S_IN:
MOV R6,#8
SETB IO
S_IN1:
CLR ICLK
LCALL DELAY
SETB ICLK
LCALL DELAY
MOV C,IO
RRC A
DJNZ R6,S_IN1
RET

;************************************
;* S_OUT
;************************************
S_OUT:
MOV R6,#8
CLR ICLK
SOUT1:
RRC A
MOV IO,C
SETB ICLK
LCALL DELAY
CLR ICLK
LCALL DELAY
DJNZ R6,SOUT1
RET

;************************************
;* S_START
;************************************
S_START:
SETB IO
LCALL DELAY
SETB ICLK
LCALL DELAY
CLR IO
LCALL DELAY
RET

;************************************
;* S_STOP
;************************************
S_STOP:
CLR ICLK
CLR IO
LCALL DELAY
SETB ICLK
LCALL DELAY
SETB IO
RET

;************************************
;* S_PCM
;************************************
S_PCM:
CLR ICLK
SETB IO
MOV R6,#20
S_PCM3:
MOV R7,#0
S_PCM2:
JB IO,S_PCM1
CLR ICLK
NOP
SETB ICLK
NOP
NOP
CLR ICLK
DJNZ R7,S_PCM2
DJNZ R6,S_PCM3
S_PCME:
CLR C
RET
S_PCM1:
SETB C
RET

;************************************
;* S_CMD
;* R2-S_CMD,R5-ADD,R4-data
;************************************
S_CMD:
LCALL S_START
MOV A,R2
LCALL S_OUT
MOV A,R5
LCALL S_OUT
MOV A,R4
LCALL S_OUT
LCALL S_STOP
RET

;************************************
;* RESET42
;************************************
PUBLIC RESET42
reset42p SEGMENT CODE
RSEG reset42p
RESET42:
SETB IO
CLR ICLK
CLR IRST
LCALL DELAY
SETB IRST
LCALL DELAY
SETB ICLK
LCALL DELAY
CLR ICLK
LCALL DELAY
CLR IRST
LCALL DELAY
LCALL S_IN
LCALL S_IN
LCALL S_IN
LCALL S_IN
CJNE A,#91H,RESET421
CLR ICLK
NOP
NOP
SETB ICLK
NOP
CLR ICLK
NOP
SETB C
RET
RESET421:
CLR C
RET

;************************************
;* write42
;* R5-ICADD,R7-DATA,R3-length
;************************************
PUBLIC _write42
rps SEGMENT CODE
RSEG rPS
_write42:
LCALL RESET42
JNC S_W1
MOV A,R7
MOV R1,A
S_W2:
MOV R2,#38H
MOV A,@R1
MOV R4,A
LCALL S_CMD
LCALL S_PCM
JNC S_W1
INC R1
INC R5
DJNZ R3,S_W2
SETB C
S_W1:
RET

;************************************
;* read42
;* R0-ICADD,R1-DATA_ADD,R7-length
;************************************
PUBLIC _read42
sps SEGMENT CODE
RSEG sPS
_read42:
LCALL RESET42
JnC RENDG
MOV R2,#30H
MOV A,R7
MOV R1,A
LCALL S_CMD
SREAD1:
LCALL S_IN
MOV @R1,A
INC R1
DJNZ R3,SREAD1
LCALL RESET42
SETB C
RENDG:
RET

;************************************
;* comp42
;* R0-ICADD,R1-DATA_ADD,R7-length
;************************************
PUBLIC _comp42
s1ps SEGMENT CODE
RSEG s1PS
_comp42:
MOV A,R7
MOV R0,A
LCALL RESET42
JNC S_CMPE
MOV R2,#31H
MOV R5,#0
LCALL S_CMD
LCALL S_IN
anl A,#7
CJNE A,#7,S_CMPe
CLR ACC.0
MOV B,A
LCALL RESET42
JNC S_CMPE
MOV R2,#39h
MOV R5,#0
MOV R4,#6
LCALL S_CMD
LCALL S_PCM
JNC S_CMPE
MOV R3,#3
MOV R2,#33h
MOV R5,#1
S_CMP2:
MOV A,@R0
INC R0
MOV R4,A
LCALL S_CMD
LCALL S_PCM
JNC S_CMPE
INC R5
DJNZ R3,S_CMP2
S_CMP12:
MOV R2,#39h
MOV R5,#0
MOV R4,#0ffh
LCALL S_CMD
LCALL S_PCM
JNC S_CMPE
MOV R2,#31h
MOV R5,#0
LCALL S_CMD
LCALL S_IN
ANL A,#7
CJNE A,#7,S_CMPE
LCALL RESET42
SETB C
RET
S_CMPE:
CLR C
RET

end.

windwood 2003-09-29
  • 打赏
  • 举报
回复
我指普通电话卡式的那种IC卡。上面有6个金属片。其他的介绍一下也无妨
W32API 2003-09-29
  • 打赏
  • 举报
回复
应该不是打算 COPY 银行卡吧,可是犯罪的噢,建议不要做得太过分。。
is02hua 2003-09-29
  • 打赏
  • 举报
回复
up
zhizhengtanwei 2003-09-28
  • 打赏
  • 举报
回复
关注!!
KenyYu 2003-09-27
  • 打赏
  • 举报
回复
MEMORY卡有I2C协议的.CPU卡是7816协议
KenyYu 2003-09-27
  • 打赏
  • 举报
回复
你指什么卡?普通MENORY卡还是CPU卡?还是别的卡??型号有好多种.
windwood 2003-09-27
  • 打赏
  • 举报
回复
各位高手,是高手就不要晕,有什么建议可以提,一样加分。
W32API 2003-09-27
  • 打赏
  • 举报
回复
晕哦~~~~~~~~~~~~~~~~~

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧