| 
      
 
	  电路见下图只需设计一个TTL转RS232电平电路,连接到MCU的UART口,另一端直接连接到TC35。 
	 2、指令输出的方法
	  单片机串口设置成模式1(9600,N,8,1),依次将AT+xxx以ASCII码形式输出到UART口;接收TC35的数据采用中断方式。这里给出详细的程序清单(Keil C51),不介绍编程的方法。程序见下: 
	  //AT指令的定义 
	  char code AT_Tc35[]=“AT+”; //连机 
	  char code Bps_Tc35[]=“IPR=38400”; //波特率 
	  char code Text_Tc35[]=“CMGF=1”; //文本模式 
	  char code Read_Tc35[]=“CMGR=”; //读信息 
	  char code Erase_Tc35[]=“CMGD=”; //删除信息 
	  char code Send_Tc35[]=“CMGS=”; //发送信息 
	  char code Creg_Tc35[]=“CREG?”; //注册 
	  //模式设置 
	  void UART_Init(void) 
	  { 
	  SCON=0x50; //01010000b=》1模式scon,#11011000b; 
	  ES=l; 
	  } 
	  //发送-个ASCII 
	  void SendASC(unsigned char ASC) 
	  { 
	  bit es; 
	  es=ES; 
	  ES=0;//关闭中断 
	  TI=0; 
	  SBUF=ASC; 
	  while(!TI); 
	  TI=0; 
	  ES=es; 
	  ) 
	  //发送命令到TC35 
	  void SendToTc35(unsigned char* p,unsigned char Long) 
	  { 
	  while(Long--) 
	  { 
	  SendASC(*p++); 
	  } 
	  } 
	  // 通讯中断接收程序 
	  void Rs485_Do(void) interrupt 4 using 1 
	  { 
	  if(RI==l) 
	  { 
	  RI=0; 
	  RsBuq[RsPoint++]=SBUF; 
	  if fRsPoint》=sizeof(RsBuf)) 
	  { 
	  RsPoint=0;//FlagRs485=0; 
	  } //数据处理 
	  } 
	  } 
	  // 发送AT连机命令 
	  char code AT_Code[]=“OK”; 
	  void Send_AT(void) 
	  { 
	  unsigned char *p; 
	  while(1) 
	  { 
	  ClrRsBuf(RsBuf,sizeof(RsBuf)); 
	  SendToTc35(AT_Tc35,2); //“AT” 
	  SendASC(OVER); 
	  //************等待应答“ok“ 
	  ES=1; //必须中断 
	  Delay(50); 
	  P=strstr(RsBuf,AT_Code); 
	  if(p!=NULL) break; 
	  } 
	  )  | 
    

