單片機控制AT88SC1604卡的應(yīng)用實例
對芯片的任何一個允許寫入或擦除的區(qū)域,其執(zhí)行寫入和擦除的必要條件是芯片的SV標志為“1”狀態(tài)。
注:在CLK為低的狀態(tài)下,PGM端從“0”到“1”,并延時一段“編程建立時間”(Tspr)之后,CLK端從“0”到“1”(這時是寫入/擦除操作的開始),在此刻之前的Tds(數(shù)據(jù)建立時間)由外部向I/O線給出寫入數(shù)據(jù)。CLK端在“1”狀態(tài)應(yīng)至少保持5ms(Tchp)之后,CLK端從“1”到“0”(這時是寫入/擦除操作的結(jié)束)。應(yīng)特別注意結(jié)束寫入操作的CLK端的下降沿并不會使地址計數(shù)器加1,而只是將剛寫入的“數(shù)據(jù)”讀出, 以便外部驗證剛才的“寫入操作”。
WICD: MOV A,#KDWDZ ;送擦除卡低位首地址
LCALL SADR ;尋位地址
MOV R2,#30 ;擦除30字節(jié)
LCALL CPESC3 ;擦除
MOV R0,#RAMDZ ;CPU的RAM中待寫
入數(shù)據(jù)地址
MOV R2,#30 ;寫入30字節(jié)
WICDA: MOV A,@R0
LCALL WICDAA
INC R0
DJNZ R2,WICDA
RET
; 向IC卡寫入子程序
WICDAA: MOV R3,#08
WICDAB: RLC A
JC WICDAC ;該位為1,轉(zhuǎn)
SETB ICPGM ;打開編程位
SETB ICPGM
MOV ICSDA,C
MOV ICSDA,C
SETB ICCLK
SETB ICCLK
CLR ICPGM ;關(guān)閉編程位
CLR ICPGM ;關(guān)閉編程位
LCALL DELY5 ;延時5MS
CLR ICCLK
CLR ICCLK
WICDAC: SETB ICCLK
SETB ICCLK
CLR ICCLK
DJNZ R3,WICDAB
RET
; 擦除應(yīng)用區(qū)1
CPESC3: SETB ICPGM ;打開編程位,擦除灰名
單入口
SETB ICPGM
SETB ICSDA
SETB ICSDA
SETB ICCLK
SETB ICCLK
CLR ICPGM ;關(guān)閉編程位
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
結(jié)束語
隨著IC卡技術(shù)的飛速發(fā)展,金融機構(gòu)、國家機關(guān)、公司企業(yè)、教育部門等領(lǐng)域的需求越來越迫切,應(yīng)用越來越廣泛。
液位計相關(guān)文章:磁翻板液位計原理
評論