%
CARDSERIES=SIEMENS卡系列:SLE
CARDSERIES=ATMEL卡系列:AT
CARDSERIES=END:END
%

%
CARDTYPE=SLE4404:sle4404.dat:100
CARDTYPE=SLE4406:sle4406.dat:100
CARDTYPE=SLE4442:sle4442.dat:100
CARDTYPE=SLE4428:sle4428.dat:100
CARDTYPE=AT24C01A:at24c01a.dat:100
CARDTYPE=AT24C02:at24c01a.dat:100
CARDTYPE=AT24C04:at24c16.dat:100
CARDTYPE=AT24C08:at24c16.dat:100
CARDTYPE=AT24C16:at24c16.dat:100
CARDTYPE=AT24C32:at24c64.dat:100
CARDTYPE=AT24C64:at24c64.dat:100
CARDTYPE=AT24C128:at24c128.dat:100
CARDTYPE=AT24C256:at24c128.dat:100
CARDTYPE=AT24C512:at24c512.dat:100
CARDTYPE=AT45D041:at45d041.dat:100
CARDTYPE=AT45DB161:AT45DB161.dat:100
CARDTYPE=AT88SC1604:AT88SC1604.dat:100
CARDTYPE=AT88SC1604B:AT88SC1604B.dat:100
CARDTYPE=AT88SC102:AT88SC102.dat:100
CARDTYPE=AT88SC153:at88sc153.dat:100
CARDTYPE=AT88SC1608:AT88SC1608.dat:100
CARDTYPE=CPUCARD:CPUCARD.dat:100
CARDTYPE=END:END:0
%

;====================================
;		SLE4404
;====================================
[SLE4404]
FUNCTION
;获取读卡器信息

ID=0

FUNC_INDEX=0x00

CMDTOMSR=0x50

TIMEOUT=100

FUNCTION
;查询卡

ID=1

FUNC_INDEX=0x00

CMDTOMSR=0x48

SEND(0)

TIMEOUT=1000

FUNCTION
;读数据

ID=2

FUNC_INDEX=0x01

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为1
$1$ADDRESS:CHAR:1
;参数2为CHAR型，长度为1
$2$RECBUFF_LEN:CHAR:1

TIMEOUT=5000

FUNCTION
;写数据

ID=3

FUNC_INDEX=0x02

CMDTOMSR=0x50

SEND(3)
;参数1为CHAR型，长度为1
$1$ADDRESS:CHAR:1
;参数2为CHAR型，长度为1
$2$SENDBUFF_LEN:CHAR:1
;参数3为CHAR型，长度等于SENDBUFF_LEN
$3$SENDBUFF:CHAR:=1

TIMEOUT=5000

FUNCTION
;擦除

ID=4

FUNC_INDEX=0x05

CMDTOMSR=0x50
  
SEND(1)
;参数1为CHAR型，长度为1
$1$ADDRESS:CHAR:1
TIMEOUT=5000


FUNCTION
;熔丝

ID=5

FUNC_INDEX=0x06

CMDTOMSR=0x50
  
SEND(0)
TIMEOUT=5000


FUNCTION
;修改用户密码和擦除密码

ID=6

FUNC_INDEX=0x04

CMDTOMSR=0x50
  
SEND(3)
;参数1为CHAR型，长度为1
$1$ADDRESS:CHAR:1
;参数2为CHAR型，长度为1
$2$SENDBUFF_LEN:CHAR:1
;参数3为CHAR型，长度等于SENDBUFF_LEN
$3$SENDBUFF:CHAR:=1
TIMEOUT=5000


FUNCTION
;校验密码

ID=7

FUNC_INDEX=0x03

CMDTOMSR=0x50
  
SEND(3)
;参数1为CHAR型，长度为1
$1$ADDRESS:CHAR:1
;参数2为CHAR型，长度为1
$2$SENDBUFF_LEN:CHAR:1
;参数3为CHAR型，长度等于SENDBUFF_LEN
$3$SENDBUFF:CHAR:=1

TIMEOUT=5000

FUNCTION
;模拟个人化操作

ID=8

FUNC_INDEX=0x07

CMDTOMSR=0x50
  
SEND(1)
;参数1为CHAR型，长度为1
$1$COMMAND:CHAR:1
TIMEOUT=1000

