单片机(Single-Chip Microcomputer) 是将中央处理器(CPU)、存储器(ROM/RAM)、定时器 / 计数器、输入输出(I/O)接口电路等集成在一块硅片上的微型计算机系统,具有体积小、成本低、可靠性高、易于扩展等特点,广泛应用于工业控制、消费电子、汽车电子、智能仪器仪表等领域。
典型单片机架构(以 8051 为例):
CPU:负责指令执行、数据处理和逻辑控制。
程序存储器(ROM):存储用户编写的程序(如 8051 的 ROM 容量为 4KB~64KB)。
数据存储器(RAM):存放临时数据和变量(如 8051 的 RAM 容量为 128B~256B)。
定时器 / 计数器:用于定时控制、脉冲计数等。
I/O 接口:实现与外部设备的数据传输(如并行 I/O 口 P0~P3)。
串行通信接口(UART):支持异步通信,用于与其他设备通信。
中断系统:处理外部事件或内部异常,提高 CPU 效率。
指令系统与机器周期
程序执行过程
初始化 I/O 口为输出模式;
输出高电平点亮 LED,延时一段时间;
输出低电平熄灭 LED,延时一段时间;
循环上述步骤。
输入输出控制
硬件设计
选择合适的单片机型号(如 STC89C52、STM32F103 等);
设计外围电路:晶振电路、复位电路、电源电路、传感器接口、执行器接口等;
使用 EDA 工具(如 Altium Designer、KiCad)绘制原理图和 PCB。
软件设计
Keil μVision:支持 8051、ARM 等架构的编译和调试;
IAR Embedded Workbench:用于 ARM、MSP430 等单片机;
STM32CubeIDE:针对 STM32 系列的集成开发环境;
编程语言:C 语言(主流)、汇编语言;
开发工具:
开发步骤:
调试与测试
工业控制
电机控制(如步进电机、直流电机的调速与转向控制);
温度 / 压力 / 液位监测(配合 ADC 模块采集传感器数据);
自动化生产线的逻辑控制(如 PLC 功能的简化实现)。
消费电子
汽车电子
智能仪器仪表
系列 | 代表型号 | 核心架构 | 主要特点 | 应用领域 |
---|
8051 兼容 | STC89C52 | 8 位 CPU | 低成本、易上手,适合入门学习;片内集成 EEPROM,支持 ISP 下载 | 简单控制、教学实验 |
AVR | ATmega328P | 8 位 RISC | 高性价比、低功耗,支持 USB 和无线通信(如 Arduino 平台) | 开源项目、物联网原型 |
ARM Cortex-M | STM32F103 | 32 位 Cortex-M3 | 高性能、丰富外设(USB、CAN、FSMC),支持 RTOS(如 FreeRTOS) | 工业控制、智能设备 |
MSP430 | MSP430G2553 | 16 位 RISC | 超低功耗(待机电流 μA 级),适合电池供电设备 | 便携仪器、医疗设备 |
PIC | PIC16F877A | 8 位 RISC | 可靠性高,抗干扰能力强,广泛应用于汽车和工业领域 | 高可靠性场景 |
入门步骤
先掌握 8051 或 STM32 基础(推荐 STC89C52 用于入门,成本低且资料丰富);
学习 C 语言编程,重点掌握指针、数组、结构体等在单片机中的应用;
搭建最小系统板(晶振 + 复位电路),通过 LED、按键等简单外设练习输入输出控制。
实践项目
基础项目:LED 流水灯、数码管显示、串口通信(与 PC 互发数据);
进阶项目:温度采集系统(DS18B20 传感器 + LCD 显示)、智能小车(电机驱动 + 红外避障);
开源平台:Arduino 或 ESP32(集成 WiFi / 蓝牙),快速实现物联网功能。
工具与资源
开发板:STC89C52 开发板(约 20 元)、STM32F103C8T6 开发板(约 50 元);
学习资料:《单片机原理及应用》(张毅刚著)、B 站教学视频(如 “江科大自化协”);
社区与论坛:CSDN、电子发烧友网、Stack Exchange(英文)。
集成化:单片机集成更多外设(如 ADC、DAC、USB、以太网控制器),减少外围电路;
低功耗:采用 Cortex-M0 + 等低功耗架构,支持待机模式下功耗低于 1μA;
智能化:嵌入机器学习算法(如 STM32H7 支持 TensorFlow Lite),实现边缘计算;
无线化:内置 WiFi、蓝牙、LoRa 等模块,直接接入物联网(如 ESP32 系列)。