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

📄 gpio.c

📁 属于麻醉机的一个程序
💻 C
📖 第 1 页 / 共 5 页
字号:
       case /*0x0008*/175:yndx--;show_yndxx(yndx);break;//减
       case /*0x0020*/238:
                          {
                          color_alarm=color_temp;
                          show_yndxx(yndx);
                          status=0;
                          color_temp=color_word;
	                      color_word=255;
                          show_yndjc();
                          color_word=color_temp;
	   					  break;}//确定
	   default:break;
      }  
     }
   }  
}
void change_tqls()
{   color_temp=color_alarm;
    color_alarm=255;
    show_tqlsx(tqls);
    while(status)
   { get_key();
     while(key_sign)
     {
      while(key_sign)
      {
      realse_key();
      delay(50000);
      }
      switch(key_number1)
      {
       
       case /*0x0004*/231:tqls++;show_tqlsx(tqls);break;//加
       case /*0x0008*/175:tqls--;show_tqlsx(tqls);break;//减
       case /*0x0020*/238:
                            {
                            color_alarm=color_temp;
                            show_tqlsx(tqls);
                            status=0;
                            color_temp=color_word;
	                        color_word=255;
                         	show_tqljc();
                         	color_word=color_temp;
	                        break;}//确定
	   default:break;
      }  
     }
   }  
}
void change_tqlx()
{   color_temp=color_alarm;
    color_alarm=255;
    show_tqlxx(tqlx);
    while(status)
   { get_key();
     while(key_sign)
     {
      while(key_sign)
      {
      realse_key();
      delay(50000);
      }
      switch(key_number1)
      {
       
       case /*0x0004*/231:tqlx++;show_tqlxx(tqlx);break;//加
       case /*0x0008*/175:tqlx--;show_tqlxx(tqlx);break;//减
       case /*0x0020*/238:
                          {
                          color_alarm=color_temp;
                          show_tqlxx(tqlx);
                          status=0;
                          color_temp=color_word;
	                      color_word=255;
                          show_tqljc();
                          color_word=color_temp;
	                      break;}//确定
	   default:break;
      }  
     }
   }  
}
void change_molde()
{   
    show_gzms(n1);
    while(status)
   { get_key();
     while(key_sign)
     {
      while(key_sign)
      {
      realse_key();
      delay(50000);
      }
      switch(key_number1)
      {
       
       case /*0x0004*/231:up1()/*n1++*/;break;//加
       case /*0x0008*/175:down1()/*n1--*/;break;//减
       case /*0x0020*/238:
       {
          switch(n1)
          {
            case 0:manual();
                   status=0; 
                   clear(397,397,527,479);
                   show_mscz(n1);
                   break;//手动
            case 1:	ippv();
                   	status=0;
            		clear(397,397,527,479);
            		show_mscz(n1);
            		break;//机控
            case 2:	if(TongBu==0)
            		{
            		 TongBu=1;
            		}
            		else TongBu=0;
            		clear(397,397,527,479);
            		show_mscz(n1);
           			status=0;
            		break;//同步
            case 3:
                    wait();
                    status=0;
                    clear(397,397,527,479);
                    show_mscz(n1);
                    break;//待机
            /*case 4:
                    status=0;
                    clear(397,397,527,479);
                    show_mscz(n1);
                    break;//返回*/
            default:break;
          }                     
       }
       default:break;
       //确定
      }  
     }
   } 
   show_msxz();
   color_temp=color_word;
   color_word=255;
   show_plsz();
   color_word=color_temp; 
}

