?? isr.c
字號:
#include "hardware.h"
#include "ISR.H"
/*void beer()
{ unsigned char j;
int i=100;
while(i--)
{
P3_0=0;
for(j=0;j<70;j++);
P1_0=1;
for(j=0;j<70;j++);
}
} */
unsigned char key_old=0,key_new=0,key=0,key_pressed_time=0,time_out=0;
void Count_2_interrupt(void) interrupt 5
{
TF2=0;
P2=1;
if(key)return; //如果上次按鍵未處理,則返回
KEY_IN=0xFF; //釋放IO
if((KEY_IN&0x0F)==0x0F) //按鍵釋放
{
if(!key_old) //如果上次無按鍵按下
{
return; //返回
}
else //如果上次有按鍵按下
{
if(key_pressed_time>100) //按鍵時間超過一秒,長按鍵碼
{
key=key_old+0x80; //長按鍵碼等于普通按鍵碼加0x80
}
else if(key_pressed_time>0)
{
key=key_old;
}
key_old=0;
}
return;
}
else //按鍵按下
{
key_new=0;
if(!ENTER)key_new+=KEY_ENTER; //ENTER鍵按下
if(!DOWN)key_new+=KEY_DOWN; //DOWN鍵按下
if(!UP)key_new+=KEY_UP; //UP鍵按下
if(!MENU)key_new+=KEY_MENU; //MENU鍵按下
if(key_new==key_old) //如果按鍵按下長于10ms
{
if(key_pressed_time>100) //如果按鍵按下超過1s
{
return;
}
else
{
key_pressed_time++;
}
}
else
{
// beer();
key_pressed_time=0;
}
key_old=key_new; //保存本次按鍵值
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -