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

📄 host_interrupt_funtion.h

📁 主从式总线型SIO系统(多机双向通信)
💻 H
字号:

int Count=0;	   //外中断0计数 P3.2脚
int Count2=0;	   //外中断1计数 P3.3脚

bit Intval1=0;	   //中断值
bit Int_pro1=0;	   //中断号
bit SendTo1=0;	   //发送位
bit ReceiveFrom1=0;	 //接收位

bit Int_pro2=0;
bit Intval2=0;
bit SendTo2=0;
bit ReceiveFrom2=0;

bit Int_pro3=0;
bit Intval3=0;
bit SendTo3=0;
bit ReceiveFrom3=0;

void Interrupt0(void) interrupt 0 using 1	//外中断0处理
{
     Count++;

	 if(Count==1)
	 {
	  Intval1=1;
	  Int_pro1=1;
	  SendTo1=0;
	  ReceiveFrom1=1;

	  Intval2=0;
	  Int_pro2=0;
	  Intval3=0;
	  Int_pro3=0;
	 }
	 if(Count==2)
	 {
	  Intval1=0;
	  Int_pro1=0;

	  Intval2=1;
	  Int_pro2=1;
	  SendTo2=0;
	  ReceiveFrom2=1;

	  Intval3=0;
	  Int_pro3=0;
	 }
	 if(Count==3)
	 {
	  Count=0;

	  Intval1=0;
	  Int_pro1=0;

	  Intval2=0;
	  Int_pro2=0;

	  Intval3=1;
	  Int_pro3=1;
	  SendTo3=0;
	  ReceiveFrom3=1;
	 } 
}
void Interrupt2(void) interrupt 2 using 3  //外中断1处理
{
   
	Count2++;
	if(Count2==1)
	 {
	  SendTo1=1;
	  ReceiveFrom1=0; 
	  Intval1=1;
	  Int_pro1=1;

	  Intval2=0;
	  Int_pro2=0;

	  Intval3=0;
	  Int_pro3=0;
	 }
	 if(Count2==2)
	 {
 	   Intval1=0;
	   Int_pro1=0;

	   SendTo2=1;
	   ReceiveFrom2=0;
	   Intval2=1;
	   Int_pro2=1;

	   Intval3=0;
	   Int_pro3=0;
	 }
	 if(Count2==3)
	 {
	   Count2=0;

 	   Intval1=0;
	   Int_pro1=0;

	   Intval2=0;
	   Int_pro2=0;

	   SendTo3=1;
	   ReceiveFrom3=0;
	   Intval3=1;
	   Int_pro3=1;
	 } 
}
//*********串口中断函数
void Interrupt4(void) interrupt 4 using 2
{
	EA=0;
	if(TI)
	{
		TI=0;
	}
	if(RI)
	{
		RI=0;
		switch(SBUF)
		{
		 case Address_Respond1 :       Serial1=1; break;	//如果接收到从机1发送的地址响应码
		 case Command_Respond1 :       Serial1=2; break;	  //如果接收到从机命令的响应码
		 case Data_Command_Respond1 :  Serial1=3; break;	//如果接收到从机结果送主机的命令响应
		 case Data_Receive_Respone1 :  Serial1=4; break;

		 case Address_Respond2 :       Serial2=1; break;
		 case Command_Respond2 :       Serial2=2; break;
		 case Data_Command_Respond2 :  Serial2=3; break;
		 case Data_Receive_Respone2 :  Serial2=4; break;

 		 case Address_Respond3 :       Serial3=1; break;
		 case Command_Respond3 :       Serial3=2; break;
		 case Data_Command_Respond3 :  Serial3=3; break;
		 case Data_Receive_Respone3 :  Serial3=4; break;

		 default : break;
		}
	}
	
	EA=1;
}

⌨️ 快捷键说明

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