📄 key._c
字号:
//ICC-AVR application builder : 2005-11-12 17:11:59
// Target : M16
// Crystal: 8.0000Mhz
// copyright:鲁军波(endylu)
#include <iom16v.h>
#include <macros.h>
#include "main.h"
uint8 key_state;
extern uint8 key_value;
//=======================================================================
void key_init(void)
{
key_ddr&=~all_key;
key_port|=all_key;
//t/c0初始化
TCCR0=0X0D;
TCNT0=0X00;
OCR0=0XF0; //定时30ms
TIMSK|=0X02;
}
//=======================================================================
void read_keyboard(void)
{
switch(key_state)
{
case 0:
if((key_pin&all_key)!=all_key)
key_state++;
break;
case 1:
if((key_pin&all_key)!=all_key)
{
key_state++;
key_value=key_pin&all_key;
}
else key_state--;
break;
case 2:
if((key_pin&all_key)==all_key)
{key_state=0;
}
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -