锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

LPC1768之GPIO输入和输出配置基础例程

时间:2024-04-17 11:37:09

**************************************** Copyright (c) CaKen ************************************

****************************************************************************************** **文件名 : main.c **作者 : CaKen **版本号 : V1.0 **时间 : 2014.08.13 **功能描述 : GPIO实验测试 ****************************************************************************************** ****************************************************************************************** #include "LPC17xx.h" * LPC17xx外设寄存器*/ ****************************************************************************************** 变量与宏定义 ****************************************************************************************** #define BEEP (1 << 26) *P0.26连接 */ #define KEY1 (LPC_GPIO2->FIOPIN & (1 << 10)) *P2.10连接KEY1 */ #define KEY2 (LPC_GPIO2->FIOPIN & (1 << 11)) *P2.11连接KEY2 */ #define KEY3 (LPC_GPIO2->FIOPIN & (1 << 12)) *P2.12连接KEY3 */ #define KEY4 (LPC_GPIO2->FIOPIN & (1 << 13)) * P2.13连接KEY4 */ #define BEEPOFF() LPC_GPIO0->FIOD |= BEEP;LPC_GPIO0->FIOSET |= BEEP * 蜂鸣器关 */ #define BEEP () LPC_GPIO0->FIODIR |= BEEP;LPC_GPIO0->FIOCLR |= BEEP * 蜂鸣器开 */ #define LED1 (1 << 0) * P2.0连接LED1 */ #define LED2 (1 << 1) * P2.1连接LED2 */ #define LED3 (1 << 2) * P2.2连接LED3 */ #define LED4 (1 << 3) * P2.3连接LED4 */ #define LED1OFF() LPC_GPIO2->FIODIR |= LED1;LPC_GPIO2->FIOSET |= LED1 * LED1关 */ #define LED1ON() LPC_GPIO2->FIODIR |= LED1;LPC_GPIO2->FIOCLR |= LED1 * LED1开 */ #define LED2OFF() LPC_GPIO2->FIODIR |= LED2;LPC_GPIO2->FIOSET |= LED2 * LED2关 */ #define LED2ON() LPC_GPIO2->FIODIR |= LED2;LPC_GPIO2->FIOCLR |= LED2 * LED2开 */ #define LED3OFF() LPC_GPIO2->FIODIR |= LED3;LPC_GPIO2->FIOSET |= LED3 * LED1关 */ #define LED3ON() LPC_GPIO2->FIODIR |= LED3;LPC_GPIO2->FIOCLR |= LED3 * LED1开 */ #define LED4OFF() LPC_GPIO2->FIODIR |= LED4;LPC_GPIO2->FIOSET |= LED4 * LED2关 */ #define LED4ON() LPC_GPIO2->FIODIR |= LED4;LPC_GPIO2->FIOCLR |= LED4 * LED2开 */ ****************************************************************************************** ** Function name: GPIO_Init ** Descriptions: GPIO初始化 ** input parameters: 无 ** output parameters: 无 ** Returned value: 无 ****************************************************************************************** void GPIO_Init (void) { LPC_PINCON->PINSEL0 &= ~(0x03 << 26); * 配置P0.26为GPIO */ LPC_PINCON->PINSEL4 &= 0XF00FFF00; * 配置P2.0~P2.3和P2.10~P2.13为GPIO */ LPC_GPIO0->FIODIR |= BEEP; * 配置P0.11即BEEP为输出 1 */ LPC_GPIO2->FIODIR |= 0X000000FF; * 配置P2.0~P2.3为输出 1 */ LPC_GPIO2->FIODIR &= 0XFFC3FFFF; * 配置P2.10~P2.13为输入 0 */ } ******************************************************************************************* ** Function name: main ** Descriptions: 用户程序入口函数,P0.26脚控制蜂鸣器, ** 每按下KEY1,蜂鸣器响一声 ** input parameters: 无 ** output parameters: 无 ** Returned value: 无 ******************************************************************************************** int main (void) { SystemInit(); * 系统初始化 */ GPIO_Init(); * GPIO始化 */ while (1) { if (KEY1 == 0) { * 如果KEY1按下,蜂鸣器鸣叫 */ BEEPON(); LED1ON(); } else { * 松开则停止蜂鸣 */ BEEPOFF(); LED1OFF(); } if (KEY2 == 0) { LED2ON(); } else { /松开则LED2灭 */ LED2OFF(); } if (KEY3 == 0) { LED3ON(); } else { LED3OFF(); } if (KEY4 == 0) { LED4ON(); } else { LED4OFF(); } } }
-电子元器件采购网(www.ruidan.com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。 自建高效智能仓储,拥有自营库存超过50,000种,提供一站式正品现货采购、个性化解决方案、选型替代等多元化服务。
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章