热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

单片机复位电路仿真分析挽年_Sonny

I单片机复位概述1.1复位机理引脚RST保持2个机器周期以上的高电平1.2电路原理电容刚接入电路时相当于短路,电容处于充电状态;当电容两极板充满电量后,电容相当于断路

单片机复位电路仿真分析

I 单片机复位概述

1.1 复位机理

  引脚RST保持2个机器周期以上的高电平

1.2 电路原理

  电容刚接入电路时相当于短路,电容处于充电状态;当电容两极板充满电量后,电容相当于断路状态。根据电容充电时间效应,通过改变电容值及接入电阻值的大小,从而满足一定时长的高电平输出。

1.3 复位方式

图1复位电路图

1.3.1 上电复位

  上电瞬间,电容充电电流最大,电容相当于短路,RST端为高电平,自动复位;电容两端的电压达到电源电压时,电容充电电流为零,电容相当于开路,RST端为低电平,程序正常运行。

1.3.2 手动复位

  首先经过上电复位,当按下按键时,RST直接与VCC相连,为高电平形成复位,同时电解电容被短路放电;按键松开时,VCC对电容充电,充电电流在电阻上,RST依然为高电平,仍然是复位,充电完成后,电容相当于开路,RST为低电平,正常工作。

II 系统分析

2.1 模型简化

  如图2,模型可简化为图示电路,其中,系统参数为C1和R2,系统控制输出量为,以电源接入为初始状态,即,对模型进行建模分析。

设定单片机的晶振为12MHZ,则两个机器周期为2ms。

 

图2简化系统模型

2.2 模型假设

  假设电路中的电阻阻值忽略不计;

  假设电平变化为理想电平模式,即>1.5V为高电平,输出为1;<1.5V为低电平,输出为0。

2.3 微分方程

III 系统求解

3.1 微分方程求解

3.1.1 近似解

clear,clc
t0=0;
tN=0.5;%单位为s
h=0.001;
t=t0:h:tN;
N=length(t);
j=1;
y0=5;
for j=1:N
    tn=t0+h;
    k1=rk4(t0,y0);
    k2=rk4(t0+h/2,y0+h*k1/2);
    k3=rk4(t0+h/2,y0+h*k2/2);
    k4=rk4(t0+h,y0+h*k3);
    yn=y0+(h/6)*(k1+2*k2+2*k3+k4);
    yy(j)=yn;
    if yy(j)>=1.5
        y(j)=1;
    else
        y(j)=0;
    end
    t0=tn;
    y0=yn;
    j=j+1;
end
t=0:h:tN;
figure(1)
plot(t,yy,\'r\')
title(\'figure of RK_4 method\')
xlabel(\'Time (s)\')
ylabel(\'Value (y)\')

图3 近似解曲线图

figure(2)
plot(t,y,\'b\')
title(\'figure of Urst\')
xlabel(\'Time (t)\')
ylabel(\'Value (U)\')
axis([0 0.5 -0.1 1.1])

图4 电平模拟图

 

 

3.1.2 解析解

  由方程

图6 电平与时间关系图

  由图6可知,当t<0.12s时,输出为电平1,当t<0.12s时,输出为电平0.高电平持续时长大于2个机器周期。

(2)关于CR参数选取:

  CR的取值与时长有直接关系,CR的取值有两种方式,其一,采用经验法,即模仿已有电路取相近值,再通过取增量进行仿真微调;其二,采用函数法,即根据上述方程,计算CR与时长的关系,从而根据t精准调节CR乘积值。

 

 

3.2.2 软件仿真

  利用Multisim对该电路进行仿真,如下图:

图7 电路仿真原理图

  设定相应的值,可以通过观察示波器显示电平的变化。由图8可知,当电平从5V下降到1.5V时,用时0.12s。

图8 示波器仿真图象

 

四、结论

  由上述分析可知,当采用RC电路复位时,复位引脚电平与时间的关系式为:,经过仿真,可以发现,调整不同的CR值,可以得到不同的高电平持续时间。如果单片机晶振为12MHZ,那么复位电路的CR值可根据关系式进行调节。


推荐阅读
  • 本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文详细介绍了MicroATX(也称Mini ATX)和MATX主板规格,探讨了它们的结构特点、应用场景及对电脑系统成本和性能的影响。同时,文章还涵盖了相关操作系统的实用技巧,如蓝牙设备图标删除、磁盘管理等。 ... [详细]
  • 毕业设计:基于机器学习与深度学习的垃圾邮件(短信)分类算法实现
    本文详细介绍了如何使用机器学习和深度学习技术对垃圾邮件和短信进行分类。内容涵盖从数据集介绍、预处理、特征提取到模型训练与评估的完整流程,并提供了具体的代码示例和实验结果。 ... [详细]
  • 本文详细介绍如何在VSCode中配置自定义代码片段,使其具备与IDEA相似的代码生成快捷键功能。通过具体的Java和HTML代码片段示例,展示配置步骤及效果。 ... [详细]
  • 本文介绍了如何使用 Python 的 Bokeh 库在图表上绘制菱形标记。Bokeh 是一个强大的交互式数据可视化工具,支持丰富的图形自定义选项。 ... [详细]
  • 本题要求将由小写字母组成的字符串划分为多个片段,确保每个字母只出现在一个片段中。目标是生成尽可能多的片段,并返回每个片段的长度列表。本文将详细解释问题描述、解题思路及代码实现。 ... [详细]
  • 本文介绍如何调整Element UI组件的边框样式,以确保内容与边框之间有足够的间距,并展示如何通过CSS实现更好的布局效果。 ... [详细]
  • 本文将介绍网易NEC CSS框架的规范及其在实际项目中的应用。通过详细解析其分类和命名规则,探讨如何编写高效、可维护的CSS代码,并分享一些实用的学习心得。 ... [详细]
  • Unity编辑器插件:NGUI资源引用检测工具
    本文介绍了一款基于NGUI的资源引用检测工具,该工具能够帮助开发者快速查找和管理项目中的资源引用。其功能涵盖Atlas/Sprite、字库、UITexture及组件的引用检测,并提供了替换和修复功能。文末提供源码下载链接。 ... [详细]
  • 本文将深入探讨如何在不依赖第三方库的情况下,使用 React 处理表单输入和验证。我们将介绍一种高效且灵活的方法,涵盖表单提交、输入验证及错误处理等关键功能。 ... [详细]
  • 探讨如何从数据库中按分组获取最大N条记录的方法,并分享新年祝福。本文提供多种解决方案,适用于不同数据库系统,如MySQL、Oracle等。 ... [详细]
  • 本文介绍了如何使用 Python 的 Matplotlib 和 Pandas 库进行数据可视化。通过示例代码展示了折线图、柱状图和水平柱状图的创建方法,并解释了图表参数设置的具体细节。 ... [详细]
  • 利用生成对抗网络生成多标签离散电子健康记录
    本文探讨了通过生成对抗网络(GAN)生成合成电子健康记录(EHR)的方法,旨在解决隐私保护问题并促进医学研究。论文地址为:https://arxiv.org/abs/1703.06490v1。该方法通过生成高维离散变量的综合EHR数据,显著提升了医学研究中的数据可用性和安全性。 ... [详细]
  • 本文探讨了如何在iOS开发环境中,特别是在Xcode 6.1中,设置和应用自定义文本样式。我们将详细介绍实现方法,并提供一些实用的技巧。 ... [详细]
author-avatar
手机用户2702937751
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有