您的位置 首页 传感器

怎么避免单片机程序丢掉

一、改善电源尽量改善电源。这是老话了。并不是说单片机能工作就行,电源要设计好,加上104去耦电容改进电路布局等措施。二、使用电压…

一、改善电源
尽量改善电源。这是老话了。并不是说单片机能作业就行,电源要设计好,加上104去耦电容改善电路布局等办法。二、运用电压监测芯片
二、运用带电压监测的复位芯片。
避免上电/下电时,单片机电压处于作业和不作业的临界时,单片机自己蛮干。上电后,电容从0V逐步升到VCC;下电时,从VCC逐步降到0V。不论转电压转化的多快,总会有一段时刻处于电压缺乏的不安稳状况,什么情况都或许发生。
三、足电压编程、慢速编程
让Flash/EEP存储器在编程时充入满足电荷。
需求牢靠性的场合尽量低速写入,把作业加到芯片上限 (一搬5V芯片用5.5V,3V芯片到3.6V),能明显提高数据牢靠性.
四、维护编程口
维护编程的IO口,加些上拉或下拉电阻。如IAP、ISP、JTAG等。避免单片机复位之前的时刻被处界杂波搅扰,误入编程状况。
例1:ATMEL的ISP口的SCK、MISO脚尽量做输出运用。避免外围器材对这些脚发生跳动电平。避免误入ISP状况。对JTAG口也要做相同的维护。
例2:STC单片机,尽量设置成P1.1P1.0为低电平时才能够编程。
五、产品尽量制止编程功用
比方AVR单片机,设置JTAGEN=1 OCDEN=1 由于JTAG有改写FALSH的才能。在产品阶段用不着它,把它制止。假如或许,还能够设置熔丝位,制止ISP功用。可是你要考虑清楚,制止ISP功用今后就只能经过并行方法改写程序了。
还有一些单片机有专门的引脚,操控编程答应。那么我们能够让它处于制止编程的状况。

下面是我对运用MEGA16L的防丢程序办法。5V电压8M晶振。
1.运用带电压监测的706硬件看门狗。即确保牢靠复位,又避免CPU低电压作业。
2.不运用IAP自编程。熔丝位BOOTRST=1。曾经我是用过自编程,可是为了安全起见,仍是把它制止了吧。
3.晶振挑选高起伏振动输出. CHOPT=0 作业电流会添加1个多毫安,可是安稳多了。
4.翻开BOD BODEN=0 BODLEVEL=0 一旦VCC下降到触发电平4.0v以下,MUC不作业;当VCC电平大于触发电平后,重新开始作业。
5.设置复位发动时刻稍长。SUT 1=1 SUT0=0 上电复位时让CPU等候65个毫秒,使电源缓慢上升。
6.制止JTAG。JTAGEN=1 OCDEN=1 由于JTAG有改写FALSH的才能。我在产品阶段用不着它,仍是把它制止了吧。还节约1毫安的作业电流。
最终的熔丝位变成了 C9 2F

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/chuanganqi/266889.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部