第一部分:单片机的原理
什么是单片机?
单片机,全称是单片微型计算机,又称微控制器,它不是我们日常使用的电脑(PC),而是一种集成电路芯片。

- 核心思想:将一台计算机所需要的基本部件集成在一块芯片上。
- 构成:一块典型的单片机芯片内部包含了:
- 中央处理器:负责运算和控制。
- 存储器:包括只读存储器和随机存取存储器。
- 定时器/计数器:用于精确定时和计数。
- 并行I/O端口:用于与外部设备进行数字信号的输入和输出。
- 串行通信接口:用于与其他设备进行串行数据交换。
- 中断系统:用于处理紧急事件,提高CPU效率。
简单比喻:如果把一台电脑比作一个完整的“工作室”,那么单片机就像一个“瑞士军刀”,它把CPU(大脑)、内存(工作台)、I/O接口(工具)等所有必需品都集成在一个小巧的刀身上,专门为完成特定任务而设计。
单片机的工作原理
单片机的工作过程可以概括为“取指-执行”的循环,这个过程由CPU中的程序计数器 控制。
基本流程:
-
取指:
(图片来源网络,侵删)- CPU中的程序计数器指向存储器(通常是ROM/Flash)中一个指令的地址。
- CPU根据这个地址,从存储器中“取出”一条指令(指令的二进制代码),并将其送入指令寄存器。
-
译码:
- 指令寄存器中的指令被送到指令译码器。
- 译码器分析这条指令是什么操作(加法、移动数据、跳转等),需要哪些数据。
-
执行:
- CPU根据译码结果,执行相应的操作。
- 如果需要数据,CPU会从寄存器或RAM中取出数据。
- 执行算术或逻辑运算。
- 将结果存回寄存器或RAM。
- 通过I/O端口向外输出控制信号。
-
循环:
- 一条指令执行完毕后,程序计数器会自动指向下一条指令的地址。
- 然后重复上述“取指-译码-执行”的过程,周而复始,直到程序结束或收到中断请求。
中断的概念: 这个循环过程可以被中断,当某个外部事件(如按键按下、数据到达)发生时,外部设备会向单片机发出一个“中断请求”,单片机会暂停当前的程序,转而去处理这个紧急事件(执行一段“中断服务程序”),处理完毕后,再返回刚才暂停的地方继续执行,这大大提高了CPU的效率,使其不必一直等待外部事件。

单片机的核心组成部分详解
- CPU (Central Processing Unit):单片机的大脑,负责执行指令。
- 存储器:
- ROM (Read-Only Memory) / Flash:程序存储器,用于存放用户编写并烧录好的程序代码和常量,断电后数据不丢失。
- RAM (Random Access Memory):数据存储器,用于存放程序运行过程中的临时变量、数据,断电后数据会丢失。
- I/O (Input/Output) 端口:单片机的“手脚”,是单片机与外部世界沟通的桥梁,每个引脚都可以被配置为输入或输出模式。
- 定时器/计数器:单片机的“心脏起搏器”。
- 定时器:在内部时钟驱动下,进行精确的定时,精确延时1秒。
- 计数器:在外部脉冲信号驱动下,对脉冲进行计数,统计生产线上的产品数量。
- 串行通信接口:如UART、SPI、I2C,是单片机之间或单片机与PC、传感器之间进行“串行”数据通信的通道,只需少量线即可传输大量数据。
第二部分:单片机的接口技术
接口技术是单片机应用的灵魂,它解决了单片机如何与各种外部设备(如传感器、执行器、显示器、通信模块等)连接和通信的问题。
并行 I/O 接口
这是最基础、最直接的接口方式。
- 原理:通过单片机的多个I/O引脚(通常是8个一组,称为一个端口)同时传输多位二进制数据(如一个字节)。
- 特点:
- 优点:传输速度快,控制简单。
- 缺点:占用I/O引脚多,不适合远距离传输。
- 应用:
- 连接LED数码管:用8个I/O口控制一个数码管的8个段,显示数字。
- 驱动矩阵键盘:用行线和列线扫描,识别按键。
- 控制LCD1602:直接连接数据总线和控制线。
串行通信接口
串行接口是现代电子系统中应用最广泛的接口。
-
原理:将数据字节一位一位地在单条数据线上顺序传输。
-
特点:
- 优点:占用I/O引脚少,成本低,适合远距离传输。
- 缺点:传输速度相对并行接口慢。
-
主要类型:
-
UART (通用异步收发器)
- 特点:异步通信,没有专门的时钟线,依靠双方约定的波特率来同步,通常只需要2根线:TX(发送)和RX(接收)。
- 应用:单片机与电脑通信(通过USB转TTL模块)、GPS模块、蓝牙模块等。
-
I2C (Inter-Integrated Circuit)
- 特点:同步通信,只需要两根线:SDA (数据线) 和 SCL (时钟线),支持多主多从架构,每个从设备都有唯一的地址。
- 应用:连接各种传感器(如温湿度传感器、陀螺仪)、EEPROM存储器、OLED屏幕等,在PCB板上布线非常方便。
-
SPI (Serial Peripheral Interface)
- 特点:同步通信,通常需要四根线:MOSI (主机输出从机输入)、MISO (主机输入从机输出)、SCLK (时钟)、SS/CS (从机选择),速度比I2C快,不支持多主多从。
- 应用:高速数据传输,如SD卡、WIFI模块、高速ADC/DAC转换器。
-
模拟接口
单片机是数字设备,只能处理0和1,但现实世界大多是模拟信号(如温度、光线、声音),模拟接口就是解决这个桥梁问题的。
-
ADC (Analog-to-Digital Converter) - 模数转换器
- 原理:将一个连续的模拟电压值(如0-5V)转换成一个离散的数字量(如0-1023)。
- 关键参数:分辨率,如8位ADC能将5V电压分成 2^8 = 256个等级,每个等级约 5V/256 ≈ 19.5mV。
- 应用:读取电位器旋钮的位置、光敏电阻的光强、热敏电阻的温度等。
-
DAC (Digital-to-Analog Converter) - 数模转换器
- 原理:与ADC相反,将一个数字量转换成一个对应的模拟电压。
- 应用:生成简单的波形(正弦波、方波)、控制直流电机的速度、调节LED的亮度。
总线接口
总线是连接多个设备的一组公共通信线路,是更高层次的接口技术。
-
CAN (Controller Area Network)
- 特点:一种多主机的串行通信协议,以其高可靠性和强大的错误检测能力而闻名。
- 应用:主要用于汽车电子系统(如发动机控制、ABS、仪表盘),以及工业自动化现场。
-
USB (Universal Serial Bus)
- 特点:通用串行总线,支持即插即用和热插拔。
- 应用:单片机作为USB设备(如U盘、鼠标、键盘)或USB主机(如U盘、摄像头)与电脑或其他USB设备通信。
其他重要接口
- PWM (Pulse Width Modulation) - 脉宽调制
- 原理:通过快速地开关数字信号
