登录/注册

lpc1768 adc burst模式

更多

在 LPC1768 微控制器中使用 ADC 的 Burst(突发)模式时,可以通过硬件自动循环采样多个 ADC 通道,无需 CPU 反复触发转换。以下是配置步骤和关键代码详解:


Burst 模式工作原理


配置步骤

1. 初始化 ADC 时钟与引脚

// 使能 ADC 电源
LPC_SC->PCONP |= (1 << 12); // 置位 PCADC

// 配置引脚为 ADC 模式(例:P0.23 为 AD0.0)
LPC_PINCON->PINSEL1 |= (1 << 14); // P0.23 = AD0.0

// 设置 ADC 时钟分频(时钟 ≤ 4.5 MHz)
LPC_ADC->ADCR = (1 << 8) | // CLKDIV = 1(根据 PCLK 调整)
                (1 << 21); // PDN = 1(开启 ADC)

2. 配置 Burst 模式

// 选择要采样的通道(例:同时采样通道 0 和通道 1)
LPC_ADC->ADCR |= (1 << 0) | (1 << 1); // SEL = 通道 0 和 1

// 使能 Burst 模式
LPC_ADC->ADCR |= (1 << 16); // BURST = 1

3. 读取转换结果(轮询方式)

while (1) {
    if (LPC_ADC->ADDR0 & (1 << 31)) { // 检查通道 0 完成标志
        uint16_t ch0_value = (LPC_ADC->ADDR0 >> 4) & 0xFFF; // 提取 12 位结果
    }
    if (LPC_ADC->ADDR1 & (1 << 31)) { // 检查通道 1 完成标志
        uint16_t ch1_value = (LPC_ADC->ADDR1 >> 4) & 0xFFF;
    }
}

关键寄存器说明

寄存器 功能
ADCR
  • SEL (bit 0:7):选择使能的通道(1:启用)
  • CLKDIV (bit 8:15):时钟分频值(ADC_CLK = PCLK / (CLKDIV + 1))
  • BURST (bit 16):1 = 使能 Burst 模式
  • PDN (bit 21):1 = ADC 供电使能
ADDRx
  • 存储通道 x 的转换结果
  • DONE (bit 31):1 = 转换完成
  • V/VREF (bit 4:15):12 位转换结果(右移 4 位后获得)

注意事项

  1. 通道顺序:Burst 模式按通道号 从低到高 自动循环(如先 0→1→2→0...)。
  2. 时钟安全:确保 ADC 时钟 ≤ 4.5 MHz(超频可能导致采样错误)。
  3. 结果覆盖:新转换结果会覆盖 ADDRx 的旧值,需及时读取。
  4. 中断支持:可通过 ADINTEN 寄存器使能中断(注意 Burst 模式中任意通道完成均可触发中断)。

示例:双通道循环采集

// 完整初始化示例
void ADC_Burst_Init() {
    LPC_SC->PCONP |= (1 << 12);      // 开启 ADC 电源
    LPC_PINCON->PINSEL1 |= 3 << 14; // P0.23 为 AD0.0
    LPC_ADC->ADCR = (49 << 8) |     // CLKDIV = 49 (PCLK=100MHz -> ADC_CLK=2MHz)
                    (1 << 0) |      // 使能通道 0
                    (1 << 1) |      // 使能通道 1
                    (1 << 16) |     // 使能 Burst 模式
                    (1 << 21);      // PDN = 1
}

// 主循环中读取结果
while (1) {
    if (LPC_ADC->ADDR0 & (1<<31)) 
        process_data(0, (LPC_ADC->ADDR0 >> 4) & 0xFFF);
    if (LPC_ADC->ADDR1 & (1<<31)) 
        process_data(1, (LPC_ADC->ADDR1 >> 4) & 0xFFF);
}

通过 Burst 模式,LPC1768 可高效实现多通道 ADC 采集,大幅降低 CPU 负载。应用场景包括多路传感器监测、实时控制系统等。

