单片机控制AT88SC1604卡的应用实例
对芯片的任何一个允许写入或擦除的区域,其执行写入和擦除的必要条件是芯片的SV标志为“1”状态。
注:在CLK为低的状态下,PGM端从“0”到“1”,并延时一段“编程建立时间”(Tspr)之后,CLK端从“0”到“1”(这时是写入/擦除操作的开始),在此刻之前的Tds(数据建立时间)由外部向I/O线给出写入数据。CLK端在“1”状态应至少保持5ms(Tchp)之后,CLK端从“1”到“0”(这时是写入/擦除操作的结束)。应特别注意结束写入操作的CLK端的下降沿并不会使地址计数器加1,而只是将刚写入的“数据”读出, 以便外部验证刚才的“写入操作”。
WICD: MOV A,#KDWDZ ;送擦除卡低位首地址
LCALL SADR ;寻位地址
MOV R2,#30 ;擦除30字节
LCALL CPESC3 ;擦除
MOV R0,#RAMDZ ;CPU的RAM中待写
入数据地址
MOV R2,#30 ;写入30字节
WICDA: MOV A,@R0
LCALL WICDAA
INC R0
DJNZ R2,WICDA
RET
; 向IC卡写入子程序
WICDAA: MOV R3,#08
WICDAB: RLC A
JC WICDAC ;该位为1,转
SETB ICPGM ;打开编程位
SETB ICPGM
MOV ICSDA,C
MOV ICSDA,C
SETB ICCLK
SETB ICCLK
CLR ICPGM ;关闭编程位
CLR ICPGM ;关闭编程位
LCALL DELY5 ;延时5MS
CLR ICCLK
CLR ICCLK
WICDAC: SETB ICCLK
SETB ICCLK
CLR ICCLK
DJNZ R3,WICDAB
RET
; 擦除应用区1
CPESC3: SETB ICPGM ;打开编程位,擦除灰名
单入口
SETB ICPGM
SETB ICSDA
SETB ICSDA
SETB ICCLK
SETB ICCLK
CLR ICPGM ;关闭编程位
LCALL DELY5 ;延时5MS
CLR ICCLK
CLR ICCLK
SETB ICCLK
SETB ICCLK
CLR ICCLK
MOV R3,#07
CPESC4: SETB ICCLK
SETB ICCLK
CLR ICCLK
CLR ICCLK
DJNZ R3,CPESC4
DJNZ R2,CPESC3
RET
; 延时(R7)
DELY5: MOV R7,#0AH ;5毫秒延时
DELY: PUSH 07
DLY1: PUSH 07
DLY2: PUSH 07
DLY3: DJNZ R7,DLY3
POP 07
DJNZ R7,DLY2
POP 07
DJNZ R7,DLY1
POP 07
DJNZ R7,DELY
RET
结束语
随着IC卡技术的飞速发展,金融机构、国家机关、公司企业、教育部门等领域的需求越来越迫切,应用越来越广泛。
液位计相关文章:磁翻板液位计原理
评论