打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
解决单片机程序丢失的方法有哪些?

改善电源

尽量改善电源。这是老话了。并不是说单片机能工作就行,电源要设计好,加上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.1\P1.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等待几个毫秒,使电源缓慢上升。

6.禁止JTAG。JTAGEN=1O CDEN=1因为JTAG有改写FALSH的能力。

免责声明:

本公众号提供的视频、音频、文本文件资源均系收集于网络且均无需付费,而本平台只作为免费的资讯服务。也不提供影片、资料资源存储,更不参与录制、上传,若本公众号收录的资源无意侵犯了贵公司或个人版权,请联系公子,提供相关材料,我们会下架处理和致歉,谢谢!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【转】jtag(仿真)和isp
烧写程序(下载程序)基础知识
单片机在线编程技术纵览[单片机在线编程网]
单片机小白学步(10) 单片机程序下载相关知识 | Paincker | Hacker Meets ...
AVR、51 系列、PIC 单片机的对比分析
串口的通用的单片机在系统编程设计及实现
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服