LPC2368学习笔记(一)、点亮LED
前言
LPC2368是一款十分强大的单片机,其基于ARM7TDMI-S处理器,可在高达72MHz的工作频率下运行,高达512kB的片内Flash程序存储器,具有在系统编程(ISP)和在应用编程(IAP)功能,ARM局部总线上有高达32kB的SRAM,并且具备丰富的外设,如SD/MMC存储卡接口、10位A/D转换器、10位D/A转换器、UART接口、CAN接口、SPI接口、USB2.0(带有片内PHY和相关的DMA控制器)接口、I2C接口、I2S频接口、SSP控制器、Ethernet MAC、定时器、RTC等。
一、开发环境介绍
LPC2368支持多种开发环境,有
1. LPCXpresso IDE
2. ADS
3. MDK
4. IAR Embedded Workbench for ARM
5. SEGGER Embedded Studio
其中SEGGER Embedded Studio目前对个人用户免费,但是为了快速熟悉LPC2368的开发,我使用MDK进行程序开发工作。
二、新建工程
打开MDK,选择单片机型号为LPC2368,并向工程中添加启动文件LPC2300.s 。界面如图所示:
编写点亮LED程序。程序如图所示:
配置工程。
output项配置如图所示:
debug项配置如图所示:
utilities项配置如图所示:
下载程序。点击 ,开始下载程序,程序下载成功输出窗口显示如图所示: 下载失败的话会有提示,请对照上述内容重新进行配置。
观察实验现象。
当然也可以使用NXP的启动文件进行新建工程,步骤如下:
1. 在NXP官网上找到有关LPC2368的程序,可以在
该网址 找到,里面还有芯片资料、软件服务等信息。
2. 下载并打开LPC2368的例程
3. 打开以后是这样的,common是通用的配置文件,其他的是一些外设的驱动例程。
common文件夹内有两个文件夹分别是inc文件夹和src文件夹,如下图所示:
inc文件夹包含
,src文件夹包含
4. 复制common文件夹到工程目录,将它添加到工程中
,工程配置如下所示:c/c++项配置如下图所示
linker项配置如下所示
其他项的配置和上面配置相同。
5. 编译运行,观察实验现象。
三、程序介绍
3.1 程序源码
#include
int main(void)
{
//配置P0.29 P0.30 为输出模式
IODIR0 |= 1 << 29;
IODIR0 |= 1 << 30;
while(1)
{
//配置P0.29 P0.30 输出低电平
//由于硬件原因LED在低电平时点亮 在高电平熄灭
IOCLR0 |= 1 << 29;
IOCLR0 |= 1 << 30;
}
}
3.2 GPIO寄存器介绍
寄存器名称
寄存器功能
大小
配置参数
复位值
IODIRx(GPIO端口方向寄存器)
配置GPIO为输入/输出模式
32 bit
当寄存器的第x位被配置为0时,相应的端口被配置成输入模式;当寄存器的第x位被配置为1时,相应的端口被配置成输出模式
0
IOSETx(GPIO端口置位寄存器)
配置GPIO输出高电平
32 bit
当寄存器的第x位被配置为0时,相应的端口状态保持不变;当寄存器的第x位被配置为1时,相应的端口输出高电平
0
IOCLRx(GPIO端口复位寄存器)
配置GPIO输出低电平
32 bit
当寄存器的第x位被配置为0时,相应的端口状态保持不变;当寄存器的第x位被配置为1时,相应的端口输出低电平
0
其他的寄存器请参考LPC2386数据手册。
四、结语
点亮LED对于学习单片机来说算是入门了,当搞定了外设配置之后接下来就是程序框架的编写了。LPC2368其实的配置和STM32的配置差不多,官方有一些外设驱动的例程的,不过在外设库函数方面不像STM32那么强大,就论平台来说还是值得去探索尝试自己编写函数库。
五、参考资料
[1]. LPC2368数据手册