一、认识单片机

1、单片机是什么?

单片机是微型计算机,英文简称MCU,全称Microcontrller Unit,又称单片微型计算机(Single Chip Microcomputer)。

2、定义

单片机是一种集成电路芯片,采用超大规模集成电路技术把中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统。

3、单片机的特点

实用性强,体积小,功耗低,价格低,应用广泛,软件更贴近硬件,无自开发能力,需要借用开发系统进行软硬件仿真调试。

4、单片机的基本组成

5、单片机常见英文缩写

随机存储器----RAM           只读存储器----ROM

可编程只读存储器----PROM,现在也称OTP

可改写的只读存储器----EPROM

可电擦写存储器----EEPROM

闪存存储器----FLASH MEMORY

中央处理器----CPU           输入输出----I/O

模数转换----ADC               数模转换----DAC

脉冲宽度调制----PWM       总线----BUS

程序计数器----PC               堆栈指针----SP

6、单片机的应用

仪器仪表、工业控制、家用电器、网络通信、汽车电子、电子玩具、医疗设备、航空航天等。

7、单片机的分类

①按位数分类:4位 8位 16位 32位等等

②按处理器内核分类:51单片机 PIC单片机 AVR单片机 MSP430单片机 ARM单片机等

③按不同厂家分类:ST Microchip Atmel Ti Freescale GigaDevice等

④按功能分类:通用型 专用型(比如电机控制专用、音乐播放专用等)

8、单片机的选型

①选级别:民用、工业还是汽车级

②引脚数目和功能:满足设计使用要求

③选性价比高的单片机:商业角度

④选主流单片机:使用的人多好交流

⑤熟悉的单片机:开发时间短

⑥最新的单片机:防淘汰

⑦货源方便的单片机:先到手才是最好的

⑧开发工具好的单片机:工具好才是真的好

⑨以上需综合考虑

9、单片机的最小系统

单片机的最小系统是指用最少的元件组成的单片机可以工作的系统。

二、硬件基础知识

1、电阻

电阻(Resistor)是电子电路中最基础的被动元件之一,主要用于限制电流、分压、分流、调节信号电平等。以下是电阻的详细作用及分类:

(1)电阻的主要作用

①限流:限制电流大小,防止元器件因电流过大而损坏(如LED限流电阻)。

②分压 :与其它电阻组成分压电路,提供不同的电压(如电位器调节电压)。

③分流:并联在电路中,分担部分电流(如电流检测电阻)。

④信号调节:用于阻抗匹配、信号衰减或增益控制(如音频电路中的音量调节)。

⑤上拉/下拉:在数字电路中,确保信号线的稳定状态(如I²C总线的上拉电阻)。

⑥发热(特殊用途):利用电阻的发热特性,用于电热设备(如电热丝、加热电阻)。

(2)电阻的分类

①按材料分类

类型

特点

典型应用

碳膜电阻

成本低,精度一般(±5%),温度稳定性一般

通用电路、消费电子

金属膜电阻

精度高(±1%~±0.1%),温度稳定性好,噪声低

精密仪器、音频电路

金属氧化膜电阻

耐高温、功率大,适用于大电流场合

电源电路、功率电子

线绕电阻

高功率、低温度系数,但体积大,有电感效应

大功率负载、工业设备

厚膜/薄膜电阻

高精度(±0.01%),用于精密测量

测试设备、医疗电子

贴片电阻(SMD)

体积小,适用于高密度PCB

手机、电脑、现代电子设备

②按阻值是否可变分类 

固定电阻:阻值不可调整(如碳膜电阻、金属膜电阻)。

可变电阻(电位器):阻值可手动调节(如音量旋钮)。

敏感电阻(特殊电阻):阻值随环境变化(如热敏电阻、光敏电阻)。

③按用途分类

类型

特点

典型应用

通用电阻

标准阻值,用于一般电路

电源、信号处理

精密电阻

耐高温、大功率(1W~100W+)

低温度漂移 测量仪器、ADC/DAC电路

功率电阻

耐高温、大功率(1W~100W+)

电源、电机驱动

高压电阻

耐高压(>1kV),用于高压电路

电源、医疗设备

保险电阻

过流时熔断,保护电路

电源保护

④敏感电阻(特殊电阻)

类型

特点

典型应用

热敏电阻

阻值随温度变化(NTC/PTC)

温度传感器、过流保护

光敏电阻

阻值随光照强度变化

光控开关、自动亮度调节

压敏电阻

阻值随电压变化,用于过压保护

防雷击、电源保护

湿敏电阻

阻值随湿度变化

湿度传感器

(3)关键参数

