跳转到内容

一、单片机基本概念

下面讲复习提纲第一部分:一、单片机基本概念。这一部分主要是概念题、填空题、简答题的基础,也会影响后面 I/O、中断、定时器、串口的理解。


复习提纲中的定义是:

单片机是将 CPU、存储器、I/O 接口、定时器、中断系统等集成在一块芯片上的微型计算机,主要特点是控制、低功耗、低成本。

你可以把这句话拆成三层理解。

“单片”不是说它只有一个功能,而是说很多功能模块被集成在同一块芯片里

普通电脑大概是这样:

CPU + 内存条 + 硬盘 + 主板 + 显卡 + 网卡 + 各种接口

而单片机更像这样:

CPU + RAM + ROM/Flash + I/O口 + 定时器 + 中断 + 串口
全部集成在一块芯片里

所以单片机不是单纯的 CPU,而是一个简化版、面向控制的小型计算机系统

第二层:“微型计算机”是什么意思

Section titled “第二层:“微型计算机”是什么意思”

计算机的核心工作是:

输入数据 -> 运算/判断 -> 输出结果

单片机也是这样,只不过它处理的通常不是复杂办公任务,而是控制任务。

比如电饭煲:

输入:按键、温度传感器
处理:判断是否达到保温温度
输出:控制加热器、蜂鸣器、指示灯

所以单片机虽然性能远不如电脑 CPU,但它足够完成各种控制任务。

第三层:“主打控制”是什么意思

Section titled “第三层:“主打控制”是什么意思”

单片机不是为了运行大型软件、打游戏、剪视频,而是为了控制外设。

例如:

按键按下 -> 单片机检测到低电平 -> 控制LED亮
温度过高 -> 单片机判断超限 -> 控制蜂鸣器报警
时间到达 -> 单片机定时器溢出 -> 控制继电器断开

所以考试问“单片机主要应用于什么领域”,核心关键词是:

测量、控制、自动化、嵌入式系统

PPT 第1章也说明,单片机用于测控领域,通常处于测控系统的核心地位,并嵌入到具体设备中,所以也常被称为微控制器 MCU 或嵌入式控制器。


这个不一定直接考,但理解它很重要。

对比项普通电脑单片机
主要目标通用计算、办公、娱乐测量与控制
系统结构多个硬件部件组合多数功能集成在一块芯片
性能相对弱
功耗较高
成本较高
输入输出键盘、鼠标、屏幕、网络按键、传感器、LED、继电器、电机
程序运行操作系统上运行软件通常直接运行固化程序

考试表达可以这样写:

单片机是一种面向控制应用的微型计算机,与普通计算机相比,单片机集成度高、体积小、成本低、功耗低,适合嵌入到各种测控设备中。

复习提纲列出的 AT89C51 核心硬件组成包括:CPU、程序存储器 ROM/Flash、数据存储器 RAM、并行 I/O 口、定时器/计数器、中断系统、串行通信接口。

你可以把它理解成一个完整控制系统的几个部分。


3.1 CPU:执行指令、运算、整机控制

Section titled “3.1 CPU:执行指令、运算、整机控制”

CPU 是单片机的大脑,负责:

取指令 -> 分析指令 -> 执行指令

例如程序里写:

P1 = 0xFE;

CPU 就会执行这条指令,把 0xFE 送到 P1 口,让某些引脚输出高低电平。

CPU 还负责:

加减运算
逻辑判断
控制程序跳转
响应中断
控制定时器、串口、I/O口

考试简答可以写:

CPU 是单片机的核心部件,负责执行程序指令、完成算术逻辑运算,并协调控制单片机内部各功能模块工作。

PPT 第2章也把 CPU 作为片内硬件组成的核心部分,并说明 AT89S52 片内各功能部件通过内部总线连接,由 CPU 通过特殊功能寄存器进行集中控制。


3.2 程序存储器 ROM/Flash:存放程序,断电不丢失

Section titled “3.2 程序存储器 ROM/Flash:存放程序,断电不丢失”

程序存储器用来存放你写好的程序。

比如你写了一个流水灯程序:

while (1)
{
P1 = 0xFE;
delay();
P1 = 0xFD;
delay();
}

这个程序编译后会烧录进单片机的 Flash 里。

它的特点是:

断电后内容不丢失
重新上电后,程序仍然存在

