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

📄 term3.c

📁 使用单片机C8051F330对无线发射接收模块进行配置与控制,使组件成为无线通讯中的终端,可与基站进行双向通讯
💻 C
📖 第 1 页 / 共 3 页
字号:
//数据侦头	
    j=j+'S';	
    CCF1=1;
    TDR='S';
    while(!STI);       
    STI=0;
	
    j=j+'J';
    CCF1=1;
    TDR='J';
    while(!STI);
    STI=0;

    j=j+'-';
    CCF1=1;
    TDR='-';
    while(!STI);
    STI=0;
	
	j=j+'T';
    CCF1=1;
    TDR='T';
    while(!STI);
    STI=0;
		
    j=j+'e';
    CCF1=1;	
    TDR='e';
    while(!STI);
    STI=0;
  
    j=j+'r';
    CCF1=1;
    TDR='r';
    while(!STI);
    STI=0;
	
    j=j+'m';
    CCF1=1;	
    TDR='m';
    while(!STI);
    STI=0;
	
    j=j+',';
    CCF1=1;
    TDR=',';	
    while(!STI);
    STI=0;
//--------------------*/
//反馈终端的地址--方案1
    m = ADDRESS /10000+48;
	n = ADDRESS %10000;
	j=j+m;
	CCF1=1;
	TDR=m;
	while(!STI);
	STI=0;

    m = n /1000+48;
	n = n %1000;
	j=j+m+48;
	CCF1=1;
	TDR=m;
	while(!STI);
	STI=0;

    m = n /100+48;
	n = n %100;
	j=j+m;
	CCF1=1;
	TDR=m;
	while(!STI);
	STI=0;

    m = n /10+48;
	n = n %10+48;
	j=j+m;
	CCF1=1;
	TDR=m;
	while(!STI);
	STI=0;

	j=j+n;
	CCF1=1;
	TDR=n;
	while(!STI);
	STI=0;

    j=j+',';
    CCF1=1;
    TDR=',';	
    while(!STI);
    STI=0;
//--------------------*/
/*反馈终端的地址--方案2
    j=j+ADDRESS;
    CCF1=1;
    TDR=m;	
    while(!STI);
    STI=0;

    j=j+ADDRESS>>8;
    CCF1=1;
    TDR=m>>8;	
    while(!STI);
    STI=0;

    j=j+',';
    CCF1=1;
    TDR=',';	
    while(!STI);
    STI=0;
//--------------------*/
//命令
    j=j+'1';
    CCF1=1;
    TDR='1';	
    while(!STI);
    STI=0;

    j=j+'E';
    CCF1=1;
    TDR='E';	
    while(!STI);
    STI=0;

    j=j+',';
    CCF1=1;
    TDR=',';	
    while(!STI);
    STI=0;
//--------------------*/
//发送年月日
   if ((riqi[5]>0x39) || (riqi[5]<0x30)) riqi[5]=5+0x30;
   if ((riqi[4]>0x31) || (riqi[4]<0x30)) riqi[4]=0+0x30;
   if ((riqi[3]>0x39) || (riqi[3]<0x30)) riqi[3]=2+0x30;
   if ((riqi[2]>0x31) || (riqi[2]<0x30)) riqi[2]=1+0x30;
   if ((riqi[1]>0x39) || (riqi[1]<0x30)) riqi[1]=5+0x30;
   if ((riqi[0]>0x33) || (riqi[0]<0x30)) riqi[0]=2+0x30;

   for (i=0;i<6;i++)               //send UTC time
   {
      j=j+riqi[i];
      CCF1=1;
      TDR=riqi[i]; 
      while(!STI);
      STI=0;		   
   }	
   	
   for (i=0;i<6;i++)               //send UTC time
   {
      j=j+UTCtime[i];
      CCF1=1;
      TDR=UTCtime[i]; 
      while(!STI);
      STI=0;		   
    }		 	
	
    j=j+',';
    CCF1=1;
    TDR=',';	
    while(!STI);
    STI=0;	
//--------------------*/
//发送纬度
    for (i=0;i<9;i++)	          //send Longitude
    {
      j=j+Longitude[i];
      CCF1=1;
      TDR=Longitude[i];
      while(!STI);
      STI=0;
    }
		 
    j=j+',';
    CCF1=1;
    TDR=',';	
    while(!STI);
    STI=0;	
