硬件:NXP的LPC2368芯片开发板;
软件:KEIL4 MDK、Flash Magic烧写软件;
实现功能:key1控制led1;
查看原理图:
设置p2.0到p2.7引脚为低电平则可以亮LED;
设置p1.24到p1.27引脚为输入功能,并查看(判断)是否被按下;

查看芯片手册;
keil中新建工程,添加启动文件,“魔力棒”设置输出HEX文件,添加程序c文件;
#include <LPC23xx.H>
void delay ()
{
unsigned int i;
for (i=0; i<500; i++);
}
int main (void)
{
PINSEL10 = 0x0; //only PINSEL10 bit 3 can set ETM;
PINSEL3 = 0;
IODIR1 = 0x00000000; //set P1.24~ P1.27 as input
FIO2DIR = 0x000000FF; //set LED pin as output
FIO1MASK = 0x00000000;
delay();
while(1)
{
unsigned int a = 1;
a = IOPIN1&(1<<24);
if(a==0) // 判断key1 是否按下
{
delay(); //延迟去抖
FIO2SET =1;
}
else
FIO2CLR =0x000000FF;
}
}
禁止ETM的原因:
/jtag就是平时用来单步和断点的,但是有些系统是实时的,外部输入的数据没法停下来,你用jtag断点后,外部数据就丢失了,所

这篇博客介绍了如何利用NXP的LPC2368开发板,通过KEIL4 MDK编程,实现KEY1按键控制LED1的功能。首先,查看开发板原理图,配置P2.0-P2.7引脚以点亮LED。接着,设置P1.24-P1.27引脚作为输入,检测KEY1是否按下。然后,根据芯片手册在KEIL中创建工程,添加启动文件,并配置生成HEX文件。由于实时系统需求,禁用了ETM,以确保数据不丢失。最后,通过Flash Magic将程序烧录到开发板中。
最低0.47元/天 解锁文章
812

被折叠的 条评论
为什么被折叠?



