发布时间 : 星期三 文章基于GSM的远程遥控开关插座一种短信控制远程遥控开关插座终稿 - 图文更新完毕开始阅读78b1a504de80d4d8d15a4fe2
陕西理工学院课程设计
附录2 样机程序
GSM_TC35i.c程序如下: #include
//--------初始化------------------- P2=0xff; init_serialcom(); delay_GSM(100); ATE0();
//Displaybyte(0X01); delay_GSM(100); TC35_MAX=0; ATE0();
//Displaybyte(0X02); delay_GSM(100);
第12页 共20页
陕西理工学院课程设计
ATE0();
delay_GSM(100);
for(i_TC35=0;i_TC35<=69;i_TC35++) {TC35_RE[i_TC35]=0;} i_TC35_RECE=0; TC35_MAX=0; ATE0(); while(1) {
RECEIVE_MESSAGE(); } }
GSM.h程序如下:
//---------------------------------------------- //本文件为存放子函数区域
//子函数功能为标准发送AT指令函数 //------------------------------------------------ #include
uchar TC35_CON,SMS_NUM,SMS_RECEIVE; uchar read_flag; uchar i_TC35_RECE; uchar i_receive, TC35_RE[80],
TC35_MAX, i_TC35;
///////需要改动的地方//////其他省份请自己百度下///////////////////////////////////////////// uchar code TC_MDSJ2[]={\ //目的手机地址, uchar code TC_ZXH2[]={\ //汉中移动本地中心号。 ////////其他地方不要乱动////////////////////////////////////////////////////////
uchar code TC_MDSJ1[]={\T+CMGS=\ //目的手机地址, uchar code TC_ZXH1[]={\T+CSCA=\ //本地中心号。 uchar code TC_FSNR[]={\ //发送短信内容。 uchar code TC_FSNR2[]={\ //发送短信内容。 uchar code TC_FSNR3[]={\ //发送短信内容。
第13页 共20页
陕西理工学院课程设计
uchar code TC_FSNR4[]={\ //发送短信内容。 uchar code TC_WLZT[]={\T+CREG?\
//网络状态查询
uchar code TC_MSXZ[]={\T+CMGF=1\ //发送模式选择。 uchar code TC_DQML[]={\T+CMGR=1\ //短信读取命令。 uchar code TC_SCML[]={\T+CMGD=1\ //短信删除命令。 uchar code TC_ATF[]={\T&F\ //格式化命令。 uchar code TC_ATE0[]={\void delay_GSM(uint i) {unsigned int i_delay,j_delay; for(i_delay=0;i_delay
void init_serialcom( void ) {
SCON = 0x50 ; //SCON: serail mode 1, 8-bit UART, enable ucvr //UART为模式1,8位数据,允许接收
TMOD |= 0x21 ; //TMOD: timer 1, mode 2, 8-bit reload //定时器1为模式2,8位自动重装 PCON |= 0x00 ; //SMOD=1;
TH1 = 0xFD ; //Baud:9600 fosc=\ IE |= 0x90 ; //Enable Serial Interrupt TR1 = 1 ; // timer 1 run TI=1; } //向串口发送一个字符 void send_uart( char a_s) { // TI= 0 ;
while (TI!=1){;} SBUF=a_s; TI= 0 ;
} //串口接收中断函数
void serial () interrupt 4 using 3 {
if (RI) { RI = 0 ; i_receive=SBUF;
TC35_RE[i_TC35_RECE++]=i_receive; // i_TC35_RECE++;
if(i_TC35_RECE>TC35_MAX)
{TC35_MAX=i_TC35_RECE;}
}
第14页 共20页
//清除回显命令
uchar code TC_SMS_1[]={\ //短信通知命令
陕西理工学院课程设计
}
void SMS_CONFIG() { uchar i;
for(i=0;i void ATE0() { uchar i; for(i=0;i void ATNAME() {//I AM OK uchar i; if(SMS_RECEIVE=='1') {for(i=0;i {for(i=0;i {for(i=0;i {for(i=0;i //写目的手机的 void AT_CMGS() {//AT+CMGS=13132061066 uchar i;