?? keyin.c
字號:
/****************************************************************************
* File:KEYIN.C
* 功能:鍵盤輸入。當檢測到有按鍵輸入時,對發光二極管LED4進行取后控制。
* 使用I/O口輸入方式對按鍵KEY1進行掃描。
* 說明:將跳線器JP8_LED4短接。
****************************************************************************/
#include "config.h"
#define LEDCON 0x00002000 /* P0.13引腳控制LED4,低電平點亮*/
#define KEY1 0x00004000 /* P0.14引腳連接KEY1 */
#define KEY2 0x00008000
#define KEY3 0x00010000
#define KEY4 0x00400000
#define KEY5 0x00800000
#define KEY6 0x01000000
#define KEY 0x0001c000 // 0x01c1c000
uint8 remark;
/****************************************************************************
* 名稱:WaitKey()
* 功能:等待一個有效按鍵。本函數有去抖功能。
* 入口參數:無
* 出口參數:無
****************************************************************************/
void WaitKey(void)
{ uint32 i,temp;
while(1)
{
while( (IOPIN&KEY1)!=0 & (IOPIN&KEY2)!=0 & (IOPIN&KEY3)!=0);
// 等待KEY1,KEY2 或 KEY3鍵按下
for(i=0; i<300; i++); // 延時去抖
temp = IOPIN&KEY;
switch(temp)
{ case 0x00018000:while( (IOPIN&KEY1)==0 );remark=0x01;break;
case 0x00014000:while( (IOPIN&KEY2)==0 );remark=0x02;break;
case 0x0000c000:while( (IOPIN&KEY3)==0 );remark=0x03;break;
}
if(remark==0x01)break;
if(remark==0x02)break;
if(remark==0x03)break;
}
}
/****************************************************************************
* 名稱:main()
* 功能:讀取按鍵,控制LED閃爍
****************************************************************************/
int main(void)
{ PINSEL0 = 0x00000000; // 設置所有管腳連接GPIO
PINSEL1 = 0x00000000;
remark = 0xff;
IODIR = LEDCON; // 設置LED控制口為輸出,其它I/O為輸入
while(1)
{ IOSET = LEDCON;
WaitKey();
IOCLR = LEDCON;
WaitKey();
}
return(0);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -