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

📄 key.c

📁 C51的LED显示程序 可以显示多种字符,里面有多种显示驱动,方便应用
💻 C
📖 第 1 页 / 共 2 页
字号:

#include "REG51.h"
#include "Port.h"
#include "lcd.h"
#include "uart.h"
// ------ Private function prototypes ------------------------------




// ------ Private constants ----------------------------------------



#define CDaup	  0x72     
#define CDbup	  0x73     
#define CDcup  	  0x74     
#define CDdup     0x61 
//#define CDadown	0x82     
//#define CDbdown	0x83     
//#define CDcdown   0x84     
//#define CDddown   0x62 
   
//#define CDFF	   0x60
//#define CDPP	   0x90 
#define CDok	   0x91
#define CDbegin	   0x70
#define CDend	   0x80
 
#define CDlamp	   0x63
#define CDauto	   0x93    
#define CDcut	   0x92
#define CDP1D	   0x71
#define CDWW	   0x81
//#define CDset	  0x91     
//#define CDup	  0x72     
//#define CDdown	  0x92
//#define CDdel     0x73
//#define CDright   0x83
//#define CDspace   0x93


//xdata int newST;
//extern int LcdST;
unsigned char SWkey ;
xdata unsigned char CEFF = 0;
xdata unsigned char DCEFF[10] = {0};
xdata unsigned char CESS=0;
xdata unsigned char CEPP=1;
xdata unsigned char CEPP_Sign = 0;
//xdata unsigned char DCEPP[16] = {0};
xdata unsigned char CElamp;
xdata unsigned char CEWW;
xdata unsigned char CEbegin;
xdata unsigned char CEend;
xdata unsigned char CEauto;
xdata unsigned char CEP1D;
xdata unsigned char CEcut;
xdata unsigned char DataBuffer[4] = {0};
//xdata unsigned char P1D_Sign=1;
xdata unsigned char P_Model_L;
xdata unsigned char P_Model_H;
xdata unsigned char LEDFF=0;
xdata  char CEPP_39_= 1;
xdata unsigned char LEDPP = 0;
xdata unsigned char Uart_En = 1; //enable the uart 
xdata unsigned char CDSSUart_En = 0;
xdata unsigned char StMemoryA = 0;
xdata unsigned char StMemoryB = 0;
xdata unsigned char StMemoryC = 0;
xdata unsigned char StMemoryD = 0;
xdata unsigned char UnMemory = 0;
xdata unsigned char StartEn=1;
xdata unsigned char SaveEn = 0;
/*------------------------------------------------------------------*/

void KEYPAD_Scan()
  {
   	static unsigned char Old_Key;
	static unsigned char  KnbS;
	unsigned int jjp;
  	unsigned char fpp;
   	unsigned char Key = 0x00;     
   	KBB1 = 0; 	KBB2 = 1; KBB3 = 1; KBB4 = 1;//KBB5 = 1; // Scanning column 1
	for(jjp=0;jjp<=200;jjp++)
	{	fpp++;	}
	//  if (KBA4 == 0) Key = 0x60;
      if (KBA3 == 0) Key = 0x72;
      if (KBA2 == 0) Key = 0x70;
      if (KBA1 == 0) Key = 0x91;      
 
   KBB1 = 1;	KBB2 = 0;	KBB3 = 1; KBB4 = 1; //KBB5 = 1; // Scanning column 2
	for(jjp=0;jjp<=200;jjp++)
	{	fpp++;	}
	//  if (KBA4 == 0) Key = 0x61;
      if (KBA3 == 0) Key = 0x73;
      if (KBA2 == 0) Key = 0x80;
      if (KBA1 == 0) Key = 0x63;      

   KBB1 = 1;	KBB2 = 1;	KBB3 = 0; KBB4 = 1; //KBB5 = 1; // Scanning column 3
	for(jjp=0;jjp<=200;jjp++)
	{	fpp++;	}
	 // if (KBA4 == 0) Key = 0x62;
      if (KBA3 == 0) Key = 0x74;
      if (KBA2 == 0) Key = 0x81;
      if (KBA1 == 0) Key = 0x92;      

   KBB1 = 1;	KBB2 = 1;	KBB3 = 1; KBB4 = 0; //KBB5 = 1; // Scanning column 4
	for(jjp=0;jjp<=200;jjp++)
	{	fpp++;	}
//	  if (KBA4 == 0) Key = 0x61;	
      if (KBA3 == 0) Key = 0x61;
      if (KBA2 == 0) Key = 0x71;
      if (KBA1 == 0) Key = 0x93; 

 // KBB1 = 1;	KBB2 = 1;	KBB3 = 1; KBB4 = 1; KBB5 = 0; // Scanning column 4
//	for(jjp=0;jjp<=200;jjp++)
//	{	fpp++;	}
//	  if (KBA4 == 0) Key = 0x64;	
//      if (KBA3 == 0) Key = 0x74;
//      if (KBA2 == 0) Key = 0x84;
//      if (KBA1 == 0) Key = 0x94; 
		  
	    

   	KBB1 = 1;	KBB2 = 1;	KBB3 = 1; KBB4 = 1; // Scanning column 4

   
   if (Key == 0x00)
   {
      // No key pressed (or just a function key)
      Old_Key = 0x00;
     // Last_valid_key_G = KEYPAD_NO_NEW_DATA;
	  SWkey = 0x00;
	  KnbS=0;
      return ;  // No new data
    }
	if(Key == Old_Key)
	{
		KnbS++;
		if(KnbS>5)
		{
			SWkey=Old_Key;
			KnbS=6;
		}
		return	;
	}
   // No new data
   Old_Key = Key;
  	KnbS=0;	

   }

BuzDelay(unsigned int ms)
{
 int i = 0;
 for(;ms>0;ms--)
 for (i =0; i<=100;i++)
 {
 ;
 }

}
/*
void  OnBuz()
{
	BZ = 0;
	BuzDelay(130);
	BZ= 1;

}
void Buz()
{
   if(DCEFF[8]==1)
   {
    BZ = 0;
	BuzDelay(130);
	BZ= 1;

   }
}

*/
 /* *************************************************************
 *** 函数  名:  Select_Modle()
 *** 功能说明:开机按键进入相应的参数设定 POWER ON /+P /+S /+LAMP /+AUTO+/上下
 *** 返回参数:
 ************************************************************** */
 void	Select_Modle()
 {

	 unsigned char model_key =0;
	 int i = 0;
 	 P_Model_L = 1;
	 P_Model_H = 45;
	for(i=0;i<100;i++)
	{
	 KEYPAD_Scan();
	}
	 model_key = SWkey;
	 
	 if(model_key == CDauto)
	 {
	  P_Model_L = 46;
	  P_Model_H = 122;
	  	  
	 }

	 if(model_key == CDok)
	 {	  
	  P_Model_L = 1;
	  P_Model_H = 175;
	  UnMemory = 1;
	 }

/*	 if(model_key == CDlamp)
	 {	  
	  P_Model_L = 176;
	  P_Model_H = 208;
	 }

	  if(model_key == CDauto)
	 {	  
	  P_Model_L = 209;
	  P_Model_H = 251;
	 } */

	 if(model_key ==CDaup)
	 {
	 	ReadStMemory();
		BuzDelay(10);
		WritAlldata();
		BuzDelay(100);	
	 }
//	 OnBuz();
  	
 }


   void BufferCEPP()
  {
			if(CEPP_Sign>=1)
			{
			 DataBuffer[0] = CEbegin ;
			 DataBuffer[1] = CEend ;
			 DataBuffer[2] = CEWW ;
			 DataBuffer[3] = CEP1D ;
		//	 DataBuffer[4] = CEPP ;
			 CEbegin = 0;
			 CEend = 0;
			 CEWW = 0;
			 CEP1D = 0;

//			 CEFF = 0;
			
			 }
			 else
			 {
			 CEbegin = DataBuffer[0] ;
			 CEend = DataBuffer[1] ;
			 CEWW = DataBuffer[2] ;
			 CEP1D =  DataBuffer[3];
		//	 CEPP = DataBuffer[4] ;
			 DataBuffer[0] = 0 ;
			 DataBuffer[1] = 0 ;
			 DataBuffer[2] = 0 ;
			 DataBuffer[3] = 0 ;
		//	 DataBuffer[4] = 0 ;
			 }
}	

