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

📄 tc35模块.c

📁 GSM开发板第三版资料
💻 C
字号:
#include<reg52.h>
#include<absacc.h>
#include<stdio.h>
#define uint unsigned int
#define uchar unsigned char
#define RST      0X01
#define CMGF     0X02
#define CMGD     0X03
#define CREG     0X04
#define CMGR     0X05
#define CMGS     0X06
#define CSCA     0X07
#define ATDAT    0X08
#define TC35RET  0X00
uchar i_tmp,j_tmp;
/*--------------------------/
        寄存器定义
---------------------------*/
uchar TC35_CON,ch;
uchar read_flag;

uchar i_TC35_RECE;

uchar i_receive,
      TC35_RE[80],
	  TC35_MAX,
	  i_TC35;

void delay(uint);
void init_serialcom( void );
void send_uart( unsigned char);
void ATNAME(void);
void AT_CMGS(void);
void AT_CSCA(void);
void AT_RST(void);
void AT_CREG(void);
void AT_CMGF(void);
void AT_CMGR(void);
void AT_CMGD(void);
/*--------------------------/	  
    延时函数定义        
/--------------------------*/ 

void main(void)
{P1=0XFF;
 P2=0XFF;
 P3=0Xff;
 P0=0X55;
// init_devices();
    init_serialcom(); //初始化串口 
 delay(100);
 
 P0=0XFF;
 TC35_MAX=0;
 AT_RST();
while(1)
{delay(100);

if(TC35_MAX>0)
{
if(TC35_CON==RST){
if((TC35_RE[7]=='O')&&(TC35_RE[8]=='K'))
{P0=(0XFF-0X01);TC35_CON=TC35RET;// delay(100);
AT_CMGF();}
else{P1=(0XFF-0X02);}

}
else if(TC35_CON==CMGF){
if((TC35_RE[12]=='O')&&(TC35_RE[13]=='K'))
{P0=(0XFF-0X02);TC35_CON=TC35RET; // delay(100);
AT_CREG();}
else{P1=(0XFF-0X02);}

}
else if(TC35_CON==CREG){
if(((TC35_RE[18]=='0')&&(TC35_RE[20]=='1'))||((TC35_RE[18]=='0')&&(TC35_RE[20]=='5')))
{P0=(0XFF-0X04);
 P1=0XFF;
 TC35_CON=TC35RET;AT_CMGD();}
else{P1=(0XFF-0X02);AT_CREG();}
}
else if(TC35_CON==CMGR){
if(TC35_MAX<=30){AT_CMGR();}
else //if((TC35_MAX==77)||(TC35_MAX==79))
{delay(100);
P0=(0XFF-0X08);
P1=0XFF;
if(TC35_RE[69]=='0')
{P2=(0XFF-0X01);P1=0XFF;TC35_CON=TC35RET;delay(100);AT_CMGD();}
else if(TC35_RE[69]=='1')
{P2=(0XFF-0X02);P1=0XFF;TC35_CON=TC35RET;delay(100);AT_CMGD();}
else if(TC35_RE[69]=='2')
{P2=(0XFF-0X04);P1=0XFF;TC35_CON=TC35RET;delay(100);AT_CMGD();}
else if(TC35_RE[69]=='3')
{P2=(0XFF-0X08);P1=0XFF;TC35_CON=TC35RET;delay(100);AT_CMGD();}
else if(TC35_RE[69]=='4')
{P2=(0XFF-0X10);P1=0XFF;TC35_CON=TC35RET;delay(100);AT_CMGD();}
else if(TC35_RE[69]=='5')
{P2=(0XFF-0X20);P1=0XFF;TC35_CON=TC35RET;delay(100);AT_CMGD();}
else if(TC35_RE[69]=='6')
{P2=(0XFF-0X40);P1=0XFF;TC35_CON=TC35RET;delay(100);AT_CMGD();}
else if(TC35_RE[69]=='7')
{P2=(0XFF-0X80);P1=0XFF;TC35_CON=TC35RET;delay(100);AT_CMGD();}
else{TC35_CON=TC35RET;AT_CMGR();}
}
}
else if(TC35_CON==CMGD){delay(100);
if((TC35_RE[12]=='O')&&(TC35_RE[13]=='K'))
{P0=(0XFF-0X10);P1=0XFF;delay(100);AT_CSCA();}
else{P1=(0XFF-0X02);}
}

//填写信息中心号
else if(TC35_CON==CSCA){delay(100);
if((TC35_RE[25]=='O')&&(TC35_RE[26]=='K'))
{P0=(0XFF-0X20);P1=0XFF;delay(100);AT_CMGS();}
else{P1=(0XFF-0X02);}
}
//填写发送内容
else if(TC35_CON==CMGS){delay(100);
if((TC35_RE[22]==0X3E)&&(TC35_RE[23]==0X20))
{P0=(0XFF-0X40);P1=0XFF;delay(100);ATNAME();}
else{P1=(0XFF-0X02);}
}
//发送完毕返回继续扫描接收
else if(TC35_CON==ATDAT){delay(100);
if((TC35_RE[0]=='+')||(TC35_RE[0]==0x1A))
{P0=(0XFF-0X80);P1=0XFF;delay(100);AT_CMGR();}
else{P1=(0XFF-0X02);}
}



//send_uart(TC35_MAX);
//复位接收组
for(i_TC35=0;i_TC35<=TC35_MAX;i_TC35++)
{TC35_RE[i_TC35]=0;}
i_TC35_RECE=0;
TC35_MAX=0;
}
}
}


⌨️ 快捷键说明

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