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

📄 callcheck.c

📁 基于盛群单片机HT46R24的来电显示系统
💻 C
📖 第 1 页 / 共 4 页
字号:
    			          write_data(0x20);
    			           write_com(0x89);
    			            write_data(0x20);
    			             write_data(0x20); 	  	       
    	  	      break;
    	}
   	if(s0==0)
    		{
    			for(i=0;i<5;i++)
    			 {
    			 	mydelay();
    			 	mydelay();
    			 	 if(s0==0)
    			 	 	key_flag=1;
    			 	 	 else
    			 	 	 	key_flag=2;
    			 	}     			     
    			 	if(key_flag==1)
    			 		switch(ud_flag%3)
    			 		{
    			 			case 0:clear();add();goto func;break;
    			 			case 1:clear();revise();goto func;break;
    			 			case 2:clear();del_bl();goto func;break;
    			 		}
    			 	}
    	  if(s3==0)
    	  	{
    	  		for(i=0;i<5;i++)
    	  		  mydelay();
    	  		 if(s3==0)
    	  		 	{key_flag=0;break;}
    	  	}
    	
    	}while(key_flag);
return key_flag;
		}
	
	void add()//添加黑名单add black list
	{
		unsigned key_flag,ud_flag,key_enter;
		
    write_com(0x80);//output from the 1th line
            for(i=0;i<10;i++)
             write_data(function_2[i]);//output data//添加黑名单
             
    write_com(0x98);//output from the 4th line
            for(i=0;i<4;i++)
             write_data(str_1[i]);//output data
    
    write_com(0x9e);//output from the 4th line
            for(i=0;i<4;i++)
             write_data(str_2[i]);//output data

    write_com(0x89);//output from the 3th line
            for(i=0;i<11;i++)
             write_data(bl_list[bl_count][i]);//output data
		while(s0==0);//prevent enter other function at once
		 while(s3==0);//prevent exit function at once
    key_flag=21;ud_flag=0;key_enter=0;
    do
    {
    	if(s1==0||s2==0)
       {
      	mydelay();
      	 if(s1==0)
      	  ud_flag++;
      	  if(s2==0)
      	   ud_flag--;
      	    }
     j=ud_flag%10;
     switch(j)
      {
      	case 0:bl_list[bl_count][key_enter]=0x30+j;
      		      write_com(0x89);
      		       for(i=0;i<11;i++)
      		        write_data(bl_list[bl_count][i]);
      		     break;
      	case 1:bl_list[bl_count][key_enter]=0x30+j;
      		      write_com(0x89);
      		       for(i=0;i<11;i++)
      		        write_data(bl_list[bl_count][i]);
      		     break;
      	case 2:bl_list[bl_count][key_enter]=0x30+j;
      		      write_com(0x89);
      		       for(i=0;i<11;i++)
      		        write_data(bl_list[bl_count][i]);
      		     break;
      	case 3:bl_list[bl_count][key_enter]=0x30+j;
      		      write_com(0x89);
      		       for(i=0;i<11;i++)
      		        write_data(bl_list[bl_count][i]);
      		     break;
      	case 4:bl_list[bl_count][key_enter]=0x30+j;
      		      write_com(0x89);
      		       for(i=0;i<11;i++)
      		        write_data(bl_list[bl_count][i]);
      		     break;
      	case 5:bl_list[bl_count][key_enter]=0x30+j;
      		      write_com(0x89);
      		       for(i=0;i<11;i++)
      		        write_data(bl_list[bl_count][i]);
      		     break;
      	case 6:bl_list[bl_count][key_enter]=0x30+j;
      		      write_com(0x89);
      		       for(i=0;i<11;i++)
      		        write_data(bl_list[bl_count][i]);
      		     break;
      	case 7:bl_list[bl_count][key_enter]=0x30+j;
      		      write_com(0x89);
      		       for(i=0;i<11;i++)
      		        write_data(bl_list[bl_count][i]);
      		     break;
      	case 8:bl_list[bl_count][key_enter]=0x30+j;
      		      write_com(0x89);
      		       for(i=0;i<11;i++)
      		        write_data(bl_list[bl_count][i]);
      		     break;
      	case 9:bl_list[bl_count][key_enter]=0x30+j;
      		      write_com(0x89);
      		       for(i=0;i<11;i++)
      		        write_data(bl_list[bl_count][i]);
      		     break;
     	   }
     	  
     	 if(s0==0)
       {
       	for(i=0;i<5;i++)
       	 {
      	   mydelay();
      	    if(s0==0)//if press for long time then save and exit
      	 	   {key_flag=0;bl_count++;bl_count=bl_count%2;break;}
      	 	   else//if press for short time then point to next
      	       {key_enter++;break;}
      	 	  }

      	  if(key_enter>=11)
      	   key_enter=0;
      	  }
      if(s3==0)
       {
      	mydelay();
      	 if(s3==0)
      	{key_flag=0;
      		for(i=0;i<11;i++)
      		 bl_list[bl_count][i]=0x30;
      		break;
      		}
       }

    }while(key_flag==21);
      
 }

	
	void revise()//修改黑名单revise black list
	{
    //unsigned key_flag,ud_flag,key_enter;
 
   write_com(0x80);//output from the 1th line
            for(i=0;i<7;i++)
             write_data(blacklist_1[i]);//output data//黑名单
             
   write_com(0x90);//output from the 2th line
            for(i=0;i<2;i++)
      	  	 write_data(str_4[i]);//arrow
              for(i=0;i<2;i++)
               write_data(blacklist_n1[i]);//output data
                for(i=0;i<11;i++)
                 write_data(bl_list[0][i]);//numbers
             
   write_com(0x89);//output from the 3th line
            for(i=0;i<2;i++)
             write_data(blacklist_n2[i]);//output data
              for(i=0;i<11;i++)
               write_data(bl_list[1][i]);//numbers
             
   write_com(0x98);//output from the 4th line
            for(i=0;i<4;i++)
             write_data(str_1[i]);//output data//确定
    
   write_com(0x9e);//output from the 4th line
            for(i=0;i<4;i++)
             write_data(str_2[i]);//output data//取消

         key_flag=21;ud_flag=0;key_enter=0;
     do
    {
    	if(s1==0||s2==0)
       {
      	mydelay();
      	 if(s1==0)
      	  ud_flag++;
      	  if(s2==0)
      	   ud_flag--;
      	  }
      //bl_count=ud_flag%10;//显示十个
      bl_count=ud_flag%2;//显示两个
     switch(bl_count)
      	  {case 0:write_com(0x88);//output from the 3th line
      	  	       write_data(0x20);write_data(0x20);
      	  	        write_com(0x90);//output from the 2th line
      	  	         for(i=0;i<2;i++)
      	  	          write_data(str_4[i]);//arrow
                       for(i=0;i<2;i++)
                        write_data(blacklist_n1[i]);//output data
                         for(i=0;i<11;i++)
                          write_data(bl_list[bl_count][i]);//numbers
                  write_com(0x89);//output from the 3th line
                   for(i=0;i<2;i++)
                    write_data(blacklist_n2[i]);//output data
                     for(i=0;i<11;i++)
                      write_data(bl_list[bl_count+1][i]);//numbers
                  break;
           case 1:write_com(0x90);//output from the 2th line
           	       write_data(0x20);write_data(0x20);
           	        for(i=0;i<2;i++)
                     write_data(blacklist_n1[i]);//output data
                      for(i=0;i<11;i++)
                       write_data(bl_list[bl_count-1][i]);//numbers
                  write_com(0x88);//output from the 3th line
      	  	       for(i=0;i<2;i++)
      	  	        write_data(str_4[i]);//arrow
      	  	         for(i=0;i<2;i++)
                      write_data(blacklist_n2[i]);//output data
                       for(i=0;i<11;i++)
                        write_data(bl_list[bl_count][i]);//numbers
      	        	break;
      	        	/*
      	   case 2:write_com(0x88);//output from the 3th line
      	  	       write_data(0x20);write_data(0x20);
      	  	        write_com(0x90);//output from the 2th line
      	  	         for(i=0;i<2;i++)
      	  	          write_data(str_4[i]);//arrow
                       for(i=0;i<2;i++)
                        write_data(blacklist_n3[i]);//output data
                         for(i=0;i<11;i++)
                          write_data(bl_list[bl_count][i]);//numbers
                  write_com(0x89);//output from the 3th line
                   for(i=0;i<2;i++)
                    write_data(blacklist_n4[i]);//output data
                     for(i=0;i<11;i++)
                      write_data(bl_list[bl_count+1][i]);//numbers
                  break;             
           case 3:write_com(0x90);//output from the 2th line
           	       write_data(0x20);write_data(0x20);
           	        for(i=0;i<2;i++)
                     write_data(blacklist_n3[i]);//output data
                      for(i=0;i<11;i++)
                       write_data(bl_list[bl_count-1][i]);//numbers
                  write_com(0x88);//output from the 3th line
      	  	       for(i=0;i<2;i++)
      	  	        write_data(str_4[i]);//arrow
      	  	         for(i=0;i<2;i++)
                      write_data(blacklist_n4[i]);//output data
                       for(i=0;i<11;i++)
                        write_data(bl_list[bl_count][i]);//numbers
      	        	break;
      	   case 4:write_com(0x88);//output from the 3th line
      	  	       write_data(0x20);write_data(0x20);
      	  	        write_com(0x90);//output from the 2th line
      	  	         for(i=0;i<2;i++)
      	  	          write_data(str_4[i]);//arrow
                       for(i=0;i<2;i++)
                        write_data(blacklist_n5[i]);//output data
                         for(i=0;i<11;i++)
                          write_data(bl_list[bl_count][i]);//numbers
                  write_com(0x89);//output from the 3th line
                   for(i=0;i<2;i++)
                    write_data(blacklist_n6[i]);//output data
                     for(i=0;i<11;i++)
                      write_data(bl_list[bl_count+1][i]);//numbers
                  break;             
           case 5:write_com(0x90);//output from the 2th line
           	       write_data(0x20);write_data(0x20);
           	        for(i=0;i<2;i++)
                     write_data(blacklist_n5[i]);//output data
                      for(i=0;i<11;i++)
                       write_data(bl_list[bl_count-1][i]);//numbers
                  write_com(0x88);//output from the 3th line
      	  	       for(i=0;i<2;i++)
      	  	        write_data(str_4[i]);//arrow
      	  	         for(i=0;i<2;i++)
                      write_data(blacklist_n6[i]);//output data
                       for(i=0;i<11;i++)
                        write_data(bl_list[bl_count][i]);//numbers
      	        	break;
      	   case 6:write_com(0x88);//output from the 3th line
      	  	       write_data(0x20);write_data(0x20);
      	  	        write_com(0x90);//output from the 2th line
      	  	         for(i=0;i<2;i++)
      	  	          write_data(str_4[i]);//arrow
                       for(i=0;i<2;i++)
                        write_data(blacklist_n7[i]);//output data
                         for(i=0;i<11;i++)
                          write_data(bl_list[bl_count][i]);//numbers
                  write_com(0x89);//output from the 3th line
                   for(i=0;i<2;i++)
                    write_data(blacklist_n8[i]);//output data
                     for(i=0;i<11;i++)
                      write_data(bl_list[bl_count+1][i]);//numbers
                  break;            
           case 7:write_com(0x90);//output from the 2th line
           	       write_data(0x20);write_data(0x20);
           	        for(i=0;i<2;i++)
                     write_data(blacklist_n7[i]);//output data
                      for(i=0;i<11;i++)
                       write_data(bl_list[bl_count-1][i]);//numbers
                  write_com(0x88);//output from the 3th line
      	  	       for(i=0;i<2;i++)
      	  	        write_data(str_4[i]);//arrow
      	  	         for(i=0;i<2;i++)
                      write_data(blacklist_n8[i]);//output data
                       for(i=0;i<11;i++)
                        write_data(bl_list[bl_count][i]);//numbers
      	        	break;
      	   case 8:write_com(0x88);//output from the 3th line
      	  	       write_data(0x20);write_data(0x20);
      	  	        write_com(0x90);//output from the 2th line
      	  	         for(i=0;i<2;i++)
      	  	          write_data(str_4[i]);//arrow
                       for(i=0;i<2;i++)
                        write_data(blacklist_n9[i]);//output data
                         for(i=0;i<11;i++)
                          write_data(bl_list[bl_count][i]);//numbers
                  write_com(0x89);//output from the 3th line
                   for(i=0;i<2;i++)
                    write_data(blacklist_n10[i]);//output data
                     for(i=0;i<11;i++)
                      write_data(bl_list[bl_count+1][i]);//numbers
                  break;             
           case 9:write_com(0x90);//output from the 2th line
           	       write_data(0x20);write_data(0x20);
           	        for(i=0;i<2;i++)
                     write_data(blacklist_n9[i]);//output data
                      for(i=0;i<11;i++)
                       write_data(bl_list[bl_count-1][i]);//numbers
                  write_com(0x88);//output from the 3th line

⌨️ 快捷键说明

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