void BufferCEFF()
{
		if(CEFF>=1)
			{
			 DataBuffer[0] = CEbegin ;
			 DataBuffer[1] = CEend ;
			 DataBuffer[2] = CEWW ;
			 DataBuffer[3] = CEP1D ;
		//	 DataBuffer[4] = CEPP ;
			 CEbegin = 0;
			 CEend = 0;
			 CEWW = 0;
			 CEP1D = 0;
	//		 CEPP = 0;
			
			}
		 else 
		 	{
		 	 CEbegin = DataBuffer[0] ;
			 CEend = DataBuffer[1] ;
			 CEWW = DataBuffer[2] ;
			 CEP1D =  DataBuffer[3];
		//	 CEPP = DataBuffer[4] ;
			 DataBuffer[0] = 0 ;
			 DataBuffer[1] = 0 ;
			 DataBuffer[2] = 0 ;
			 DataBuffer[3] = 0 ;
		//	 DataBuffer[4] = 0 ;
		 
		 	}
}

void KeyUp39(unsigned char TwoBit)
	{
				switch(CEPP_39_)
				{
			
				case 1:    Data_PS[1] += TwoBit;break;//,<250
				case 2:    Data_PS[2] += TwoBit;break;//,<250
				case 3:    Data_PS[3] += TwoBit;break;//,<250
				case 4:    Data_PS[4] += TwoBit;break;//,<250
				case 5:    Data_PS[5] += TwoBit;break;//,<250
				case 6:    Data_PS[6] += TwoBit;break;//,<250
				case 7:    Data_PS[7] += TwoBit;break;//,<250
				case 8:    Data_PS[8] += TwoBit;break;//,<250
				case 9:    Data_PS[9] += TwoBit;break;//,<250
				case 10:   Data_PS[10] += TwoBit;break;//,<250
				case 11:   Data_PS[11] += TwoBit;break;//,<250
				case 12:   Data_PS[12] += TwoBit;break;//,<250
				};
	}

