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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python的concat函数_python concat函数

    python的concat函数_python concat函数test1=pd.DataFrame(np.random.randn(2,2),columns=[‘1′,’2’])test1test2=pd.DataFrame(np.random.randn(4,2),columns=[‘1′,’sss’])test2test3=pd.concat([test1,test2])test3test4=pd.concat([test1,test2],axis=1)…

    2022年5月1日
    52
  • Android listView用法详解

    Android listView用法详解1.前言在android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。列表的显示需要三个元素:1.ListVeiw:用来展示列表的View。2.适配器:用来把数据映射到ListView上的中介。3.数据:被映射的字符串,图片,或者基本组件。2.listView的使用listVi

    2022年7月22日
    15
  • 微信公众号代理运营公司_多平台推广

    微信公众号代理运营公司_多平台推广最近公司项目需要切到微信服务号,但是公司内网环境需要开防火墙策略才能访问微信的开放API,实际上就是通过代理去访问。这里记录一下我通过代理去调用微信API遇到的坑及解决办法。

    2022年8月21日
    9
  • 计算机网络——DHCP协议详解

    计算机网络——DHCP协议详解由浅入深理解DHCP协议

    2022年5月10日
    68
  • “多源异构”和“异构同源”定义区分详解「建议收藏」

    “多源异构”和“异构同源”定义区分详解一、多源异构1、定义2、示例解释二、异构同源1、定义2、示例解释三、综合举个简单栗子:叮嘟!这里是小啊呜的学习课程资料整理。好记性不如烂笔头,今天也是努力进步的一天。一起加油进阶吧!

    2022年4月18日
    95
  • js 中的构造函数,构造函数作用,构造函数和普通函数的区别

    js 中的构造函数,构造函数作用,构造函数和普通函数的区别函数的定义方式:1.声明式函数定义:function函数名(){};这种定义方式,会将函数声明提升到该函数所在作用域的最开头,也是就无论你在这个函数的最小作用域的那儿使用这种方式声明的函数,在这个作用域内,你都可以调用这个函数为你所用。2.函数表达式:letfun=function(){};此方式定义的函数,只能在该作用域中,这段赋值代码执行之后才能通过fun()调用函数,否则,由于变量声明提升,fun===undefined。3.newFunction形式:varfun1

    2025年10月4日
    3

发表回复

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

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