51单片机学习笔记(2)——51单片机简介

1、单片机内部三大资源

Flash——程序存储空间,早期单片机是 OTPROM
在早期的单片机中,主要是用 OTPROM(One Time Programmable Read-Only Memory,即一次可编程只读存储器)来存储单片机的程序,程序只能写入一次。随着技术的发展, Flash 以其可重复擦写且容量大成本低的优点成为现在绝大多数单片机的程序存储器。对于单片机来说 Flash 最大的意义是断电后数据不丢失
RAM——数据存储空间
RAM 用来存储程序运行过程中产生的和需要的数据,关电后数据丢失。它的优点,第一是读写速度非常快,第二是理论上是可无限次写入的,即寿命无限,不管程序怎么运行怎么读写它都不会坏。
SFR——特殊功能寄存器
单片机有很多很多功能,每个功能都会对应一个或多个 SFR,我们就是通过写程序控制 SFR 的读写来实现单片机的多种多样的功能的。

2、51单片机简介

通常我们所说的 51 单片机,指的都是兼容 Intel MCS-51 体系架构的基于8051内核的一系列单片机,而 51 是它的一个通俗的简称。全球有众多的半导体厂商推出了无数款这一系列的单片机,比如 Atmel 的 AT89C52, NXP(Philips)的 P89V51,宏晶科技的 STC89C52……具体型号千差万别,但他们的基本原理和操作都是一样的,程序开发环境也是一样的,也就是说只要你学会了其中一种 51 单片机的操作,其他的便全都会操作了。

①标号信息

以下介绍以STC89C52RC 单片机为例:
51单片机学习笔记(2)——51单片机简介
芯片上的全部标号为 STC89C52RC、 40I-PDIP40、 1428HBS967.C90C,标识解释如下所示。
STC——芯片的生产公司, STC 表示宏晶公司。这个前缀常见的有 AT、P、 W、 SST 等。其中 AT 表示 Atmel 公司, P 表示 Philips 公司, W 表示 Winbond 公司,SST 代表 SST 公司。
8——该芯片是 8051 内核芯片。
9——芯片内部含有 Flash EEPROM 存储器。 其他如 80C51 中的 0 表示内部含有掩膜存储器( Mask ROM), 87C51 中的 7 表示内部含有紫外线可擦除 ROM( EPROM)。
C——该器件为 CMOS 产品。其他如 89LE52、 89LV52、 89LS52,其中的 LE、 LV、 LS表示低电压产品(通常它们的工作电压为 3.3V),89S52 中的 S 表示该系列的芯片带有 ISP 在线编程功能。
5——固定不变。
2——该芯片的内部程序存储空间的大小。 1 为 4 KB, 2 为 8 KB, 3 为 12 KB,也就是该数乘以 4 KB 就是该芯片内部程序存储空间的大小。 空间越大能装入的程序代码就越多。 当然,空间越大芯片的价格也会越高。因此在选择芯片时,要根据我们的需求进行合理选择,够用就可以。这个空间的大小跟单片机的其他性能不产生关联,不影响单片机的功能。
RC——STC 单片机内部 RAM 为 512 B,RD+表示内部 RAM 为1280B。
40——芯片外部晶振最高可接入 40 MHz。像 Atmel 的单片机这个数值一般是 24,表示外部最高晶振是 24 MHz。
I——产品级别。 I 表示工业级,温度范围为−40~85℃。其他如 C 表示商业级,温度范围为 0~70℃; A 表示汽车级,温度范围为−40~125℃; M 为军用级,温度范围为−55~150℃。
PDIP——产品封装型号。 PDIP 为双列直插式。其他如 PLCC 为带引线的塑料芯片封装;QFP 为塑料方型扁平式封装; PFP 为塑料扁平组件式封装; PGA 为插针网格阵列封装; BGA为球栅阵列封装。
40——引脚个数。
1428——本批芯片的生产日期是 2014 年的第 28 周。

②引脚功能介绍

