单片机在正常作业时,因某种原因形成忽然掉电,将会丢掉数据存储器(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欧电阻效果:榜首,对单片机供电限流。一般地单片机电源直接接7805上,这是个不稳妥的做法,为什么?由于7805可提供高达2A的供电电流,反常时满足把单片机芯片内部焚毁.有这个47欧姆电阻维护,即便把芯片或许极性插反也不会烧单片机和三端稳压器,但这个电阻也不能太大,上限不要超越220欧,不然对单片机内部编程时,会编程失利(其实是电源缺乏).第二,和47UF和0.01UF电容一同用于加强电源滤波.第三,对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保持高电平的,单片机掉电保存中止程序不被触发。
最终还有两个重要软件和硬件note:
软件上:首要INX0在硬件上(规划)是处于最高优先级的,这儿还有必要要在软件确保第一流其他优先.然后确保单片机掉电时外部中止0能打断其他任何进程,最高优先地被检测和履行.其次在INX0的掉电保存写入子程序模块进口,还要用:
MOV P1,#00H
MOV P2,#00H
MOV P3,#00H
MOV P0,#00H
SJMP 掉电保存
来阻断法拉电容的电荷经过单片机口线外泄和随后跳转掉电保存写入子程序模块.(见硬件关键)
硬件上:但凡驱动单片机外部口线等的以输出高电平驱动外部设备,其电源不能和电片机的供电电压VCC去争抢(例如上拉电阻供电不取自单片机VCC).而应直接接在电源前方,图中4.7K电阻和口线PX.Y便是一个典型示例,接其它口线PX.Y’和负载也相同.这儿与上拉4.7K电阻相串联二极管也有两个效果:1、钳去0.6V电压以便与单片机作业电压相匹配,避免口线向单片机内部反推电.形成单片机口线功用紊乱.2、运用二极管单向供电特性,避免掉电后单片机经过口线向电源和外部设备反供电.
上面的单片机掉电检测电路,在与掉电保存写入子程序模块结合起来就能够确保在单片机掉电期间,不会因法拉电容上的堆集电荷为现已掉电的外部电路无谓供电和向电源反供电形成电容能量泄放缩短掉电保持时刻.
有了这些根底,咱们来核算0.47UF的电容从5.5V跌落到4.5V(乃至能够下到3.6V)所能保持的单片机掉电作业时刻.这儿假设设单片机作业电流为20MA(外设驱动电流现已被屏蔽)不难算出:
T=1V*0.47*1000(1000是由于作业电流为豪安)/20=23.5秒!