NXP

LPC2368学习笔记(一)——点亮LED

2019-07-12 12:15发布

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进行程序开发工作。

二、新建工程

  1. 打开MDK,选择单片机型号为LPC2368,并向工程中添加启动文件LPC2300.s。界面如图所示:
  2. 编写点亮LED程序。程序如图所示:
  3. 配置工程。
    1. output项配置如图所示:
    2. debug项配置如图所示:
    3. utilities项配置如图所示:
  4. 下载程序。点击,开始下载程序,程序下载成功输出窗口显示如图所示:下载失败的话会有提示,请对照上述内容重新进行配置。
  5. 观察实验现象。
当然也可以使用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数据手册