//--------------------*/
//发送经度
    for (i=0;i<10;i++)          //send Latitude
    {
      j=j+Latitude[i];
      CCF1=1; 
      TDR=Latitude[i];
      while(!STI);
      STI=0;		   
    }
		 
    j=j+',';
    CCF1=1;	
    TDR=',';	
    while(!STI);
    STI=0;			 
//--------------------*/
//发送DGPS
    j=j+DGPS;
    CCF1=1;                   //snd DGPS
    TDR=DGPS;	
    while(!STI);
    STI=0;	

    j=j+',';
    CCF1=1;	
    TDR=',';	
    while(!STI);
    STI=0;
//--------------------*/
//发送接收卫星颗数
 for(i=0;i<2;i++)
{   
    j=j+weixing[i];
    CCF1=1;	
    TDR=weixing[i];	
    while(!STI);
    STI=0;
}
	
    j=j+',';
    CCF1=1;	
    TDR=',';	
    while(!STI);
    STI=0;

//--------------------*/
//发送信号强度
    for (i=0;i<4;i++)          //send HDOP
    {
      j=j+HDOP[i];
      CCF1=1;
      TDR=HDOP[i];
      while(!STI);
      STI=0;		   
    }
		 
    j=j+',';	
    CCF1=1;
    TDR=',';	
    while(!STI);
    STI=0;
//--------------------*/
//发送电池状态
    j=j+Batt_State+0x30;	
    CCF1=1;
    TDR=Batt_State+0x30;	
    while(!STI);
    STI=0;

    j=j+',';                 
    CCF1=1;
    TDR=',';	
    while(!STI);
    STI=0;       
//--------------------*/
//发送GPS天线状态 
    for (i=0;i<2;i++)          
    {
      j=j+GPS_Alarm[i];
      CCF1=1;
      TDR=GPS_Alarm[i];
      while(!STI);
      STI=0;
    }  
	 
    j=j+',';
    CCF1=1;
    TDR=',';
    while(!STI);
    STI=0;
		 
    CCF1=1;
    TDR='*';	
    while(!STI);
    STI=0; 	

    j=j%256;
	
    CK1=j/16;
    CK2=j%16;
    if (CK1>9) CK1=CK1+55;
    else CK1=CK1+48;

    CCF1=1;
    TDR=CK1;	
    while(!STI);
    STI=0; 
	
    if (CK2>9) CK2=CK2+55;
    else CK2=CK2+48;
	
    CCF1=1;
    TDR=CK2;	
    while(!STI);
    STI=0; 			

    CCF1=1; //SEND CR
    TDR=13;	
    while(!STI);
    STI=0; 	

    CCF1=1;//SEND LF
    TDR=10;	
    while(!STI);
    STI=0; 	

}

//-------------------------------------------------------*/