使用 SSP 的 LPC1768 上的 SPI 传输数据损坏是什么原因导致的?

我正在 SPI 主从模式下使用 LPC1768 SSP 外设。使用基于ISR的SPI传输时,我遇到传输数据的问题。这是我观察到的行为: 预期行为: MOSI 应发送:11 22 33 44 55

2026-04-28 07:53:16

是否可以将ESP8266-01与lpc1768接口?

我正在尝试从连接到 lpc1768 uC 的温度传感器读取数据,并通过 wifi 将传感器值发送到我的手机。我在我的项目中使用 CMSIS。我是 ESP8266-01 的新手。我的问题是 1. 是否

2023-05-22 10:38:34

LPC1768 RTC问题如何解决?

我们在我们的产品中使用了 LPC1768 微控制器, 如下观察到的问题, 1)RTC增量问题(同板RTC不工作), (触摸图 32khz 晶体或电容器,RTC 工作正常) 与将任何示波器探头接触到工作正常的电容器 RTC 相同。 但仪器 RTC 上的同一板电源不工作。 什么是问题?

2023-05-16 06:08:11

DS1302 的 BURST 模式

文章目录DS1302 的 BURST 模式DS1302 的 BURST 模式

资料下载 cherry1989 2022-01-18 09:46:11

LPC1768下载软件

LPC1768下载软件

资料下载 吴湛 2021-12-04 10:36:13

NXP LPC1768最小系统板Keil开发环境流程演示

关键字:NXP LPC1768 最小系统 Keil MDK 开发环境 J-Link 仿真器概述:以 MDK4.74版本配合 J-Link 仿真器为例演示一下最小系统板的调试过程。首先运行

资料下载 佚名 2021-11-17 16:06:03

NXP LPC1768最小系统板硬件介绍

NXP LPC1768最小系统板硬件介绍关键字:NXP LPC1768 LPC1700 ARM Cortex-M3 RISC 最小系统 mini

资料下载 479461 2021-11-17 14:21:02

DC1768A-模式

DC1768A-模式

资料下载 佚名 2021-05-17 12:30:38

如何将hex文件编程到LPC1768

有人告诉我使用已过时的 LPC-Link2 对 LPC1768 设备进行编程。我看到 MCU-Link Pro Debug probe 和 MCU-Link Debug Probe 被列为 OBS

2023-05-06 07:12:17

LPC1768 PWM负载问题求助

LPC1768 - PWM - 负载问题

2023-04-20 07:03:55

NXP lpc1768设计手册哪里可以免费找到

arm lpc1768设计手册哪里可以免费找到

2022-04-14 09:58:58

LPC1768开发板的相关资料推荐

介绍LPC1768开发板下载软件文章目录前言软件包二、软件内选择1.界面2.读入数据总结前言LPC1768开发板下载过程与单片机下载过程极为相似软件包链接:https://pan.baidu.com

2022-02-07 07:21:15

NXP LPC1768最小系统板硬件相关资料下载

NXP LPC1768最小系统板硬件介绍关键字:NXP LPC1768 LPC1700 ARM Cortex-M3 RISC 最小系统 mini

2021-11-25 06:56:07

关于LPC1768芯片的keil5逻辑分析器使用问题

我使用的芯片是LPC1768,写程序用KEIL5现在遇到的问题是需要用keil5 debug中的logic analyzer功能用于检测IO口的状态,但是无法像STM32那样添加引脚情况如下图:有没有用过LPC1768

2019-07-16 10:43:26

LPC1768开发板的特性及USB通信应用方案的研究

通信系统中,通常LPC1768 开发板可用于应用例程中的重要元件。本文以LPC1768 开发板为核心,并且分析了其主要的特性,如高精度、高速度、高信噪比、良好的实用性等特点使其成为模/数转换的极佳

2019-07-16 08:03:00

7天热门专题 换一换
相关标签