單片機控制AT88SC1604卡的應用實例
該區(qū)對連續(xù)輸入的錯誤密碼的次數(shù)進行累計。當連續(xù)8次不正確的比較操作之后,芯片將被鎖死。芯片被鎖死之后,將拒絕任何的擦除、寫入和比較的操作命令。
該區(qū)是8位長,按位寫入方式操作。在芯片初始化時是全“1”狀態(tài),即讀出值為“FFH”。在每次比較輸入的密碼時,先按從高位到低位的順序找第一個為“1”的位,將此位寫“0”,然后將新輸入的“校驗密碼”與原存儲在SC區(qū)的“參照字”進行比較。比較操作本身由芯片內(nèi)部自行完成,而比較結(jié)果則通過置SV標志來判別,即比較成功時SV被置“1”。比較不成功,SV保持原來的“0”狀態(tài)。在連續(xù)8次比較錯誤過程中每次比較操作之后計數(shù)器的計數(shù)值分別為“7FH”、“3FH”、“1FH”、“0FH”、“07H”、“03H”、“01H”、“00H”。當計數(shù)器為“00H”后,后續(xù)的比較操作命令由于無法在“SCAC”區(qū)中找到一個為“1”的位,因而芯片拒絕繼續(xù)執(zhí)行比較操作。
SnAC(n=1,2,3,4)的作用與SCAC是類似的。操作控制也完全一樣。只是SCAC是限制對SC區(qū)的比較操作。而SnAC則限制對SCn區(qū)的比較操作。SCAC的控制級別最高。當SCAC為“00H”后,芯片內(nèi)部封鎖了對SC區(qū)的比較操作,從而使對SCn的比較也被禁止。如果SCAC為非“00H”值,在對SC區(qū)的比較密碼操作成功之后,SCn能否進行比較操作就由SnAC區(qū)的狀態(tài)值來決定。SnAC區(qū)在連續(xù)8次比較輸入過程中,每次比較操作之后計數(shù)器的計數(shù)值與SCAC的8個值一樣。(即分別為“7FH”、“3FH”、“1FH”、“0FH”、“07H”、“03H”、“OlH”、“00H”)當SnAC為“00H”時,則“應用n區(qū)”將被鎖死。
(6)擦除密碼區(qū)(EZn ,n=l.2,3,4)
該區(qū)用于存儲擦除應用區(qū)操作的控制密碼。這些密碼一般由發(fā)行商使用。在個人化處理時輸入的最后一組“擦除密碼”,在芯片熔絲FUSE2熔斷之后將使“擦除密碼”保存在該區(qū)內(nèi)。該區(qū)不再能讀出、寫入和擦除,只能進行比較操作。在使用過程中如需對應用區(qū)進行擦除操作,都必須首先對相應的EZ區(qū)輸送一個“擦除密碼”與之比較,在“擦除密碼比較計數(shù)器”不為“00H”的情況下,如果相比較的兩代碼完全一致,則相應的應用區(qū)的單元允許擦除,否則將禁止執(zhí)行擦除操作。
(7) 擦除密碼比較計數(shù)區(qū)(EnAC ,n=l,2,3,4)
擦除密碼比較計數(shù)區(qū)的作用與SCAC的作用相類似。它對各應用區(qū)擦除密碼連續(xù)輸入錯誤的次數(shù)進行累計。最多連續(xù)8次不正確的密碼比較之后,該區(qū)所控制的應用區(qū)的擦除操作即被鎖死,從而導致該應用區(qū)有可能成為只讀和允許單次寫入的狀態(tài)。
(8) 應用數(shù)據(jù)區(qū)(AZn ,n=1,2,3,4)
該區(qū)主要給用戶使用。用于存儲系統(tǒng)的相關數(shù)據(jù)記錄和卡片標識等信息。應用數(shù)據(jù)區(qū)的寫入與讀出分別由該區(qū)的前兩位Pn和Rn以及SV標志的狀態(tài)控制,擦除操作則由該區(qū)的擦除密碼控制。AT88SC1604設計了四個完全隔離的分區(qū),其中1至3分區(qū)的單元容量分別是4K位、第4分區(qū)的單元容量為3.6K位。
(9) 存儲區(qū)測試區(qū)(MTZ)
該區(qū)主要用于芯片生產(chǎn)后對EEPROM單元陣列進行各項性能測試該區(qū)不受任何控制區(qū)狀態(tài)和標志狀態(tài)的保護,允許對這個區(qū)進行讀出、寫人和擦除操作,但不能進行比較操作。
應用實例
基于上述1604芯片的特點,在石化系統(tǒng)的加油電路設計中,我們利用單片機芯片89C2051與IC卡電路組成一個獨立系統(tǒng),控制IC卡芯片的各項操作,該系統(tǒng)通過標準RS232通訊接口,與主控制板實現(xiàn)數(shù)據(jù)交換,這種電路設計在硬件方面兼容性較好,只要通過協(xié)調(diào)雙方的IC卡通訊協(xié)議,可與任何帶有RS232接口的控制板或微機相連接。
單片機芯片89C2051的6個端口通過IOC卡座與IC卡相連接,P1.2口控制IC卡5V電源的通斷,上電時單片機芯片處于復位狀態(tài), 6個端口均輸出“1”,IC卡電源處于斷開狀態(tài),ICSW為IC卡的檢測端,當IC卡插入后,該端口與地相接,P1.3口檢測到IC 卡已插入卡座,即接通IC卡電源,IC卡操作完畢后,切斷IC卡電源,并提示用戶可以拔卡。單片機芯片其他4個端口在接通IC卡電源后,根據(jù)對卡操作的需要,對IC卡進行復位、讀卡、校對密碼、擦卡、寫卡等操作。
硬件電路
芯片的操作模式時序及設計程序
AT88SCl604芯片的操作模式有五種。它們是通過配PGM、RST、CLK等引腳信號及內(nèi)部地址計數(shù)器(IAC)的狀態(tài)組合來實現(xiàn)。
(1) 芯片復位操作: AT88SCl604有兩種復位方式:上電復位和控制復位。
上電復位: 上電復位是當芯片加電時的最初狀態(tài)。上電復位屬于芯片
內(nèi)部復位。它將使芯片內(nèi)部所有的隱含標志復位到0狀態(tài)。并使地址計數(shù)器復位到0位。
控制復位: 當CLK為低時,在RST腳上的一個下降沿將便芯片產(chǎn)生復位操作。控制復位是將地址計數(shù)器復位到0位,而不影響任何內(nèi)部標志的狀態(tài)。
注:1)RST為高時禁止計數(shù)
2)在CLK端降低之后,延遲一個復位維持時間Trh(min 0.1 s)RST端復位(下降沿),同時地址計數(shù)器清零。地址計數(shù)器清零后延遲一個“數(shù)據(jù)復位有效時間”Tdvr(max 2 s)第0位單元的數(shù)據(jù)被送上I/O線。
FWZCX: CLR ICPGM ;復位子程序
NOP
SETB ICREST
NOP
SETB ICSDA
NOP
CLR ICCLK ;時鐘端清0
NOP
CLR ICREST ;復位端清0
NOP
RET
液位計相關文章:磁翻板液位計原理
評論