所以程序存储器可以理解为单片机里的“硬盘”或“程序仓库”。

考试可以这样答:

程序存储器 ROM/Flash 用来存放单片机要执行的固化程序,断电后内容不丢失。

AT89S52 片内有 8KB Flash 程序存储器。复位后 PC 变为 0000H,CPU 从程序存储器 0000H 单元开始取指令执行。


3.3 数据存储器 RAM:存放临时数据,断电丢失

Section titled “3.3 数据存储器 RAM:存放临时数据,断电丢失”

RAM 用来存放程序运行过程中的临时数据。

例如:

unsigned char count = 0;

这个 count 变量运行时就放在 RAM 中。

RAM 里可能存:

变量
计数值
中间运算结果
标志位
缓冲区数据
堆栈数据

它的特点是:

运行时可读可写
断电后内容丢失

考试可以这样答:

数据存储器 RAM 用于存放程序运行过程中的临时数据、中间结果和变量,断电后数据丢失。

注意区分:

Flash/ROM:存程序,断电不丢失
RAM:存临时数据,断电丢失

这个非常容易出填空题。


3.4 并行 I/O 口:对外输入输出控制信号

Section titled “3.4 并行 I/O 口:对外输入输出控制信号”

I/O 是 Input/Output,也就是输入/输出。

51 单片机常见有:

P0、P1、P2、P3

每组 8 位,一共 32 根 I/O 线。

I/O 口可以做两类事。

读取外部状态:

按键是否按下
开关是否闭合
传感器是否输出高电平

例如:

if (P3_2 == 0)
{
// 按键被按下
}

控制外部设备:

LED亮灭
蜂鸣器响
继电器吸合
电机启动
数码管显示

例如:

P1 = 0x00; // 控制P1口输出低电平

考试可以写:

并行 I/O 口用于单片机与外部设备之间进行数字量输入输出,可读取按键、开关、传感器状态,也可控制 LED、继电器、蜂鸣器等外设。

定时器/计数器是后面的大重点。这里只先理解基本功能。

定时器对内部机器周期脉冲计数。

比如晶振 12MHz 时,51 单片机通常:

1个机器周期 = 1us

如果定时器计数 1000 次,就相当于大约 1ms。

用途:

延时
秒表
LED定时闪烁
交通灯倒计时
定时采样传感器

计数器对外部输入脉冲计数。

比如外部传感器每来一个脉冲,计数器加 1。

用途:

统计产品数量
测速
频率测量
外部事件计数

考试可以这样答:

定时器/计数器既可以对内部机器周期脉冲计数实现定时,也可以对外部输入脉冲计数实现事件计数。

3.6 中断系统:实时响应突发事件

Section titled “3.6 中断系统:实时响应突发事件”

中断系统用于处理突发事件。

比如主程序正在做流水灯:

LED1亮 -> 延时 -> LED2亮 -> 延时

这时如果按下紧急按钮,单片机不能等主程序慢慢执行完,而应该立即响应。中断系统就能做到:

暂停当前主程序
跳去执行中断服务程序
处理完后返回原来的主程序

例子:

主程序:正常交通灯控制
中断:救护车紧急通行按钮按下
处理:立即切换为紧急通行状态

考试可以这样答:

中断系统用于使单片机及时响应外部或内部的突发事件,提高系统实时性,避免CPU一直循环查询外部状态。

3.7 串行通信接口:串口数据通信

Section titled “3.7 串行通信接口:串口数据通信”

串口用于设备之间传输数据。

典型场景:

单片机 <-> 电脑
单片机 <-> 蓝牙模块
单片机 <-> 另一个单片机
单片机 <-> 串口屏

51 单片机常用串口引脚是:

TXD:发送数据
RXD:接收数据

考试可以这样答:

串行通信接口用于单片机与计算机或其他单片机、通信模块之间进行数据传输。

4. AT89C51、AT89S51、AT89S52之间的关系

Section titled “4. AT89C51、AT89S51、AT89S52之间的关系”

复习提纲写的是 AT89C51,但 PPT 主要讲 AT89S52。考试里老师可能混着说,所以要知道它们的关系。

可以粗略理解为:

8051:一种经典单片机架构/内核体系
AT89C51、AT89S51、AT89S52:基于8051体系的具体型号