51单片机学习笔记(2)——51单片机简介
注意:芯片的第 1 脚,一般会在芯片上标记出来,有的是一个小圆坑或是一个圆点,有的是整个芯片起始脚边的标记。找到第 1 脚后,其他引脚的序号,是按照俯视图从第 1 脚开始,逆时针方向顺序递增来进行编号的。
单片机的引脚大致可分为四类:
① 电源引脚: VCC、 GND。
② 时钟引脚: XTAL1、 XTAL2。
③ 控制引脚: RST、 PSEN 、 ALE/ PROG 、 EA /VPP。
④ I/O 引脚 : 4个8位并行 I/O 端口 P0、P1、P2、P3 ,共32个引脚。
VCC( 40 脚):单片机电源正极,不同类型单片机的接入电源电压会有不同,通常为+5V,如果是低压为+3.3V。大家在使用前,请查看单片机对应的数据手册。
GND( 20 脚):单片机电源负极,接地端。
XTAL1( 19 脚)、 XTAL2( 18 脚):时钟电路引脚。 XTAL1 接外部晶振和微调电容的一端,在片内它是振荡器反相放大器和时钟发生器的输入端若使用外部时钟,该引脚必须接地。 XTAL2 接外部晶振和微调电容的另一端,在片内它是振荡器反相放大器的输出端若使用外部时钟,该引脚接外部时钟的输入端
RST( 9 脚):单片机复位引脚,持续时间超过两个机器周期的高电平引起系统复位。也就是说程序将从头开始运行。
PSEN ( 29 脚):外部程序存储器选通信号输出引脚,在读外部 ROM 时PSEN 低电平有效,以实现外部 ROM 单元的读操作。随着技术的发展,单片机的内部存储 ROM 越做越大,已经能满足使用需求,基本没人再去扩展外部 ROM。在设计电路时,该引脚一般悬空,不作使用
① 内部 ROM 读取时, PSEN 不动作;
② 外部 ROM 读取时,在每个机器周期会动作两次;
③ 外部 RAM 读取时,跳过两个 PSEN 脉冲不会输出;
④ 外接 ROM 时,与 ROM 的 OE 脚相接。
ALE/ PROG ( 30 脚):具有两种功能,可以作为地址锁存使能端和编程脉冲输入端。当作为地址锁存使能端时为 ALE。当单片机访问外部程序存储器时, ALE 的负跳变将低8 位地址打入锁存。当访问外部数据存储器时,例如执行 MOVX 类指令, ALE 引脚会跳过一个脉冲。当单片机没有访问外部程序存储器时, ALE 引脚将有一个 1/6 振荡频率的正脉冲信号输出,该信号可以用于外部计数或电路其他部分的时钟信号。当作为编程脉冲输入端时为PROG ,在进行程序下载时使用。现在很多单片机在烧录程序时已不需要编程脉冲引脚往内部写程序。比如我们使用的 STC 单片机,它是通过串行口烧
录的,使用更为简便。现在的单片机已带有丰富的 RAM 和更为简便的程序烧录方式,因此 ALE/ PROG 这个引脚已很少用到,我们了解即可。在设计电路时一般悬空,不作使用。
EA /VPP( 31 脚):具有两种功能。EA :程序存储器选择。 EA =1 时,单片机执行内部程序存储器的程序,当扩展有外部程序存储器时,在执行完内部程序存储器的部分程序后,自动执行外部程序存储器的程序。EA =0,单片机执行外部程序存储器的程序。
VPP:在内部程序存储器擦除和写入时提供编程脉冲。现在的单片机一般内部的 ROM 已经足够大,能满足我们的程序存储需求,所以 VPP 的功能一般不用。因此一般在设计电路时,此引脚始终给它接上高电平即可
I/O 引脚 : STC89C52 共有 4 个 8 位并行 I/O 端口,分别为 P0、 P1、P2、 P3 口,共 32 个引脚。
P0 口( 39 脚~32 脚): P0 口是一个 8 位漏极开路的双向端口,分别为P0.0~P0.7 口,可独立控制。 P0 口在作为低 8 位地址/数据总线使用时不需接上拉电阻;作为一般的 I/O 口使用时,由于内部没有上拉电阻,在使用时需要接上拉电阻。一般选用 10kΩ 电阻作为上拉电阻。
P1 口( 1 脚~8 脚): P1 口是一个带上拉电阻的 8 位准双向端口,分别为 P1.0~P1.7 口,可独立控制,也可做输入或输出口使用。
P2 口( 21 脚~28 脚): P2 口是一个带上拉电阻的 8 位准双向端口, 分别为 P2.0~P2.7 口,可独立控制,可做输入或输出口使用,功能和 P1 口相似。
P3 口( 10 脚~17 脚): P3 口是一个带上拉电阻的 8 位准双向端口, 分别为 P3.0~P3.7 口,可独立控制。是一个双用途端口,可做输入或输出口使用,功能和 P1 口相似。它还具有第二功能,具体如表所示。

I/O 口 引脚 第二功能 说明
P3.0 10 RXD 串行口输入端
P3.1 11 TXD 串行口输出端
P3.2 12 INT0 外部中断 0 请求输入端
P3.3 13 INT1 外部中断 1 请求输入端
P3.4 14 T0 定时/计数器 0 外部信号输入端
P3.5 15 T1 定时/计数器 1 外部信号输入端
P3.6 16 WR 外部 RAM 写控制信号输出端
P3.7 17 RD 外部 RAM 读控制信号输出端

③最小系统

51单片机学习笔记(2)——51单片机简介
单片机最小系统,是指用最少的原件组成单片机可以工作的系统。
单片机最小系统的三要素就是电源电路、晶振电路、复位电路