用法拉电容从容实现单片机掉电数据保存.703
基于法拉电容的智能仪器仪表掉电保护方案探讨

基于法拉电容的智能仪器仪表掉电保护方案探讨[摘要]:仪器仪表在工业设备发展中有重要作用,其不仅有自动控制、信号传播和数据处理功能,同时也有测量、检查和观察功能,其在工业生产中应用,在一定程度上能提高其效率。
然而在实际运行过程中其常会出现掉电问题,这就使得其不能更好发挥其作用,甚至影响企业生产顺利进行。
在这种情况下,就应该对影响其顺利进行因素进行分析,并将法拉电容和嵌入式系统融合在一起,以便为智能仪器仪表掉电保护提供有效依据。
[关键词]:法拉电容智能仪器仪表掉电保护方案中图分类号:tm934.25 文献标识码:tm 文章编号:1009-914x(2012)29- 0017 -01智能仪器仪表在使用过程中常会因电网波动而使电网数据丢失,以致于给系统造成重大损失。
法拉电容凭借其较大的功率、高速的充放电、充电寿命长及控制电路简单等特点与嵌入式操作系统结合在一起,为智能仪器仪表顺利运行,提供便捷的掉电保护方案。
如何在法拉电容基础上制定出智能仪器仪表掉电保护方案,已经成为相关部门值得思索的事情。
一、法拉电容概念及特点法拉电容也可称之为超级电容,双电层电容,其优势是体积小、容量大、电压记忆性好、可靠性高。
其余一般电池相比,不仅具有充电时间短、功率密度高、使用寿命长等特点,同时也具有耐低温、环境污染少等优势。
其一般在在现电路中使用,其能替代传统的电池作后备电池使用,其在使用过程中,不仅能提高电路寿命和可靠性,同时也能降低设备成本和维修成本,其在智能仪器仪表中使用也能避免其掉电,而给相关企业带来必要的经济损失。
二、对机遇法拉电容的智能仪器仪表掉电保护方案进行分析在仪器仪表使用过程中,常会出现突然掉电现象,一旦出现这些现象,会因不能及时保护重要数据而使其丢失。
出现这种现象与充电电池是有一定关系的。
一些保护操作在几秒或是几十秒就能完成,然而因充电电池容量小、可靠性低、功率低等原因而不能及时完成保存,而造成一定浪费。
法拉电容的成本和性能比一般电池要优越。
单片机掉电数据保存共5页