void Send_GPS1(void)
{
  unsigned char i;
  unsigned char CK1;
  unsigned char CK2;
  short int j=0,m,n;

    STI=0;
//--------------------
//数据侦头	
    j=j+'S';	
    CCF1=1;
    TDR='S';
    while(!STI);       
    STI=0;
	
    j=j+'J';
    CCF1=1;
    TDR='J';
    while(!STI);
    STI=0;

    j=j+'-';
    CCF1=1;
    TDR='-';
    while(!STI);
    STI=0;
	
	j=j+'N';
    CCF1=1;
    TDR='N';
    while(!STI);
    STI=0;
		
    j=j+'a';
    CCF1=1;	
    TDR='a';
    while(!STI);
    STI=0;
  
    j=j+'v';
    CCF1=1;
    TDR='v';
    while(!STI);
    STI=0;
	
    j=j+'i';
    CCF1=1;	
    TDR='i';
    while(!STI);
    STI=0;
	
    j=j+',';
    CCF1=1;
    TDR=',';	
    while(!STI);
    STI=0;
//--------------------*/
//反馈终端的地址--方案1
    m = ADDRESS /10000+48;
	n = ADDRESS %10000;
	j=j+m;
	CCF1=1;
	TDR=m;
	while(!STI);
	STI=0;

    m = n /1000+48;
	n = n %1000;
	j=j+m+48;
	CCF1=1;
	TDR=m;
	while(!STI);
	STI=0;

    m = n /100+48;
	n = n %100;
	j=j+m;
	CCF1=1;
	TDR=m;
	while(!STI);
	STI=0;

    m = n /10+48;
	n = n %10+48;
	j=j+m;
	CCF1=1;
	TDR=m;
	while(!STI);
	STI=0;

	j=j+n;
	CCF1=1;
	TDR=n;
	while(!STI);
	STI=0;

    j=j+',';
    CCF1=1;
    TDR=',';	
    while(!STI);
    STI=0;
//--------------------*/
/*反馈终端的地址--方案2
    j=j+ADDRESS;
    CCF1=1;
    TDR=m;	
    while(!STI);
    STI=0;

    j=j+ADDRESS>>8;
    CCF1=1;
    TDR=m>>8;	
    while(!STI);
    STI=0;

    j=j+',';
    CCF1=1;
    TDR=',';	
    while(!STI);
    STI=0;
//--------------------*/
//命令
    j=j+'1';
    CCF1=1;
    TDR='1';	
    while(!STI);
    STI=0;

    j=j+'E';
    CCF1=1;
    TDR='E';	
    while(!STI);
    STI=0;

    j=j+',';
    CCF1=1;
    TDR=',';	
    while(!STI);
    STI=0;
//--------------------*/
//发送年月日
   if ((riqi[5]>0x39) || (riqi[5]<0x30)) riqi[5]=5+0x30;
   if ((riqi[4]>0x31) || (riqi[4]<0x30)) riqi[4]=0+0x30;
   if ((riqi[3]>0x39) || (riqi[3]<0x30)) riqi[3]=2+0x30;
   if ((riqi[2]>0x31) || (riqi[2]<0x30)) riqi[2]=1+0x30;
   if ((riqi[1]>0x39) || (riqi[1]<0x30)) riqi[1]=5+0x30;
   if ((riqi[0]>0x33) || (riqi[0]<0x30)) riqi[0]=2+0x30;

   for (i=0;i<6;i++)               //send UTC time
   {
      j=j+riqi[i];
      CCF1=1;
      TDR=riqi[i]; 
      while(!STI);
      STI=0;		   
   }	
   	
   for (i=0;i<6;i++)               //send UTC time
   {
      j=j+UTCtime[i];
      CCF1=1;
      TDR=UTCtime[i]; 
      while(!STI);
      STI=0;		   
    }		 	
	
    j=j+',';
    CCF1=1;
    TDR=',';	
    while(!STI);
    STI=0;	
//--------------------*/
//发送纬度
    for (i=0;i<9;i++)	          //send Longitude
    {
      j=j+Longitude[i];
      CCF1=1;
      TDR=Longitude[i];
      while(!STI);
      STI=0;
    }
		 
    j=j+',';
    CCF1=1;
    TDR=',';	
    while(!STI);
    STI=0;	
//--------------------*/
//发送经度
    for (i=0;i<10;i++)          //send Latitude
    {
      j=j+Latitude[i];
      CCF1=1; 
      TDR=Latitude[i];
      while(!STI);
      STI=0;		   
    }
		 
    j=j+',';
    CCF1=1;	
    TDR=',';	
    while(!STI);
    STI=0;			 
//--------------------*/
//发送DGPS
    j=j+DGPS;
    CCF1=1;                   //snd DGPS
    TDR=DGPS;	
    while(!STI);
    STI=0;	

    j=j+',';
    CCF1=1;	
    TDR=',';	
    while(!STI);
    STI=0;
//--------------------*/
//发送接收卫星颗数
 for(i=0;i<2;i++)
{   
    j=j+weixing[i];
    CCF1=1;	
    TDR=weixing[i];	
    while(!STI);
    STI=0;
}
	
    j=j+',';
    CCF1=1;	
    TDR=',';	
    while(!STI);
    STI=0;

//--------------------*/
//发送信号强度
    for (i=0;i<4;i++)          //send HDOP
    {
      j=j+HDOP[i];
      CCF1=1;
      TDR=HDOP[i];
      while(!STI);
      STI=0;		   
    }
		 
    j=j+',';	
    CCF1=1;
    TDR=',';	
    while(!STI);
    STI=0;
//--------------------*/
//发送电池状态
    j=j+Batt_State+0x30;	
    CCF1=1;
    TDR=Batt_State+0x30;	
    while(!STI);
    STI=0;

    j=j+',';                 
    CCF1=1;
    TDR=',';	
    while(!STI);
    STI=0;       
//--------------------*/
//发送GPS天线状态 
    for (i=0;i<2;i++)          
    {
      j=j+GPS_Alarm[i];
      CCF1=1;
      TDR=GPS_Alarm[i];
      while(!STI);
      STI=0;
    }  
	 
    j=j+',';
    CCF1=1;
    TDR=',';
    while(!STI);
    STI=0;
		 
    CCF1=1;
    TDR='*';	
    while(!STI);
    STI=0; 	

⌨️ 快捷键说明

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