ARM7入門4,單鍵控制LED
用ADS1.2編輯的,注意添加target.c,IRQ.s,Startuo.s和mem.scf文件。
主程序:
/******************************************************************************
*File:Main.c
*功能: 鍵盤輸入.當(dāng)檢測到有按鍵輸入時(shí),對(duì)發(fā)光二極管進(jìn)行取反控制
* 使用I/O口輸入方式對(duì)按鍵進(jìn)行掃描
*******************************************************************************/
#include "config.h"
#define LEDCON 0x00000200 /*P0.9引腳控制LED,低電平點(diǎn)亮*/
#define KEY 0x00008000 /*P0.15引腳連接按鍵*/
/*******************************************************************************
*名稱:WaitKey()
*功能:等待一個(gè)有效按鍵.本函數(shù)有去抖功能
*******************************************************************************/
void WaitKey(void)
{ uint32 i;
while(1)
{ while((IO0PIN&KEY)!=0); //等待按鍵按下
for(i=0;i<50000;i++); //延時(shí)去抖
if((IO0PIN&KEY)==0)break;
}
while((IO0PIN&KEY)==0); //等待按鍵放開
}
/*******************************************************************************
*名稱:main()
*功能:讀取按鍵,控制LED閃爍
*******************************************************************************/
int main(void)
{ PINSEL0=0x00000000; //設(shè)置所有引腳連接GPIO
PINSEL1=0x00000000;
IO0DIR=LEDCON; //設(shè)置LED控制口為輸出,其它I/O為輸入
while(1)
{ IO0SET=LEDCON;
WaitKey();
IO0CLR=LEDCON;
WaitKey();
}
}