51单片机最小系统解读

51单片机最小系统解读提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、51单片机最小系统模块构成二、电源电路1.电源引脚三、时钟电路1.外部晶振引脚2.晶振(时钟电路)3.时钟电路小tips四、复位电路1.按键复位2.上电复位总结前言在学习51单片机的时候我们最先接触到的就是单片机最小系统,单片机最小系统又叫最小应用系统,顾名思义就是能够使单片机实现简单运行的最少原件的组合。提示:以下将以51单片机最小系统为例进行介绍一、51单片机最小系统模块构成二、电源电路一个系统的

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

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

在学习51单片机的时候我们最先接触到的就是单片机最小系统,单片机最小系统又叫最小应用系统,顾名思义就是能够使单片机实现简单运行的最小元件的组合。


提示:以下将以51单片机最小系统为例进行介绍

一、51单片机最小系统模块构成

最小系统模块

二、电源电路

一个系统的正常工作离不开电源,单片机常见的电源电压分为5V 和低功耗的3.3V。本文介绍的是STC89C51这款芯片,该芯片是在5V电压下正常工作。

1.电源引脚

VCC(VDD):第40脚,电源端,接+5V电源,用于给整个系统供电。

VSS(GND):第20脚,接地端,接GND端。

EA :第31引脚,EA为片外程序存储器选用端,该引脚低电平时,选用片外程序存储器,高电平或悬空时选用片内程序存储器。
在这里插入图片描述

三、时钟电路

1.时钟引脚

XTAL1(Pin18):片内振荡电路的输出端
XTAL2(Pin19):片内振荡电路的输入端
在这里J1排母放置的是一个三孔圆形排母,是为了可以更换不同频率的晶振一般接12MHz的晶振,如果要用的串口通信后期方便更换成11.0592MHz的晶振

2.晶振(时钟电路)

晶振通常分为无源晶振和有源晶振两种类型,无源晶振一般称之为 crystal(晶体),而有源晶振则叫做 oscillator(振荡器)。

我们现在常见的都是无源晶振,无源晶振价格低且没用特定的工作电压限制,但是无源晶振不能自己起振,需要借助外围电路的力量才能工作。而有源晶振是一个完整的谐振振荡器,不需要外接其他器件,只要给它供电即可。

3.时钟电路小tips

  1. 51单片机最小系统复位电路的极性电容C1 的大小直接影响单片机的复位时间,一般采用10~30uF,51单片机最小系统容值越大需要的复位时间越短。
  2. 在硬件电路设计时,把电容离晶振越近的位置摆放越好且晶振离单片机越近越好。

四、复位电路

1. 按键复位

当单片机启动后,电容C3两端的电压持续充电为5V,这时R210k电阻两端电压为0V,RST处于低电平状态所以系统正常工作。当按键按下时,开关导通,这时电容两端形成回路,电容短路,开始释放电量,这时电压从5V降到1.5V甚至更少,此时10k电阻两端电压为3.5V甚至更大,所以RST引脚又接到高电平,单片机系统自动复位。
单片机中 默认5V为高电平即1 ,1.5V为低电平即0
按键复位电路

2. 上电复位

如图所示,该电路是由一个10uf的极性电容和一个10k的电阻构成。
在单片机上电的瞬间,电容两端电压从0-3.5V不断增加,电阻两端电压从5V-1.5V不断减少,所以RST引脚所接收到的电压是5V-1.5V的过程,也就是从从高电平(1)到低电平(0)的过程所以单片机实现了自动复位。
上电复位

在51单片机中,只需要给RST(9引脚)加上两个周期的高电平即可复位,当单片机上电那一刻起,默认复位一次。单片机复位相当于电脑的重启。

总结

51单片机最小系统大概就如上所诉,在硬件电路设计的时候只需要注意电阻电容选型和参数,以及摆放位置即可。作为一个系统,在PCB设计时,应摆放紧凑尤其是时钟电路,作为单片机的“心脏电路”。

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

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

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


相关推荐

  • insert into on duplicate key_mysql数据库同步解决方案

    insert into on duplicate key_mysql数据库同步解决方案1.Couldourdatabasesupportmulti-databaseunderonesingleinstance?2.Couldwesupporttemporarytable?3.Couldwesupportview?4.Couldwesupportstoredprocedureandfunctions?5.CouldeXtr…

    2022年10月15日
  • 25行代码实现完整的RSA算法

    25行代码实现完整的RSA算法25行代码实现完整的RSA算法  网络上很多关于RSA算法的原理介绍,但是翻来翻去就是没有一个靠谱的算法实现,即使有代码介绍,也都是直接调用JDK或者Python代码包中的API实现,或者即使有代码也都写得特别烂。无形中让人感觉RSA加密算法竟然这么高深,然后就看不下去了。还有我发现对于“大整数的幂次乘方取模”竟然采用直接计算的幂次的值,再取模,类似于(2^1024)^(2^102…

    2022年6月6日
  • 选择排序算法详解_八大排序算法图解

    选择排序算法详解_八大排序算法图解选择排序就是从待排序的元素中选择最小(最大)的元素,将其放在有序序列的相应位置,使这些元素构成有序序列。选择排序主要有两种:简单选择排序和堆排序。【简单选择排序】编写算法,要求使用简单选择排序算法对元素65、32、71、28、83、7、53、49进行从小到大排序。【算法思想】简单选择排序是一种简单的选择类排序算法,它的基本思想描述如下:假设待排序的元素有n个,在第一趟排序过程…

    2022年10月28日
  • java 10套完整项目开发案例 (详细实现步骤)

    java 10套完整项目开发案例 (详细实现步骤)所有推荐的项目,一般都不会在你的环境下面一步到位调试成功的,这需要你自己去慢慢调整。请记住:调整的过程也是一个学习的过程,而且是一个很重要的学习过程。如果你连调试的耐心都没有了,那么建议调整好心态来重新学习。另外一点,如果你想提高自己的JavaWeb水平,一样建议你好好敲一次下面的几个项目。java十大项目开发一.进销存管理系统二.企业内部通信系统三.企业人事管理系统四.酒店管理系统五.图书馆管理系统六.企业快信七….

    2022年7月9日
  • xaxis python_Python Matplotlib.axes.Axes.invert_xaxis()用法及代码示例

    xaxis python_Python Matplotlib.axes.Axes.invert_xaxis()用法及代码示例Matplotlib是Python中的一个库,它是数字的-NumPy库的数学扩展。轴类包含大多数图形元素:Axis,Tick,Line2D,Text,Polygon等,并设置坐标系。Axes实例通过callbacks属性支持回调。matplotlib.axes.Axes.invert_xaxis()功能matplotlib库的axiss模块中的Axes.invert_xaxis()函数用于反转x…

    2022年11月3日
  • nohup命令详解[通俗易懂]

    nohup命令详解[通俗易懂]nohup命令详解

    2022年4月24日

发表回复

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

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