基本信息
文件名称:NXP 系列:LPC15xx 系列 (基于 ARM Cortex-M3)_(25).LPC15xx系列项目实战.docx
文件大小:26.25 KB
总页数:26 页
更新时间:2025-06-24
总字数:约1.23万字
文档摘要

PAGE1

PAGE1

LPC15xx系列项目实战

1.项目概述

在本节中,我们将通过一个具体的项目实战,详细介绍如何在LPC15xx系列单片机上实现一个简单而实用的嵌入式系统。项目的目标是开发一个基于LPC15xx单片机的温度监控系统,该系统能够采集温度数据并将其通过串口发送到上位机进行显示。通过这个项目,您将学习到以下内容:

如何配置LPC15xx的串口通信

如何使用ADC模块采集温度传感器的数据

如何编写定时器中断处理程序

如何使用GPIO模块控制LED指示灯

如何使用LPCOpen库进行开发

2.硬件准备

在开始项目实战之前,您需要准备以下硬件:

LPC15xx开发板

温度传感器(例如:LM75)

上位机(例如:WindowsPC)

串口调试助手软件

USB转TTL串口模块(如果开发板没有集成串口转USB接口)

3.开发环境搭建

为了方便开发,我们使用LPCXpressoIDE。请按照以下步骤搭建开发环境:

安装LPCXpressoIDE:

访问NXP官方网站下载LPCXpressoIDE。

安装LPCXpressoIDE及其相关的驱动程序。

安装LPCOpen库:

下载LPCOpen库并解压。

在LPCXpressoIDE中导入LPCOpen库项目。

创建项目:

打开LPCXpressoIDE,选择“File”“New”“LPCXpressoProject”。

选择LPC15xx芯片型号,例如LPC1517。

选择项目类型为“EmptyProject”。

配置项目的名称和存储路径,点击“Finish”完成项目创建。

4.串口通信配置

LPC15xx系列单片机支持多种串口通信方式,包括USART、UART和SPI。在本项目中,我们将使用USART进行串口通信。

4.1初始化USART

首先,我们需要初始化USART模块。以下代码示例展示了如何初始化USART1,配置其波特率为115200,数据位为8位,停止位为1位,无校验位。

#includechip.h

voidUSART_Init(void){

//配置时钟

Chip_SYSCTL_PowerUp(SYSCTL_PDRUNCFG_PD_USART1);

Chip_Clock_EnablePeriphClock(SYSCTL_CLOCK_USART1);

//初始化USART1

Chip_USART_Init(LPC_USART1);

//配置波特率

Chip_USART_SetBaudRate(LPC_USART1,115200,(72*1000000));

//配置数据位、停止位和校验位

Chip_USART_ConfigData(LPC_USART1,(USART_CFG_DATALENGTH_8|USART_CFG_PARITY_NONE|USART_CFG_STOPLEN_1));

//启用USART1

Chip_USART_Enable(LPC_USART1);

}

4.2发送数据

接下来,我们编写一个函数用于通过USART1发送数据。

voidUSART_SendString(constchar*str){

while(*str){

//发送一个字符

Chip_USART_SendByte(LPC_USART1,*str++);

}

}

5.ADC模块配置

LPC15xx系列单片机内置了ADC模块,可以用于采集温度传感器的数据。在本项目中,我们将使用ADC0模块。

5.1初始化ADC

以下代码示例展示了如何初始化ADC0模块,并配置其为单次转换模式。

#includechip.h

voidADC_Init(void){

//配置时钟

Chip_SYSCTL_PowerUp(SYSCTL_PDRUNCFG_PD_ADC0);

Chip_Clock_EnablePeriphClock(SYSCTL_CLOCK_ADC0);

//初始化ADC0

Chip_ADC_Init(LPC_ADC0,CLOCK_RATE);

//配置ADC为单次转换模式

Chip_ADC_SetMode(LPC_ADC0,ADC_MODE_SINGLE);

}

5.2采集数据

接下来,我们编写一个函数用于采集ADC0模块的数据。

uint32_tADC_Read(void){