PAGE1
PAGE1
LPC1768开发板和模块
在本节中,我们将详细介绍NXPLPC1768开发板的硬件结构和各个模块的功能。LPC1768是一款基于ARMCortex-M3内核的微控制器,广泛应用于复杂娱乐设备的开发中。了解其开发板和模块的详细信息对于高效开发和调试是非常重要的。
开发板概述
LPC1768开发板是一个集成了LPC1768微控制器的开发平台,提供了丰富的外设接口和扩展模块,适用于多种开发场景。开发板的主要特点包括:
高性能处理器:LPC1768集成了一个32位ARMCortex-M3内核,运行频率高达100MHz。
丰富的外设接口:包括USART、SPI、I2C、CAN、USB、ADC、DAC等。
大容量存储:512KB的Flash存储器和32KB的SRAM。
扩展接口:支持多种扩展模块,如LCD、SD卡、音频接口等。
调试接口:提供JTAG和SWD接口,方便调试和编程。
硬件结构
微控制器
LPC1768微控制器是开发板的核心,其主要特性包括:
内核:ARMCortex-M3,支持Thumb-2指令集。
时钟:内部RC振荡器,外部晶振支持高达24MHz。
电源管理:支持3.3V和5V供电。
复位电路:包括上电复位和外部复位按钮。
外设接口
USART
LPC1768提供了多个USART接口,用于串行通信。以下是配置和使用USART的基本步骤:
初始化USART:配置波特率、数据位、停止位和校验位。
发送数据:通过USART发送数据。
接收数据:通过USART接收数据。
代码示例:
#includeLPC17xx.h
#defineUSART_BAUDRATE9600
voidUSART_init(void){
//使能USART0的时钟
LPC_SC-PCONP|=(112);
LPC_SC-PCLKSEL0|=(124)|(125);
//配置引脚
LPC_PINCON-PINSEL0=~(0xF4);//P0.2(TXD0)
LPC_PINCON-PINSEL0|=(0x54);//USART0TxD
LPC_PINCON-PINSEL1=~(0xF4);//P0.10(RXD0)
LPC_PINCON-PINSEL1|=(0x54);//USART0RxD
//设置波特率
LPC_UART0-LCR=0x83;//8位数据,无校验,1位停止位,使能DLAB
LPC_UART0-DLL=(SystemCoreClock/(16*USART_BAUDRATE))0xFF;
LPC_UART0-DLM=((SystemCoreClock/(16*USART_BAUDRATE))8)0xFF;
LPC_UART0-LCR=0x03;//8位数据,无校验,1位停止位,关闭DLAB
//使能USART0
LPC_UART0-IER=0x01;//使能接收中断
LPC_UART0-FCR=0x07;//使能FIFO,清空FIFO
LPC_UART0-LCR=0x03;//8位数据,无校验,1位停止位
}
voidUSART_send_char(charc){
while(!(LPC_UART0-LSR0x20));//等待传输完成
LPC_UART0-THR=c;//发送字符
}
charUSART_receive_char(void){
while(!(LPC_UART0-LSR0x01));//等待接收完成
returnLPC_UART0-RBR;//返回接收的字符
}
intmain(void){
USART_init();
USART_send_char(H);
USART_send_char(e);
USART_send_char(l);
USART_send_char(l);
USART_send_char(o);
charreceived_char=USART_receive_char();
while(1){
//主循环
}
}
SPI
LPC1768提供了多个S