/******************************************************************
** 晶 振 频 率:11.0592M 波特率:9600
*******************************************************************/
#include "reg52.h"
#define uint unsigned int
#define uchar unsigned char
#define buf_max 72//缓存长度72
unsigned char xdata rec_buf[buf_max];//接收缓存
uchar telnum[13]={0x22,0x31,0x35,0x39,0x35,0x31,0x38,0x32,0x39,0x38,0x33,0x39,0x22};
//**********函数定义**********//
void Ini_UART(void); //串口初始化
void Delay1(uint z);
void CMGF(void); //设置发送数据为TXET格式
void CMGS(void); //设置目的手机号码
void SEND(void); //发送字符串
void CMGD(void);
void CMGR(void);
void CNMI(void);
#include <string.h>
phone_number_1[11]={15951829839};
bit hand(unsigned char *a)
{
if(strstr(rec_buf,a)!=NULL)
return 1;
else
return 0;
}
void main(void)
{
Ini_UART(); //串口初始化
CMGF();
Delay1(3000);
//while(!hand("OK"));
CMGS();
Delay1(3000);
//while(!hand("OK"));
SEND();
Delay1(3000);
//while(!hand("OK"));
while(1);
/* while(1)
{
SBUF=0xff;
while(TI==0);
TI=0;
} */
}
void Ini_UART(void)
{
SCON=0x50; //UART方式1:8位UART; REN=1:允许接收
PCON=0x00; //SMOD=0:波特率不加倍
TMOD=0x20; //T1方式2,用于UART波特率
TH1=0xFD;
TL1=0xFD; //UART波特率设置:9600
TR1=1;
//---后加--- ok!
ES=1;
EA=1;
}
void Delay1(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void CMGF(void)
{
uchar code mode[10]= {0x41,0x54,0x2B,0x43,0x4D,0x47,0x46,0x3D,0x31,0x0D}; //AT+CMGF=1回车
uint i;
for(i=0;i<10;i++)
{
SBUF=mode[i];
while(TI==0);
TI=0;
}
}
void CMGS(void) //发送号码
{
uchar code mode[20]= {0x41,0x54,0x2B,0x43,0x4D,0x47,0x53,0x3D}; //AT+CMGS=
uint i,j;
for(i=0;i<8;i++)
{
SBUF=mode[i];
while(TI==0);
TI=0;
}
for(j=0;j<13;j++)
{
SBUF=telnum[j]; //号码
while(TI==0);
TI=0;
}
SBUF=0x0D;//回车
while(TI==0);
TI=0;
}
/*void CMGS(void) //发送号码
{
uchar code mode[20]= {0x41,0x54,0x2B,0x43,0x4D,0x47,0x53,0x3D}; //AT+CMGS=
uint i,j;
for(i=0;i<8;i++)
{
SBUF=mode[i];
while(TI==0);
TI=0;
}
SBUF=0x22;
while(TI==0);
TI=0;
switch(tmp_rev[2])
{
case 0x01:
for(j=0;j<11;j++)
{ SBUF=phone_number_1[j];
while(TI==0);
TI=0; }
break;
}
SBUF=0x22;
while(TI==0);
TI=0;
SBUF=0x0D;//回车
while(TI==0);
TI=0;
} */
void SEND(void) //发送内容
{
uchar code mode[10]={0x48,0x69,0x21,0x6E,0x69,0x68,0x61,0x6F,0x2E,0x1a}; //hi!nihao.
//uchar code mode[10]={'h','i','!','n','i','h','a','o','.',0x1a}; //hi!nihao.
//uchar code mode[]="123456";
uint i;
//for(i=0;i!='\n';i++)
for(i=0;i<10;i++)
{
SBUF=mode[i];
while(TI==0);
TI=0;
}
//SBUF=0x1a; //
//while(TI==0); //
//TI=0; //
}
void Serial() interrupt 4 //串口中断处理
{
unsigned char k=0;
ES=0; //关中断
//if(TI) //发送
//{
// TI=0;
//}
//else //接收,处理
if(RI) //接收,处理
{
RI=0;
}
ES=1; //开中断
}
GTM900短信发送函数实现
2星 需积分: 3 52 浏览量
2011-06-23
14:57:45
上传
评论 1
收藏 23KB RAR 举报
zkan51
- 粉丝: 0
- 资源: 4
最新资源
- juhua-p8YYy-v0e13a7b5(1).apk
- Neo4j资源:Neo4j.rb的性能测试相关程序
- 排序算法之堆排序算法:用C++语言实现堆排序算法
- 基于Springboot的房屋租赁系统(源代码+论文+说明文档+PPT)-计算机专业精品毕业设计和课程设计
- leidian.py
- 直接插入排序算法:C语言实现直接插入排序算法
- 基于Springboot的大学生就业招聘系统(源代码+论文+说明文档+PPT)-计算机专业精品毕业设计和课程设计
- 基于Vue的H5结婚请帖前端设计源码
- saxaxasxasx
- 基于SSM++jsp的实验室耗材管理系统(源代码+论文+说明文档+PPT)-计算机专业精品毕业设计和课程设计
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