PPT 第1章说明,“8051”常泛指具有 8051 内核的各种增强型、扩展型单片机,而 AT89S51/AT89S52 是 ATMEL 公司的具体产品。

PPT 里提到的核心差异可以整理成:

型号FlashRAM中断源定时器
AT89S514KB128B5个2个
AT89S528KB256B6个3个

所以 AT89S52 可以理解为增强型 51 单片机。

考试不一定要求背这个表,但如果问“AT89S52 为什么更强”,就可以从:

Flash更大、RAM更大、中断源更多、定时器更多

这几个方面回答。


复习提纲里的句子要直接背:

单片机最小系统 = 单片机芯片 + 时钟晶振电路 + 复位电路

PPT 第2章也说明,AT89S52 片内有 Flash、RAM 和 I/O 口,外接时钟电路和复位电路即可构成最小应用系统。

严格从真实电路角度看,电源当然也必须有;但按照复习提纲,考试答“最小系统组成”时应优先写:

单片机芯片、时钟晶振电路、复位电路

如果想更完整,可以写:

单片机芯片、电源、时钟晶振电路、复位电路

但不要漏掉晶振和复位。

单片机执行指令需要节奏,这个节奏由时钟提供。

可以类比:

时钟信号 = 单片机的节拍器

没有时钟,CPU 不知道什么时候取指令、什么时候执行、什么时候读写数据。

所以时钟决定了:

程序执行速度
定时器计数速度
串口波特率计算
延时程序准确性

PPT 第2章说明,时钟周期是时钟控制信号的基本时间单位,若晶振频率为 fosc,则时钟周期 Tosc = 1/fosc

复位电路负责让单片机从确定状态开始运行。

如果没有可靠复位,单片机上电时内部寄存器可能处于不确定状态,程序不一定能正常从头执行。

复位的核心作用:

让系统恢复初始状态
让程序从0000H开始执行

PPT 第2章说明,RST 加上大于 2 个机器周期的高电平即可使 AT89S52 复位,复位时 PC 初始化为 0000H,程序从 0000H 单元开始执行。


复位不是简单“断电”,而是让单片机回到初始状态。

复位后通常发生:

程序计数器PC = 0000H
程序从0000H地址开始执行
部分特殊功能寄存器恢复默认值
I/O口恢复默认状态

你可以理解为:

复位 = 强制单片机重新从程序开头开始跑

考试答法:

复位的作用是使单片机内部寄存器和程序运行状态恢复到初始状态,使程序从0000H地址重新开始执行。

复习提纲列的是:

上电复位
手动按键复位

可以再补充一个:

看门狗复位

刚通电时,复位电路自动给 RST 一个短暂高电平,让单片机从初始状态启动。

人为按下复位键,给 RST 高电平,让单片机重新启动。

如果程序跑飞或死循环,无法按时“喂狗”,看门狗定时器溢出后自动复位单片机。PPT 第2章说明,看门狗用于在程序跑飞或死循环时产生复位信号,使单片机从 0000H 重新开始执行主程序。


7. 时钟周期、机器周期、指令周期

Section titled “7. 时钟周期、机器周期、指令周期”

这部分很容易考填空和计算。

时钟周期是晶振信号的一个周期。

公式:

时钟周期 = 1 / 晶振频率

如果晶振频率是 12MHz:

时钟周期 = 1 / 12MHz = 1/12 us ≈ 0.0833 us

如果晶振频率是 6MHz:

时钟周期 = 1 / 6MHz ≈ 0.1667 us

PPT 第2章给出的例子是:若 fosc = 6MHz,则 Tosc = 166.7ns

51 单片机经典关系:

1个机器周期 = 12个时钟周期

所以:

机器周期 = 12 / 晶振频率

如果晶振是 12MHz:

机器周期 = 12 / 12MHz = 1us

如果晶振是 6MHz:

机器周期 = 12 / 6MHz = 2us

这句非常重要:

12MHz晶振下,51单片机1个机器周期约为1us。

后面定时器初值计算几乎都靠它。

指令周期是执行一条指令所需要的时间。

不同指令复杂度不同,所以指令周期可能是:

1个机器周期
2个机器周期
4个机器周期

PPT 第2章说明,简单指令可能只需一个机器周期,转移、乘除等复杂指令可能需要两个或多个机器周期。

三者关系可以这样记:

