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

📄 interrupt service.c

📁 数控系统的模拟系统,用SSTC51仿真单片机,仿真数控机床切割,能执行数控机床代码.
💻 C
字号:








/*void service_t0(void) interrupt TF0_VECTOR using 2
	{

    TH0=(65536-ir_time)/256;
	TL0=(65536-ir_time)%256;
    ir_signtime++;
	if (ir_signtime>250) 
	{
		  ir_signtime=0; 
	         TR0=0;
	        ir_start_flag=0;
	        ir_rpt1=ir_rpt2=0;
	       ir_data[2]=ir_data[3]=0xff;	 //清除数据.
	    } 
    //如果接收到单次的触发脉冲,如干扰或红外信号的结束,关闭定时器,并把红外引导标记清除,把连发标记也清除
	}

void service_ex0(void)  interrupt IE0_VECTOR using 3
	
	{
	EA=0 ; //中断关闭
   TH0=(65536-ir_time)/256;
	TL0=(65536-ir_time)%256;

 if(!ir_start_flag&&ir_signtime>20)         //如果没收到引导脉冲,进行引导脉冲CHECK.
     {
	  ir_sign_count=0;         //脉冲记数
	  ir_start_flag=1;         //ir_start_flag 引导信号标记。
     }

  if(ir_start_flag)
    {
        if(ir_signtime>0&&ir_signtime<10) //符合真正数据的脉冲
	     {
		  
		  ir_temp>>=1; 
		  
		  if(ir_signtime>3)	  ir_temp|=0x80; //如果时间>3是1
         
		  ir_sign_count++;        //红外脉冲+1
		  
	     switch (ir_sign_count) 
		  {
                  case 8:
		  ir_data[0]=ir_temp;             //设备码 if((WORD)(D_Key &  D_SystemCodeMask) == (WORD)D_SystemCode) //System code pass
		  break;
		  case 16:
        ir_data[1]=ir_temp;
		  break;
		  case  24:
		  ir_data[2]=ir_temp;             //数据码
		  break;
		  case  32:
 		  ir_data[3]=ir_temp;

		   if (ir_data[0]==~ir_data[1]&&ir_data[2]==~ir_data[3])
		   {
		  ir_flag=1;                       //有键按下.
		  SBUF=ir_data[2];
		  P0=ir_data[2];
	     while(!TI){;}
	     TI=0;
		SBUF=ir_data[2];
	     while(!TI){;}
	     TI=0; 
   }
		
		
		  break;
		     }  
        
  		  }
  		  
  		if(ir_signtime>0X40) 
			{   
		                if (ir_rpt1>10)
			         {            
			                     ir_rpt2++;
						if(ir_rpt2==2)
							{  ir_rpt2=0;
						       ir_flag=1;}

				  }       
				 else ir_rpt1++ ;  

		        }  //连发码的处理:接收到连发码,淹死20个码,然后每5个码发送一次键按下信号
	}
          ir_signtime=0;     //计数器归0

    	  EA=1;
	      TR0=1;   //开始计时
}                                                     */           

⌨️ 快捷键说明

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