公告:

C51复位电路原理(修改版)

作者:智凡单片机 / 时间:1个月前 (06/17) / 分类:51单片机 / 阅读:7921 / 评论:0

之前引用的公式貌似错了,自己重新推导了一下。

今天搭建51的最小系统时,重新研究了一下上电复位电路和手动复位电路

上电复位很好理解:电容两边电压差不能突变,上电后,电容电压降保持初值为0,RST为VCC,开始复位状态;同时,R3和C2形成RC电路,电容充电,由基尔霍夫电压定律和非齐次常微分方程解法,可得电压公式为

exp(-t/RC)*(Uo-U0) = Ut

U0是电容初始电压差0,Uo为最终能升到的电容电压差,可以认为跟Us一样是5V,Ut是RST位置电压。

Uc = Us-Ut = (1-exp(-t/RC))*(Uo-U0)+U0

Uc是电容两端电压差,Us是电源电压

电容电压差上升,RST的电压就下降了,到1.5V时单片机认为是低压了,复位状态结束。此时,电容电压差为3.5V,充电时间t = -ln(1.5/5)*RC,RC的值为C2和R3的值,为0.1s,代入,即可得到整个复位时间大概为120ms

手动复位,我想了半天,暂时理出如下思路:

K2按下,电容开始放电,电容两边电压差不能突变,放电跟充电的公式一样

 Uc = exp(-t/(R1R3/(R1+R3))C))*(Us-Uo)+Uo

= (1-exp(-t/(R1R3/(R1+R3))C))*(Uo-U0)+U0,

Ut = Us-Uc =  (1-exp(-t/(R1R3/(R1+R3))C))*(U0-Uo)

其中,U0是初始电压差Us,5V,Uo是最终能降到的电压差,为UsR1/(R1+R3)

电容电压差下降,RST的电压开始上升,到1.5V时单片机认为开始高压了,复位状态开始。此时,电容电压差为3.5V,放电时间t = -ln(1-1.5*11/10/5)*(R1R3/(R1+R3))C,可得到从按下K2键到开始复位需要的时间大概为3.6ms。按照12MHz的晶振,复位需要最少2个机器周期的时长大概为2us,只要继续放电到3.6ms+2us就可以完成手动复位了。一般来说,人手按键K2时,能保持闭合的时间在100ms左右,即使有预谋的快速按一下放开也在40ms-50ms之间,不可能再快了,所以按下K2键时电容放电状态最少也要保持40ms,这远远超过了所需要的3.6ms+2us,此时电容电压差已经降到0.09V。放开K2后,电容又开始充电,与上面的上电复位类似,到压差3.5V的时候,复位状态结束。

没有评论,留下你的印记,证明你来过。


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。