⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 key_in.c

📁 51单片机写得MODBUS协议程序
💻 C
字号:
#include <reg52.h>
#include "KEY_IN.h"
#include "DelayTime.h"
#include "BDcfg.h"

unsigned char KEY_IN(void)
{
unsigned char i;
unsigned char Key = 0;;
Dat_OUT = 1;
SHIFT_OUT = 1;
LOAD_IN = 0;
Delay(10) ;
LOAD_IN = 1;
Delay(10) ;
   if(Dat_OUT)
      Key |= 1;
   for(i=0;i<7;i++)
      {
       SHIFT_OUT = 0;
	   Delay(10) ;
	   SHIFT_OUT = 1;
	   Delay(10) ;
       Key = Key<<1;
	   if(Dat_OUT)
  	     {
		  Key |= 1;
		  }
	  }
Key &= 0xf0;
LOAD_IN = 0;
if(KEY0 == 0)
   {
    while(KEY0 == 0);
    Key |= (1<<2);
    }
if(KEY1 == 0)
   {
    while(KEY1 == 0);
    Key |= (1<<3);
    }
return Key;

}


unsigned char GetKey(void)
{
unsigned char KEY;
KEY = KEY_IN();
switch(KEY)
    {
	case 0x04: //key0
		 KEY = 1;
	     break;

	case 0x08: //key1
         KEY = 2;
		 break;

	case 0x10: //key2
	     KEY = 3;
	     break;

	case 0x20: //key3
	     KEY = 4;
	     break;

	case 0x40: //key4
	     KEY = 5;
	     break;

	case 0x80: //key5
	     KEY = 6;
	     break;

	default :
	     KEY = KEY;

	}
	return KEY;
}

⌨️ 快捷键说明

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