keyled.h

来自「44b0+PDIUSBD12开发的U盘源码」· C头文件 代码 · 共 50 行

H
50
字号
#ifndef __KEYLED_H__
#define __KEYLED_H__

#include"44b.h"
#include"user.h"
void KeyLed_Init(){
	 
	 	 
	rPCONG|=0xffff00ff;		//PG4-PG7端口定义为Key输入 
	rPCONC&=0xfffffc03;	    //PC1-PC3端口定义为Led输出
	rPCONC|=0x00000154;
	rPDATC&=0xfffffff1;		//Led全部熄灭
}

void Led_On(U8 index){
	switch(index){
		case 0:rPDATC|=0x0e;break;
		case 1:rPDATC|=0x02;break;
		case 2:rPDATC|=0x04;break;
		case 3:rPDATC|=0x08;break;
	}
}

void Led_Off(U8 index){
	switch(index){
		case 0:rPDATC&=0xfffffff1;break;
		case 1:rPDATC&=0xfffffffd;break;
		case 2:rPDATC&=0xfffffffb;break;
		case 3:rPDATC&=0xfffffff7;break;
	}
}

U8 Key_Scan(){
	U8	KeyVal;
	U32 TmpVal;
	TmpVal=rPDATG;
	TmpVal=~TmpVal;
	TmpVal&=0xf0;
	TmpVal>>=4;
	switch(TmpVal){
		case 0:KeyVal=0;break;
		case 1:KeyVal=1;break;
		case 2:KeyVal=2;break;
		case 4:KeyVal=3;break;
		case 8:KeyVal=4;break;
	}
	return KeyVal;
}

#endif

⌨️ 快捷键说明

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