我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 1176|回复: 12

[技术文章] 51单片机最小系统搭建

[复制链接]

该用户从未签到

53

主题

36

回帖

289

积分

二级逆天

积分
289

社区居民终身成就奖

QQ
发表于 2020-10-27 08:52:02 | 显示全部楼层 |阅读模式
单片机最小系统,或者称为单片机最小应用系统,是指用最少的元件组成的单片机可以工作的系统.对51系列单片机来说,



最小系统一般应该包括:单片机、晶振电路、复位电路.




一.先说一下51单片机的引脚:


    [li]总线型 DIP40 引脚封装
      电源及时钟引脚, 4 个
      VCC:电源接入引脚
      VSS:接地引脚
      XTAL1:晶体振荡器接入的一个引脚
      XTAL2:晶体振荡器接入的另外一个引脚[/li][li]控制线引脚, 4 个
      RST/VPD:复位信号输入引脚/备用电源输入引脚;ALE/PROG:地址锁存允许信号输出引脚/编程脉冲输入引脚
      EA/VPP:内外存储器选择引脚,当接高电平时,单片机在复位后从内部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行
      PSEN:外部程序存储器选择通信号输出引脚[/li][li]并行 I/O 引脚, 32 个,分 4 个 8 位口
      P0.0 ~ P0.7:一般 I/O 口引脚或数据/低位地址总线复用引脚
      P1.0 ~ P1.7:一般 I/O 口引脚
      P2.0 ~ P2.7:一般 I/O 口引脚或高位地址总线引脚
      P3.0 ~ P3.7:一般 I/O 口引脚或第二功能引脚[/li]



  二.下面是在protues环境下搭建的一个51单片机的最小系统电路图. Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。主要是可以进行单片机及外围器件的仿真,在编译方面,它也支持IAR、Keil和MATLAB等多种编译.


    [li]晶振电路:
      单片机系统里都有晶振,在单片机系统里晶振作用非常大,全程叫晶体振荡器,他结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快典型的晶振取11.0592MHz(方便串口波特率设置)或者12MHz(产生精确的uS级时歇,方便定时操作),电容这里选择22pf(15~33pF都行,经验值),并且电容离晶振越近越好,晶振离单片机越近越好,的瓷片电容或者无极性的贴片电容,具体根据制作的电路板类型选择[/li][li]复位电路:
      在单片机系统在运行中,当受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。51单片机要复位只需要在RST引脚接个高电平持续2US就可以实现。
      复位电路的工作原理如下:
    在电路图中,电容的的大小是10uF,电阻的大小是10k。根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10K*10UF=0.1S。也就是说在电脑启动的0.1S内,电容两端的电压时在0~3.5V增加。这个时候10K电阻两端的电压为从5~1.5V减少(串联电路各处电压之和为总电压)。所以在0.1S内,RST引脚所接收到的电压是5V~1.5V。在5V正常工作的51单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号为高电平信号。所以在开机0.1S内,单片机系统自动复位(RST引脚接收到的高电平信号时间为0.1S左右)。按键按下的时候也会会复位,在单片机启动0.1S后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.1S内,从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位。[/li][li]下载电路:
      我们可以把P3.0(RXD) ,P3.1(TXD)和电源地接在一个3p的header上,方便程序的下载和串口通行。[/li]



三.最后简单说一下单片机输出驱动能力的问题:

  单片机的引脚,可以用程序来控制输出高、低电平, 单片机输出低电平时,将允许外部器件,向单片机引脚内灌入电流,这个电流,称为“灌电流”,外部电路称为“灌电流负载”,单片机输出高电平时,则允许外部器件,从单片机的引脚拉出电流,这个电流,称为“拉电流”,外部电路称为“拉电流负载”,每个单个的引脚,输出低电平的时候,允许外部电路,向引脚灌入的最大电流为 10 mA;每个 8 位的接口(P1、P2 以及 P3),允许向引脚灌入的总电流最大为 15 mA,而 P0 的能力强一些,允许向引脚灌入的最大总电流为 26 mA;全部的四个接口所允许的灌电流之和,最大为 71 mA。而当这些引脚“输出高电平”的时候,单片机的“拉电流”能力可以说是太差了,竟然不到 1 mA。结论就是:单片机输出低电平的时候,驱动能力尚可,而输出高电平的时候,就没有输出电流的能力。设计单片机的负载电路,应该采用“灌电流负载”的电路形式,以避免无谓的电流消耗。所以这里我们采用“灌电流”的方式接一个LED灯。此时,一个51单片机的最小系统就搭建好了,开始单片机的学习之旅~~~
  附一段小程序,通过P1.0控制一个LED的闪烁

