03、51 单片机介绍
计算机的组成(冯诺依曼原理):一台能够工作的计算机要有这样几个部件构成:CPU(进行运算、控制)、 RAM(数据存储)、ROM(程序存储)、输入/输出设备(例如:串行口、并行输出口等)。而在单片机中,这些部件全部被做到一块集成电路芯片中,所以就称
为单片机(也称微控制器 MCU),而且有一些单片机中除了上述部份外,还集成
了其它部份如 A/D,D/A 等。
在众多微控制器中,51 单片机确实是非常适合初学者入门学习的,因此很有必要先认识和了解 51 单片机。
一、51 单片机介绍
51 单片机是对所有兼容 Intel 8031 指令系统的单片机的统称。该系列单片
机的始祖是 Intel 的 8004 单片机,后来随着 Flash rom 技术的发展,8004 单片
机取得了长足的进展,成为应用最广泛的 8 位单片机之一,其代表型号是 ATMEL
公司的 AT89 系列,它广泛应用于工业测控系统之中。
80C51 是 MCS-51 系列中的一个典型品种;其它厂商以 8051 为基核开发出的
CMOS 工艺单片机产品统称为 80C51 系列。当前常用的 80C51 系列单片机主要产
品有:
- Intel(英特尔)的:i80C31、i80C51、i87C51,i80C32、i80C52、i87C52 等;
- ATMEL(艾德梅尔)的:AT89C51、AT89C52、AT89C2051,AT89S51(RC),AT89S52(RC)等;
- Philips(飞利浦)、华邦、Dallas(达拉斯)、Siemens(西门子)等公司的许多产品;
- STC(国产宏晶)单片机:STC89C51、STC89C52、STC89C516、STC90C516 等众
多品牌
80C51 芯片管脚图如下所示:
上图中左图是 51 单片机非常经典的管脚图,通常采用的是 DIP-40 封装。
其内部资源如下:
- 8 位 CPU ·4kbytes 程序存储器(ROM) (52 为 8K) ·128bytes 的数据存储器(RAM) (52 有 256bytes 的 RAM)
- 32 条 I/O 口线
- 11 条指令,大部分为单字节指令
- 21 个专用寄存器
- 2 个可编程定时/计数器
- 5 个中断源,2 个优先级(52 有 6 个)
- 一个全双工串行通信口
- 外部数据存储器寻址空间为 64kB
- 外部程序存储器寻址空间为 64kB
- 逻辑操作位寻址功能
- 双列直插 40PinDIP 封装
- 单一 +5V 电源供电
CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器
RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;
ROM:用以存放程序、一些原始数据和表格;
I/O 口:四个 8 位并行 I/O 口,既可用作输入,也可用作输出;
T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在计数模式;
五个中断源的中断控制系统;
一个全双工 UART(通用异步接收发送器)的串行 I/O 口,用于实现单片机之间或单片机与微机之间的串行通信;
片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最佳振荡频率为 6M—12M
总线(BUS)是单片机各部件之间传送信息的公共通道。单片机中有内部总线和外部总线两类,内部总线是 CPU 内部之间的连线,外部总线是指 CPU 与其它部件之间的连线;外部总线有三种: 数据总线 DB(Data Bus),地址总线 AB(Address Bus)和控制总线 CBControl Bus)。
二、STC89C×× 芯片介绍
宏晶公司推出的增强型 51 单片机 STC89Cxx/STC90Cxx等系列更受大众喜爱,除内部资源及功能大大增强外,还有一个非常重要的是它支持 ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器或专用仿真器。
2.1、STC 芯片丝印说明
STC89C52RC 40I-PDIO40 1947H0XN52.X90C 丝印下面我们了解下芯片表面丝印的含义
- STC--表示芯片为 STC 公司生产的产品,其他公司的也有 AT、i、SST 等。
- 8--表示该芯片为 8051 内核芯片。
- 9--表示内部含有 Flash EEPROM 存储器,还有如 80C51 中 0 表内部含有MaskROM(掩模 ROM)存储器;如 87C51 中 7 表示内部含有 EPROM(紫外线可擦除ROM)存储器。
- C--表示该器件为 CMOS 产品。还有如 89LV52 和 89LE58 中的 LV 和 LE 都表示
该芯片为低电压产品(通常为 3.3V 电压供电);而 89S52 中 S 表示该芯片含有
可串行下载功能的 Flash 存储器,即具有 ISP 可在线编程功能。 - 5--固定不变。
- 2--表示该芯片内部程序存储(FLASH)空间大小,1 为 4KB,2 为 8KB,3 为
12KB,即该数乘以 4KB 就是芯片内部的程序存储空间大小。程序空间大小决定了
一个芯片所能装入执行代码的多少。一般来说,程序存储空间越大,芯片价格也
越高,所以我们再选择芯片的时候要根据自己需求选择合适芯片。 - RC--STC 单片机内部 RAM(随机读写存储器)为 512B。还有如 RD+表示内部
RAM 为 1280B。还有芯片会省略此部分。 - 40--表示芯片外部晶振最高可接入 40MHz。对 AT 单片机数值一般为 24,表
示外部晶振最高位 24MHz。 - 40--表示芯片外部晶振最高可接入 40MHz。对 AT 单片机数值一般为 24,表
示外部晶振最高位 24MHz。
I--产品级别,表示芯片使用温度范围。
C 表示商业级,温度范围为 0~+70 度。
I 表示工业级,温度范围为-40~+85 度。
A 表示汽车级,温度范围为-40~+125 度。
M 表示军用级,温度范围为-55~+150 度。 - 1947--表示本批芯片生产日期为 19 年第 47 周
2.2、STC 89C51 芯片简介
STC89C51 是 STC 推出的新一代超强抗干扰/高速/低功耗的 51 单片机,它是采用 8051 核的 ISP(In System Programming)在系统可编程芯片,指令代码完全兼容传统的 8051 单片机,最高工作时钟频率为 80MHz,片内含 4K Bytes 的可反复擦写 1000 次的 Flash 只读程序存储器,器件兼容标准 MCS-51 指令系统及80C51 引脚结构,芯片内集成了通用 8 位中央处理器和 ISP Flash 存储单元,具有在系统可编程(ISP)特性,配合 PC 端的控制程序即可将用户的程序代码下载进单片机内部,省去了购买通用编程器,而且速度更快。STC89C51 系列单片机是单时钟/机器周期( 1T ) 的兼容 8051 内核单片机,是高速 / 低功耗的新一代 8051 单片机,全新的流水线 / 精简指令集结构,内部集成 MAX810 专用复位电路。其特性功能主要如下:
1:增强型 8051 单片机,6 时钟/机器周期和 12 时钟/机器周期可任意选择,指令代码完全兼容传统 8051。
2:工作电压: 5.5V - 3.3V (5V 单片机) / 3.6V - 2.0V (3V 单片机)
3:工作频率范围: 0~40MHz,相当于普通 8051 的 0~80MHz,实际工作频
率可达 48MHz
4:用户应用程序空间: 4K / 8K / 13K / 16K / 32K / 64K 字节(STC89C516)
5:片上集成 1280 字节或 512 字节或 256 字节 RAM
6:通用 I/O 口(35/39 个), 复位后为:P1/P2/P3/P4 是准双向口/弱上拉(普通 8051 传统 I/O 口); P0 口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。
7:ISP(在系统可编程) / IAP(在应用可编程), 无需专用编程器, 无需专用仿真器,可通过串口( RxD/P3.0, TxD/P3.1)直接下载用户程序,数秒即可完成一片。
8:有 EEPROM 功能
9:看门狗
10:内部集成 MAX810 专用复位电路(HD 版本和 90C 版本才有),外部晶体20M 以下时,可省外部复位电路,复位脚可直接接地。
11:有 3 个 16 位定时器/ 计数器,其中定时器 0 还可以当成 2 个 8 位定时器使用。
12:外部中断 4 路,下降沿中断或低电平触发中断,Power Down 模式可由外部中断低电平触发中断方式唤醒
13:通用异步串行口(UART),还可用定时器软件实现多个 UART
14:工作温度范围: -40 ~ +85℃(工业级) / 0 ~ 75℃(商业级)
15:封装: LQFP-44, PDIP-40, PLCC-44, PQFP-44。
2.3、STC89C51 芯片引脚介绍
P0 口(39 脚~32 脚):双向 8 位三态 I/O 口,每个口可独立控制。51 单片机 P0 口内部没有上拉电阻,若输出高时为高阻态,不能正常输出高电平,因此该组 I/O 口,每个口可独立控制。51 单片机 P0 口内部没有上拉电阻,若输出高时为高阻态,不能正常输出高电平,因此该组 I/O 口在使用时务必要外接上拉电阻,一般我们选择接入 10K 欧上拉电阻。
P1 口(1 脚~8 脚):准双向 8 位 I/O 口,每个口可独立控制,内部自带上拉电阻,这种接口输出没有高阻态,输入也不能锁存,故不是真正的双向 I/O 口。之所以称它为“准双向”是因为该口在作为输入使用前,要先向该口进行写 1操作,然后单片机内部才可正确读出外部信号,也就是要使其先有个“准”备的过程,所以才称为准双向口。对 51 单片机 P1.0 引脚的第二功能未 T2 定时器/
计数器的外部输入,P1.1 引脚的第二功能为 T2EX 捕捉、重装触发,即 T2 的外部控制端。
引脚 | 引脚编号 | 功能 | 说明 |
P3.0 / RxD | 10 | P3.0 | 标准 I/O口 PORT[ 0 ] |
RxD | 串口 1 数据接收器 | ||
P3.1 / TxD | 11 | P3.1 | 标准 I/O口 PORT[ 1 ] |
TxD | 串口1数据发送端 | ||
P3.2/ | 12 | P3.2 | 标准 I/O口 PORT[ 2 ] |
外部中断0,下降沿或低电平触发 | |||
P3.3 / | 13 | P3.3 | 标准 I/O口 PORT[ 3 ] |
外部中断1,下降沿或低电平触发 | |||
P3.4 / T0 | 14 | P3.4 | 标准 I/O口 PORT[ 4 ] |
T0 | 定时器/计数器 0 外部输入 | ||
P3.5 / T1 | 15 | P3.5 | 标准 I/O口 PORT[ 5 ] |
T1 | 定时器/计数器1外部输入 | ||
P3.6 / | 16 | P3.6 | 标准 I/O口 PORT[ 6 ] |
外部数据存储器写脉冲 | |||
P3.7 / | 17 | P3.7 | 标准 I/O口 PORT[ 7 ] |
外部数据存储器读脉冲 |
2.4、 STC89C51 芯片内部结构
三、51 单片机能做什么
51 单片机主要用于“控制”,通过串口可以和 WFIF/GPS/蓝牙等模块实现无线控制,通过 AD 接口可以采集光敏/烟雾传感器/可燃气体传感器等模拟信号,还可以使用 AD 设计简易示波器。当然还包括直流电机、交流电机、步进电机、伺服电机、变频电机、电磁铁、电磁阀、LED、LCD 等等,进而由这些去驱动各种设备,应用于家电、机械加工、制造、航空航天等各行各业。
日常生活中可采用 51 单片机设计的电子产品:
智能手环,微型四轴飞行器,平衡车、扫地机、移动 POST 机,智能电饭锅,3D 打印机、机器人等。
四、怎样学好 51 单片机
4.1、基本外设
GPIO 输入输出,外部中断,定时器,串口。理解了这四个外设,基本入门
了一款 MCU。
4.2、掌握基本的数字电路和模拟电路知识
4.3、加强 C 语言编程能力
C 语言是嵌入式开发基础中的基础。如果 C 语言不过关,大大限制嵌入式学习进度,以及嵌入式学习深度, 嵌入式高手都是 C 高手。