key._c

来自「基于ATmega64的MP3程序」· _C 代码 · 共 50 行

_C
50
字号
//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 + =
减小字号Ctrl + -
显示快捷键?