设为首页
加入收藏
联系站长
首页 | 文章中心 | 下载中心 | 本站商品 | 学习资料 | 
您现在的位置: 电子爱好者 >> 文章中心 >> ARM入门 >> 正文 用户登录 新用户注册
lpc2103源程序--GPIO口键盘输入          【字体:
lpc2103源程序--GPIO口键盘输入
作者:未知    文章来源:互连网    点击数:    更新时间:2007-4-28

/*------------------------------------------------------------
FILE NAME : KEY_LED.c
DEscrīptION : 键盘输入。当检测到有按键输入时,对发光二极管LED进行取后控制。
                  使用I/O口输入方式对按键KEY进行扫描。
--------------------------------------------------------------*/
//--------------------Include files-------------------------//

#include<lpc2103.h>

//--------------------Variable -----------------------------//

//-------------------Function prototype--------------------//

//-------------------Function ----------------------------//

//-------------------Define------------------------------//

#define   LED 0x00002000  /* P0.13引脚控制LED,低电平点亮*/
#define   KEY  0x00040000  /* P0.18引脚连接KEY */

/*--------------------------------------------------------
NAME  : waitkey
ENTRY  TYPE : void
RETURN TYPE : void
PURPOSE  : 等待一个有效按键。本函数有去抖功能。
VERSION  : 0.0.0
DEscrīptION :
CREATE DATE : 12.07.2006
LOGS  :--\
- 1.create;
---------------------------------------------------------*/

void  waitkey(void)
{  unsigned int  i;

   while(1)
   {  while( (IOPIN&KEY)!=0 );  // 等待KEY键按下
     for(i=0; i<1000; i++);      // 延时去抖
      if( (IOPIN&KEY)==0 ) break;
   }
  
   while( (IOPIN&KEY)==0 );   // 等待KEY键放开
}

/*--------------------------------------------------------
NAME  : main
ENTRY  TYPE : void
RETURN TYPE : int
PURPOSE  : 读取按键,控制LED闪烁。
VERSION  : 0.0.0
DEscrīptION :
CREATE DATE : 12.07.2006
LOGS  :--\
- 2.create;
---------------------------------------------------------*/

int  main(void)
{  PINSEL0 = 0x00000000;      // 设置所有管脚连接GPIO
   PINSEL1 = 0x00000000;
  
   IODIR = LED;       // 设置LED控制口为输出,其它I/O为输入
   while(1) 
   {  IOSET = LED;
      waitkey();
      IOCLR = LED;
      waitkey();
   }
   return(0);
}

//------------------ End of file ----------------------------/

文章录入:admin    责任编辑:admin 
  • 上一篇文章: ARM的启动代码分析

  • 下一篇文章: lpc2103源程序--LED数码管显示
  • 发表评论】【告诉好友】【打印此文】【关闭窗口
       最新热点    最新推荐    相关文章
  • AT91SAM7S系列评估板

  • 【本站学习光盘列表】

  • 8051、ARM和DSP指令周期分析

  • 32位RISC ARM芯片的应用和选…

  • ARM7在嵌入式应用中启动程序…

  • ARM开发调试教程

  • ARM简介与编程-献给ARM初学者

  • lpc2103实验--外部中断

  • lpc2103源程序--PWM

  • lpc2103源程序--TIME1的计数…

  • 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)  
    {$PopAnnouceWindow(400,440)}