/************************************************************************
*******	 function name :void KeyAup()
*******
*******
*******
*************************************************************************/
void KeyUp(unsigned int FourBit,unsigned char ThreeBit,unsigned char TwoBit,unsigned char OneBit)
{
if(CEPP_Sign >= 1)		 //P 1---N FUNCTION ++
			{
			  if(LEDPP == 1)		   //display  data
			  {	
			  switch(CEPP)
			  {

				case 1 :   Data_H 	+= FourBit ;break;		  //50--9999
				case 2 :   Data_PSL += TwoBit;break;//1--100
				case 3 :   Data_CNR += ThreeBit;break;
				case 4 :   Data_N 	+= FourBit; break;	  //50 --8000
				case 5 :   Data_V 	+= FourBit;break;	  //50 --8000
				case 6 :   Data_B 	+= FourBit;	  //50 --8000
				case 7 :
				{ 
				  
					if(ThreeBit == 10)
					{
				
					Data_S 	+= 50;break;  //50 --2000
					}
					if(ThreeBit == 100)
					{
					Data_S 	+= 100;break;
					}
					
					break;
				}

				case 8 :   Data_SLS += TwoBit;break;//0-99
				case 9 :   Data_A 	+= FourBit;break;//50---8000
				case 10 :  Data_ACD += OneBit;break;//1 off 2 on
				case 11 :  Data_RVM += OneBit;//
				case 12 :  Data_SMS	+= OneBit;break;//1A/2M/3SU/4SD
				case 13 :  Data_TYS += OneBit;break; //1 CON /2:STP/3:TRM
				case 14 :  Data_SBT += OneBit;break; //1ON 2OFF
				case 15 :  Data_SBA	+= TwoBit;break; //0--15
				case 16 :  Data_SBB	+= TwoBit;break; //0--15
			 	case 17 :  Data_SBN += TwoBit;break;
				case 18 :  Data_BT1 += TwoBit;break; //0--15
				case 19 :  Data_BT2 += TwoBit;break; //0--15
				case 20 :  Data_SME += OneBit;break; //1A 2SU 3SD
				case 21 :  Data_EBT += OneBit;break; //1 ON,2 OFF
				case 22 :  Data_EBC += TwoBit;break;  //1--15
				case 23 :  Data_EBD += TwoBit;break;  //1--15
				case 24 :  Data_EBN += OneBit;break;	//0--4
				case 25 :  Data_BT3 += TwoBit;break; //0--15
				case 26 :  Data_BT4 += TwoBit;break;//0--15
				case 27 :  Data_CT  += ThreeBit;break; //0 --990
				case 28 :  Data_SB5 += OneBit; //ON OFF
				case 29 :  Data_SB9 += TwoBit;break;//0--99
				case 30 :  Data_BCC += OneBit;break;// on  off
 				case 31 :  Data_BCD += OneBit;break;//1A/2 M /3SU /4SD
				case 32 :  Data_BAR += OneBit;break;//1 ON 2 OFF
				case 33 :  Data_BRC += TwoBit;break; //0 --99 
				case 34 :  Data_BRN += TwoBit;break; //0 --15
				case 35 :  Data_BT5 += TwoBit;break; //0--15
				case 36 :  Data_BT6 += TwoBit;break; // 0-15
				case 37 :  Data_BT7 += TwoBit;break; // 1AUTO 2 MANUAL
				case 38 :  Data_BT8 	+= TwoBit ;break; //1 ON //2 OFF
				case 39 : 
					{
						KeyUp39(TwoBit);	
					}
				case 40 :  Data_WON += OneBit;break;//1 ON	,0 OFF
				case 41 :  Data_TM 	+= OneBit;break;// 1ON 0 OFF
				case 42 :  Data_CUD += OneBit;break; //0 NOP 1U/2D/3US/4UT/5DTS/
				case 43 :  Data_UD	+= FourBit;break;//0 --9999;
				case 44 :  Data_PN	+= FourBit;break; //0--9999
				case 45 :  Data_SP  += OneBit;break;
				case 46 :  Data_DIR += OneBit;break;
				case 47 :  Data_MAC += TwoBit;break;// 0 - 91	
			    case 48 :  Data_N12 += OneBit;break; //0 OFF 1 ON 
				case 49 :  Data_SPD += ThreeBit;break; //1-250MM
				case 50 :  Data_MPD += ThreeBit;break; //1-250MM
				case 51 :  Data_PL 	+= OneBit;break;//0 OFF 1 ON 
				case 52 :  Data_BT 	+= ThreeBit;break;//150- 250 MS
				case 53 :  Data_POL += OneBit;break; //0 OFF ,1 ON 
				case 54 :  Data_BK 	+= OneBit ;break; //ON OFF
				case 55 :  Data_SRM += OneBit ;break; //ON OFF
				case 56 :  Data_SRA += ThreeBit;break; //1--360 degree
				case 57 :  Data_TRU += OneBit;break;//ON OFF
				case 58 :  Data_TR8	+= ThreeBit;break; //1-360
				case 59 :  Data_M   += FourBit;break; //LOW TO 8000SPM
				case 60 :  Data_L 	+= ThreeBit;break; //50 --500
				case 61 :  Data_T   += ThreeBit;break; //50 -- 500
				case 62 :  Data_HPM += OneBit;break;//0 ALT ,1 MON
				case 63 :  Data_FTP += OneBit;break;//0 M IS THE NORMAL SETING ,1 A
				case 64 :  Data_FO  += FourBit;break; //0-990 MS
				case 65 :  Data_FC  += TwoBit;break;//10--90%
				case 66 :  Data_FD  += ThreeBit;break; //0 --990MS
				case 67 :  Data_FPM += OneBit ; //ON ,OFF
				case 68 :  Data_FP  += FourBit;break;//0 -9900X 0.1 second
				case 69 :  Data_HD  += ThreeBit;break; //0 -990 MS	  NUMBER 69
				case 70 :  Data_HHC += OneBit;break; //ON OFF
				case 71 :  Data_FL	+= OneBit ;break; //OFF ON 
				case 72 :  Data_FHC += OneBit ;break; //ON /OFF
				case 73 :  Data_NTC += OneBit;break; // ON  OFF
				case 74 :  Data_FRV += OneBit ;break;//on off
				case 75 :  Data_SFM += OneBit;break; // 0 N.C.	N.O.
				case 76 :  Data_TCL += OneBit;break;//ON OFF
				case 77 :  Data_ILC += OneBit;break;//ON OFF
				case 78 :  Data_TRM += OneBit;break;//1 LK /2 RK /3 KA/4KB/5KC
				case 79 :  Data_LTM += OneBit;break; //1 T1, 2 T2,3 T3,4 T4,5 TK ,6 TS ,7 T7 
				case 80 :  Data_LLM += OneBit;break; //L1,L2,L3 ,L4,LK,LS ,L7
				case 81 :  Data_TS 	+= ThreeBit;break;//0-360 DEGREES
				case 82 :  Data_T1 	+= ThreeBit;break; //0 -990MS 
				case 83 :  Data_T2  += ThreeBit;break;// 0 -990MS
				case 84 :  Data_TE  += ThreeBit;break;//0 -360 degrees
				case 85 :  Data_LS  += ThreeBit;break; //0 -360 degrees
				case 86 :  Data_L1  += ThreeBit;break; //0 --990 ms
				case 87 :  Data_L2  += FourBit;break; //0 --1500 MS
				case 88 :  Data_LE  += ThreeBit;break; //0 --360 degrees
				case 89 :  Data_D1  += TwoBit;break;//0 --990MS
				case 90 :  Data_D2  += TwoBit;break; //0 --2500ms
				case 91 :  Data_D3  += FourBit;break;//0- 990MS
				case 92 :  Data_W1  += FourBit;break; //0 -980 MS
				case 93 :  Data_W2  += FourBit;break;//0 -9990MS
				case 94 :  Data_WF  += ThreeBit;break; // 0 -990 MS
				case 95 :  Data_CSF += OneBit;break;//ON OFF
				case 96 :  Data_WN3 += TwoBit;break;//0 -99 STITCHES
				case 97 :  Data_TK3 += ThreeBit;break;//10-990MS
				case 98 :  Data_MST += OneBit;break;//0 T 1 C
				case 99 :  Data_SEN += OneBit;break;//ON OFF
				case 100 : Data_SRS += TwoBit;break;// 0-99MS
				case 101 : Data_CMS += TwoBit;break;//0-99MS,STITCHES
				case 102 : Data_SE  += ThreeBit;break;//1-999 STITCHES
				case 103 : Data_SET += OneBit;break; //ON OFF
				case 104 : Data_PSU += TwoBit;break; //1--99STICHES
 				case 105 : Data_PSD += TwoBit;break; // 1- 99 STITCHES
				case 106 : Data_PSN += OneBit ;break;//ON OFF
				case 107 : Data_S7U += OneBit;break;//ON /OFF
				case 108 : Data_S7D += OneBit ;break;// ON OFF//
				case 109 : Data_ROF += OneBit ;break;//ON OFF
				case 110 : Data_TB  += OneBit;break; // ON /OFF
				case 111 : Data_COR += OneBit;break;//0/1
				case 112 : Data_WMD += OneBit;break;//1W. 2,O,3AND,
				case 113 : Data_DEG += ThreeBit;break;//5-180degrees
				case 114 : Data_UEG += ThreeBit;break; //5 - 180 degrees
				case 115 : Data_PMD += OneBit;break;// ON /OFF
				case 116 : Data_DRU += ThreeBit;break;//1- 360 degrees
				case 117 : Data_ER  += OneBit;break;//10 SET FIFO
				case 118 : Data_NOS += OneBit ;break;//ON OFF
				case 119 : Data_DD  += OneBit ; break;// ON OFF
				case 120 : Data_FHM += OneBit;break;//1FU ;/2NU/ 3NO /4NUF/5EFF
				case 121 : Data_ANU += OneBit;break;//ON OFF
				case 122 : Data_HL	+= FourBit;break;//50 -9999 SPM
				case 123 : Data_FASET = 0;break;						   //123
				case 124 : Data_PG  += OneBit;break;//1 NOP .2LOAD /3 SAVE
				case 125 : Data_USM += OneBit;break;//1A ,2 B,3C, 4D ,5E ,6F,7G
				case 126 : Data_USA += OneBit;break;//ON OFF
				case 127 : Data_MAV  = 0; break;
				case 128 : Data_MIV  = 0 ;break;
				case 129 : Data_PV   = 0 ;break;
				case 130 : Data_OVD += ThreeBit;break; //170 -315 VAC
				case 131 : Data_LVD += ThreeBit;break; // 70 --160 VAC
				case 132 : Data_UPG += OneBit ;break; //0 -4
				case 133 : Data_CHS += TwoBit;break;//1-99
				case 134 : Data_KLK += OneBit;break;//ON  OFF
				case 135 : Data_TOT += ThreeBit;break;//1-168;
				case 136 : Data_TM1 += ThreeBit;break;//1-250x0.1 s;
				case 137 : Data_TM2 += ThreeBit;break; // 1-250X0.1S
				case 138 : Data_UTD += OneBit ; break;//ON  OFF
				case 139 : Data_CK  += OneBit;break;//
				case 140 : Data_OSE += OneBit;break; // ON / OFF
				case 141 : Data_BC3 += OneBit;break;//ON OFF
				case 142 : Data_EFK += OneBit;break; //ON OFF
				case 143 : Data_AT  += OneBit; break;//ON OFF
 				case 144 : Data_IN1 += OneBit;break;//0 NOP ,1IO1,2S4,3CR
				case 145 : Data_IN2 += OneBit;break;//0U 1USR.2NOP
				case 146 : Data_IN3 += OneBit;break;//0HT 1WL
				case 147 : Data_INA += OneBit;break;//0PSU 1BCR /2 NOP /3SPL
				case 148 : Data_INC += OneBit;break; //0 SH/IO1/IO2/CW
				case 149 : Data_IND += OneBit;break;//0TL/.1ES/2NOP 
				case 150 : Data_INE += OneBit;break;//0S7/ 1IO1/IO2/CW
				case 151 : Data_INF += OneBit;break;//0F /HP
				case 152 : Data_INI += OneBit;break;//0CRS /FAW
				case 153 : Data_INK += OneBit;break;// HP /F
				case 154 : Data_OA  += OneBit ;break;//TM KS1
				case 155 : Data_OB  += OneBit;break; //WP/ML/FK
				case 156 : Data_OD  += OneBit;break; //ML/KS1/KS2/KS3/KS4/NCL
				case 157 : Data_O1  += OneBit;break;//OT1/KS1/PUL/CSL
				case 158 : Data_O3  += OneBit;break;//HP/KS1/KS2
				case 159 : Data_O4  += OneBit;break;//BUZ/OT4
 				case 160 : Data_O5  += OneBit;break;//HPL/OT5
				case 161 : Data_O6  += OneBit ;break;//STL/OT6	   /..KDFJAKDFJAKSDFJAKSDJF
				case 162 : Data_O7  += OneBit ;break;
				case 163 : Data_BD  += ThreeBit;break;//70 -990
				case 164 : Data_MXI += TwoBit;break;// 5-19A
				case 165 : Data_WKT += OneBit;break; //1--5
				case 166 : Data_ACT += ThreeBit;break;//60--990
				case 167 : Data_DCT += ThreeBit;break; //60-990
				case 168 : Data_HKP += ThreeBit;break; //5--400
				case 169 : Data_LKP += ThreeBit;break; //5--400
				case 170 : Data_KP  += ThreeBit;break;//5--400
				case 171 : Data_KI  += FourBit;break;//100-3000
				case 172 : Data_PDW  += TwoBit;break; //1-40
				case 173 : Data_QSK += ThreeBit;break;//30 -999
			    case 174 : Data_QSP += ThreeBit;break; //50 -500
				case 175 : Data_HV  += OneBit;break;//ON OFF
			  };
			   
			    
			   
			}
		   if(LEDPP == 0){ LEDPP = 1 ;} 
						
		}
}
		  
