EMC单片机实现多次烧录的办法
硬件级程序:与硬件相关的程序,如WDT、计数器、端口、中断、休眠、唤醒等等,特别是WDT、中断、休眠、唤醒等需要在芯片上才能测试出实际的结果,比如测试休眠状态的功耗,用仿真器无论如何是试验不出来的。
闲话少说,书归正传。
有效使用ADD A,@0xFF可以将一个芯片当作数片使用,甚至可以到数十片,原理如下:
EMC单片机写烧写的过程实际就是将为1的熔丝位熔断成为0,即可以从1写为0,但不能从0到1,ADD A,@0xFF的机器码刚好是0x1FFF,全为1。例程如下:
第一次编程代码如下:
ORG 0X000
ADD A,@0XFF
ADD A,@0XFF
ADD A,@0XFF
ADD A,@0XFF
ADD A,@0XFF
ADD A,@0XFF
ADD A,@0XFF
MAIN1:
...
...
JMP MAIN1
如果MAIN1程序运行结果不能达到预期目标,需要修改程序,假定为MAIN2。修改后代码如下:
ORG 0X000
ADD A,@0XFF
ADD A,@0XFF
ADD A,@0XFF
ADD A,@0XFF
ADD A,@0XFF
ADD A,@0XFF
JMP MAIN2
MAIN1:
...
...
JMP MAIN1
MAIN2:
...
...
JMP MAIN2
评论