加密IC卡保险柜控制器的设计
二、控制器的软件设计
该软件包括三部分:
(1)IC卡信息的读取及AT24C01数据的读取;
(2)比较校验数据,修改存储器数据;
(3)各种控制功能的实现,包括门锁开启,声、光报警等操作。
限于篇幅,这里只给出了利用51汇编语言编写的加密IC卡SLE4442的读/写程序,并给出了主程序的流程图,如图7所示。
读子程序
READ:MOV R0,#30H ;设置存放IC卡读入数据的首地址为30H
LCALL RESET ;调IC卡复位子程序
MOV R2,#10H ;读IC卡数据的个数送R2
LCALL START ;调起始条件子程序
MOV R5,#00110000B ;发送读的命令码
LCALL SPOUT ;调发送一个字节子程序
MOV R5,#20H ;发送IC卡的起始地址
LCALL SPOUT
MOV R5,#00H ;将数据00H发送出去
LCALL SPUT
LCALL STOP ;调停止条件子程序
READ1:LCALL SPINC ;调数据采集子程序
MOV A,R6
MOV @R0,A
INC R0
DJNZ R2,READ1
LCALL PLUSE ;调发送脉冲子程序
RET ;读IC卡数据子程序结束
写子程序
WRT:LCALL RESET ;写IC卡数据子程序开始,调IC卡复位子程序
MOV R2,#10H ;写入IC卡的字节个数送R2
MOV R1,#40H ;将40H为首地址的内容写入IC卡
MOV R4,#30H ;R4中放的是写到IC卡起始地址30H
WRT1:LCALL START ;调起始条件子程序
MOV R5,#00111000B ;发送写的命令码
LCALL SPOUT
MOV A,R4 ;发出要写入的IC卡地址
MOV R5,A
LCALL SPOUT
MOV A,@R1 ;写入IC卡数据
《加密IC卡保险柜控制器的设计(第3页)》