资料介绍
单片机资料
在P89C51RD2的ISP状态下,单片机接收上位机发送的命令和数据,这些命令和数据是采
用Intel HEX 文件的格式,网上有不少文章中研究甚至反编译了BOOT
ROM中的代码,得到了ISP运行的过程,在我的系统中也用到了这个东西,因为要对FLAS
H中的数据进行升级,所以实现了一整套Intel HEX格式命令的解析,代码如下:
;==============================
RUN_MODE:
MOV A,DATA_MODE ;数据操作类型
RL A ;A=A*2
ADD A,DATA_MODE ;A=A*3 LJMP指令占用三个字节空间
MOV DPTR,#IAP_BASE_ADDR ;程序散转,不能超过有84个命,85*3=255
JMP @A+DPTR
IAP_BASE_ADDR:
LJMP IAP_PRO_DATA ;00=传送编程数据并完成编程
LJMP IAP_SEND_CHAR_OK ;01=传文件结束符
LJMP IAP_SETUP_FOSC ;02=指定振荡器频率
LJMP IAP_MPRO_DAT ;03=杂项编程功能
LJMP IAP_READ_CHECK ;04=显示指定地址段FLASH 数据或查空
LJMP IAP_READ_DATA ;05=各种读功能
LJMP IAP_SETUP_BPS ;06=直接装载波特率
;以上兼容Philips的ISP命令,下面为自定义命令