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

📄 师姐全部程序wsy.c

📁 cgnal c8051f020 4*6键盘 4*8 液晶显示 大容量存储
💻 C
📖 第 1 页 / 共 5 页
字号:
   delshijian_flag=0;
   bell4();
   display("                 ",0x98);
   ncs_fm;
}
/////删除设置的时间段///////////////////
delqxtime()
{ 
 uint i;
 uchar j;
 //display("                ",0x98);
 display("删设置的时间段  ",0x98);
 cs_fm;
 BANK0;
 if(!lvl)
 {P4|=0x07;}  
 point1=0x3730;
 for(i=0;i<32;i++)
 {
  for(j=0;j<10;j++) 
     { 
	  *point1=0x00;
	  point1++;
	  }   
  }
   ncs_fm;
   delqxtime_flag=0;
   //bell4();              //删除所有的时段响4声
   display("                 ",0x98);
   ncs_fm;
}

/////////////把键盘输入的时间段写到铁电存储器里面//////////
wr_qxtime()
{
 uchar i,j,k=0;
 cs_fm;
 BANK0; 
 point1=0x3730;
 for(i=0;i<32;i++)
 {if(*point1==0x00)
   {
      for(j=0;j<10;j++) 
      {*(point1++)=qx_time[j];
	    k+=1;
       } 
  }
  if(k==10)
     i=32;
  else 
    point1+=10; 
 }   
 ncs_fm;
 bell2();    //写时段响2声
}

//////////////把键盘输入的节假日写到铁电存储器里面////////
wr_holiday()
{
 uchar i,j,k;
 cs_fm;
 BANK0;
 if(!lvl)
 {P4|=0x07;}
 point1=0x36b0;
 for(i=0;i<60;i++)
 {if(*point1==0x00)
  {
   for(j=0;j<2;j++)
   {
    *point1=key_holiday[j];
    point1++;
	k+=1;
   }
  }
  if(k==2)
    i=60;
  else
   point1+=2; 
 }
 ncs_fm;
 bell2();
}

///////////删除设置的节假日//////////////////////////////////
del_holiday()
{
 uchar i,j;
 //display("                ",0x98);
 display("删所有的节假日  ",0x98);
 cs_fm;
 BANK0; 
 point1=0x36b0;
 for(j=0;j<60;j++)
 {
  for(i=0;i<2;i++)
  {
   if(!lvl)
   {P4|=0x07;}
   *(point1++)=0x00;
   }
  }
   ncs_fm;
   delcard_flag=0;
   quanxian_flag=0; //删除所有的节假日,响4声
   display("                ",0x98);
   ncs_fm;
}

