初出茅庐的小李博客之数制与编码知识

模拟量与数字量:

数字量和模拟量是两种用于表示和处理不同类型数据的概念,常见于电子和计算机系统中。它们在信号处理、传感器技术、通信和控制系统中有不同的应用。

1. 数字量(Digital):

  • 数字量是离散的,它表示为一系列离散的数值,通常是整数。
  • 它们采用有限的离散值,如0和1,通常用于表示逻辑状态(开或关、真或假)或计数值。
  • 数字信号在计算机和数字电子设备中广泛使用,因为它们易于处理、存储和传输。计算机中的数据通常以数字形式表示。
  • 示例:二进制表示(0和1)是一种常见的数字量表示方式。

初出茅庐的小李博客之数制与编码知识_第1张图片

2. 模拟量(Analog):

  • 模拟量是连续的,它表示为连续变化的数值,可以包括小数和分数。
  • 它们表示实际物理量,如电压、温度、压力和声音,它们在连续范围内变化。
  • 模拟信号通常以电压或电流的形式传输,通过变化的电压或电流来表示物理量的变化。
  • 模拟量在传感器、音频设备、模拟电路和控制系统中广泛使用。
  • 示例:温度传感器输出的电压值是一个模拟量。

初出茅庐的小李博客之数制与编码知识_第2张图片

在许多应用中,数字量和模拟量之间需要相互转换。例如,传感器通常收集模拟数据,但计算机处理和显示数字数据。这需要模拟-数字转换器(ADC)来将模拟信号转换为数字信号,并数字-模拟转换器(DAC)用于将数字信号还原为模拟信号。这些转换器在许多现代电子设备中起着关键作用,使数字系统能够与物理世界互动。

逻辑1和逻辑0

不同的数字电平标准和通信协议使用不同的电压电平来表示逻辑1和逻辑0。以下是一些常见标准和它们的逻辑电平:

  1. TTL (Transistor-Transistor Logic):

    • TTL是一种常见的数字逻辑电平标准,通常用于数字电路和逻辑门。
    • 逻辑1:通常表示为高电平,电压约在2.0V到5.0V之间。
    • 逻辑0:通常表示为低电平,电压约在0V到0.8V之间。
  2. LVTTL (Low Voltage Transistor-Transistor Logic):

    • LVTTL是TTL的低电压变种,通常用于低功耗数字电路。
    • 逻辑1:通常表示为高电平,电压约在2.4V到3.6V之间。
    • 逻辑0:通常表示为低电平,电压约在0V到0.4V之间。
  3. RS-232 (Recommended Standard 232):

    • RS-232是一种串行通信协议,使用正负电压来表示逻辑状态。
    • 逻辑1:通常表示为-3V到-15V的负电压。
    • 逻辑0:通常表示为+3V到+15V的正电压。
    • RS-232通常使用于串行数据通信,例如在计算机和外部设备之间。
  4. LVDS (Low Voltage Differential Signaling):

    • LVDS是一种差分信号标准,通常用于高速数据传输,如显示屏接口。
    • LVDS没有固定的电压电平,而是使用电压差分来表示逻辑状态。
    • 通常,正逻辑状态和负逻辑状态之间的电压差异表示逻辑1,而电压差异相反表示逻辑0。

请注意,这些标准的具体电压电平和定义可能在不同的规范版本中有所不同。因此,在实际应用中,应根据具体的标准文档或设备规格来确定逻辑1和逻辑0的电压范围。

数制与编码:

数制是一种表示数字的方式,它规定了数字如何用符号、符号的排列和进位等规则来表示。人们通常使用的是进位计数制。在进位计数制中表示数的符号处于不同的位置所代表的数的值是不同的常见的数制包括二进制、十进制和十六进制。下面是它们的基本概念和示例:

  1. 二进制(Binary):

    • 二进制是一种基数为2的数制,只包含两个数字,0和1。
    • 在计算机和数字电子电路中广泛使用,因为电子设备以高低电压(通常表示为0和1)工作。
    • 示例:二进制数字1101表示十进制数字13(1x2^3 + 1x2^2 + 0x2^1 + 1x2^0)。
  2. 十进制(Decimal):

    • 十进制是我们日常生活中最常用的数制,基数为10,包含0到9的数字。
    • 每个位置的权重是10的幂次方,从右向左依次增加。
    • 示例:十进制数字123表示123=1x10^2 + 2x10^1 +3x2^0。
  3. 十六进制(Hexadecimal):

    • 十六进制是一种基数为16的数制,除了0到9的数字,还包括A(10)、B(11)、C(12)、D(13)、E(14)和F(15)。
    • 十六进制通常用于计算机编程和数据表示,因为它更紧凑,便于表示二进制数据。
    • 示例:十六进制数字1A7表示十进制数字423(1x16^2 + 10x16^1 + 7x16^0)。

这些不同的数制在不同的领域有不同的应用。例如,计算机内部使用二进制来表示和处理数据,而人类更常使用十进制进行计数和计算。十六进制常用于计算机编程中,用于表示内存地址、颜色代码等,因为它对于表达二进制数据更方便。要在这些数制之间转换数字,需要了解各种数制之间的关系和转换规则。

不同数制之间的标识

为了区分数的不同进制,可在数的结尾以一个字符标识。十进制(decimal)数书写时结尾用字母D(或不带字母);

二进制(binary)数书写时结尾用字母B;

十六进制(hexadecimal)数书写时结尾用字母H。

例如二进制表示:11010011B;十六进制表示:0D3H(字符开头的数前面加0),0x是数学计数法在计算机中十六进制的前标,表示该数为十六进制数,例如0xD3

初出茅庐的小李博客之数制与编码知识_第3张图片

常见数值的不同进制表达

这个表格显示了不同进制的数字表示,包括二进制(前缀"0b")、十六进制(前缀"0x")和八进制(无前缀)。这种表示方法在编程和计算机领域中经常用于清晰地表示不同进制的数字。

包括前缀,以表格形式列出:

十进制数 二进制表示 (0b) 十六进制表示 (0x) 八进制表示
0 0b0 0x0 0
1 0b1 0x1 01
2 0b10 0x2 02
3 0b11 0x3 03
4 0b100 0x4 04
5 0b101 0x5 05
6 0b110 0x6 06
7 0b111 0x7 07
8 0b1000 0x8 010
9 0b1001 0x9 011
10 0b1010 0xA 012
15 0b1111 0xF 017
16 0b10000 0x10 020
255 0b11111111 0xFF 0377
1000 0b1111101000 0x3E8 1750

你可能感兴趣的:(STM32,stm32,单片机,嵌入式硬件)