①阻值(R):单位欧姆(Ω),决定电流限制能力。

②功率(W):决定电阻能承受的最大功率(如1/4W、1W、5W)。

③精度(%):如±5%、±1%、±0.1%。

④温度系数(ppm/℃):衡量阻值随温度变化的稳定性。

(4)选型建议

①普通电路:碳膜电阻或金属膜电阻(低成本)。

②精密电路:金属膜电阻或薄膜电阻(高精度)。

③大功率应用:金属氧化膜电阻或线绕电阻。

④高频电路:低寄生电感的贴片电阻(如SMD)。

⑤传感器应用:热敏、光敏等敏感电阻。

(5)欧姆定律

①定义:欧姆定律 是电学中的基本定律之一,描述了 电压(U)、电流(I) 和 电阻(R) 三者之间的关系。其核心内容为:

公式表达: U=I×R

其中:U 表示电压(单位:伏特,V), I 表示电流(单位:安培,A),R 表示电阻(单位:欧姆,Ω)。

②欧姆定律的变形式

求电流:I=U/R

求电阻:R=U/I

③适用范围: 适用于 纯电阻电路(如金属导体),但对半导体、气体导电等非线性元件可能不适用。

④物理意义: 电阻一定时,电流与电压成正比; 电压一定时,电流与电阻成反比。

⑤功率计算: 结合功率公式 P=V×I,可推导出:P=I^{2}RP=\frac{U^{2}}{R} 。

⑥注意事项

单位必须统一(伏特、安培、欧姆)。

实际电路中需考虑温度对电阻的影响(如金属电阻随温度升高而增大)。

2、电容

电容是电子电路中常用的被动元件,其核心作用是储存电荷和电能,并在电路中实现多种功能。以下是电容的详细作用、分类及应用说明:

(1)电容的主要作用

①储能与滤波

充放电特性:在电源电路中平滑电压波动(如整流后滤除交流纹波)。

为瞬时大电流需求提供能量(如相机闪光灯)。

②耦合与隔直

耦合:传递交流信号,阻断直流分量(如音频放大器的级间连接)。

隔直:防止直流偏置影响前后级电路。

③旁路(去耦)

为高频噪声提供低阻抗通路,稳定局部电压(如IC电源引脚旁的0.1μF电容)。

④调谐与选频

与电感组成LC谐振电路,用于射频选频或振荡器(如收音机调台)。

⑤时间常数控制

与电阻构成RC电路,决定延时或波形生成(如定时器、积分电路)。

⑥功率因数校正

在交流系统中补偿无功功率(如电机启动电容)。

(2)电容的分类

①按介质材料分类

类型

特点

典型应用

陶瓷电容

小体积、高频特性好,但容量小(pF~μF)

高频滤波、去耦、射频电路

电解电容

容量大(μF~F),有极性,寿命有限

电源滤波、低频耦合

-铝电解

成本低,耐压高,但ESR较大

电源稳压

-钽电解

体积小、稳定性高,但耐压较低

精密设备、军工电子

薄膜电容

高频性能优,无极性,容量稳定(pF~μF)

音频电路、脉冲电路

超级电容

超大容量(法拉级),充放电快,但电压低

储能备份、电动车能量回收

云母电容

高精度、耐高压,成本高

高频振荡、高压电路

安规电容

失效时不会短路,符合安全标准(X/Y电容)

电源EMI滤波

②按极性分类

有极性电容:如电解电容,需注意正负极接反会导致损坏。

无极性电容:如陶瓷、薄膜电容,适用于交流信号。

③按调节方式分类

固定电容:容量不可变(绝大多数电容)。

可变电容:容量可手动调节(如收音机调谐)。

微调电容:小范围调整(用于电路校准)。

(3)关键参数

①容量(C):单位法拉(F),决定储能大小。

②耐压值:超过可能击穿。

③等效串联电阻(ESR):影响高频性能。

④温度系数:稳定性指标(如NP0陶瓷电容低温漂)。

(4)选型建议

①高频电路:优先选NP0陶瓷电容。

②大容量需求:铝电解或超级电容。

③精密场合:钽电容或薄膜电容。

④高压环境:云母或陶瓷高压电容。

3、电感

电感(Inductor)是电子电路中的重要被动元件,主要基于电磁感应原理工作,用于储能、滤波、谐振、阻抗匹配等。以下是电感的详细作用及分类:

(1)电感的主要作用

①储能(磁场能量)

电流通过电感时,电能转换为磁能存储,断电时释放(如开关电源中的储能电感)。

②滤波(抑制高频噪声)

