EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
EMC单片机实现多次烧录的办法3 y! p1 o& o4 X' f/ C9 p
9 T; L( s. C: J! u& I' @
$ i* @ F- o3 p: f) ?: N一般来说,EMC的OTP类型芯片是只能进行一次烧录的。但是如果在第一次烧录时,某一位为被烧为“1”,则该位可以再次被烧录成“0”;反之,如果已经被烧录成“0”了,则无法再次烧录成“1”。由此,有人发现了以下文章中介绍的这种多次烧录OTP芯片的方法。 在EMC单片机中,“ADD A,@0xFF”的机器码为全1。在下面这篇文章中,介绍的是用“ADD A,@0xFF”指令来预填,方便下次的改写。其实,还有更方便的办法: 文中提到的办法如下 ORG 0X000 ADD A,@0XFF ADD A,@0XFF ADD A,@0XFF ADD A,@0XFF ADD A,@0XFF ADD A,@0XFF ADD A,@0XFF MAIN1: 其实,可以改写成下面的程序,达到的效果和前面的方法是一样一样一样样的。 ORG 0X000 ORG 0X007 ;注意这条ORG定义 MAIN1: 另外,还有一种办法,是可以用NOP指令覆盖擦除原来的程序。因为NOP指令的机器码是全0。也就是说,任何指令都可以用NOP指令来擦除。如果灵活利用,也可以实现多次烧录的目的。这里就不展开说了。 补充一下,关于这种方法,如果用于学习,确实可以节省一些芯片。但是如果在正式工作中采用这种方法,耗费的时间和精力会比省下的芯片价值更多,有点得不偿失的味道。因此,匠人个人觉得没有太大的必要。毕竟现在EMC的芯片已经够便宜的了,而时间和精力才是更宝贵。
$ v% V( N D J9 f |