;====================================
;		SLE4406
;====================================
[SLE4406]
FUNCTION
;获取读卡器信息

ID=0

FUNC_INDEX=0x00

CMDTOMSR=0x50

TIMEOUT=100

FUNCTION
;查询卡

ID=1

FUNC_INDEX=0x00

CMDTOMSR=0x48

SEND(0)

TIMEOUT=1000

FUNCTION
;读数据

ID=2

FUNC_INDEX=0x01

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为1
$1$ADDRESS:CHAR:1
;参数2为CHAR型，长度为1
$2$RECBUFF_LEN:CHAR:1

TIMEOUT=5000

FUNCTION
;写数据

ID=3

FUNC_INDEX=0x02

CMDTOMSR=0x50

SEND(3)
;参数1为CHAR型，长度为1
$1$ADDRESS:CHAR:1
;参数2为CHAR型，长度为1
$2$SENDBUFF_LEN:CHAR:1
;参数3为CHAR型，长度等于SENDBUFF_LEN
$3$SENDBUFF:CHAR:=1

TIMEOUT=5000


FUNCTION
;校验密码

ID=7

FUNC_INDEX=0x03

CMDTOMSR=0x50

SEND(1)
$1$SENDBUFF:CHAR:=1

TIMEOUT=5000



FUNCTION
;借位式擦除

ID=5

FUNC_INDEX=0x05

CMDTOMSR=0x50

SEND(1)
;参数1为CHAR型，长度为1
$1$ADDRESS:CHAR:1
TIMEOUT=5000


FUNCTION
;卡数据个性化处理

ID=6

FUNC_INDEX=0x06

CMDTOMSR=0x50

SEND(0)

TIMEOUT=5000

;====================================
;		SLE4428
;====================================
[SLE4428]

FUNCTION
;获取读卡器信息

ID=0

FUNC_INDEX=0x00

CMDTOMSR=0x50

TIMEOUT=100

FUNCTION
;查询卡

ID=1

FUNC_INDEX=0x00

CMDTOMSR=0x48

SEND(0)

TIMEOUT=100

FUNCTION
;写数据

ID=2

FUNC_INDEX=0x02

CMDTOMSR=0x50

SEND(3)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度为1
$2$SENDBUFF_LEN:CHAR:1
;参数3为CHAR型，长度等于SENDBUFF_LEN
$3$SENDBUFF:CHAR:=2

TIMEOUT=5000

FUNCTION
;读存储区数据

ID=3

FUNC_INDEX=0x01

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度为1
$2$RECBUFF_LEN:CHAR:1

TIMEOUT=1000

FUNCTION
;带保护位读存储区数据

ID=4

FUNC_INDEX=0x03

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度为1
$2$RECBUFF_LEN:CHAR:1

TIMEOUT=1000

FUNCTION
;带保护位写存储区

ID=5

FUNC_INDEX=0x04

CMDTOMSR=0x50

SEND(3)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度为1
$2$SENDBUFF_LEN:CHAR:1
;参数3为CHAR型，长度等于SENDBUFF_LEN
$3$SENDBUFF:CHAR:=2

TIMEOUT=1000

FUNCTION
;比较数据然后带保护位写存储区

ID=6

FUNC_INDEX=0x05

CMDTOMSR=0x50

SEND(3)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度为1
$2$SENDBUFF_LEN:CHAR:1
;参数3为CHAR型，长度等于SENDBUFF_LEN
$3$SENDBUFF:CHAR:=2

TIMEOUT=1000

FUNCTION
;校验密码

ID=7

FUNC_INDEX=0x06

CMDTOMSR=0x50

SEND(1)
;参数1为CHAR型，长度等于2
$1$SENDBUFF:CHAR:2

TIMEOUT=5000

FUNCTION
;修改密码

ID=8

FUNC_INDEX=0x07

CMDTOMSR=0x50

SEND(1)
;参数1为CHAR型，长度等于2
$1$SENDBUFF:CHAR:2

TIMEOUT=5000

;====================================
;		SLE4442
;====================================
[SLE4442]

FUNCTION
;获取读卡器信息

ID=0

FUNC_INDEX=0x00

CMDTOMSR=0x50

TIMEOUT=100

FUNCTION
;查询卡

ID=1

FUNC_INDEX=0x00