[size=; font-size: inherit,inherit]#include <reg52.h>sbit led=P1^[size=; font-size: inherit,inherit]0;[size=; font-size: inherit,inherit]void delay([size=; font-size: inherit,inherit]unsigned [size=; font-size: inherit,inherit]int i){[size=; font-size: inherit,inherit]unsigned [size=; font-size: inherit,inherit]int j;[size=; font-size: inherit,inherit]unsigned [size=; font-size: inherit,inherit]char k;[size=; font-size: inherit,inherit]for(j=i;j>[size=; font-size: inherit,inherit]0;j--)[size=; font-size: inherit,inherit]for(k=[size=; font-size: inherit,inherit]125;k>[size=; font-size: inherit,inherit]0;k--);}[size=; font-size: inherit,inherit]void main([size=; font-size: inherit,inherit]void){[size=; font-size: inherit,inherit]while([size=; font-size: inherit,inherit]1){led=~led;delay([size=; font-size: inherit,inherit]2000);}}
回复

使用道具 举报

  • TA的每日心情
    奋斗
    前天 11:51
  • 签到天数: 56 天

    [LV.5]常住居民I

    60

    主题

    1万

    回帖

    8389

    积分

    二级逆天

    积分
    8389

    终身成就奖特殊贡献奖原创先锋奖社区居民灌水天才奖优秀斑竹奖宣传大使奖忠实会员最爱沙发社区劳模

    QQ
    发表于 2020-10-27 08:58:34 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 11:20
  • 签到天数: 57 天

    [LV.5]常住居民I

    51

    主题

    3823

    回帖

    2966

    积分

    二级逆天

    积分
    2966

    终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

    QQ
    发表于 2020-10-27 08:59:57 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    2

    主题

    140

    回帖

    0

    积分

    一级逆天

    积分
    0

    终身成就奖

    发表于 2020-10-27 09:14:10 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-6-14 16:03
  • 签到天数: 16 天

    [LV.4]偶尔看看III

    0

    主题

    1万

    回帖

    7618

    积分

    二级逆天

    积分
    7618

    终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

    QQ
    发表于 2020-10-27 16:20:57 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    1

    主题

    295

    回帖

    0

    积分

    二级逆天

    积分
    0

    终身成就奖

    发表于 2020-10-28 07:57:24 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    81

    主题

    1131

    回帖

    2376

    积分

    PADS20210122高级班

    积分
    2376

    终身成就奖

    发表于 2020-11-5 21:26:42 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    196

    主题

    3558

    回帖

    0

    积分

    二级逆天

    积分
    0

    终身成就奖特殊贡献奖原创先锋奖

    发表于 2020-11-6 15:21:34 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    29

    主题

    1427

    回帖

    0

    积分

    二级逆天

    积分
    0

    终身成就奖特殊贡献奖原创先锋奖

    发表于 2023-2-7 08:32:56 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 08:05
  • 签到天数: 118 天

    [LV.6]常住居民II

    2

    主题

    8602

    回帖

    9930

    积分

    二级逆天

    积分
    9930

    社区居民终身成就奖特殊贡献奖原创先锋奖

    QQ
    发表于 2023-2-8 08:01:02 | 显示全部楼层
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    论坛开启做任务可以
    额外奖励金币快速赚
    积分升级了


    Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

    本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

    平平安安
    TOP
    快速回复 返回顶部 返回列表