低频扼流:阻止高频信号通过,允许直流或低频信号通过(如电源滤波)。

高频滤波:与电容组成LC滤波器,滤除特定频率噪声(如射频电路)。

③谐振(选频)

与电容组成LC谐振电路,用于选频或振荡(如收音机调谐、无线充电)。

④阻抗匹配

在高频电路中调整阻抗,提高信号传输效率(如天线匹配网络)。

⑤电流平滑

在DC-DC转换器中平滑电流,减少纹波(如Buck/Boost电路中的功率电感)。

⑥电磁干扰(EMI)抑制

抑制高频噪声,防止电磁干扰(如共模电感用于USB/HDMI信号滤波)。

(2)电感的分类

①按结构分类

类型

特点

典型应用

空心电感

无磁芯,电感量小,高频特性好

射频电路、高频振荡器

磁芯电感

带铁氧体/铁粉磁芯,电感量大,适用于功率电路

电源转换器、滤波电感

铁氧体磁珠

高频损耗大,专用于抑制EMI

信号线滤波、PCB噪声抑制

多层片式电感(MLCC电感)

体积小,适用于高频SMD电路

手机、射频模块

②按用途分类

类型

特点

典型应用

功率电感

大电流、低损耗,用于DC-DC转换

开关电源、CPU供电电路

高频电感

低寄生电容,适用于射频(RF)电路

天线匹配、无线通信

共模电感

抑制共模噪声,用于差分信号滤波

USB、以太网、HDMI接口

可调电感

电感量可手动调节

射频调谐、老式收音机

③按封装形式分类

类型

特点

典型应用

直插式(THT)

引脚插入PCB通孔,适用于大功率电路

电源模块、工业设备

贴片式(SMD)

体积小,适用于高密度PCB

手机、笔记本电脑、现代电子设备

屏蔽电感

带磁屏蔽,减少电磁干扰(EMI)

精密仪器、高频电路

④特殊电感

类型

特点

典型应用

色环电感

类似电阻色环标注电感量

老式电子设备

平面电感

集成在PCB上,适用于高频电路

射频IC、微波电路

超导电感

接近零电阻,用于高能物理和量子计算

科研、MRI设备

(3)关键参数

①电感量(L):单位亨利(H),决定储能能力(常用μH、mH)。

②额定电流:电感能承受的最大电流(超过可能饱和)。

③直流电阻(DCR):影响效率,越小越好。

④自谐振频率(SRF):超过该频率,电感可能变成电容特性。

⑤Q值(品质因数):衡量电感的效率,越高损耗越小。

(4)选型建议

①电源电路:选择大电流、低DCR的功率电感(如铁氧体磁芯)。

②高频/RF电路:选择高Q值、低寄生电容的空心或高频电感。

③EMI抑制:使用共模电感或磁珠。

④SMD应用:多层片式电感(MLCC)或屏蔽电感。

4、二极管

二极管(Diode)是一种基础的半导体器件,具有单向导电性,即只允许电流从阳极(正极)流向阴极(负极),而反向时几乎不导通。以下是关于二极管的核心要点:

(1)基本结构

PN结:由P型半导体(空穴多)和N型半导体(电子多)结合形成,交界处形成耗尽层,阻碍电流扩散。

电极:阳极(A,P型端)和阴极(K,N型端)。

(2)工作原理

正向偏置(阳极电压 > 阴极电压): 外部电压削弱耗尽层,电流通过(导通状态)。 硅二极管需超过开启电压(约0.7V),锗二极管约0.3V。

反向偏置(阴极电压 > 阳极电压): 耗尽层变宽,仅微弱的反向漏电流(截止状态)。 电压超过击穿电压时,可能发生雪崩或齐纳击穿(特殊二极管如稳压管利用此特性)。

(3)主要特性

伏安特性曲线: 正向导通后电流急剧上升,反向仅微小漏电流。

开关速度: 普通二极管(如1N4007)适用于低频,高频应用需快恢复二极管或肖特基二极管。

温度敏感性: 导通电压随温度升高而降低。

(4)常见类型

类型 特点
整流二极管 用于交流转直流(如1N4007),耐高压/大电流。
稳压二极管 反向击穿时稳定电压(如5.1V稳压管),用于电压保护。
肖特基二极管 低导通压降(0.2V)、超快开关,用于高频电路(如开关电源)。
发光二极管 正向导通时发光(LED),需限流电阻。
TVS二极管 瞬态电压抑制,防静电/浪涌。

(5) 典型应用

整流:将交流电转为脉动直流(如电源适配器)。

保护:防止反接(如电池电路中串联二极管)、吸收浪涌(TVS管)。