CMDTOMSR=0x48

SEND(0)

TIMEOUT=100

FUNCTION
;写数据

ID=2

FUNC_INDEX=0x02

CMDTOMSR=0x50

SEND(3)
;参数1为CHAR型，长度为1
$1$ADDRESS:CHAR:1
;参数2为CHAR型，长度为1
$2$SENDBUFF_LEN:CHAR:1
;参数3为CHAR型，长度等于SENDBUFF_LEN
$3$SENDBUFF:CHAR:=2


TIMEOUT=5000

FUNCTION
;读主存储区数据

ID=3

FUNC_INDEX=0x01

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为1
$1$ADDRESS:CHAR:1
;参数2为CHAR型，长度为1
$2$RECBUFF_LEN:CHAR:1

TIMEOUT=1000

FUNCTION
;读保护存储区数据

ID=4

FUNC_INDEX=0x03

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为1
$1$ADDRESS:CHAR:1
;参数2为CHAR型，长度为1
$2$RECBUFF_LEN:CHAR:1

TIMEOUT=1000

FUNCTION
;写保护存储区

ID=5

FUNC_INDEX=0x04

CMDTOMSR=0x50

SEND(3)
;参数1为CHAR型，长度为1
$1$ADDRESS:CHAR:1
;参数2为CHAR型，长度为1
$2$SENDBUFF_LEN:CHAR:1
;参数3为CHAR型，长度等于SENDBUFF_LEN
$3$SENDBUFF:CHAR:=2

TIMEOUT=1000

FUNCTION
;读密码

ID=6

FUNC_INDEX=0x05

CMDTOMSR=0x50

SEND(0)

TIMEOUT=1000

FUNCTION
;校验密码

ID=7

FUNC_INDEX=0x06

CMDTOMSR=0x50

SEND(1)
;参数1为CHAR型，长度等于3
$1$SENDBUFF:CHAR:3

TIMEOUT=5000

FUNCTION
;修改指定地址密码位

ID=8

FUNC_INDEX=0x07

CMDTOMSR=0x50

SEND(1)
;参数1为CHAR型，长度等于3
$1$SENDBUFF:CHAR:3

TIMEOUT=5000

FUNCTION
;识别卡型,用于SLE442,AT45D041,AT45DB161

ID=9

FUNC_INDEX=0x08

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为1
$1$ADDRESS:CHAR:1
;参数2为CHAR型，长度为1
$2$RECBUFF_LEN:CHAR:1

TIMEOUT=1000

;====================================
	      ATMEL系列卡
;====================================
[AT24C01A]
[AT24C02]
[AT24C04]
[AT24C08]
[AT24C16]
[AT24C32]
[AT24C64]
[AT24C128]
[AT24C256]
[AT24C512]
FUNCTION
;获取读卡器信息

ID=0

FUNC_INDEX=0x00

CMDTOMSR=0x50

TIMEOUT=100

FUNCTION
;查询卡

ID=1

FUNC_INDEX=0x00

CMDTOMSR=0x48

SEND(0)

TIMEOUT=100

FUNCTION
;读数据

ID=2

FUNC_INDEX=0x01

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度为1
$2$RECBUFF_LEN:CHAR:1

TIMEOUT=1000

FUNCTION
;写数据

ID=3

FUNC_INDEX=0x02

CMDTOMSR=0x50

SEND(3)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度为1
$2$SENDBUFF_LEN:CHAR:1
;参数3为CHAR型，长度等于SENDBUFF_LEN
$3$SENDBUFF:CHAR:=2

TIMEOUT=5000

;====================================
;	AT45D041 AT45DB041
;====================================

[AT45D041]
FUNCTION
;获取读卡器信息

ID=0

FUNC_INDEX=0x00

CMDTOMSR=0x50

TIMEOUT=100

FUNCTION
;查询卡

ID=1

FUNC_INDEX=0x00

CMDTOMSR=0x48

SEND(0)

TIMEOUT=100

FUNCTION
;读数据

ID=2

FUNC_INDEX=0x01

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:4
;参数2为CHAR型，长度为1
$2$RECBUFF_LEN:CHAR:2

TIMEOUT=10000

FUNCTION
;写数据

ID=3

FUNC_INDEX=0x02

CMDTOMSR=0x50

