理解51单片机最小系统的工作原理「建议收藏」

理解51单片机最小系统的工作原理「建议收藏」51单片机最小应用系统概述要想使用单片机,第一个要搭建的电路就是单片机的最小系统,有了这个最小系统单片机就可以去正常的工作,即使没有其他的外围电路(显示器啥的),也可以对单片机进行程序的编写,程序也可以在单片机里面正常的运行。其包括MCS-51系列芯片一块,(51初步认识)电源电路,时钟电路,复位电路。51单片机最小系统原理图1.电源电路任何的电子设备都需要给其供应相对应的工作电源才可以正常工作,此芯片可用+5V的直流电源供电电源电路2.时钟电路单片机的芯片是数字电路芯片,数字芯片要想正常

大家好,又见面了,我是你们的朋友全栈君。

51单片机最小应用系统

概述

要想使用单片机,第一个要搭建的电路就是单片机的最小系统,有了这个最小系统单片机就可以去正常的工作,即使没有其他的外围电路(显示器啥的),也可以对单片机进行程序的编写,程序也可以在单片机里面正常的运行。其包括MCS-51系列芯片一块,(51初步认识)电源电路,时钟电路,复位电路。

51单片机最小系统原理图


51单片机最小系统原理图



最小系统用到的引脚

1、主电源引脚
VCC(40):电源输入,接+5V电源
GND(20):接地线

2、外接晶振引脚
XTAL1(19):片内振荡电路的输入端(片内反向放大器输入)
XTAL2(18):片内振荡电路的输出端(片内反向放大器输出)1

3、控制引脚
RST/VPP(9):复位引脚,引脚上出现2个机器周期(如果用11.0592Mhz的晶振,一个机器周期为1us,一个机器周期等于12个时钟周期)的高电平将使单片机复位

4、 EA ‾ \overline{\text{EA}} EA/VDD
ROM选用端。该引脚有效时(低电平)只选用片外ROM,否则计算机上电或复位后先用片内ROM。如果选择外部的存储器,太浪费单片机仅有的资源,所以这一脚永远接电源5V(如上图所示),使用单片机的内部存储器。

1.电源电路

任何的电子设备都需要给其供应相对应的工作电源才可以正常工作,此芯片可用+5V的直流电源供电
在这里插入图片描述


电源电路

2.时钟电路

单片机的芯片是数字电路芯片,数字芯片要想正常工作,都需要有一个基本的时钟基准,要在这个时钟脉冲的步调下去工作。时钟电路主要由外部的时钟晶振来提供(晶体振荡器产生一定频率的方波,单片机常用6MHz、11.0592MHz、12MHz),用作单片机内部各功能部件按序协调工作的控制信号,其周期称为时钟周期。
在这里插入图片描述
Y1为晶振,这个是无源晶振,配合单片机内部的振荡电路能够产生单片机工作的时钟基准。
电容的作用

  1. 辅助晶振起振
  2. 维持晶振稳定工作,过滤掉晶振部分的高频信号,让晶振工作的时候更加稳定。产生稳定的时钟信号。

3.复位电路2

复位电路使单片机从一个初始的状态去执行程序
在这里插入图片描述


复位电路

此图的为高电平复位,低电平正常工作, RST是复位端,单片机的振荡器工作时,该引脚上出现持续两个机器周期3的高电平就可以实现复位操作,使单片机回复到初始状态。上电时,考虑到振荡器有一定的起振时间,该引脚上高电平必须持续10ms以上才能保证有效复位。

实现高电平脉冲方法:电容充放电,上电瞬间,电容充电,RST为高电平复位;电容充满电,断路,RST为低电平。以此产生一段时间高电平再变成低电平,为单片机提供复位信号。

详细解释:当这个电路处于稳态时,电容起到隔离直流的作用,隔离了+5V,下边部分电路就没有电压差的产生,所以电容C1 以下部分的电位都是和GND 相等的,也就是 0V。

电容 C1 上方电压是 5V,下方是 0V,根据我们初中所学的知识,电容 C1 要进行充电,正离子从上往下充电,负电子从 GND 往上充电,这个时候电容对电路来说相当于一根导线,全部电压都加在了 R1 这个电阻上,那么 RST端口位置的电压就是 5V,随着电容充电越来越多,即将充满的时候,电流会越来越小,那RST 端口上的电压值等于电流乘以 R1 的阻值,也就会越来越小,一直到电容完全充满后,线路上不再有电流,这个时候RST 和 GND 的电位就相等了也就是 0V 了。这个单片机是高电平复位,低电平正常工作,所以正常工作的电压是 0V,没有问题。
原文所在:布尔青年连接

欢迎关注技术公众号,获取更多硬件学习干货!
在这里插入图片描述

我们能为你提供什么?
技术辅导:C++、Java、嵌入式软件/硬件
项目辅导:软件/硬件项目、大厂实训项目
就业辅导:就业全流程辅导、技术创业支持
对接企业HR:培养输送优质性人才


  1. 外接晶体时,XTAL1与XTAL2各接晶体的一端,接外界晶体与片内发现放大器构成振荡器
    添加链接描述 ↩︎

  2. 复位电路描述更详细,这部分应用了这篇文章 ↩︎

  3. 6个时钟周期构成1个机器周期 ↩︎

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152272.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 写java代码的软件_新手编写java代码使用什么软件

    写java代码的软件_新手编写java代码使用什么软件新手编写java代码常用的编辑器有:1、eclipseEclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentKit,JDK)。(视频教程推荐:java视频)2、notepad++Notepad++是在微软视窗环境…

    2022年5月7日
    72
  • 武侠世界2-健壮性

    前几周就获得的武侠世界2的源代码,一直没有时间表去看。从网上搞来的武侠世界2的源代码,能编译通过,大的问题没有,小问题还是挺多。其它的细节,大家其实可以在网上搜索一下。下面的游戏运行的截图:我还把角色升到2级呢,废话少说,直奔主题。1、在windows下代码的健壮性打开World.sln,工程的main函数在World.cpp里面。开始部分我们能看到#ifdefined(…

    2022年4月1日
    38
  • js数组常用方法「建议收藏」

    js数组常用方法「建议收藏」1.join()(数组转字符串)数组转字符串,方法只接收一个参数:即默认为逗号分隔符()。<script> vararr=[1,2,3,4]; console.log(arr.join());//1,2,3,4 console.log(arr.join(":"));//1:2:3:4 console.log(arr);//[1,2,3,4],原数组不变&l…

    2022年5月18日
    49
  • 无锁编程介绍

    无锁编程介绍原文地址:http://preshing.com/20120612/an-introduction-to-lock-free-programming文章目录无锁编程是什么无锁编程技术原子的Read-Modify-Write操作Compare-And-Swap循环顺序一致性内存保序不同的处理器有不同的内存模型参考文献无锁编程是一项挑战,不仅仅是因为自身的复杂性所致,还与初次探索该课题的困难…

    2022年6月10日
    25
  • 缓存穿透,缓存击穿,缓存雪崩解决方案分析

    缓存穿透,缓存击穿,缓存雪崩解决方案分析前言设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。解决方案

    2022年6月30日
    18
  • python 3.6安装cPickle

    python 3.6安装cPicklepython36找不到pickle这个包,直接使用import_pickleascPickle即可,亲测可用https://blog.csdn.net/bailixuance/article/details/850544591、在python2.X中,需要安装cPickle,2、在python3.X中,这个包已被别的包替换,使用以下语句即可:import_picklea…

    2022年6月16日
    115

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号