/************************************************************************
*******	 function name :void KeyUp_P_()
*******
*******
*******
*************************************************************************/
void KeyUp_P_(unsigned TwoBit)
{
		if(CEP1D >= 1&&CEbegin== 0 &&CEend == 0)
			{
			 		
			KeyUp39(TwoBit);
			Uart_En = 1;	
			
			}
}
/************************************************************************
*******	 function name :void KeyDown_P_()
*******
*******
*******
*************************************************************************/

void StmemoryZearo()
{
	StMemoryA = 0;
	StMemoryB = 0;
	StMemoryC = 0;
	StMemoryD = 0;

}
/*-------------------READKEY---------------------*/
NB2s()
	{ 
	long int ss2 = 40000;
		KBB1 = 0;
	while(KBA1 == 0)
		{
		 ss2--;
		 if(ss2 == 0)
		 {
		 SaveEn = 1;
		 KBB1 = 1;
		 return;
		 }
		}
	
	}
void READKEY (void)
{
	static bit PEaup,PEadown,PEbup,PEbdown,PEcup,PEcdown,PEdup,PEddown;
	static bit PEFF, PEok, PEPP, PElamp, PEWW, PEbegin, PEend, PEcut,PEauto,PEP1D;
	unsigned long  Delay2s = 0;
	 			
		if((PEaup==0)&&(SWkey==CDaup))		//A UP
		{	
		   // Buz();
			if(CEPP == 39&&CEPP_Sign >= 1)
			{
			 CEPP_39_++;
			 
			}

			if(CEbegin == 1)
			{
			Data_SBA++;	
	//		if(Data_SBA>15)	{	Data_SBA=0;	}
			Uart_En = 1;//enable Uartt();
			}
			if(CEWW == 1)
			{
			
			 Data_WWWC+=10;
			 
			 Uart_En = 1;//enable Uartt();
			}

⌨️ 快捷键说明

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