SEND(3)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:4
;参数2为CHAR型，长度为1
$2$SENDBUFF_LEN:CHAR:2
;参数3为CHAR型，长度等于SENDBUFF_LEN
$3$SENDBUFF:CHAR:=2


TIMEOUT=10000

;*************从某一页开始擦除N(参数2)个页**************
FUNCTION

ID=4

FUNC_INDEX=0x03

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度为2
$2$SENDBUFF_LEN:CHAR:2

TIMEOUT=25000		
;如果擦除整张卡，那么需要比较长的时间

;***************读状态寄存器*******************
FUNCTION

ID=5

FUNC_INDEX=0x04

CMDTOMSR=0x50

SEND(0)

TIMEOUT=50

;===========页读读多页======================
FUNCTION

ID=6

FUNC_INDEX=0x05

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:5
;参数2为CHAR型，长度为1
$2$RECBUFF_LEN:CHAR:2

TIMEOUT=5000

;===========页写写多页======================
FUNCTION

ID=7

FUNC_INDEX=0x06

CMDTOMSR=0x50

SEND(3)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:5
;参数2为CHAR型，长度为1
$2$SENDBUFF_LEN:CHAR:2
;参数3为CHAR型，长度等于SENDBUFF_LEN
$3$SENDBUFF:CHAR:=2

TIMEOUT=5000

FUNCTION
;识别卡型,用于SLE4442,AT45D041,AT45DB161

ID=8

FUNC_INDEX=0x07

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为1
$1$ADDRESS:CHAR:1
;参数2为CHAR型，长度为1
$2$RECBUFF_LEN:CHAR:1

TIMEOUT=1000

;====================================
;	   AT45DB161
;====================================

[AT45DB161]
FUNCTION
;获取读卡器信息

ID=0

FUNC_INDEX=0x00

CMDTOMSR=0x50

TIMEOUT=100

FUNCTION
;查询卡

ID=1

FUNC_INDEX=0x00

CMDTOMSR=0x48

SEND(0)

TIMEOUT=100
;*************读数据**************
FUNCTION
;读数据

ID=2

FUNC_INDEX=0x01

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为4
$1$ADDRESS:CHAR:4
;参数2为CHAR型，长度为1
$2$RECBUFF_LEN:CHAR:2

TIMEOUT=1000
;*************写数据**************
FUNCTION
;写数据

ID=3

FUNC_INDEX=0x02

CMDTOMSR=0x50

SEND(3)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:4
;参数2为CHAR型，长度为1
$2$SENDBUFF_LEN:CHAR:2
;参数3为CHAR型，长度等于SENDBUFF_LEN
$3$SENDBUFF:CHAR:=2


TIMEOUT=5000
;*************从某一页开始擦除N(参数2)个页**************
FUNCTION

ID=4

FUNC_INDEX=0x03

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度为2
$2$SENDBUFF_LEN:CHAR:2

TIMEOUT=25000		
;如果擦除整张卡，那么需要比较长的时间
;***************读状态寄存器*******************
FUNCTION

ID=5

FUNC_INDEX=0x04

CMDTOMSR=0x50

SEND(0)

TIMEOUT=50

FUNCTION
;识别卡型,用于SLE4442,AT45D041,AT45DB161

ID=8

FUNC_INDEX=0x07

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为1
$1$ADDRESS:CHAR:1
;参数2为CHAR型，长度为1
$2$RECBUFF_LEN:CHAR:1

TIMEOUT=1000


[AT45DB161V20]
FUNCTION
;获取读卡器信息

ID=0

FUNC_INDEX=0x00

CMDTOMSR=0x50

TIMEOUT=100

FUNCTION
;查询卡

ID=1

FUNC_INDEX=0x00

CMDTOMSR=0x48

SEND(0)

TIMEOUT=100
;*************读数据**************
FUNCTION
;读数据

ID=2

FUNC_INDEX=0x01

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为4
$1$ADDRESS:CHAR:4
;参数2为CHAR型，长度为1
$2$RECBUFF_LEN:CHAR:2

TIMEOUT=1000
;*************写数据**************
FUNCTION
;写数据

ID=3

FUNC_INDEX=0x02

CMDTOMSR=0x50

SEND(3)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:4
;参数2为CHAR型，长度为1
$2$SENDBUFF_LEN:CHAR:2
;参数3为CHAR型，长度等于SENDBUFF_LEN
$3$SENDBUFF:CHAR:=2