用法拉电容从容实现单片机掉电数据保存电路见下:这里首先用6V供电(如7806),为什么用6V不用5V是显而易见的.这里的二极管们一般都起两个作用,一是利用单向导电性保证向储能电容0.47F/5.5V单向冲电;二是起钳位作用,钳去0.6V,保证使大多数51系列的单片机都能在4.5V--5.5V之间的标称工作电压下工作.而4.5-5.5间这1V电压在0.47F电容的电荷流失时间就是我们将来在掉电报警后我们可以规划的预警回旋时间.两只47欧电阻也有两个作用:1:和47UF和0.01UF电容一起用于加强电源滤波.2.对单片机供电限流一般电子工程师都喜欢把单片机电源直接接7805上,这是个非常不好的习惯,为什么?7805可提供高达2A的供电电流,异常时足够把单片机芯片内部烧毁.有这个电阻47欧姆电阻挡作及时把芯片或者极性插反也不会烧单片机和三端稳压器,但这电阻也不能太大,上限不要超过220欧,否则对单片机内部编程时,会编程失败(其实是电源不足).3.对0.47F/5.5V储能电容,串入的这只47欧电阻消除"巨量法拉电容"的上电浪涌.实现冲电电流削峰大家算一算要充满0.47F电容到5.5V,即使用5.5A恒流对0.47F电容冲电,也需要0.47秒才能冲到5.5V,既然知道了这个问题,大家就清楚:1.如果没有47欧姆电阻限流,上电瞬间三端稳压器必然因强大过电流而进入自保.2.长达0.47秒(如果真有5.5A恒流充电的话)缓慢上电,如此缓慢的上电速率,将使得以微分(RC电路)为复位电路的51单片机因为上电太慢无法实现上电复位.(其实要充满0.47UF电容常常需要几分种).3.正因为上电时间太慢,将无法和今天大多数主流型以在线写入(ISP)类单片机与写片上位计算机软件上预留的等待应答时间严重不匹配(一般都不大于500MS),从而造成应答失步,故总是提示"通信失败".知道这个道理你就不难理解这个电路最上面的二极管和电阻串联起来就是必须要有上电加速电路.这里还用了一只(内部空心不带蓝色的)肖特基二极管(1N5819)从法拉电容向单片机VCC放电,还同时阻断法拉电容对上电加速电路的旁路作用,用肖特基二极管是基于其在小电流下导通电压只有0.2V左右考虑的,目的是尽量减少法拉电容在掉电时的电压损失.多留掉点维持时间.三极管9014和钳制位二极管分压电阻垫位电阻(470欧姆)等构成基极上发射极双端输入比较器,实现掉电检测和发出最高优先级的掉电中断,这部分电路相当于半只比较器LM393,但电路更简单耗电更省(掉电时耗电小于0.15MA).47K电阻和470欧姆二极管1N4148一道构成嵌位电路,保证基极电位大约在0.65V左右(可这样计算0.6(二极管导通电压)+5*0.47/47),这样如果9014发射极电压为0(此时就是外部掉电),三极管9014正好导通,而且因为51单片机P3.2高电平为弱上拉(大约50UA),此时9014一定是导通且弱电流饱和的,这样就向单片机内部发出最高硬件优先级的INX0掉电中断.而在平时正常供电时,因发射极上也大约有6*0.22/2.2=0.6V电压上顶,不难发现三极管9014一定处于截止状态,而使P3.2维持高电平的.下面还有两个重要软硬件要点和建议:1.硬件要点:凡是驱动单片机外部口线等的以输出高电平驱动外部设备,其电源不能和电片机的供电电压VCC去争抢(例如上拉电阻供电不取自单片机VCC).而应直接接在电源前方,图中4.7K电阻和口线PX.Y就是一个典型示例,接其它口线PX.Y'和负载也雷同.这里与上拉4.7K电阻相串联二极管也有两个作用:1.钳去0.6V电压以便与单片机工作电压相匹配,防止口线向单片机内部反推电.造成单片机口线功能紊乱.2.利用二极管单向供电特性,防止掉电后单片机通过口线向电源和外部设备反供电.上面的硬件设计,在与软件结合起来(见下面叙述)就可以保证在掉电期间,不会因法拉电容上的积累电荷为已经掉电的外部电路无谓供电和向电源反供电造成电容能量泄放缩短掉电维持时间.2.软件要点:首先INX0在硬件上(设计)是处于最高优先级的,这里还必须要在软件保证最高级别的优先.从而确保掉电时外部中断0能打断其他任何进程,最高优先地被检测和执行.其次在INX0的中断程序入口,还要用: MOV P1,#00HMOV P2,#00HMOV P3,#00HMOV P0,#00HSJMP 掉电保存来阻断法拉电容的电荷通过单片机口线外泄和随后跳转掉电写入子程序模块.(见硬件要点)有了上面的预备和细节处理,下面我们信心百倍地一道来计算0.47UF的电容从5.5V跌落到4.5V(甚至可以下到3.6V)所能维持的单片机掉电工作时间.这里设单片机工作电流为20MA(外设驱动电流已经被屏蔽)不难算出:T=1V*0.47*1000(1000是因为工作电流为豪安)/20=23.5秒!!!!!天!这个对单片机而言相当于从原始社会到共产主义社会的历史慢长.休说是写内部FLASH ROM,就是从新写片子本身都能写5希望以上资料对你有所帮助,附励志名言3条::1、世事忙忙如水流,休将名利挂心头。
掉电保存方案

掉电保存方案
掉电保存方案主要通过在系统中加入掉电检测电路和掉电数据保存功能来实现。
下面是一种常见的单片机掉电检测电路和掉电数据保存方案:
单片机掉电检测电路通常由法拉电容实现。
法拉电容具有大容量、高储能的特性,能够储存足够多的电能。
在电源断电的情况下,法拉电容可以通过电荷泵电路等将电力输送给单片机,使其保持工作状态,并将数据保存在存储器中。
当电源恢复供电时,单片机将继续执行任务,并且可以从存储器中恢复掉电前保存的数据。
掉电数据保存方案通常采用数据备份和恢复机制。
在系统运行过程中,单片机可以定期将重要的数据备份到非易失性存储器中,如EEPROM、Flash等。
当电源断电时,单片机可以立即将剩余的数据写入存储器中,确保数据不会丢失。
当电源恢复供电时,单片机可以从存储器中恢复数据,确保数据的完整性。
另外,为了避免电源断电时对单片机的干扰,可以采用低功耗技术来降低单片机的工作电流,使其在断电时能够快速进入休眠状态。
同时,可以在单片机外部添加去抖动电路、滤波电路等抗干扰措施,以确保数据的准确性。
总的来说,掉电保存方案需要在硬件和软件方面进行全面设计和实现。
硬件方面需要选择合适的法拉电容、非易失性存储器等器件,软件方面需要编写相应的掉电检测和数据备份程序,以确保系统在掉电时能够正确地保存数据并恢复工作状态。
单片机中的掉电存储管理