信号处理:检波(提取高频信号)、钳位(限制电压幅值)。

发光:LED用于指示灯、显示屏。

(6)关键参数

最大正向电流(IF):允许通过的最大持续电流。

反向击穿电压(VR):反向截止的极限电压。

反向漏电流(IR):反向偏置时的微小电流。 开关时间:从导通到截止的恢复时间。

(7)注意事项

极性不可接反(除双向TVS管外)。

高频电路需选择快恢复二极管。

大电流应用需考虑散热(如加散热片)。

5、三极管

三极管(Transistor)是一种半导体放大与开关器件,通过小电流(或电压)控制大电流,是现代电子电路的核心元件之一。以下是关于三极管的系统总结:

(1)基本结构与类型

①类型:

BJT(双极型晶体管):通过两种载流子(电子和空穴)导电,分NPN和PNP型。

FET(场效应管):单极型(仅电子或空穴),如MOSFET(绝缘栅型)、JFET(结型)。

②BJT三极:

发射极(E):高掺杂,发射载流子。

基极(B):极薄且低掺杂,控制载流子。

集电极(C):收集载流子,面积较大。

(2)BJT工作原理(以NPN为例)

放大状态(发射结正偏,集电结反偏):

发射极电子注入基极,少量与基极空穴复合(形成基极电流I_{B}  ​),大部分被集电极电场吸引(形成集电极电流I_{C})。 电流关系:I_{E}=I_{B}+I_{C} ​ ,放大系数\beta =\frac{I_{B}}{I_{C}} (典型值20~200)。

截止状态(发射结反偏):I_{B}\approx 0 ,I_{C}\approx 0

饱和状态(发射结和集电结均正偏):I_{C}不受 I_{B} ​ 控制,CE间电压极低(约0.2V)。

(3)特性曲线

输入特性: I_{B}与  V_{BE} ​ 关系(类似二极管正向特性)。

输出特性:I_{C}V_{CE}​ 变化,分三个区:

截止区: I_{B}= 0 , I_{C}\approx 0

放大区: I_{C}=\beta I _{B},与V_{CE}​ 几乎无关。

饱和区: V_{CE}​很低,I_{C}受外电路限制。

(4)主要参数

参数 说明
电流放大系数(β) 集电极电流与基极电流之比(\beta =\frac{I_{B}}{I_{C}} )
最大集电极电流(IC_max) 允许通过C极的最大电流
击穿电压(VCEO) CE间最大耐压(基极开路时)
功耗(PCM) 最大允许耗散功率,需考虑散热

(5)典型应用

①放大电路:

共射放大:电压/电流放大(如音频放大)。

共集放大(射极跟随器):高输入阻抗、低输出阻抗。

②开关电路: 饱和状态(导通)与截止状态(关断),用于数字逻辑、继电器驱动。

③电流源:利用恒流特性为电路提供稳定电流。

(6)FET与BJT对比