TIMEOUT=5000
;*************从某一页开始擦除N(参数2)个页**************
FUNCTION

ID=4

FUNC_INDEX=0x03

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度为2
$2$SENDBUFF_LEN:CHAR:2

TIMEOUT=25000		
;如果擦除整张卡，那么需要比较长的时间
;***************读状态寄存器*******************
FUNCTION

ID=5

FUNC_INDEX=0x04

CMDTOMSR=0x50

SEND(0)

TIMEOUT=50

;====================================
;	   AT88SC1604
;====================================
[AT88SC1604]

FUNCTION
;获取读卡器信息

ID=0

FUNC_INDEX=0x00

CMDTOMSR=0x50

TIMEOUT=100

FUNCTION
;查询卡

ID=1

FUNC_INDEX=0x00

CMDTOMSR=0x48

SEND(0)

TIMEOUT=100
;*********************************************
FUNCTION
;读数据

ID=2

FUNC_INDEX=0x01

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度为1
$2$RECBUFF_LEN:CHAR:1

TIMEOUT=1000

;*********************************************
FUNCTION
;写数据

ID=3

FUNC_INDEX=0x02

CMDTOMSR=0x50

SEND(3)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度为1
$2$SENDBUFF_LEN:CHAR:1
;参数3为CHAR型，长度等于SENDBUFF_LEN
$3$SENDBUFF:CHAR:=2

TIMEOUT=5000

;***********************************************
FUNCTION
;擦除一个字
ID=4

FUNC_INDEX=0x03

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度为1
$2$SENDBUFF_LEN:CHAR:1

TIMEOUT=1000

;************************************************
FUNCTION
;校验密码

ID=5

FUNC_INDEX=0x04

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度等于2
$1$SENDBUFF:CHAR:2

TIMEOUT=5000
;************************************************

FUNCTION
;修改密码

ID=6

FUNC_INDEX=0x05

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度等于2
$1$SENDBUFF:CHAR:2

TIMEOUT=5000
;****************************************************
FUNCTION
;模拟熔断

ID=7

FUNC_INDEX=0x06

CMDTOMSR=0x50

SEND(1)
;参数1为CHAR型，长度等于1
$1$SENDBUFF:CHAR:1

TIMEOUT=5000
;************************************************
FUNCTION
;熔断操作

ID=8

FUNC_INDEX=0x07

CMDTOMSR=0x50

SEND(1)
;参数1为CHAR型，长度等于1
$1$SENDBUFF:CHAR:1

TIMEOUT=5000
;************************************************

FUNCTION
;清读保护位为0

ID=9

FUNC_INDEX=0x08

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为1
$1$ADDRESS:CHAR:1
;参数2为CHAR型，长度等于1
$1$SENDBUFF:CHAR:1

TIMEOUT=5000
;***********************************************

FUNCTION
;清写保护位为0

ID=10

FUNC_INDEX=0x09

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为1
$1$ADDRESS:CHAR:1
;参数2为CHAR型，长度等于1
$1$SENDBUFF:CHAR:1

TIMEOUT=5000
;***********************************************

FUNCTION
;读写保护位置为1

ID=11

FUNC_INDEX=0x0A

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为1
$1$ADDRESS:CHAR:1
;参数2为CHAR型，长度等于1
$1$SENDBUFF:CHAR:1

TIMEOUT=5000

;====================================
;	   AT88SC1604B
;====================================

[AT88SC1604B]

FUNCTION
;获取读卡器信息

ID=0

FUNC_INDEX=0x00

CMDTOMSR=0x50

TIMEOUT=100

FUNCTION
;查询卡

ID=1

FUNC_INDEX=0x00

CMDTOMSR=0x48

SEND(0)

TIMEOUT=100
;*********************************************
FUNCTION
;读数据

ID=2

FUNC_INDEX=0x01

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度为1
$2$RECBUFF_LEN:CHAR:1

TIMEOUT=1000

;*********************************************
FUNCTION
;写数据

ID=3

FUNC_INDEX=0x02

CMDTOMSR=0x50

SEND(3)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度为1
$2$SENDBUFF_LEN:CHAR:1
;参数3为CHAR型，长度等于SENDBUFF_LEN
$3$SENDBUFF:CHAR:=2