/////用键盘输入要设置的时间段//////////////
qxtime_change()
{
 uchar keynumber1[10];
 if(keytimes1==0)
  {
	 display("请输入时段:     ",0x88);

   }
 if(keyon_flag1)
   {
   if((clrlcd_flag==0)&&(esc_flag==0)&&(chaxun_flag==0)&&(enter_flag==0))
    {
     if(keytimes1<=21)
      {
       switch(keytimes1)
        {
          case 0 :
                  keytimes1++;    //第一次为空操作,因为是时间按键产生的keyonflag
                  break ;
          case 1 :
				  num_disp(keynumber,0x8e);
                  qx_time[0]=keynumber*10 ;
                  keytimes1++;
				  keynumber1[0]=keynumber;
                  break ;
          case 2 :
                  num_disp(keynumber1[0],0x8e); 
				  num1_disp(keynumber); 
				  qx_time[0]=qx_time[0]+keynumber;
                  keytimes1++;
                  break ;
          case 3 :
                  num_disp(keynumber,0x8f);
				  qx_time[1]=keynumber*10 ;
                  keytimes1++;
				  keynumber1[1]=keynumber;
                  break ;
          case 4 :
                  num_disp(keynumber1[1],0x8f); 
				  num1_disp(keynumber); 
				  qx_time[1]=qx_time[1]+keynumber;
                  keytimes1++;
                  break ;
          case 5 :
                  num_disp(keynumber,0x98);
				  qx_time[2]=keynumber*10 ;
                  keytimes1++;
				  keynumber1[2]=keynumber;
                  break ;
          case 6 :
                  num_disp(keynumber1[2],0x98); 
				  num1_disp(keynumber); 
				  qx_time[2]=qx_time[2]+keynumber;
                  keytimes1++;
                  break ;
          case 7 :
                  num_disp(keynumber,0x99);
				  qx_time[3]=keynumber*10;
                  keytimes1++;
				  keynumber1[3]=keynumber;
                  break ;

          case 8 :
                  num_disp(keynumber1[3],0x99); 
				  num1_disp(keynumber); 
				  qx_time[3]=qx_time[3]+keynumber;
                  keytimes1++;
                  break ;
          case 9 :
                  num_disp(keynumber,0x9a);
				  qx_time[4]=keynumber*10 ;
                  keytimes1++;
				  keynumber1[4]=keynumber;
                  break ;
          case 10 :
                  num_disp(keynumber1[4],0x9a); 
				  num1_disp(keynumber); 
				  qx_time[4]=qx_time[4]+keynumber;
                  keytimes1++;
                  break ;
          case 11 :
                  num_disp(keynumber,0x9b);
				  qx_time[5]=keynumber*10 ;
                  keytimes1++;
				  keynumber1[5]=keynumber;
                  break ;
          case 12 :
                  num_disp(keynumber1[5],0x9b); 
				  num1_disp(keynumber); 
				  qx_time[5]=qx_time[5]+keynumber;
                  keytimes1++;
                  break ;
          case 13 :
                  num_disp(keynumber,0x9c);
				  qx_time[6]=keynumber*10 ;
                  keytimes1++;
				  keynumber1[6]=keynumber;
                  break ;
          case 14 :
                  num_disp(keynumber1[6],0x9c); 
				  num1_disp(keynumber); 
				  qx_time[6]=qx_time[6]+keynumber;
                  keytimes1++;
                  break ;
          case 15 :
		          num_disp(keynumber,0x9d);
                  qx_time[7]=keynumber*10 ;
                  keytimes1++;
				  keynumber1[7]=keynumber;
                  break ;
          case 16 :
                  num_disp(keynumber1[7],0x9d); 
				  num1_disp(keynumber); 
				  qx_time[7]=qx_time[7]+keynumber;
                  keytimes1++;
                  break ;
          case 17 :
                  num_disp(keynumber,0x9e);
				  qx_time[8]=keynumber*10 ;
                  keytimes1++;
				  keynumber1[8]=keynumber;
                  break ;
          case 18 :
                  num_disp(keynumber1[8],0x9e); 
				  num1_disp(keynumber); 
				  qx_time[8]=qx_time[8]+keynumber;
                  keytimes1++;
                  break ;
          case 19 :
                  num_disp(keynumber,0x9f);
				  qx_time[9]=keynumber*10 ;
                  keytimes1++;
				  keynumber1[9]=keynumber;
                  break ;
          case 20 :
                  num_disp(keynumber1[9],0x9f); 
				  num1_disp(keynumber); 
				  qx_time[9]=qx_time[9]+keynumber;
                  keytimes1++;
                  break ;
		  case 21 :
                  keytimes1++;
                  break ;
          default :
                  break ;
        } //end of swithc(keytimes1)
      } //end of if(keytimes1<=21)
    } //end of if((clrlcd_flag==0)&(callon_flag==0))
   if(clrlcd_flag)
    {
     if(keytimes1>=21)
      {
        num_disp(keynumber1[9],0x9f);
		num_disp2(" ");
		keytimes1=20 ;
        qx_time[9]&=0xf0;
       } //end of clrlcd_flag
      else
       {
         if(keytimes1<=1)
           {
             keytimes1=1 ;
            }
          else
            {
              switch(--keytimes1)
               {
                 case 19:
                         num_disp1(" ",0x9f);
						 qx_time[9]=0;
                         break;
                 case 18:
                         num_disp(keynumber1[8],0x9e);
						 num_disp2(" ");
						 qx_time[8]&=0xf0;
                         break;
				 case 17:
                         num_disp1(" ",0x9e);
						 qx_time[8]=0;
                         break;
                 case 16:
                         num_disp(keynumber1[7],0x9d);
						 num_disp2(" ");
						 qx_time[7]&=0xf0;
                         break;
				 case 15:
                         num_disp1(" ",0x9d);
						 qx_time[7]=0;
                         break;
                 case 14:
                         num_disp(keynumber1[6],0x9c);
						 num_disp2(" ");
						 qx_time[6]&=0xf0;
                         break;
				 case 13:
                         num_disp1(" ",0x9c);
						 qx_time[6]=0;
                         break;
                 case 12:
                         num_disp(keynumber1[5],0x9b);
						 num_disp2(" ");
						 qx_time[5]&=0xf0;
                         break;
				 case 11:
                         num_disp1(" ",0x9b);
						 qx_time[5]=0;
                         break;
                 case 10:
                         num_disp(keynumber1[4],0x9a);
						 num_disp2(" ");
						 qx_time[4]&=0xf0;
                         break;
				 case 9:
                         num_disp1(" ",0x9a);
						 qx_time[4]=0;
                         break;
                 case 8:
                         num_disp(keynumber1[3],0x99);
						 num_disp2(" ");
						 qx_time[3]&=0xf0;
                         break;
                 case 7:
                         num_disp1(" ",0x99);
						 qx_time[3]=0;
                         break;
                 case 6:
                         num_disp(keynumber1[2],0x98);
						 num_disp2(" ");
						 qx_time[2]&=0xf0;
                         break;
                 case 5:
                         num_disp1(" ",0x98);
						 qx_time[2]=0;
                         break;
                 case 4:
                         num_disp(keynumber1[1],0x8f);
						 num_disp2(" ");
						 qx_time[1]&=0xf0;
                         break;
                 case 3:
                         num_disp1(" ",0x8f);
						 qx_time[1]=0;
                         break;
                 case 2:
                         num_disp(keynumber1[0],0x8e);
						 num_disp2(" ");
						 qx_time[0]&=0xf0;
                         break;
                 case 1:
                         num_disp1(" ",0x8e);
						 qx_time[0]=0;
                         break;
                 default:
                         break;
               }
            }
       }
         keyon_flag1=0 ;
         keyon_flag=0 ;
         clrlcd_flag=0 ;
    }//end of if(clrlcd_flag)
   if(enter_flag==1)
    {
     keynumber=0 ;
     wr_qxtime();
     enter_flag=0 ;
     quanxian_flag=0 ;
	 qxtime_flag=0;
	 display("    时  分  秒  ",0x88);
	 display("                ",0x98);
     keytimes1=0 ;
    }
     keyon_flag=0 ;
     keyon_flag1=0 ;
  }//end of if(keyon_flag1)
   if(esc_flag)
    {
      quanxian_flag=0 ;
	  qxtime_flag=0;
      esc_flag=0 ;
	  display("    时  分  秒  ",0x88);
	  display("                ",0x98);
      keytimes1=0 ;
      keynumber=0 ;
    } //end of if(esc_flag)
}
//////用键盘输入时区权限和门类权限/////////////////////////
shiqu_change()
{
 uchar keynumber1[2];
 if(keytimes1==0)
  {
	 display("请输入权限门号:",0x88) ; 
	                                   //请输入
   }
 if(keyon_flag1)
     { 
      if((clrlcd_flag==0)&&(esc_flag==0)&&(chaxun_flag==0)&&(enter_flag==0))
       { 
          if(keytimes1<=5)
          {
            switch(keytimes1)
            {
             case 0 :
             keytimes1++;    //第一次为空操作,因为是编程按键产生的keyonflag
             break ;
             case 1 :
			 num_disp(keynumber,0x9c);
             key_shiqu[0]=keynumber<<4;
             keytimes1++;
			 keynumber1[0]=keynumber;
             break ;
             case 2 :
             num_disp(keynumber1[0],0x9c); 
		     num1_disp(keynumber); 
             key_shiqu[0]=key_shiqu[0]+keynumber;
             keytimes1++;
             break ;
             case 3 :
             num_disp(keynumber,0x9d);
             key_shiqu[1]=keynumber<<4 ;
			 keynumber1[1]=keynumber;
             keytimes1++;
             break ;
             case 4 :
			 num_disp(keynumber1[1],0x9d); 
		     num1_disp(keynumber); 
             key_shiqu[1]=key_shiqu[1]+keynumber;
             keytimes1++;
             break ;
			 case 5 :
             keytimes1++;
             default:
			 break;
			} //end  switch(keytimes1)
          }//end (keytimes1<=5)
         }//if((clrlcd_flag==0)&(esc_flag==0)&(chaxun_flag==0)&(enter_flag==0))
      if(clrlcd_flag)
       {
       if(keytimes1>=5)
        {
         num_disp(keynumber1[2],0x9d);
		 num_disp2(" ");
		 keytimes1=4 ;
         key_shiqu[1]&=0xf0;
        }  
       else
        {
         if(keytimes1<=1)
          {
           keytimes1=1 ;
          }
         else
          {
           switch(--keytimes1)
            {
             case 3:
                  num_disp1(" ",0x9d);
				  key_shiqu[1]=0;
                  break;
             case 2:
                  num_disp(keynumber1[0],0x9c);
				  num_disp2(" ");
				  key_shiqu[0]&=0xf0;
                  break;
             case 1:
                  num_disp1(" ",0x9c);
				  key_shiqu[0]=0;
                  break;                             
             default:
                  break;
            }//end of switch(keytime2)
          } //end of else
        }//end of else
        keyon_flag1=0 ;
        keyon_flag=0 ;
        clrlcd_flag=0 ;
       }//end of if(clrlcd_flag)
      if(enter_flag==1)
       {
        keynumber=0 ;			
        enter_flag=0 ;
        quanxian_flag=0 ;
		shiqu_flag=0;
        display("    时  分  秒  ",0x88);
	    display("                ",0x98);
        keytimes1=0 ;
		}
        keyon_flag=0 ;
        keyon_flag1=0 ; 
		/*BELL_IO=0;
		Timer0_ms(200);
        BELL_IO=1;*/
       }//end of if(keyon_flag1)
      if(esc_flag)
       {
        quanxian_flag=0 ;
		shiqu_flag=0;
        esc_flag=0 ;
		display("    时  分  秒  ",0x88);
	    display("                ",0x98);
        keytimes1=0 ;
        keynumber=0 ;
       }
}

///////////////用键盘输入一年内的节假日/////////////////////
holiday_change()
{
 uchar keynumber1[2];
 if(keytimes1==0)
  {
	 display("请输入节假日:  ",0x88) ; 
	                                   //请输入
   }
 if(keyon_flag1)
     { 
      if((clrlcd_flag==0)&&(esc_flag==0)&&(chaxun_flag==0)&&(enter_flag==0))
       { 
          if(keytimes1<=5)
          {
            switch(keytimes1)
            {
             case 0 :
             keytimes1++;    //第一次为空操作,因为是编程按键产生的keyonflag
             break ;
             case 1 :
			 num_disp(keynumber,0x9c);
             key_holiday[0]=keynumber*10;
             keytimes1++;
			 keynumber1[0]=keynumber;
             break ;
             case 2 :
             num_disp(keynumber1[0],0x9c); 
		     num1_disp(keynumber);
             key_holiday[0]=key_holiday[0]+keynumber;
             keytimes1++;
             break ;
             case 3 :

⌨️ 快捷键说明

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