interrupt void cpu_timer0_isr(void)
{     zdw1++;
   if(zdw1==900){zdw1=0;}
   while(AdcRegs.ADC_ST_FLAG.bit.SEQ1_BSY==0)//当SEQ1处于空闲状态时
		{			

			AdcRegs.ADCTRL2.bit.SOC_SEQ1=1;// 启动数摸转换器 
           // aa2=1;
		}
   //IFR=0x0000; 
    PieCtrl.PIEIFR1.all = 0;
	PieCtrl.PIEACK.all=PIEACK_GROUP1;
    //xueliang++;
   
   /*if(Waiting==0)
   {
   //AD();
   //PieCtrl.PIEACK.all=PIEACK_GROUP1;
   }*/
}
interrupt void cpu_timer2_isr(void)
{ zdw++;
if(zdw==900){zdw=0;}//jindu1++;show_jd();}
//xueliang=0;
/////////////////////////////////////////////////////////////////////机控

//////////////////////////////////////////////////////////////////////
  if(jikong==1)
  {if(ii==0)
  {   kai1++;
     while(TongBu)
     {if(press>=xiqiya)
      {kai1=kai;}
     }
  if(kai1==kai)
  {
   GpioDataRegs.GPADAT.bit.GPIOA3=0;
   GpioDataRegs.GPADAT.bit.GPIOA4=1;
   Flux1=(int)(flux/cishu);
   ii=1;jj=0;kai1=0;flux=0;cishu=0;Tanci++;}
  }
  
   if(jj==0)
  {   guan1++;
   if(guan1==guan)
   {GpioDataRegs.GPADAT.bit.GPIOA3=1;
    GpioDataRegs.GPADAT.bit.GPIOA4=0;
    ii=0;jj=1;guan1=0;
    if(Tanbz==1)
   {kai=kai/2;guan=guan/2;Tanbz=0;}
   }
  } 
   
    while(ring)
  {
  if((press>yls)||(press<ylx))
  {void shortring();} 
  if((oxsg>ynds)||(oxsg<yndx))
  {void shortring();} 
  if((Flux1>tqls)||(Flux1<tqlx))
  {void shortring();}
  } 
  if(tan_qi==1)
  {
     if(Tanci==99)
     {Tanci=0;Tanbz=1;kai+=kai;guan+=guan;}
  }
  if(Tanci>99)
  {Tanci=0;}
  }
////////////////////////////////////////////////////////////////手动
  if(shoudong==1)
  {
    GpioDataRegs.GPADAT.bit.GPIOA3=0;
    if(press>=xiqiya)
         {
          GpioDataRegs.GPADAT.bit.GPIOA4=1;
          
         }
    else 
    {
      GpioDataRegs.GPADAT.bit.GPIOA4=0;
      Flux1=(int)flux/cishu;
      cishu=0;
     }
  
  }
  //if(Wait==1)
  //{
   //Wait=1;
  //}
//////////////////////////////////////////////////////////校准
if(jiaozhun12==1)
{
if(jiaozhun11==1)
{
   jindu++;
   if(jindu==900)
   {
    jindu=0;
    jindu1++;
    show_jd();
   }
   if(jindu1==20)
   {
   jindu1=0;
   jiaozhun11=3;
   show_yd2();
         if((oxsg>19)&&(oxsg<22))
         {result1=1;}
          else result1=0;
   }
}
if(jiaozhun11==2)
{
     jindu++;
   if(jindu==900)
   {
    jindu=0;
    jindu1++;
    show_jd();
   }
   if(jindu1==20)
   {
      jindu1=0;
      jiaozhun12=0;
      jiaozhun11=4;
      if(oxsg>98)
      {
        result2=1;
      }
      else result2=0;
      if((result1+result2)==2)
      {
         result=1;
      }
      else result=0;
      show_result();
      
   }
}
}
if(jiaozhun22==1)
{
if(jiaozhun21==1)
{
   jindu++;
   if(jindu==900)
   {
    jindu=0;
    jindu1++;
    show_jd();
   }
   if(jindu1==20)
   {
   jindu1=0;
   jiaozhun21=3;
   show_er2();
         if((Flux1>47)&&(Flux1<53))
        {
        result1=1;
        }
          else result1=0;
   }
}
if(jiaozhun21==2)
{
     jindu++;
   if(jindu==900)
   {
    jindu=0;
    jindu1++;
    show_jd();
   }
   if(jindu1==20)
   {
      jindu1=0;
      jiaozhun22=0;
      jiaozhun21=4;
      if((Flux1>195)&&(Flux1<205))
        {
        result2=1;
        }
      else result2=0;
      if((result1+result2)==2)
      {
         result=1;
      }
      else result=0;
      show_result();
      
   }
}
}
if(jiaozhun32==1)
{
if(jiaozhun31==1)
{
   jindu++;
   if(jindu==900)
   {
    jindu=0;
    jindu1++;
    show_jd();
   }
   if(jindu1==20)
   {
   jindu1=0;
   jiaozhun31=3;
   show_cr2();
         if((Flux1>195)&&(Flux1<205))
        {
        result1=1;
        }
          else result1=0;
   }
}
if(jiaozhun31==2)
{
     jindu++;
   if(jindu==900)
   {
    jindu=0;
    jindu1++;
    show_jd();
   }
   if(jindu1==20)
   {
      jindu1=0;
      jiaozhun32=0;
      jiaozhun31=4;
      if((Flux1>790)&&(Flux1<810))
        {
        result2=1;
        }
      else result2=0;
      if((result1+result2)==2)
      {
         result=1;
      }
      else result=0;
      show_result();
      
   }
}
}
 /*if(jiaozhun==1) 
{  
   if(cishu>3)
   {
    Flux1=(int)(flux/cishu);
    cishu=0;
    flux=0;
   }
  
  if(jiaozhun11==1)
  {
   while(complete1==0)
   {
   jindu++;
   //显示氧气浓度和进度条
   if(jindu==900)
   {
    jindu=0;
    jindu1++;
    //writenum(592-8*jindu1,456,16,jincheng);//进度格加一 
    show_jd();
   }
   if(jindu1==20)
   {
      complete1=1;//
      jindu1=0;
      show_yd2();
      if((oxsg>19)&&(oxsg<22))
      {result1=1;}
      else result1=0;
      //show_result();
   }
   }
  }
  if(jiaozhun12==1)
  {
   while(complete1==1)
   {
   jindu++;//显示氧气浓度和进度条
   if(jindu==900)
   {
    jindu=0;
    jindu1++;
    show_jd();//进度格加一 
   }
   if(jindu1==20)
   {
      complete2=1;//
      jindu1=0;
      if(oxsg>98)
      {
        result2=1;
      }
      else result2=0;
      //完成第二步校准
   }
   }
  }*/
  /*if(jiaozhun21==1)
  {
   while(complete1==0)
   {
   jindu++;//显示小孩儿校准50ml和进度条
   if(jindu==90)
   {
    jindu=0;
    jindu1++;
    show_jd();//进度格加一 
   }
   if(jindu1==20)
   {
       complete1=1;//
       jindu1=0;
       show_er2();
        if((Flux1>47)&&(Flux1<53))
        {
        result1=1;
        }
        else result1=0;
        //完成第一步校准
   }
   }
  }
  if(jiaozhun22==1)
  {
   while(complete1==1)
   {
   jindu++;//显示小孩儿校准200ml和进度条
   if(jindu==90)
   {
    jindu=0;
    jindu1++;
     show_jd();//进度格加一 
   }
   if(jindu1==20)
   {
        complete2=1;//
        jindu1=0;
        if((Flux1>195)&&(Flux1<205))
        {
        result2=1;
        }
        else result2=1;//完成第二步校准
   }
   }
  }
  if(jiaozhun31==1)
  {
   while(complete1==0)
   {
   jindu++;//显示成人200ml和进度条
   if(jindu==90)
   {
    jindu=0;
    jindu1++;
     show_jd();//进度格加一 
   }
   if(jindu1==20)
   {
    complete1=1;//
    jindu1=0;
    show_cr2();
    if((Flux1>195)&&(Flux1<205))
        {
        result1=1;
        }
        else result1=0;//完成第一步校准
   }
   }
  }
  if(jiaozhun32==1)
  {
   while(complete1==1)
   {
   jindu++;//显示成人800ml和进度条
   if(jindu==90)
   {
    jindu=0;
    jindu1++;
     show_jd();//进度格加一 
   }
   if(jindu1==20)
   {
    complete2=1;//
    jindu1=0;
    if((Flux1>790)&&(Flux1<810))
        {
        result2=1;
        }
        else result2=0;//完成第二步校准
   }
   }
  }*/
 
}
void set_frequency()
{
zhouqi=6000/pinlv;
}
void set_huxi()
{
switch(huxibi)
{
  case 1:{
          kai=zhouqi*0.2;
          guan=zhouqi*0.8;
          kai1=0;
          guan1=0;
          break;
          }
  case 2:{
          kai=zhouqi*0.25;
          guan=zhouqi*0.75;
          kai1=0;
          guan1=0;
          break;
          }
  case 3:{
          kai=zhouqi*0.33333;
          guan=zhouqi*0.66667;
          kai1=0;
          guan1=0;
          break;
          }
  case 4:{
          kai=zhouqi*0.4;
          guan=zhouqi*0.6;
          kai1=0;
          guan1=0;
          break;
          }
  case 5:{
  			kai=zhouqi*0.5;
  			guan=zhouqi*0.5;
  			kai1=0;
            guan1=0;
  			break;
  		  }
  
  case 6:{
           kai=zhouqi*0.6;
           guan=zhouqi*0.4;
           kai1=0;
           guan1=0;
           break;
          }
  case 7:{
          kai=zhouqi*0.66667;
          guan=zhouqi*0.33333;
          kai1=0;
          guan1=0;
          break;
          }
  case 8:{
          kai=zhouqi*0.75;
          guan=zhouqi*0.25;
          kai1=0;
          guan1=0;
          break;
          }
  case 9:{
          kai=zhouqi*0.8;
          guan=zhouqi*0.2;
          kai1=0;
          guan1=0;
          break;}
} 
}
void tanqi()
{
if(tan_qi==0)
{tan_qi=1;}
else tan_qi=0;
show_tq(tan_qi);
}
void set_man()
{ man=1;

⌨️ 快捷键说明

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