特性 BJT FET(如MOSFET)
控制方式 电流控制(I_{B}  ) 电压控制(V_{GS}
输入阻抗 低(需驱动电流) 极高(几乎无输入电流)
开关速度 较慢(存在载流子复合) 更快(多数载流子导电)
功耗 较高(基极电流损耗) 低(静态时几乎无功耗)

 (7)选型与注意事项

BJT选型: 高频选高频管(如2SC3356),大电流选功率管(如TIP31)。 NPN(如2N2222)和PNP(如2N2907)需配对使用。

FET选型: 开关电源选低导通电阻( � � � ( � � ) R DS(on) ​ )的MOSFET(如IRF540N)。

(8)注意事项:

防止热击穿(加散热片或降额使用)。 避免静电损坏(尤其是MOSFET)。

(9)关键区别:放大 vs 开关

放大模式:工作于放大区,V_{CE}​ 适中,I_{C}I_{B}线性变化。

开关模式:在截止区与饱和区之间切换,快速响应需减小存储时间。

三、单片机

1、模拟信号与数字信号

模拟信号和数字信号是电子系统中两种基本的信号形式,它们在表示、传输和处理信息时有根本区别。以下是它们的核心特性和对比:

(1)模拟信号(Analog Signal)

①定义:连续变化的物理量,在时间和幅度上均无限细分。 示例:声音波形、温度传感器输出、传统电视信号。

②特点:

连续性:任意时刻都有确定的值(如电压从0V平滑升至5V)。

抗干扰性差:噪声会直接叠加在信号上(如通话中的杂音)。

无限分辨率:理论上可表示无限小的变化(但受实际器件精度限制)。

③典型应用:

音频/视频传输(如模拟麦克风、老式收音机)。

传感器信号(如热电偶、压力传感器)。

(2)数字信号(Digital Signal)

①定义:离散的、量化的信号,仅取有限个数值(通常为0和1)。 示例:计算机数据、数字音频(MP3)、USB通信。

②特点:

离散性:按固定间隔(采样周期)取值,幅度被量化(如ADC转换)。

抗干扰性强:通过阈值判断高低电平(如TTL中>2.4V为“1”,<0.4V为“0”)。

有限分辨率:取决于量化位数(如8位ADC将电压分为256级)。

③典型应用:

计算机系统(CPU、内存)。

数字通信(Wi-Fi、5G)。

数字控制(PLC、微控制器)。

(3)核心对比

特性 模拟信号 数字信号
表示方式 连续波形(正弦波、电压等) 离散数值(二进制、脉冲)
抗噪声能力 弱(噪声直接叠加) 强(可通过编码纠错)
存储与处理 需模拟电路(放大器、滤波器) 依赖数字逻辑(CPU、FPGA)
带宽效率 高(直接利用连续频谱) 低(需采样和编码)
精度损失 传输中逐渐衰减 仅量化时损失一次

 (4)转换与混合系统

①ADC(模数转换): 将模拟信号转为数字信号,步骤:

采样:按奈奎斯特定理(采样频率≥2倍信号最高频率)离散化。

量化:将幅度分为有限等级(如12位ADC=4096级)。

编码:转为二进制(如PCM编码)。

芯片示例:ADS1115(16位ADC)。

②DAC(数模转换): 将数字信号还原为模拟信号,通过电阻网络或PWM实现。

芯片示例:DAC8563(16位DAC)。

③混合信号系统: 结合两者优势(如智能手机): 麦克风(模拟)→ ADC → 数字处理(降噪)→ DAC → 扬声器(模拟)。

(5)为什么数字化?

可靠性:数字信号易存储、复制(如CD vs 磁带)。

灵活性:可通过软件算法处理(如数字滤波、压缩)。

集成度:数字电路(如CMOS)更易微型化。

(6)关键问题

采样失真:若采样率不足,会出现混叠(Aliasing),需加抗混叠滤波器。

量化误差:位数越低,信号细节丢失越多(如8位音频有明显阶梯噪声)。

2、进制

(1)二进制

进制是计算机和数字电子系统的基础,是一种仅使用 0 和 1 两个数字来表示所有信息的数制系统。以下是关于二进制的核心知识点:

①基本概念

基数为2:每一位只能是 0 或 1(对比十进制的0~9)。

位(Bit):二进制的最小单位,1 bit 可以表示 0 或 1。

字节(Byte):8 bits = 1 Byte(如 01011010)。

字(Word):通常指 CPU 处理的数据单位(如 32-bit、64-bit)。

②二进制与十进制的转换

 二进制 → 十进制(按权展开),每一位的权重是 2ⁿ(n 从右到左,从 0 开始):

十进制 → 二进制(除2取余法),将十进制数不断除以 2,记录余数(从下往上读):

那么:35_{10}=100011_{2}

(2)十六进制

十六进制(简称 Hex)是一种基数为 16 的数字系统,广泛用于计算机科学、编程和底层硬件开发。它比二进制更紧凑,便于人类阅读和书写。

①基本概念

基数:16(使用 0-9 和 A-F 表示 10-15)。

1 位十六进制 = 4 位二进制(直接映射)。

常见用途:

内存地址表示(如 0xFFFF);颜色编码(如 #FF0000 表示红色);机器码和汇编语言。

②十六进制 ↔ 十进制 ↔ 二进制转换

十六进制 → 十进制

每位乘16^{n}后相加。

十进制 → 十六进制

除 16 取余法(余数 ≥10 时用 A-F)。

十六进制 0 1 2 3 4 5 6 7 8 9 A B C D E F
十进制 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

十六进制 ↔ 二进制

直接按 4 位一组转换。
示例:
2D(十六进制)→ 0010 1101(二进制)
1101 0110(二进制)→ D6(十六进制)

3、逻辑运算 

逻辑运算(Logical Operations)是计算机科学、数学和数字电子中的基本操作,用于处理布尔值(True/False 或 1/0)。它们广泛应用于编程、电路设计、数据库查询和算法逻辑中。

(1)逻辑与(AND,

①规则:仅当所有输入为 True 时,输出才为 True(有0为0)

②真值表:

A B A AND B
0 0 0
0 1 0
1 0 0
1 1 1

③应用:

条件判断(如 if (A && B)

权限检查(用户同时满足多个条件)

(2)逻辑或(OR,

①规则:只要有一个输入为 True,输出即为 True(有1为1)

②真值表:

A B A OR B
0 0 0
0 1 1
1 0 1
1 1 1

③应用:

多条件满足其一即可(如 if (A || B)

错误处理(多个条件触发同一操作)

(3)逻辑非(NOT,¬ 或 !

①规则:取反输入值。

②真值表:

A NOT A
0 1
1 0

③应用:

条件取反(如 if (!isError)

状态切换(开关逻辑)

(4)异或(XOR,

①规则:输入相同时输出 False,不同时输出 True

②真值表:

A B A XOR B
0 0 0
0 1 1
1 0 1
1 1 0

③应用:

加密算法(如位运算)

奇偶校验(判断数据是否变化)

(5)复合逻辑运算

通过组合基本运算实现更复杂的逻辑:

①与非(NAND):NOT (A AND B)

②或非(NOR):NOT (A OR B)

③同或(XNOR):NOT (A XOR B)(即输入相同输出 True

总结:

运算 符号 说明
AND && 全真为真
OR || 有真即真
NOT ¬! 取反
XOR 不同为真
NAND AND + NOT
NOR OR + NOT

4、原码、补码与反码

在计算机中,原码、反码和补码 是表示有符号整数的三种方式,主要用于处理正数和负数的存储与运算。它们的核心目的是解决计算机如何表示和计算负数的问题。

(1)原码(Sign-Magnitude)

①定义:

最高位表示符号(0为正,1为负),其余位表示数值的绝对值。

例如,8位二进制中:

  • +5 → 00000101

  • -5 → 10000101

②特点:

直观,符合人类习惯。

存在问题:

  • +0 和 -0 不唯一:

    • +0 = 00000000

    • -0 = 10000000(导致计算混乱)

  • 加减运算复杂:需要判断符号位,硬件实现麻烦。


(2)反码(Ones' Complement)

①定义:

正数:与原码相同。

负数:符号位不变,其余位按位取反(0110)。

例如,8位二进制中:

  • +5 → 00000101

  • -5 → 11111010

③特点:

解决了加减运算的部分问题(减法可转换为加法)。

仍存在 +0 和 -0

  • +0 = 00000000

  • -0 = 11111111

  • 跨零计算可能出错(如 -1 + 1 需额外处理进位)。


(3)补码(Two's Complement)

①定义(现代计算机标准):

正数:与原码相同。

负数:反码 + 1(即符号位不变,数值位取反后加 1)。

例如,8位二进制中:

  • +5 → 00000101

  • -5 的计算步骤:

    1. 原码:10000101

    2. 反码:11111010

    3. 补码:11111011(最终表示)

③特点

解决 +0 和 -0 问题:-0 的补码仍是 00000000(与 +0 相同)。

统一加减法:减法可直接用加法实现(如 A - B = A + (-B))。

表示范围更广:

  • 8位补码范围:-12810000000)到 +12701111111)。

  • 原码和反码的范围是 -127 到 +127

(4) 对比总结

表示法 示例(8位,-5 优点 缺点
原码 10000101 直观 存在 ±0,运算复杂
反码 11111010 减法转加法 仍存在 ±0
补码 11111011 无 ±0,运算统一 负数表示需额外计算

(5)有符号数与无符号数

在计算机中,数值的存储和解释方式主要分为有符号数(Signed)和无符号数(Unsigned),它们的核心区别在于最高位是否表示符号,以及能表示的数值范围不同。

①有符号数(Signed)

最高位(MSB, Most Significant Bit)表示符号:

  • 0 → 正数

  • 1 → 负数

存储方式:通常使用补码(Two's Complement)表示负数(现代计算机标准)。

  • 示例(8位):

    • +5 → 00000101

    • -5 → 11111011(补码)

②无符号数(Unsigned)

所有位均表示数值,没有符号位,只能表示非负数(≥0)。

  • 示例(8位):

    • 5 → 00000101

    • 255 → 11111111(最大无符号8位数)

③表示范围对比
位数 有符号数范围 无符号数范围
8位 -128 到 +127 0 到 255
16位 -32768 到 +32767 0 到 65535
32位 -2³¹ 到 2³¹-1 0 到 2³²-1
④关键区别
  • 有符号数的正数范围减半(因为最高位用于符号)。

  • 无符号数的最小值为 0,无法表示负数。

  • 存储与读取的区别,同一二进制,解释不同。

⑤总结
特性 有符号数(Signed) 无符号数(Unsigned)
符号位 最高位表示正负 无符号位
范围 正负均衡(如 -128~127 全正数(如 0~255
溢出行为 回绕到相反极值 回绕到 0 或最大值
用途 需要负数的场景 仅需非负值的场景

核心原则:

  • 如果需要负数,用有符号数;

  • 如果确定数值非负,用无符号数(可扩大范围)。

  • 避免混用,防止隐式转换导致逻辑错误!

5、BCD码与ASCII码

(1)BCD码

BCD码是一种用二进制编码表示十进制数字的方法。

①特点:
  • 每个十进制数字(0-9)用4位二进制表示

  • 例如:十进制数"23"的BCD码是0010 0011

  • 常见的BCD码类型:

    • 8421码(最常用)

    • 5421码

    • 2421码

    • 余3码

②优点:
  • 便于十进制数字的显示和输入

  • 转换计算简单

③缺点:
  • 存储效率较低(比纯二进制表示多占用空间)

(2)ASCII码(American Standard Code for Information Interchange,美国信息交换标准代码)

ASCII码是一种字符编码标准,用于表示文本字符。

①特点:
  • 使用7位二进制数表示128个字符(标准ASCII)

  • 扩展ASCII使用8位,可表示256个字符

  • 包括:

    • 数字0-9(编码48-57)

    • 大写字母A-Z(65-90)

    • 小写字母a-z(97-122)

    • 控制字符(0-31和127)

    • 标点符号和特殊字符

②ASCII数字表示:
  • 数字'0'的ASCII码是48(十六进制0x30)

  • 数字'1'是49,依此类推到'9'是57

(3)BCD码与ASCII码的比较

特性 BCD码 ASCII码
用途 主要用于数值计算和显示 用于文本表示和通信
编码范围 仅编码十进制数字(0-9) 编码字母、数字、符号和控制字符
存储效率 较低(4位/数字) 较高(7-8位/字符)
转换复杂度 与十进制转换简单 需要查表或计算
典型应用 电子计算器、数字显示 计算机文本处理、通信协议
①转换示例:
  • 数字"5":

    • BCD码:0101

    • ASCII码:00110101(十六进制0x35)

  • 数字串"23":

    • BCD码:0010 0011

    • ASCII码:00110010 00110011(十六进制0x32 0x33)

ASCII码表(0-127)
十进制 十六进制 字符 描述
0 0x00 ^@ 空字符 (Null)
1 0x01 ^A 标题开始 (Start of Header)
2 0x02 ^B 正文开始 (Start of Text)
3 0x03 ^C 正文结束 (End of Text)
4 0x04 ^D 传输结束 (End of Transmission)
5 0x05 ^E 查询 (Enquiry)
6 0x06 ^F 确认 (Acknowledge)
7 0x07 ^G 响铃 (Bell)
8 0x08 ^H 退格 (Backspace)
9 0x09 ^I 水平制表符 (Horizontal Tab)
10 0x0A ^J 换行 (Line Feed)
11 0x0B ^K 垂直制表符 (Vertical Tab)
12 0x0C ^L 换页 (Form Feed)
13 0x0D ^M 回车 (Carriage Return)
14 0x0E ^N 移出 (Shift Out)
15 0x0F ^O 移入 (Shift In)
16 0x10 ^P 数据链路转义 (Data Link Escape)
17 0x11 ^Q 设备控制1 (Device Control 1)
18 0x12 ^R 设备控制2 (Device Control 2)
19 0x13 ^S 设备控制3 (Device Control 3)
20 0x14 ^T 设备控制4 (Device Control 4)
21 0x15 ^U 否定应答 (Negative Acknowledge)
22 0x16 ^V 同步空闲 (Synchronous Idle)
23 0x17 ^W 传输块结束 (End of Trans. Block)
24 0x18 ^X 取消 (Cancel)
25 0x19 ^Y 媒体结束 (End of Medium)
26 0x1A ^Z 替换 (Substitute)
27 0x1B ^[ 转义 (Escape)
28 0x1C ^\ 文件分隔符 (File Separator)
29 0x1D ^] 组分隔符 (Group Separator)
30 0x1E ^^ 记录分隔符 (Record Separator)
31 0x1F ^_ 单元分隔符 (Unit Separator)
32 0x20 (空格) 空格 (Space)
33 0x21 ! 感叹号
34 0x22 " 双引号
35 0x23 # 井号
36 0x24 $ 美元符号
37 0x25 % 百分号
38 0x26 & 与符号
39 0x27 ' 单引号
40 0x28 ( 左括号
41 0x29 ) 右括号
42 0x2A * 星号
43 0x2B + 加号
44 0x2C , 逗号
45 0x2D - 减号/连字符
46 0x2E . 句号
47 0x2F / 斜杠
48 0x30 0 数字0
49 0x31 1 数字1
50 0x32 2 数字2
51 0x33 3 数字3
52 0x34 4 数字4
53 0x35 5 数字5
54 0x36 6 数字6
55 0x37 7 数字7
56 0x38 8 数字8
57 0x39 9 数字9
58 0x3A : 冒号
59 0x3B ; 分号
60 0x3C < 小于号
61 0x3D = 等于号
62 0x3E > 大于号
63 0x3F ? 问号
64 0x40 @ at符号
65 0x41 A 大写字母A
66 0x42 B 大写字母B
... ... ... ...
90 0x5A Z 大写字母Z
91 0x5B [ 左方括号
92 0x5C \ 反斜杠
93 0x5D ] 右方括号
94 0x5E ^ 插入符
95 0x5F _ 下划线
96 0x60 ` 反引号
97 0x61 a 小写字母a
98 0x62 b 小写字母b
... ... ... ...
122 0x7A z 小写字母z
123 0x7B { 左花括号
124 0x7C | 竖线
125 0x7D } 右花括号
126 0x7E ~ 波浪号
127 0x7F ^? 删除 (Delete)

关键点总结:

0-31 和 127 是 控制字符(不可见,用于通信和设备控制)。

32 是 空格(Space)。

48-57 对应数字 0-9。

65-90 对应 大写字母 A-Z。

97-122 对应 小写字母 a-z。

扩展ASCII(128-255) 包含特殊符号、制表符等,但不同编码(如ISO-8859-1、Windows-1252)可能不同。

6、数据长度与存放

最小单位:位(Bit),0或1

字节(Byte):1 Byte = 8 Bit,00H-FFH

ARM单片机特别定义:

半字(HalfWord):1 HalfWord = 2 Byte,0000H-FFFFH

字(Word):1 Word = 4 Byte,00000000H-FFFFFFFFH

双字(DoubleWord):1 DoubleWord = 8 Byte

千字节(KB):1 KB = 1024 Byte,000H-3FFH

兆字节(MB):1 MB = 1024 KB,00000000H-3FFFFFFFH

1 GB = 1024MB,1 TB = 1024 GB

数据在计算机中的存放涉及多种方式和层次,主要包括以下几个方面:

(1)按存储介质分类

①主存储器(内存)
  • RAM (Random Access Memory)

    • DRAM (动态RAM)

    • SRAM (静态RAM)

  • ROM (Read Only Memory)

    • PROM

    • EPROM

    • EEPROM

    • Flash Memory

②辅助存储器(外存)
  • 硬盘(HDD/SSD)

  • 光盘(CD/DVD/Blu-ray)

  • 磁带

  • U盘/存储卡

(2)按数据组织方式分类

①位(bit)存储
  • 计算机最小存储单位(0或1)

  • 8位=1字节(Byte)

② 字节序(Endianness)
  • 大端序(Big-endian): 高位字节存储在低地址

  • 小端序(Little-endian): 低位字节存储在低地址

    • 例如0x12345678的存储方式:

      • 大端序:12 34 56 78

      • 小端序:78 56 34 12

③对齐方式(Alignment)
  • 数据按特定边界(如4字节、8字节)对齐存储

  • 提高访问效率,避免跨边界访问

(3)常见数据类型的存储

①基本数据类型
数据类型 典型大小 存储方式
char 1字节 直接存储ASCII码
short 2字节 补码表示
int 4字节 补码表示
long 4/8字节 补码表示
float 4字节 IEEE 754标准
double 8字节 IEEE 754标准
②复合数据类型
  • 数组: 连续存储相同类型元素

  • 结构体: 按成员声明顺序存储,可能有填充字节

  • 联合体: 所有成员共享同一内存空间

(4)文件存储方式

①文本文件
  • 以ASCII/Unicode编码存储字符

  • 每行通常以换行符(\n或\r\n)结束

②二进制文件
  • 直接存储内存中的数据表示

  • 无格式转换,效率更高

(5) 数据库存储

①行存储
  • 将整行数据连续存储

  • 适合OLTP(联机事务处理)

②列存储
  • 将每列数据连续存储

  • 适合OLAP(联机分析处理)

(6)数据压缩存储

  • 无损压缩(ZIP, RAR, GZIP等)

  • 有损压缩(JPEG, MP3等)

  • 字典压缩

  • 游程编码

(7)网络传输中的数据存放

  • 大端序网络字节序(Network Byte Order)

  • 协议头部+数据体的封装方式

  • 序列化/反序列化(JSON, XML, Protobuf等)

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