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

📄 wuxian_rx.c

📁 #include <stc12c2052AD.H>// 标准库的头文件 #include <intrins.h> #include <absacc.h> #d
💻 C
字号:
#include <stc12c2052AD.H>// 标准库的头文件
#include <intrins.h>
#include <absacc.h>
#define uchar unsigned char 
#define uint unsigned int 
//#define fosc	8		// 晶振频率 
#define xianshi 500    // 超时定义
sbit baojing=P1^4;
unsigned char time;

////////////////////////////////
void sen(unsigned char dd)    
    {
	TI=0;
    SBUF=dd;
	while(!TI)   
	   {};
	TI=0;
	}

void delay(uint t)
{
	uchar i;
while(t--)
      {	for (i=200;i>0;i--);
              {}}
}
/*void int_t0(void) interrupt 1 
   {
   time++;
   }*/
uchar jingdi(void)

{
uchar i,temp;
temp=1;

for(i=3;i>0;i--) 
		 {   
baojing=0;
delay(500);
baojing=1;
delay(100);
           }
return temp;
  }
void main()
 {   
 
	uchar j,k,q,i;
	uchar shuju[1];
    TL1=0x40;
	TH1=0x40;
TL0=0xff;
TH0=0x00;
	TMOD=0x21;
	SCON=0x50;   // 串口工作方式1,允许接收
	PCON = 0x00;
    ET0=1;
    TR0=1;
	EA=1;
	REN=1;
	TR1=1;
   TI = 0; //发送中断标志位置零
   RI = 0; //接收中断标志位置零 
   baojing=0;
   delay(100);
baojing=1;

while(1)
	     {
 start:  
     
 //if(time>xianshi)   //
		//{
		// time=0;
		// jingdi();  //
		//sen(0x99);
		// goto start;//
		//} 
		//else{      //
		RI = 0;
           if(j==5||q==5)
		       {j=0;
			   q=0;
			   jingdi();
			   sen(0x88);
			   goto start;
			   }
		   else{
                for(k=5;k>0;k--)
		    	delay(100);
   for(i=0;i<2;i++)
		{RI = 0;
		if(RI==1){
	                   sen(0x02);
			            shuju[0]=SBUF;
                      	delay(200);
                        //sen(shuju[0]);
		            if ((i==0)&&(shuju[0]==0x09))
					      {
					        j=0;
						    time=0;//
						    q=0;
							for(k=5;k>0;k--)
							delay(100);
							sen(SBUF);
					        goto start;
							}
			    	else{
				           j++;
                             // j=0;
						     // time=0;//
						     //
						    q=0;
				       goto start;
				        }			 //判断是否接收到数据如果是66继续报接收信号!如果接受不到开始记数超过一定时间报警!
	                  }
           else{
				        q++;
						j=0;
                 
                           for(k=2;k>0;k--)
							delay(500);
							sen(0x07);
				       goto start;
				      }		
             }//if2
		      } //if1
		 }//while(1)
				
  } //main

⌨️ 快捷键说明

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