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

📄 wuxian_rx2.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 250     // 超时定义
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(300);
baojing=1;
delay(100);
           }
return temp;
  }
void main()
 {   
 
	uchar j;
	uchar shuju[1];
    TL1=0xfa;
	TH1=0xfa;
	TL0=0xff;
	TH0=0x00;
	TMOD=0x21;
	SCON=0x50;   // 串口工作方式1,允许接收
	PCON = 0x80;
    ET0=1;
    TR0=1;
	EA=1;
	REN=1;
	TR1=1;
   TI = 0; //发送中断标志位置零
   RI = 0; //接收中断标志位置零 
   baojing=0;
   delay(100);
baojing=1;

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

⌨️ 快捷键说明

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