TIMEOUT=5000

;***********************************************
FUNCTION
;擦除一个字
ID=4

FUNC_INDEX=0x03

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度为1
$2$SENDBUFF_LEN:CHAR:1

TIMEOUT=1000

;************************************************
FUNCTION
;校验密码

ID=5

FUNC_INDEX=0x04

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度等于2
$1$SENDBUFF:CHAR:2

TIMEOUT=5000
;************************************************

FUNCTION
;修改密码

ID=6

FUNC_INDEX=0x05

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度等于2
$1$SENDBUFF:CHAR:2

TIMEOUT=5000
;****************************************************
FUNCTION
;模拟熔断

ID=7

FUNC_INDEX=0x06

CMDTOMSR=0x50

SEND(1)
;参数1为CHAR型，长度等于1
$1$SENDBUFF:CHAR:1

TIMEOUT=5000
;************************************************
FUNCTION
;熔断操作

ID=8

FUNC_INDEX=0x07

CMDTOMSR=0x50

SEND(1)
;参数1为CHAR型，长度等于1
$1$SENDBUFF:CHAR:1

TIMEOUT=5000
;************************************************

FUNCTION
;清读保护位为0

ID=9

FUNC_INDEX=0x08

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为1
$1$ADDRESS:CHAR:1
;参数2为CHAR型，长度等于1
$1$SENDBUFF:CHAR:1

TIMEOUT=5000
;***********************************************

FUNCTION
;清写保护位为0

ID=10

FUNC_INDEX=0x09

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为1
$1$ADDRESS:CHAR:1
;参数2为CHAR型，长度等于1
$1$SENDBUFF:CHAR:1

TIMEOUT=5000
;***********************************************

FUNCTION
;读写保护位置为1

ID=11

FUNC_INDEX=0x0A

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为1
$1$ADDRESS:CHAR:1
;参数2为CHAR型，长度等于1
$1$SENDBUFF:CHAR:1

TIMEOUT=5000

;====================================
;	   AT88SC102
;====================================
[AT88SC102]

FUNCTION
;获取读卡器信息

ID=0

FUNC_INDEX=0x00

CMDTOMSR=0x50

TIMEOUT=100

FUNCTION
;查询卡

ID=1

FUNC_INDEX=0x00

CMDTOMSR=0x48

SEND(0)

TIMEOUT=100

;********************读卡**************************
FUNCTION
;读主存储区数据

ID=2

FUNC_INDEX=0x01

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为1
$1$ADDRESS:CHAR:1
;参数2为CHAR型，长度为1
$2$RECBUFF_LEN:CHAR:1

TIMEOUT=1000
;***************************************************


;*******************写卡****************************
FUNCTION
;写数据

ID=3

FUNC_INDEX=0x02

CMDTOMSR=0x50

SEND(3)
;参数1为CHAR型，长度为1
$1$ADDRESS:CHAR:1
;参数2为CHAR型，长度为1
$2$SENDBUFF_LEN:CHAR:1
;参数3为CHAR型，长度等于SENDBUFF_LEN
$3$SENDBUFF:CHAR:=2

TIMEOUT=5000
;****************************************************

;******************擦卡******************************
FUNCTION
;擦除一个字(16bits)
ID=4

FUNC_INDEX=0x03

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为1
$1$ADDRESS:CHAR:1
;参数2为CHAR型，长度为1
$2$SENDBUFF_LEN:CHAR:1

TIMEOUT=1000
;****************************************************

;*************校验用户密码***************************
FUNCTION
;校验密码

ID=5

FUNC_INDEX=0x04

CMDTOMSR=0x50

SEND(1)
;参数1为CHAR型，长度等于2
$1$SENDBUFF:CHAR:2

TIMEOUT=5000
;****************************************************

;***********校验应用区1密码**************************
FUNCTION
;校验应用区1密码

ID=6

FUNC_INDEX=0x05

CMDTOMSR=0x50

SEND(1)
;参数1为CHAR型，长度等于6
$1$SENDBUFF:CHAR:6

TIMEOUT=5000
;****************************************************

;**********校验应用区2密码***************************
FUNCTION
;校验应用区2密码

ID=7

FUNC_INDEX=0x06

CMDTOMSR=0x50

