AT88SC0104开发包(AT88SC0104C读写程序)C语言
本程序适用于读写AT88SC0104C系列器件。直接调用相应的读写函数即可完成对器件的操作。 注意: ●本程序仅向已签定NDA的用户提供。 ●在将AT88SC0104C焊装到电路板之前,必须先对其进行配置并在本程序的GC_TABLE/PASSWORD_TABLE填好Gc Password。 ●配置器件可使用本公司提供的参考配置文件和AT88SC0104C系列读写编程器。
一般说明
1.1 程序执行时间 适用晶振频率范围(对51系列单片机):10 MHz~40MHz。不同晶振频率下,完成“认证校密码选区并读出和解密16字节”所用的时间如下表所示。
1.2 使用工作单元 片内RAM:3AH字节 工作寄存器:A、B、R0~R7(8字节)、DPTR 堆栈深度:09H字节 1. 访问AT88SC0104C的基本流程 在下面的流程中,每个步骤对应一个子程序。 只读:认证=>校验读密码=>选择用户区=>读出用户区密文数据=>解密出用户区明文数据 只写:认证=>校验写密码=>选择用户区=>写数据到用户区 读写交替:认证=>校验写密码=>选择用户区=>读出用户区密文数据=>解密出用户区明文数据=>写数据到用户区 注意: ● 解密出明文可分成多次完成或一次完成,一次完成的执行时间最少,多次完成有利于进一步提高数据的安全性。 ● 分步解密或分步写时,应保持p值和本程序所用的2AH个单元的内容不变。 3.子程序调用 p:工作单元的起始地址(STU) 3.1认证 程序名:AUTHENTICATION(); 入口条件:
认证后,释放p+2A到p+39单元 3.2校验密码 程序名:verify_write_password();verify_read_password(); 入口条件:
3.3选择用户区 程序名:set_user_zone(); 入口条件:
3.4读用户区数据 程序名:read_user_zone(); 入口条件:
3.5解密出明文 程序名:decrypto_data(解密密文字节数) 入口条件:
3.6写数据到用户区 程序名:write_user_zone(); 入口条件:
如分步解密或数据分步写时中间嵌入其它程序,应保持p值与本程序所用的2AH个单元不变; 如读出的密文未解完,不得改变密文值,也不得进行写操作 密文和明文不能存放在 地址值为p到p+29H之间; |