目录
[1、VCC GND](#1、VCC GND)
[2、XTAL1 2](#2、XTAL1 2)
[12、通用IO P0](#12、通用IO P0)
[13、通用IO P1](#13、通用IO P1)
[14、通用IO P2](#14、通用IO P2)
一、什么是51单片机
51单片机(如8051)是非常经典的一款微控制器,它的最小系统是指将8051微控制器核心部分与必要的外围硬件连接起来,形成一个能正常工作的最简单系统。最小系统通常包括以下几个重要的引脚和电路元件,每个引脚都有其特定的作用。
二、51单片机的引脚介绍
51单片机(如8051)是非常经典的一款微控制器,它的最小系统是指将8051微控制器核心部分与必要的外围硬件连接起来,形成一个能正常工作的最简单系统。最小系统通常包括以下几个重要的引脚和电路元件,每个引脚都有其特定的作用。下面是各个引脚和信号的详细阐述:
1、VCC GND
VCC:电源正极,提供单片机所需的电压,通常为5V。
GND:电源负极,也就是地,供电系统的参考点。
这些引脚是单片机正常工作所必须的,VCC为单片机提供电力,GND提供回路的接地。
2、XTAL1 2
XTAL1 和 XTAL2是单片机的外部晶振引脚。
用于连接外部的晶体振荡器或外部时钟源。8051单片机内部的时钟源通常由这两个引脚与一个晶体振荡器共同组成。
XTAL1 为输入端,连接外部晶体的一个端口,XTAL2为输出端,连接外部晶体的另一个端口。
该振荡器用来为单片机提供时钟信号,通常为12MHz,影响CPU的时钟频率。
3、RST
RST:复位引脚,用于将单片机初始化。通过外部电路,给该引脚提供一个高电平脉冲,能够使51单片机重新启动,恢复到初始状态。
通常在启动时,或者系统异常时,进行复位操作,以确保单片机从已知状态开始工作。
4、EA
EA(External Access):外部存储器访问控制引脚。通常连接到高电平,表示程序存储器(如ROM)来自内部存储器。
5、PSEN
PSEN:程序存储器使能引脚。用于控制外部存储器的读取。
当PSEN为低/高电平时,8051单片机会从外部程序存储器(如EPROM或Flash)读取程序代码,一般悬置空。
6、ALE
ALE(地址锁存使能):地址锁存使能引脚。用来提供地址锁存信号,当8051需要访问外部数据存储器或程序存储器时,ALE信号会产生一个脉冲来锁存地址。一般悬空。
7、RXD、TXD
RXD(接收数据引脚):串行口的接收端,通常与外部设备的发送端连接。用于接收来自外部设备的串行数据。
TXD(发送数据引脚):串行口的发送端,通常与外部设备的接收端连接。用于向外部设备发送串行数据。
51单片机下载程序也需要通过这两个IO,所以一般需要进行排针引出。
8、INT0、INT1
INT0 和 INT1:外部中断引脚。用于响应外部事件触发中断信号(例如按键输入或外部传感器信号)。通过这两个引脚,8051可以处理外部中断,使系统能够响应外部环境变化。一般悬空。
9、T0、T1
T0 和 T1:定时器/计数器引脚。用于连接定时器和外部事件源,提供精确的时间间隔控制。可以用来实现定时操作、计数外部信号等功能。一般悬空。
10、MOSI、MISO、SCK
MOSI(主输出从输入):用于SPI通信协议中,主设备通过该引脚向从设备发送数据。
MISO(主输入从输出):用于SPI通信协议中,主设备通过该引脚接收从设备发送的数据。
SCK(时钟):用于SPI协议中,提供时钟信号,同步数据传输的速率。
11、WR、RD
WR(写使能):用于控制外部存储器的写操作。当WR信号为低电平时,表示数据将被写入外部存储器。
RD(读使能):用于控制外部存储器的读操作。当RD信号为低电平时,表示数据将从外部存储器读取。
12、通用IO P0
P0:8051单片机的第一个I/O口,通常由8个引脚组成,提供双向数据传输。该端口通常用于与外部设备的数据交换,可以作为输入或者输出。一般需要通过电阻上拉到VCC上提供驱动能力。
13、通用IO P1
P1:8051单片机的第二个I/O口,类似于P0,提供双向数据传输,通常用来与外部设备进行通信。P1口通常也连接到外部设备,比如LED显示、按钮等。不需要通过电阻上拉到VCC上提供驱动能力。
14、通用IO P2
P2:8051单片机的第三个I/O口,和P0、P1类似,用于数据传输。P2口通常用于连接外部的设备、传感器、开关等。
三、51单片机的最小系统
1、供电与功能选择
如图所示为51单片机的最小系统,其中EA、VCC需要连接到VCC供电,GND需要连接GND供电。
2、复位
可以看到按下按键之前NRST处于GND,按下按键后NRST就被接到VCC,从而实现手动复位,而C3用于实现削弱按键的抖动。
3、时钟-11.0592MHz与12MHz
一般电容选择20-40pf区间,晶振则选择11.0592MHz或12MHz。
(1)12MHz晶振频率
主要原因:
**系统时钟的标准化:**12MHz 是8051单片机时钟频率的常见标准之一,因为许多8051系列单片机(以及其他类似的8位单片机)都默认使用12MHz频率,这使得该频率成为业界的标准。
**性能需求:**12MHz的频率能提供适当的处理速度,既满足了基本控制需求,又不会导致功耗过高。
优点:
较高的计算速度: 12MHz频率下,8051单片机的机器周期为1微秒(12 MHz / 12 = 1 微秒)。较高的频率使得单片机在进行运算、控制和数据处理时能够更快响应更高的时钟频率,提供了相对较高的处理能力,适合一些需要较快响应的应用场景。
缺点:
**较高功耗:**较高的频率意味着功耗更大,尤其是在高负载条件下。这对于低功耗应用不是最佳选择。
**定时器精度:**12 MHz的时钟频率和标准的通信协议(如串口通信的波特率)之间有一定的差异,可能导致需要进行额外的计算或调整,才能确保定时精度。
(2)11.0592MHz晶振频率
主要原因:
**精确的波特率生成:**11.0592 MHz 的晶振频率是为了提供一个精确的串口波特率,特别是在标准的串行通信中(例如RS-232、UART等)。
波特率生成 :使用11.0592 MHz时,8051单片机的时钟频率能够与标准的波特率(如9600、19200等)实现较好的匹配,因为8051单片机内部的时钟频率与波特率生成器之间有直接的关系。
计算方法:
对于11.0592MHz,执行单周期指令时间为1/11.0592MHz,而机器周期在此基础上*12
对于12MHz,执行单周期指令时间为1/12MHz,而机器周期在此基础上*12
对于9600波特率,要求速度为1/9600
分别对应的分频系数为:1/9600 / (1/11059200*12)=96
分别对应的分频系数为:1/9600 / (1/12*12)=104.1666
**可以看到对于11.0592MHz,其分频系数为整数倍,从而可以实现精确的波特率。**同理可计算115200波特率等。
优点:
精确的串口波特率 :11.0592 MHz 是为了与常见的串行通信标准波特率精确匹配(例如9600、19200等),这对于通信应用至关重要。以11.0592 MHz频率为基准,能确保波特率的计算更加精确,减少误差。
兼容性强:大多数使用11.0592 MHz频率的8051单片机能够与外部设备、通信协议等更好兼容,尤其是在需要高精度串口通信的场合。
缺点:
性能较低:与12 MHz相比,11.0592 MHz频率的时钟周期略长,这意味着它的处理速度稍微慢一些,可能会影响一些对处理速度要求较高的应用。
功耗略高:虽然频率略低,但相比于更低频率的晶振,11.0592 MHz仍然可能产生较高的功耗。
4、P0口
由于内部没有上拉电阻,如果直接输出高电平,则由内部寄存器提供直接输出,这个电流是极其微弱的,其无法正常输出到5V,通常为4.0V左右的高阻态,不易被外部电路识别。
一般根据所需电流,常用阻值为4.7KΩ、5.1KΩ、10KΩ。上拉电阻还可以提供稳定的输出端电位,不会出现高阻态的情况;同时解决了CMOS不能悬空引脚的问题,并提供驱动电流的功能。