时钟周期:最小节拍
机器周期:CPU完成一个基本操作的时间,51中通常等于12个时钟周期
指令周期:执行一条完整指令的时间,可能包含1个或多个机器周期

复习提纲要求“知道至少 10 项单片机应用领域”。

建议背下面这组,比较通用:

序号应用领域具体例子
1工业控制生产线控制、PLC辅助控制
2自动检测温度、压力、流量检测
3智能仪器仪表万用表、示波器、电子秤
4家用电器电饭煲、洗衣机、空调
5汽车电子车窗控制、倒车雷达、仪表盘
6通信设备串口通信模块、调制解调器
7机器人舵机控制、传感器采集
8医疗设备血压计、血糖仪
9办公自动化打印机、复印机
10消费电子玩具、遥控器、电子钟
11安防系统门禁、报警器
12航空航天/国防导航、控制、检测系统

考试如果让“举例说明单片机应用”,不要只写名词,最好写成:

单片机可用于家用电器,如电饭煲中检测温度并控制加热器;也可用于汽车电子,如根据传感器信号控制车窗、电机或报警系统。

可能这样考:

单片机是将 ______、______、I/O接口、定时器、中断系统等集成在一块芯片上的微型计算机。

答案:

CPU、存储器

题目:

简述单片机的基本组成。

推荐答案:

单片机主要由CPU、程序存储器ROM/Flash、数据存储器RAM、并行I/O口、定时器/计数器、中断系统、串行通信接口和系统总线等组成。CPU负责执行指令和控制系统运行;ROM/Flash用于存放程序;RAM用于存放临时数据;I/O口用于输入输出控制信号;定时器/计数器用于定时和计数;中断系统用于实时响应突发事件;串口用于数据通信。

题目:

51单片机最小系统由哪些部分组成?

答案:

单片机芯片、时钟晶振电路和复位电路。

更完整答案:

单片机最小系统通常由单片机芯片、时钟晶振电路、复位电路以及电源组成。其中晶振电路为单片机提供工作节拍,复位电路保证系统从初始状态开始运行。

题目:

单片机复位的作用是什么?

答案:

复位的作用是使单片机内部寄存器和程序运行状态恢复到初始状态,使程序从0000H地址开始重新执行,常用于上电初始化或程序跑飞、死锁后的重新启动。

题目:

51单片机中,1个机器周期等于多少个时钟周期?

答案:

1个机器周期 = 12个时钟周期。

题目:

若晶振频率为12MHz,则1个机器周期是多少?

计算:

机器周期 = 12 / 12MHz = 1us

答案:

1us

ROM/Flash:存程序,断电不丢失
RAM:存变量和临时数据,断电丢失

单片机包含 CPU,但不等于 CPU。

CPU只是单片机内部的一个核心部件
单片机是一整套微型计算机系统

只写“单片机芯片”是不够的。

必须写:

单片机芯片 + 时钟晶振电路 + 复位电路

复位是让系统回到规定初始状态,不是把程序清掉。Flash 里的程序不会因为复位消失。

5. 时钟周期、机器周期、指令周期层级不同

Section titled “5. 时钟周期、机器周期、指令周期层级不同”

记住:

时钟周期最小
12个时钟周期组成1个机器周期
1条指令可能需要1个或多个机器周期

你最后可以把这一版背下来:

单片机是将CPU、存储器、I/O接口、定时器/计数器、中断系统、串行通信接口等集成在一块芯片上的微型计算机,主要用于测量与控制,具有体积小、成本低、功耗低、可靠性高等特点。
AT89C51/AT89S52单片机的核心硬件包括CPU、程序存储器ROM/Flash、数据存储器RAM、并行I/O口、定时器/计数器、中断系统和串行通信接口。CPU负责执行指令和控制系统运行;ROM/Flash存放固化程序,断电不丢失;RAM存放运行中的临时数据,断电丢失;I/O口用于输入输出控制信号;定时器/计数器用于定时和计数;中断系统用于实时响应突发事件;串口用于数据通信。
单片机最小系统通常由单片机芯片、时钟晶振电路和复位电路组成。复位的作用是使系统恢复初始状态,使程序从0000H地址重新开始执行,常见复位方式有上电复位、手动按键复位和看门狗复位。51单片机中1个机器周期等于12个时钟周期,若晶振频率为12MHz,则1个机器周期为1us。

这部分掌握到这种程度,概念题基本就够用了。