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

📄 kena.c

📁 433.92m无线模块的接收到有效数据后
💻 C
📖 第 1 页 / 共 2 页
字号:
 else if(ky1==3){write_com(0x8e);write_data(0x01);}
}
//////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
void smene1k(unsigned char  sky1,unsigned char sky2)
{if(sky2==0)     {xianshi_s("  ",0x90);}
 else if(sky2==1){xianshi_s("  ",0x88);}
 else if(sky2==2){xianshi_s("  ",0x98);}
 if(sky1==0)     {write_com(0x90);write_data(0x01);}
 else if(sky1==1){write_com(0x88);write_data(0x01);}
 else if(sky1==2){write_com(0x98);write_data(0x01);}
}
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
void vis_mene_caz(void)
{write_com(0x01);
  delay(10);
  write_com(0x80);
  hzkdis("                ");
  write_com(0x80);
  hzkdis("请选择传感器:");
  write_com(0x90);
  hzkdis("一号    二号");
  write_com(0x88);
  hzkdis("三号    四号"); 
  write_com(0x92);
  write_data(0x01);
}
//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
void sezhi_quahganqi(unsigned char key1)
{ unsigned char sky1=0,sky2=0,sum1=0,sum2=0;
  write_com(0x01);
  delay(10);
  write_com(0x80);
  hzkdis("                ");
  write_com(0x80);
  if(key1==0x00)     {hzkdis("一号传感器:");xianshi_s1(seroh_10,seroh_11,0x00);
                                            xianshi_s1(seroh_12,seroh_13,0x01);
                                            xianshi_s1(seroh_14,seroh_15,0x02);}
  else if(key1==0x01){hzkdis("二号传感器:");xianshi_s1(seroh_20,seroh_21,0x00);
                                            xianshi_s1(seroh_22,seroh_23,0x01);
                                            xianshi_s1(seroh_24,seroh_25,0x02);}
  else if(key1==0x02){hzkdis("三号传感器:");xianshi_s1(seroh_30,seroh_31,0x00);
                                            xianshi_s1(seroh_32,seroh_33,0x01);
                                            xianshi_s1(seroh_34,seroh_35,0x02);}
  else if(key1==0x03){hzkdis("四号传感器:");xianshi_s1(seroh_40,seroh_41,0x00);
                                            xianshi_s1(seroh_42,seroh_43,0x01);
                                            xianshi_s1(seroh_44,seroh_45,0x02);}
  write_com(0x91);
  hzkdis("间隔时间");
  write_com(0x89);
  hzkdis("采样次数"); 
  write_com(0x99);
  hzkdis("输出倍率");
  write_com(0x90);
  write_data(0x01);
  while(1){
    while(1){  ken= key_sruty() ;
               if(ken!=0x00)break;} 
  sky2=sky1;ken_tiaoqi();
 if(ken==key_a)     {if(sky1==0x00)sky1=1;
                     else if(sky1==0x01)sky1=2; 
                     else if(sky1==0x02)sky1=0; 
                     smene1k(sky1,sky2); sum1=0;sum2=0;                  
                     }
 else if(ken==key_b){if(sky1==0x00)sky1=2;
                     else if(sky1==0x02)sky1=1; 
                     else if(sky1==0x01)sky1=0; 
                     smene1k(sky1,sky2);sum1=0;sum2=0; }
 else if(ken==key_c){if(sky1==0x00)sky1=2;
                     else if(sky1==0x02)sky1=1; 
                     else if(sky1==0x01)sky1=0;                   
                     smene1k(sky1,sky2); sum1=0;sum2=0; }
 else if(ken==key_d){if(sky1==0x00)sky1=1;
                     else if(sky1==0x01)sky1=2; 
                     else if(sky1==0x02)sky1=0; 
                     smene1k(sky1,sky2);sum1=0;sum2=0; }                   
 else if(ken==key_0){sum1=sum2;sum2=0;baochun(sum1,sum2,sky1,key1);xianshi_s1(sum1,sum2,sky1);}
 else if(ken==key_1){sum1=sum2;sum2=1;baochun(sum1,sum2,sky1,key1);xianshi_s1(sum1,sum2,sky1);}
 else if(ken==key_2){sum1=sum2;sum2=2;baochun(sum1,sum2,sky1,key1);xianshi_s1(sum1,sum2,sky1);}
 else if(ken==key_3){sum1=sum2;sum2=3;baochun(sum1,sum2,sky1,key1);xianshi_s1(sum1,sum2,sky1);}
 else if(ken==key_4){sum1=sum2;sum2=4;baochun(sum1,sum2,sky1,key1);xianshi_s1(sum1,sum2,sky1);}
 else if(ken==key_5){sum1=sum2;sum2=5;baochun(sum1,sum2,sky1,key1);xianshi_s1(sum1,sum2,sky1);}
 else if(ken==key_6){sum1=sum2;sum2=6;baochun(sum1,sum2,sky1,key1);xianshi_s1(sum1,sum2,sky1);}
 else if(ken==key_7){sum1=sum2;sum2=7;baochun(sum1,sum2,sky1,key1);xianshi_s1(sum1,sum2,sky1);}
 else if(ken==key_8){sum1=sum2;sum2=8;baochun(sum1,sum2,sky1,key1);xianshi_s1(sum1,sum2,sky1);}
 else if(ken==key_9){sum1=sum2;sum2=9;baochun(sum1,sum2,sky1,key1);xianshi_s1(sum1,sum2,sky1);}  
 else if(ken==key_f){cls_p();vis_mene_caz();break;}               
 else if(ken==key_e){cls_p();vis_mene_caz();break;}
  }
}
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
void mani_men_or(void)
{if(seroh_10!=0||seroh_11!=0||seroh_20!=0||seroh_21!=0||seroh_30!=0||seroh_31!=0||seroh_40!=0||seroh_41!=0)
      {mani_men_1();work1=0xaa;}
 else {mani_men();}
}
///////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
void mene_caz(void)
{ unsigned char data ky1,ky2;
  write_com(0x01);
  delay(10);
  write_com(0x80);
  hzkdis("                ");
  write_com(0x80);
  hzkdis("请选择传感器:");
  write_com(0x90);
  hzkdis("一号    二号");
  write_com(0x88);
  hzkdis("三号    四号"); 
  write_com(0x92);
  write_data(0x01);
  ky1=0x00;
 //write_com(0x98);
 //hzkdis("LM 3033 测试程序");
 while(1){
    while(1){  ken= key_sruty() ;
               if(ken!=0x00)break;} 
  ky2=ky1;ken_tiaoqi();
 if(ken==key_a)     {if(ky1==0x00)ky1=1;
                     else if(ky1==0x01)ky1=2; 
                     else if(ky1==0x02)ky1=3; 
                     else if(ky1==0x03)ky1=0; 
                     mene1k(ky1,ky2);                     
                     }
 else if(ken==key_b){if(ky1==0x00)ky1=3;
                     else if(ky1==0x01)ky1=0; 
                     else if(ky1==0x02)ky1=1; 
                     else if(ky1==0x03)ky1=2; 
                     mene1k(ky1,ky2); }
 else if(ken==key_c){if(ky1==0x00)ky1=1;
                     else if(ky1==0x01)ky1=0; 
                     else if(ky1==0x03)ky1=2; 
                     else if(ky1==0x02)ky1=3;
                     mene1k(ky1,ky2);  }
 else if(ken==key_d){if(ky1==0x00)ky1=1;
                     else if(ky1==0x01)ky1=0; 
                     else if(ky1==0x03)ky1=2; 
                     else if(ky1==0x02)ky1=3; 
                     mene1k(ky1,ky2); }
 else if(ken==key_e){cls_p();mani_men_or();break;}
 else if(ken==key_f){sezhi_quahganqi(ky1);ky1=0x00;}
 }
}