单片机中的掉电存储管理各位单片机程序猿们,在单片机程序设计的时候,经常碰到一些数据的掉电存储问题。
往往这些数据量又不是很大,但是操作起来特别麻烦。
每次变更数据都得调用存储函数进行读写操作。
今天总结一下近几天的思路,对普通单片机的的NV变量的管理给出一个较为方便的操作方法。
一般,我们的数据都由8,16,32位组成,因此,在此例中,我给出16长度数据的接口函数,旨在表明这种方法的思路。
具体读者可以根据自己的使用环境,自己改进。
首先,说明下笔者的编程习惯,笔者在编写单片机C程序的过程中,往往喜欢把程序中涉及的东西封装成类似于面向对象思想中的类。
把数据结构假想成类的属性,把对相应数据结构操作的函数,假想成类的方法。
这种方法在实际编程过程中,往往给自己带来很大的便利。
不仅思路清晰,而且便于模块化管理自己的程序。
现在,我们创建两个文件,分别为NV.h和NV.C,h文件作为NV管理的模块。
NV.h中我们来定义NV变量的数据结构(即笔者所认为的类的属性)和声明对NV操作的函数。
#ifndef_NV_#define _NV_//NV操作的状态定义#define NV_Succeed1#defineNV_Failed//定义16位长度的NV变量数据结构structNV_Struct16{u16 Val;//NV16变量的值u16 NVAddr;//NV16变量在存储器中的首地址};//声明外部调用函数extern void NV16_Get(struct NV_Struct16 *temp);u8 NV16_Set(struct NV_Struct16 *temp,u16 val);#endif在NV_Struct16中,我们封装了一个叫做NV16的变量,其成员中有变量的值和在存储器中的首地址。
在这里,只是给它定义了一个数据的结构,并没有定义实体变量,在C++或C#等面向对象程序设计方法中,这叫类的定义,并没有创建类的实体。
法拉电容工作原理

法拉电容工作原理嘿,朋友们!今天咱来聊聊法拉电容这玩意儿的工作原理,可有意思啦!你说这法拉电容啊,就像是一个超级大胃王,能把电都给“吃”进去存起来。
它里面有两个电极,就像两个好兄弟一样,一个带正电,一个带负电。
这两个电极中间隔着一层薄薄的电介质,就好像是他们之间的一道小篱笆。
当我们给法拉电容充电的时候,就好像是给这个大胃王喂食物一样。
电流就像食物一样流进去,正电荷跑到一个电极上,负电荷跑到另一个电极上。
这两个电极就开心地把这些电荷都收留啦,存起来以备不时之需。
然后呢,等我们需要用电的时候,嘿,这法拉电容就开始发挥作用啦!它就像那个大胃王把储存的电都吐出来一样,让电流又跑出来为我们服务。
你想想看,这法拉电容多厉害呀!它能快速地充放电,就像一个短跑健将,嗖的一下就完成了。
而且它的寿命还特别长,比那些普通的电容可耐用多了。
这就好比是我们生活中的一些朋友,平时不声不响的,关键时刻总能帮上大忙!你说是不是?法拉电容在很多地方都大显身手呢!比如说在一些需要瞬间大电流的设备里,它就能发挥出自己的优势。
还有在一些新能源汽车里,它能帮忙储存能量,让汽车跑得更稳更远。
它就像是一个默默奉献的小英雄,虽然不那么起眼,但是却有着大大的作用。
咱再打个比方,法拉电容就像是一个水库,平时把水储存起来,等需要用水的时候就可以开闸放水。
只不过这里面储存的不是水,而是电!是不是很神奇?哎呀,这法拉电容的工作原理真的是很有趣呢!它让我们的生活变得更加便利,更加丰富多彩。
我们真应该好好感谢这个小小的电容呀!它虽然不大,但是却有着无穷的力量。
所以说啊,科技的力量真是不容小觑!这小小的法拉电容都能有这么大的能耐,那以后还不知道会有多少更厉害的发明呢!让我们一起期待吧!原创不易,请尊重原创,谢谢!。
单片机掉电检测电路与单片机掉电数据保存