SEND(1)
;参数1为CHAR型，长度等于4
$1$SENDBUFF:CHAR:4

TIMEOUT=5000
;****************************************************

;*************修改用户密码***************************
FUNCTION
;校验密码

ID=8

FUNC_INDEX=0x07

CMDTOMSR=0x50

SEND(1)
;参数1为CHAR型，长度等于2
$1$SENDBUFF:CHAR:2

TIMEOUT=5000
;****************************************************

;*************修改应用一区擦除密码*******************
FUNCTION
;校验密码

ID=9

FUNC_INDEX=0x08

CMDTOMSR=0x50

SEND(1)
;参数1为CHAR型，长度等于6
$1$SENDBUFF:CHAR:6

TIMEOUT=5000
;******************************************************

;*************修改应用二区擦除密码*******************
FUNCTION
;校验密码

ID=10

FUNC_INDEX=0x09

CMDTOMSR=0x50

SEND(1)
;参数1为CHAR型，长度等于4
$1$SENDBUFF:CHAR:4

TIMEOUT=5000
;******************************************************

;****************模拟熔断******************************
FUNCTION
;模拟熔断

ID=11

FUNC_INDEX=0x0a

CMDTOMSR=0x50

SEND(1)
;参数1为CHAR型，长度等于1
$1$SENDBUFF:CHAR:1

TIMEOUT=5000

;***************熔断熔丝********************************
FUNCTION

ID=12

FUNC_INDEX=0x0b

CMDTOMSR=0x50

SEND(1)
;参数1为CHAR型，长度等于1
$1$SENDBUFF:CHAR:1

TIMEOUT=5000
;********************************************************

;*****************清读保护位(置读保护位为0)*************************
FUNCTION
;清读保护位

ID=13

FUNC_INDEX=0x0c

CMDTOMSR=0x50

SEND(1)
;参数1为CHAR型，长度等于1
$1$SENDBUFF:CHAR:1

TIMEOUT=5000

;*****************清写保护位(置写保护位为0)*************************
FUNCTION
;清写保护位

ID=14

FUNC_INDEX=0x0D

CMDTOMSR=0x50

SEND(1)
;参数1为CHAR型，长度等于1
$1$SENDBUFF:CHAR:1

TIMEOUT=5000
;*****************************************************

;====================================
;	   AT88SC153
;====================================
;========================================
[AT88SC153]

FUNCTION
;获取读卡器信息

ID=0

FUNC_INDEX=0x00

CMDTOMSR=0x50

TIMEOUT=100

FUNCTION
;查询卡

ID=1

FUNC_INDEX=0x00

CMDTOMSR=0x48

SEND(0)

TIMEOUT=100
;******************读数据***********************
FUNCTION

ID=2

FUNC_INDEX=0x01

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为1
$1$ADDRESS:CHAR:1
;参数2为CHAR型，长度为1
$2$RECBUFF_LEN:CHAR:1

TIMEOUT=1000

;*****************写数据*************************
FUNCTION

ID=3

FUNC_INDEX=0x02

CMDTOMSR=0x50

SEND(3)
;参数1为CHAR型，长度为1
$1$ADDRESS:CHAR:1
;参数2为CHAR型，长度为1
$2$SENDBUFF_LEN:CHAR:1
;参数3为CHAR型，长度等于SENDBUFF_LEN
$3$SENDBUFF:CHAR:=2

TIMEOUT=5000

;****************校验密码***********************
FUNCTION

ID=4

FUNC_INDEX=0x03

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度等于3
$1$SENDBUFF:CHAR:3

TIMEOUT=5000
;****************修改密码************************
FUNCTION

ID=5

FUNC_INDEX=0x04

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度等于3
$1$SENDBUFF:CHAR:3

TIMEOUT=5000

;***************配置访问权限寄存器************************************
FUNCTION

ID=6

FUNC_INDEX=0x05

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度等于1
$1$SENDBUFF:CHAR:1

TIMEOUT=5000

;*************配置DCR(设备配置寄存器)*********************
FUNCTION

ID=7

FUNC_INDEX=0x06

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为1
$1$ADDRESS:CHAR:1
;参数2为CHAR型，长度等于1
$1$SENDBUFF:CHAR:1

TIMEOUT=5000

;***************读AR寄存器********************************
FUNCTION