///////////////////////////////////////////////////////////////////////////
main ()
{unsigned char lp;
 P0M1=0x0f;		//P0.3~p0.0设置为仅为输入状态
 P0M2=0x00;
 P1M1=0x00;		//P1.7设置为仅为输入状态
 P1M2=0x00;
 P2M1=0x00;		//P0端口设置为准双向
 P2M2=0x00;
 delay(10);
 lcdint();
 delay(10);
 ceshi();
 delay(1000);
 cls_p();
 //xianshi("按键:",0x80);
 mani_men();
 ///////////////////////////////////////////////////////////////////////////////
 RTCCON=0x63;
 lp=TRIM;
 TRIM=lp|0x80;
 RTCH=0x07;
 RTCL=0xff;    //EWDRT=1;
 delay(100);   //EA=1;       //使能所有中断
 IEN0=0xc0;
 WDCON=0xe0;
//////////////////////////////////////////////////////////////////////////////////
 while(1){
    while(1){ if(RTC_Timer_Counter==0){RTC_Timer_Counter=0x01;RTC_Timer_sum1++;RTC_Timer_sum2++;RTC_Timer_sum3++;RTC_Timer_sum4++;}
              if(RTC_Timer_sum1>=(seroh_10*10+seroh_11)&&(seroh_10*10+seroh_11)>0){RTC_Timer_sum1=0;work2=0x01;break;}
              if(RTC_Timer_sum2>=(seroh_20*10+seroh_21)&&(seroh_20*10+seroh_21)>0){RTC_Timer_sum2=0;work2=0x02;break;}
              if(RTC_Timer_sum3>=(seroh_30*10+seroh_31)&&(seroh_30*10+seroh_31)>0){RTC_Timer_sum3=0;work2=0x03;break;}
              if(RTC_Timer_sum4>=(seroh_40*10+seroh_41)&&(seroh_40*10+seroh_41)>0){RTC_Timer_sum4=0;work2=0x04;break;}
              ken= key_sruty() ;
              if(ken!=0x00)break;} 
              if(work1!=0x55){xianshi_key(ken);ken_tiaoqi();}
////////////////////////////////////////////////////////////////////////////////////
              if(ken==key_e){mene_caz();}   
              if(work2==0x01){a_dzhuanhua_0();}
              else if(work2==0x02){a_dzhuanhua_1();}
              else if(work2==0x03){a_dzhuanhua_2();}
              else if(work2==0x04){a_dzhuanhua_3();}
              delay(6);
 }
}
/////////////////////////////////////////////////////////////////////////////////////
void a_dzhuanhua_0(void)
{uchar	result,i;
 unsigned long int sum_re=0;
 unsigned char ks_qyan;
 unsigned char beilv;
 ks_qyan=seroh_12*10+seroh_13;
 beilv  =seroh_14*10+seroh_15;
 if(ks_qyan==0)ks_qyan=1;
 if(beilv==0)beilv=1;
//----------------------------------------------------------------
for(i=0;i<ks_qyan;i++){
	                   ADINS=0x10;		//0000 0001, 选择channel
	                   ADMODA=0x10;		//0000 0001, 选择转换工作模式:单次转换模式
	                   ADMODB=0x00; 		//500Khz < ADC CLK < 3.3Mhz,,
//------------------------------------------------------------------
		               ADCON1=0x05;		//选择转换触发模式;并立即启动
	                   result=AD1DAT0;		//将AD转换获得的数据存入result
	                   sum_re+=result;
		               ADCON1&=0xF7;}		//清除中断完成标志
		result=sum_re/ks_qyan;
		sum_re=result;sum_re=sum_re*beilv;
		result=sum_re;              	
		write_com(0x87);
        zhuan_xianshi(result/0x10);
	    zhuan_xianshi(result&0x0f);  
	    result=sum_re>>8;
	    write_com(0x86);
	    zhuan_xianshi(result/0x10);
	    zhuan_xianshi(result&0x0f);  
        delay(50);
}
//////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////
void a_dzhuanhua_1(void)
{uchar	result,i;
 unsigned long int sum_re=0;
 unsigned char ks_qyan;
 unsigned char beilv;
 ks_qyan=seroh_22*10+seroh_23;
 beilv  =seroh_24*10+seroh_25;
 if(ks_qyan==0)ks_qyan=1;
 if(beilv==0)beilv=1;
 for(i=0;i<ks_qyan;i++){
//----------------------------------------------------------------
	   ADINS=0x20;		//0000 0001, 选择channel
	   ADMODA=0x10;		//0000 0001, 选择转换工作模式:单次转换模式
	   ADMODB=0x00; 		//500Khz < ADC CLK < 3.3Mhz,,
//------------------------------------------------------------------
		ADCON1=0x05;		//选择转换触发模式;并立即启动
		result=AD1DAT1;		//将AD转换获得的数据存入result
		sum_re+=result;
		ADCON1&=0xF7;}			//清除中断完成标志	
	    result=sum_re/ks_qyan;
		sum_re=result;sum_re=sum_re*beilv;
		result=sum_re;              	
		write_com(0x97);
        zhuan_xianshi(result/0x10);
	    zhuan_xianshi(result&0x0f);  
	    result=sum_re>>8;
	    write_com(0x96);
	    zhuan_xianshi(result/0x10);
	    zhuan_xianshi(result&0x0f);  
        delay(50);
}
///////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////
void a_dzhuanhua_2(void)
{uchar	result,i;
 unsigned long int sum_re=0;
 unsigned char ks_qyan;
 unsigned char beilv;
 ks_qyan=seroh_32*10+seroh_33;
 beilv  =seroh_34*10+seroh_35;
 if(ks_qyan==0)ks_qyan=1;
 if(beilv==0)beilv=1;
 for(i=0;i<ks_qyan;i++){
//----------------------------------------------------------------
	ADINS=0x40;		//0000 0001, 选择channel
	ADMODA=0x10;		//0000 0001, 选择转换工作模式:单次转换模式
	ADMODB=0x00; 		//500Khz < ADC CLK < 3.3Mhz,,
//------------------------------------------------------------------
		ADCON1=0x05;		//选择转换触发模式;并立即启动
		result=AD1DAT2;		//将AD转换获得的数据存入result
		sum_re+=result;
		ADCON1&=0xF7;}			//清除中断完成标志	
	    result=sum_re/ks_qyan;
		sum_re=result;sum_re=sum_re*beilv;
		result=sum_re;              	
		write_com(0x8f);
        zhuan_xianshi(result/0x10);
	    zhuan_xianshi(result&0x0f);  
	    result=sum_re>>8;
	    write_com(0x8e);
	    zhuan_xianshi(result/0x10);
	    zhuan_xianshi(result&0x0f);  
        delay(50);
}
///////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
void a_dzhuanhua_3(void)
{uchar	result,i;
 unsigned long int sum_re=0;
 unsigned char ks_qyan;
 unsigned char beilv;
 ks_qyan=seroh_42*10+seroh_43;
 beilv  =seroh_44*10+seroh_45;
 if(ks_qyan==0)ks_qyan=1;
 if(beilv==0)beilv=1;
 for(i=0;i<ks_qyan;i++){;
//----------------------------------------------------------------
	ADINS=0x80;		//0000 0001, 选择channel
	ADMODA=0x10;		//0000 0001, 选择转换工作模式:单次转换模式
	ADMODB=0x00; 		//500Khz < ADC CLK < 3.3Mhz,,
//------------------------------------------------------------------
		ADCON1=0x05;		//选择转换触发模式;并立即启动
		result=AD1DAT3;		//将AD转换获得的数据存入result
		sum_re+=result;
		ADCON1&=0xF7;}			//清除中断完成标志
		result=sum_re/ks_qyan;
		sum_re=result;sum_re=sum_re*beilv;
		result=sum_re;              	
		write_com(0x9f);
        zhuan_xianshi(result/0x10);
	    zhuan_xianshi(result&0x0f);  
	    result=sum_re>>8;
	    write_com(0x9e);
	    zhuan_xianshi(result/0x10);
	    zhuan_xianshi(result&0x0f);  
        delay(50);		
}
/////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////

⌨️ 快捷键说明

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