单片机掉电检测电路与单片机掉电数据保存
摘要: 单片机在正常工作时,因某种原因造成突然掉电,将会丢失数据存储器(RAM)里的数据。
在某些应用场合如测量、控制等领域,单片机正常工作中采集和运算出一些重要数据,待下次上电后需要恢复这些重要数据。
因此,在一些没有后备供电系统的单片机应用系统中,有必要在系统完全断电之前,把这些采集到的或计算出的重要数据存在在EEPROM 中。
为此,...
单片机在正常工作时,因某种原因造成突然掉电,将会丢失数据存储器(RAM)里的数据。
在某些应用场合如测量、控制等领域,单片机正常工作中采集和运算出一些重要数据,待下次上电后需要恢复这些重要数据。
因此,在一些没有后备供电系统的单片机应用系统中,有必要在系统完全断电之前,把这些采集到的或计算出的重要数据存在在EEPROM 中。
为此,通常做法是在这些系统中加入单片机掉电检测电路与单片机掉电数据保存。
用法拉电容可从容实现单片机掉电检测与数据掉电保存。
电路见下图。
这里首先用6V 供电(如7806),为什幺用6V 不用5V 是显而易见的.电路中的二极管们一般都起两个作用,一是起钳位作用,钳去0.6V,保证使大多数51 系列的单片机都能在4.5V--5.5V 之间的标称工作电压下工作.而4.5-5.5 间这1V 电压在0.47F 电容的电荷流失时间就是我们将来在单片机掉电检测报警后我们可以规划的预警回旋时间。
二是利用单向导电性保证向储能电容0.47F/5.5V 单向冲电。
两只47 欧电阻作用:第一,对单片机供电限流。
一般地单片机电源直接接。
单片机掉电保护总结完整版

单片机掉电保护总结Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】单片机应用系统断电时的数据保护方法在测量、控制等领域的应用中,常要求单片机内部和外部RAM中的数据在电源掉电时不丢失,重新加电时,RAM中的数据能够保存完好,这就要求对单片机系统加接掉电保护电路。
掉电保护通常可采用以下三种方法:一是加接不间断电源,让整个系统在掉电时继续工作,二是采用备份电源,掉电后保护系统中全部或部分数据存储单元的内容;三是采用EEPROM来保存数据。
由于第一种方法体积大、成本高,对单片机系统来说,不宜采用。
第二种方法是根据实际需要,掉电时保存一些必要的数据,使系统在电源恢复后,能够继续执行程序,因而经济实用,故大量采用[1]。
EEPROM既具有ROM掉电不丢失数据的特点,又有RAM随机读写的特点。
但由于其读写速度与读写次数的限制,使得EEPROM 不能完全代替RAM。
下面将介绍最常用的一些掉电保护的处理方法,希望能对相关设计人员在实际工作中有所帮助。
1简单的RAM数据掉电保护电路在具有掉电保护功能的单片机系统中,一般采用CMOS单片机和CMOSRAM。
CMOS 型RAM存储器静态电源小,在正常工作状态下一般由电源向片外RAM供电,而在断电状态下由小型蓄电池向片外RAM供电,以保存有用数据,采用这种方法保存数据,时间一般在3-5个月[2]。
然而,系统在上电及断电过程中,总线状态的不确定性往往导致RAM内某些数据的变化,即数据受到冲失。
因此对于断电保护数据用的RAM存储器,除了配置供电切换电路外,还要采取数据防冲失措施,当电源突然断电时,电压下降有个过程,CPU在此过程中会失控,可能会误发出写信而冲失RAM中的数据,仅有电池是不能有效完成数据保护的,还需要对片选信号加以控制,保证整个切换过程中CS引脚的信号一直保持接近VCC。
通常,采用在RAM的CS和VCC引脚之间接一个电阻来实现COMSRAM的电源切换,然而,如果在掉电时,译码器的输出出现低电平,就可能出现问题,图1给出一种简单的电路设计,它能够避免上述问题的产生。
STC单片机掉电断电失电瞬间EEPROM数据保存处理办法