ID=8

FUNC_INDEX=0x07

CMDTOMSR=0x50

SEND(0)

TIMEOUT=5000

;*******************读熔断丝*****************************
FUNCTION

ID=9

FUNC_INDEX=0x08

CMDTOMSR=0x50

SEND(0)

TIMEOUT=5000

;*******************熔断熔丝******************************
FUNCTION

ID=10

FUNC_INDEX=0x09

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为1
$1$SENDBUFF:CHAR:1
;参数2为CHAR型，长度为1
$2$SENDBUFF_LEN:CHAR:1

TIMEOUT=5000

;***************执行安全认证*******************************
FUNCTION

ID=11

FUNC_INDEX=0x0a

CMDTOMSR=0x50

SEND(1)
;参数1为CHAR型，长度为1
$1$SENDBUFF:CHAR:1
TIMEOUT=5000


;========================================
;========================================
[AT88SC1608]

FUNCTION
;获取读卡器信息

ID=0

FUNC_INDEX=0x00

CMDTOMSR=0x50

TIMEOUT=100

FUNCTION
;查询卡

ID=1

FUNC_INDEX=0x00

CMDTOMSR=0x48

SEND(0)

TIMEOUT=100
;******************读数据***********************
FUNCTION

ID=2

FUNC_INDEX=0x01

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度为2
$2$RECBUFF_LEN:CHAR:2

TIMEOUT=1000

;*****************写数据*************************
FUNCTION

ID=3

FUNC_INDEX=0x02

CMDTOMSR=0x50

SEND(3)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度为2
$2$SENDBUFF_LEN:CHAR:2
;参数3为CHAR型，长度等于SENDBUFF_LEN
$3$SENDBUFF:CHAR:=2

TIMEOUT=5000

;****************校验密码***********************
FUNCTION

ID=4

FUNC_INDEX=0x03

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度等于3
$1$SENDBUFF:CHAR:3

TIMEOUT=5000

;**************配置AR寄存器***********************
FUNCTION

ID=6

FUNC_INDEX=0x05

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度等于1
$1$SENDBUFF:CHAR:1

TIMEOUT=5000

;***************读配置区*******************************
FUNCTION

ID=9

FUNC_INDEX=0x08

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度为1
$2$RECBUFF_LEN:CHAR:1

TIMEOUT=5000

;*****************熔断熔丝*************************
FUNCTION

ID=10

FUNC_INDEX=0x09

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为1
$1$SENDBUFF:CHAR:1
;参数2为CHAR型，长度为1
$2$SENDBUFF_LEN:CHAR:1

TIMEOUT=5000

;***************执行安全认证*******************************
FUNCTION

ID=11

FUNC_INDEX=0x0b

CMDTOMSR=0x50

SEND(1)
;参数1为CHAR型，长度为1
$1$SENDBUFF:CHAR:1
TIMEOUT=5000

;*****************写配置区*************************
FUNCTION

ID=12

FUNC_INDEX=0x0a

CMDTOMSR=0x50

SEND(3)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度为1
$2$SENDBUFF_LEN:CHAR:1
;参数3为CHAR型，长度等于SENDBUFF_LEN
$3$SENDBUFF:CHAR:1

TIMEOUT=5000


;==================================================
;====================================
;	   CPU 卡
;====================================
[CPUCARD]

FUNCTION
;获取读卡器信息

ID=0

FUNC_INDEX=0x00

CMDTOMSR=0x50

TIMEOUT=100

FUNCTION
;查询卡

ID=1

FUNC_INDEX=0x00

CMDTOMSR=0x48

SEND(0)

TIMEOUT=100

FUNCTION
;读数据

ID=2

FUNC_INDEX=0x01

CMDTOMSR=0x50

SEND(2)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度为1
$2$RECBUFF_LEN:CHAR:1

TIMEOUT=1000

FUNCTION
;写数据

ID=3

FUNC_INDEX=0x01

CMDTOMSR=0x50

SEND(3)
;参数1为CHAR型，长度为2
$1$ADDRESS:CHAR:2
;参数2为CHAR型，长度为1
$2$SENDBUFF_LEN:CHAR:1
;参数3为CHAR型，长度等于SENDBUFF_LEN
$3$SENDBUFF:CHAR:=2


TIMEOUT=5000




