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

📄 wuxian_rx22.c

📁 #include <stc12c2052AD.H>// 标准库的头文件 #include <intrins.h> #include <absacc.h> #d
💻 C
字号:
//#include <stc12c2052AD.H>// 标准库的头文件
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char 
#define uint unsigned int 
bit           read_flag=0;
sbit baojing=P1^4;
unsigned char time;
void init_serialcomm(void)
{
    SCON  = 0x50;       //SCON: serail mode 1 8 UART enable ucvr 
    TMOD |= 0x20;       //TMOD: timer 1 mode 2 8 reload 
    PCON |= 0x00;     
    TH1   = 0x40;      
    IE   |= 0x90;       //Enable Serial Interrupt 
    TR1   = 1;          // timer 1 run 
    TI=1; 
    
}

//向串口发送一个字符 
void sen(unsigned char ch)  
{
    SBUF=ch;
    while(TI==0);
    TI=0;
}
void delay(uint t)
{
	uchar i;
while(t--)
      {	for (i=200;i>0;i--);
              {}}
}
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 serial () interrupt 4 using 3 
{
    if(RI)
    {
        unsigned char ch;
        RI = 0;
		TI=1;
   ch=SBUF;
sen(ch);
   
read_flag=1;
      }
read_flag=0;
}
*/

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

}//main


 
 
 
 

⌨️ 快捷键说明

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