STC单片机掉电断电失电瞬间EEPROM数据保存处理办法写作:欧阳autooy871公司:荣致电子科技有限公司(专业电子、程序开发承接商)Q Q:417179642淘宝:由于客户在请人设计开发一设备,但是设备用户处总停电,造成设备及其周边耗材损耗严重,因此请我司在现有STC为主要芯片的基础上做掉电瞬间EEPROM里的20个参数保存,上电后通过读取EEPROM中的参数回到掉电的状态,基于此,荣致电子科技做了大量的工作,并选用了很多种方案:1、通过1法拉大电容做掉电临时备份电池。
2、通过备份电池或者DS1302里的31个字节ram+电池方案。
3、通过MAX813L检测掉电,然后通过普通STC10某个引脚读取MAX813L的第五脚高低电平状态。
4、购买铁电芯片来不停的存储用户数据。
基于以上4种方案,荣致电子科技做了大量的试验与验证工作,最后敲定方案3经济、安全、可靠,并且存储20个参数无任何问题,具体实施细节如下:一、割掉单片机单独供电VCC线路.二、外部进电源VCC接IN5819二极管后单独给单片机供电.三、VCC5V通过4.7K与2K电阻分压给MAX813L第四脚,高于1.25V即可。
四、MAX813L第五脚连接至STC10单片机某个引脚,如:P2.0。
五、通过软件来检测P2.0引脚的电平状态,如果为低,立刻关闭所有的外部输出,然后进行EEPROM的写操作,通过延时约100ms后即可很好的保存在掉电时的动态参数。
通过各类验证,在断电几十次的情况下,所有的参数及执行程序未发生丢失及错误的情况,说明可用。
具体图纸如下:我的PCB图纸:还可以借用MAX813L的复位等功能来实现。
20121212。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用法拉电容从容实现单片机掉电数据保存
2009-05-25 21:49
今天,因为MCU内部一般都带FLASH ROM和伴随着法拉级电容的出现,事实上已经宣布背掉电电池或者用达拉斯DS存储器实现掉电数据保存的传统的思维和电路已经成为历史!
以下的电路,是一个可靠的简单的掉电检测、法拉电容能量储存等完整硬件电路和相应的软件细节,是笔者在产品上一个成熟的可靠的自诩经典电路和心血,在这里完全公开地提供给二姨爱社(21IC)下的全体表兄表弟表姐表妹们以供大家一起来批判赏析借鉴和改进.
首先提请老表们别一看电路繁琐就不想继续看下去,事实是:大电容储存实现掉电保护并非人们想象的那么容易做.
我们往往突然萌发一个跳跃灵感闪烁一丝思想火花,但最终都没幻化为现实结果而最终不了了之,在我们遗憾叹息之于我们是否思考过常常并不是我们思维"太过创新"需求和愿望大大超越了现实(我们能超越我国的现实的器件工业和材料工业水平吗)最后我们总不得不以理论不完全等同于实践来为自己无奈和熄灭的灵感作排解!其真正原因我们作过真正思考吗?!
事实上一个理论成立,现实上完全具备可实现性的一个电路单元,到最后我们并未达到预想效果,甚至以失败了告终,原因何在??----细节..细节..还是细节...永远的细节!!!!细节为
王!!!!!
所以敬请大家耐心地静静地留意这里的每个电路技巧和对细节,事实上你会发现这里每个细节都充满着技巧智慧体贴人性和柔情.每处都让我们感悟了一种做事就是做人和精益求精的思想和行动境界,即使你是表弟表兄级男性电子工程师对你的设计和实现都应具备女性的细腻周到和柔情.
电路见下:这里首先用6V供电(如7806),为什么用6V不用5V是显而易见的.这里的二极管们一般都起两个作用,一是利用单向导电性保证向储能电容0.47F/5.5V单向冲电;二是起钳位作用,钳去0.6V,保证使大多数51系列的单片机都能在4.5V--5.5V之间的标称工作电压下工作.而4.5-5.5间这1V电压在0.47F电容的电荷流失时间就是我们将来在掉电报警后我们可以规划的预警回旋时间.
两只47欧电阻也有两个作用:
1:和47UF和0.01UF电容一起用于加强电源滤波.
2.对单片机供电限流
一般电子工程师都喜欢把单片机电源直接接7805上,这是个非常不好的习惯,为什么?7805可提供高达2A的供电电流,异常时足够把单片机芯片内部烧毁.有这个电阻47欧姆电阻挡即使把芯片插反或者电源极性颠倒也不会烧单片机和三端稳压器,但这限流电阻也不能太大,上限不要超过220欧为益,否则对单片机内部编程时,计算机会告警提示"编程失败"(其实是电源不足).
3.对0.47F/5.5V储能电容,串入的47欧电阻还消除了"巨量法拉电容"的上电浪涌.实现冲电电流削峰。
大家算一算要充满0.47F电容到5.5V,即使用5.5A恒流对0.47F电容冲电,也需要0.47秒才能冲到5.5V,既然知道了这个问题,大家就清楚:
1.如果没有47欧姆电阻限流,上电瞬间三端稳压器必然因强大过电流而进入自保.
2.长达0.47秒(如果真有5.5A恒流充电的话)缓慢上电,如此缓慢的上电速率,将使得以微分(RC 电路)为复位电路的51单片机因为上电太慢无法实现上电复位.(其实要充满0.47UF电容常常需要几分钟).
3.正因为上电时间太慢,将无法和今天大多数主流型以在线写入(ISP)类单片机写片上位计算机软件上预留的等待应答时间严重不匹配(一般都不大于500MS),从而造成应答失步,故写片时总是提示"通信失败".
知道这个道理我们就不难理解这个电路最上面的二极管和电阻串联起来就是必须要加上的“上电加速电路”.这里还用了一只(内部空心不带蓝色的)肖特基二极管(1N5819)来从法拉电容向单片机VCC的单向放电,和同时阻断法拉电容对上电加速电路的旁路作用;用肖特基二极管是基于其在小电流下,导通压降只有0.2V左右考虑的,目的是尽量减少法拉电容在掉电时的电压损失.力争获得最留掉点维持时间.
三极管9014和钳位二极管分压电阻垫位电阻(即470欧姆)等一道构成基极发射极双端输入比较器,实现掉电检测和发出最高优先级的掉电中断,这部分电路相当于半只比较器LM393,但电路更简单耗电更省(掉电时耗电小于0.15MA).
47K电阻和470欧姆二极管1N4148一道构成嵌位电路,保证基极电位大约在0.65V左右 (可这样来非常近似地计算0.6(二极管导通电压)+5*0.47/47),这样如果9014发射极电压为0(此时就是外部掉电),三极管9014正好导通,而且因为51单片机P3.2高电平为弱上拉(大约50UA),此时9014一定是导通且在弱电流下是饱和导通的,这样就向单片机内部发出一次最高硬件优先级的INX0掉电中断.
而在平时正常供电时,因发射极上也有大约6*0.22/2.2=0.6V垫位电压在上顶,容易理解三极管9014在此刻一定处于截止状态,而使P3.2维持高电平.
下面还有两个重要软硬件要点和建议提请注意:
1.硬件要点:凡是单片机外部以输出高电平驱动的口线,其电流都不能到单片机的供电电压VCC 上去争抢(例如上拉电阻供电不取自单片机VCC而应直接接在电源前方),图中4.7K电阻和口线PX.Y就是一个典型示例,接其它口线PX.Y'和负载也雷同.这里与上拉4.7K电阻相串联二极管也有两个作用:
1.钳去0.6V电压以便与单片机工作电压相匹配,从而防止口线向单片机内部反推电.带来单片机口线功能紊乱.
2.利用二极管单向供电特性,防止掉电后单片机通过口线向电源和外部设备反供电造成电荷泄露.
上面的硬件设计,还要与软件结合起来(见下面叙述)才能保证在掉电期间,不会因法拉电容上的积累电荷向已经掉电的外部电路无谓供电和向电源内部反向供电造成法拉电容上能量泄放从而缩短掉电维持时间.
2.软件要点:首先INX0在硬件上(硬件设计已经保证)是处于最高优先级的,这里还必须要在软件上再次保证INX0是最高优级别的中断.从而确保掉电时外部中断0能打断其他任何进程,最高地优先地被检测和执行到.其次在INX0的中断程序入口,还要用:
MOV P1,#00H
MOV P2,#00H
MOV P3,#00H
MOV P0,#00H
SJMP 掉电保存
来阻断法拉电容的电荷通过单片机口线外泄和随后立即跳转到掉电写入子程序模块.(见硬件要
点)
有了上面的预备和细节处理,下面我们完全有理由信心百倍地一道来计算0.47F 的电容从5.5V 跌落到4.5V(甚至可以下到3.6V)所能维持的单片机掉电工作时间.
这里设单片机工作电流为
T=1V*0.47*1000(1000是因为工作电流为豪安)/20=23.5秒!!!!!
天!这个时间对单片机而言简直相当于从原始社会到共产主义社会的历史慢长.休说是从容写入内部FLASH ROM 掉电保护数据,就是把芯片从新写入新程序都可以写5次!!!!!!!!!!。