ARM7入门4,单键控制LED
扫描二维码
随时随地手机看文章
用ADS1.2编辑的,注意添加target.c,IRQ.s,Startuo.s和mem.scf文件。
主程序:
/******************************************************************************
*File:Main.c
*功能: 键盘输入.当检测到有按键输入时,对发光二极管进行取反控制
* 使用I/O口输入方式对按键进行扫描
*******************************************************************************/
#include "config.h"
#define LEDCON 0x00000200 /*P0.9引脚控制LED,低电平点亮*/
#define KEY 0x00008000 /*P0.15引脚连接按键*/
/*******************************************************************************
*名称:WaitKey()
*功能:等待一个有效按键.本函数有去抖功能
*******************************************************************************/
void WaitKey(void)
{ uint32 i;
while(1)
{ while((IO0PIN&KEY)!=0); //等待按键按下
for(i=0;i<50000;i++); //延时去抖
if((IO0PIN&KEY)==0)break;
}
while((IO0PIN&KEY)==0); //等待按键放开
}
/*******************************************************************************
*名称:main()
*功能:读取按键,控制LED闪烁
*******************************************************************************/
int main(void)
{ PINSEL0=0x00000000; //设置所有引脚连接GPIO
PINSEL1=0x00000000;
IO0DIR=LEDCON; //设置LED控制口为输出,其它I/O为输入
while(1)
{ IO0SET=LEDCON;
WaitKey();
IO0CLR=LEDCON;
WaitKey();
}
}