key.c

来自「一个比较好用的TW2835音视频芯片开发板的程序,」· C语言 代码 · 共 113 行

C
113
字号
#include	"hdr.h"
//#include	"key0.h"

//==================================================================================
//						Key definition & variable description
//==================================================================================
U8 bdata	key0_flg = 0x0;
sbit	b_key0_past = key0_flg^0;
sbit	b_key0_rlse = key0_flg^1;
sbit	b_key0_pshd = key0_flg^2;
sbit	b_key0_pshng = key0_flg^3;
sbit	b_key0_dwn = key0_flg^4;
sbit	b_key0_clk = key0_flg^5;
sbit	b_key0_pshng_clk = key0_flg^6;

sbit	b_key0_tmp = key0_flg^7;

U8	key0_cnt = 0;

//U8 bdata	key1_flg = 0x0;
//sbit	b_key1_past = key1_flg^0;
//sbit	b_key1_rlse = key1_flg^1;
//sbit	b_key1_pshd = key1_flg^2;
//sbit	b_key1_pshng = key1_flg^3;
//sbit	b_key1_dwn = key1_flg^4;
//sbit	b_key1_clk = key1_flg^5;
//sbit	b_key1_pshng_clk = key1_flg^6;
//
//sbit	b_key1_tmp = key1_flg^7;
//
//U8	key1_cnt = 0;


//==================================================================================
//						Key function description
//==================================================================================
void	SetKey0(void)
{
	if(KEY0 != b_key0_past){
		b_key0_past = KEY0;
		
		if(b_key0_past == 1){									// detecting low to high(button up) transition.
			b_key0_rlse = 1;
			if(b_key0_pshd == 1)	b_key0_clk = 1;
			b_key0_pshd = 0;
			b_key0_pshng = 0;
		}
		else{															// detecting high to low(button down) transition.
			if((b_key0_pshd == 0)&&(b_key0_pshng == 0)){
				b_key0_pshd = 1;
				b_key0_rlse = 0;
				b_key0_dwn = 1;

//				if((b_key0_pshd == 0)||(b_key0_pshng == 1))
					key0_cnt = KEY_CNT_CHTR;				//... default
			}
		}
	}
	else{
		if(b_key0_pshd == 1){
			if(key0_cnt > 0)	key0_cnt--;
			else{
				if(b_key0_pshng == 0){
					b_key0_pshng = 1;								// pushing button checking
				}
				else	b_key0_pshng_clk = 1;		// continuous button checking
				
				key0_cnt = KEY_CNT_CHTR>>2;				//... default
			}
		}
	}
}
//==================================================================================
//void	SetKey1(void)
//{
//	if(P3_1 != b_key1_past){
//		b_key1_past = P3_1;
//		
//		if(b_key1_past == 1){									// detecting low to high(button up) transition.
//			b_key1_rlse = 1;
//			if(b_key1_pshd == 1)	b_key1_clk = 1;
//			b_key1_pshd = 0;
//			b_key1_pshng = 0;
//		}
//		else{															// detecting high to low(button down) transition.
//			if((b_key1_pshd == 0)&&(b_key1_pshng == 0)){
//				b_key1_pshd = 1;
//				b_key1_rlse = 0;
//				b_key1_dwn = 1;
//
////				if((b_key1_pshd == 0)||(b_key1_pshng == 1))
//					key1_cnt = KEY_CNT_CHTR;				//... default
//			}
//		}
//	}
//	else{
//		if(b_key1_pshd == 1){
//			if(key1_cnt > 0)	key1_cnt--;
//			else{
//				if(b_key1_pshng == 0){
//					b_key1_pshng = 1;								// pushing button checking
//				}
//				else	b_key1_pshng_clk = 1;		// continuous button checking
//				
//				key1_cnt = KEY_CNT_CHTR>>2;				//... default
//			}
//		}
//	}
//}
//==================================================================================


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?