管脚p0.0用作LED 管脚p0.2用作BEEP 管脚P0.1 P0.3分别用作EINT【0:1】下沿有效 管脚P0【7:4】分别用作为KEY【4:1】其他管脚不能改变原有功能 请写出配置代码
时间: 2024-05-01 08:23:46 浏览: 58
vivado 管脚配置串口控制器,基于vivado软件下开发,包含代码及管脚分配文件.zip
以下是基于 Keil μVision5 平台的配置代码:
```c
#include <LPC11xx.h>
void GPIO_Init(void)
{
// 使能GPIO时钟
LPC_SYSCON->SYSAHBCLKCTRL |= (1 << 6);
// 配置P0.0为GPIO输出,用作LED
LPC_GPIO0->DIR |= (1 << 0);
// 配置P0.2为GPIO输出,用作BEEP
LPC_GPIO0->DIR |= (1 << 2);
// 配置P0.1和P0.3为GPIO输入,下降沿触发中断,用作EINT0和EINT1
LPC_GPIO0->DIR &= ~((1 << 1) | (1 << 3));
LPC_GPIO0->IS &= ~((1 << 1) | (1 << 3)); // 边沿触发
LPC_GPIO0->IBE &= ~((1 << 1) | (1 << 3)); // 单边沿触发
LPC_GPIO0->IEV &= ~((1 << 1) | (1 << 3)); // 低电平触发
LPC_GPIO0->IE |= ((1 << 1) | (1 << 3)); // 使能中断
// 配置P0.4-P0.7为GPIO输入,用作KEY4-KEY1
LPC_GPIO0->DIR &= ~((1 << 4) | (1 << 5) | (1 << 6) | (1 << 7));
}
int main(void)
{
GPIO_Init();
while (1);
return 0;
}
```
其中,`LPC_SYSCON->SYSAHBCLKCTRL` 用于使能GPIO时钟,`LPC_GPIO0->DIR` 用于配置GPIO方向,`LPC_GPIO0->IS`、`LPC_GPIO0->IBE` 和 `LPC_GPIO0->IEV` 用于配置中断触发方式,`LPC_GPIO0->IE` 用于使能中断。
阅读全文