我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 479|回复: 8

GSM发送短信

[复制链接]

该用户从未签到

3

主题

3

回帖

0

积分

一级逆天

积分
0

终身成就奖

QQ
发表于 2017-3-5 15:26:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
/************************************************************
程序说明:
本程序运行后如果gprs模块找到服务商信号,就拨打指定电话。
1.将自己的51单片机的串口1连接到GSM 232上
2.找到程序中前面的#define处,根据说明修改好自己的单片机配置,编译程序
2.下载程序
3.等待发送成功


*************************************************************/
#include <stc15.h>

#define uchar unsigned char
#define uint unsigned int
//以下是板子上LED的配置,把Px_x改成自己对应的脚。
//以下是你的51单片机的晶振大小
#define FOSC_110592M
//#define FOSC_12M

//以下是开机后发送到手机的内容,发送的号码在程序中修改。

uchar sms_text[] = "6709964C751F4EBA95EF516560A85BB64E2DFF0C8BF780547F5167E5770B5B9E65F65F5550CF786E8BA4007E";//"There is a stranger!please take care and check your monitor uint at home.";
uchar busy=1;
   
//注意,无论接收到信号还是发送完信号,都会进中断服务程序的
/*初始化程序(必须使用,否则无法收发),次程序将会使用定时器1*/
void SerialInti()//初始化程序(必须使用,否则无法收发)
{    AUXR=0x11;
//    TMOD=0x20;//定时器1操作模式2:8位自动重载定时器
#ifdef FOSC_12M           //在这里根据晶振大小设置不同的数值初始化串口
    T2H=0xf3;//装入初值,波特率2400
    T2L=0xf3;   
#else     
    T2H=0xff;//装入初值,波特率9600
    T2L=0xd8;
#endif //end of SOC_12M
    S2CON=0x10;   
//    T2R=1;//打开定时器
//    S2SM0=0;//设置串行通讯工作模式,(10为一部发送,波特率可变,由T2定时器2的溢出率控制)
    //SM1=1;//(同上)在此模式下,定时器溢出一次就发送一个位的数据
//    REN=1;//串行接收允许位(要先设置sm0sm1再开串行允许)
    EA=1;//开总中断
    //ES2=1;//开串行口中断   
    IE2=0x01;
}

/*串行通讯中断,收发完成将进入该中断*/
void Serial_interrupt_2() interrupt 8
{
//    a=SBUF;
    P2=S2BUF;
    S2CON&=0xFE;//接收中断信号清零,表示将继续接收.S2RI=0;
//    flag=1;//进入中断的标志符号
}


void Uart1Send(uchar c)
{
    S2BUF=c;
    while(busy)
        {
         if((S2CON&0x02)==0)
         busy=1;
         else  
         busy=0;
        }
    busy=1;
    S2CON&=0xFD;//    S2TI=0;   
}

//串行口连续发送char型数组,遇到终止号/0将停止
void Uart1Sends(uchar *str)
{
    while(*str!='\0')
    {
        S2BUF=*str;
        while(busy)
        {
         if((S2CON&0x02)==0)
         busy=1;
         else  
         busy=0;
        }
        busy=1;
        ;//等待发送完成信号(TI=1)出现
        S2CON&=0xFD;//    S2TI=0;   
        str++;
    }
}

//延时函数大概是1s钟,不过延时大的话不准...
void DelaySec(int sec)
{
    uint i , j= 0;

    for(i=0; i<sec; i++)
    {
        for(j=0; j<65535; j++)
        {   
        }
    }
}



void main()
{
    uchar i = 0,j=2;
    SerialInti();
    while(j--)
    {
        Uart1Sends("AT+CMGF=1\r\n");                 //00310035003800360035003300310036003700310038
        DelaySec(3);//延时3秒
        Uart1Sends("AT+CSMP=17,167,2,25\r\n");         //00310035003800360033003100360036003200310032
        DelaySec(3);//延时3秒
        Uart1Sends("AT+CSCS=\"UCS2\"\r\n");
        DelaySec(3);//延时3秒
        Uart1Sends("AT+CMGS=\"00310035003800360033003100360036003200310032\"\r\n");//此处修改为对方的电话号
        DelaySec(5);//延时3秒
        Uart1Sends(sms_text);//修改短信内容
        Uart1Send(0x1a);
        DelaySec(15);//延时20秒

    }


}
回复

使用道具 举报

该用户从未签到

1

主题

454

回帖

10

积分

二级逆天

积分
10

社区居民终身成就奖

QQ
发表于 2017-3-6 00:23:48 | 显示全部楼层
回复

使用道具 举报

该用户从未签到

632

主题

6399

回帖

209

积分

三级逆天

-

积分
209

忠实会员社区居民社区劳模原创达人最爱沙发终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖金点子奖

QQ
发表于 2017-3-6 08:38:53 | 显示全部楼层
谢谢分享,其实就是串口通信。
-
回复

使用道具 举报

该用户从未签到

35

主题

7586

回帖

1212

积分

二级逆天

积分
1212

社区居民忠实会员社区劳模原创达人最爱沙发终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

QQ
发表于 2017-3-6 08:56:00 | 显示全部楼层
回复

使用道具 举报

我不是王 该用户已被删除
发表于 2017-3-6 08:56:36 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

该用户从未签到

13

主题

2908

回帖

100

积分

二级逆天

积分
100

社区居民忠实会员终身成就奖优秀斑竹奖

QQ
发表于 2017-3-6 08:58:58 | 显示全部楼层
回复

使用道具 举报

该用户从未签到

886

主题

902

回帖

1423

积分

二级逆天

积分
1423

社区居民忠实会员社区劳模原创达人终身成就奖金点子奖

QQ
发表于 2017-3-6 09:17:42 | 显示全部楼层
回复

使用道具 举报

该用户从未签到

20

主题

2875

回帖

3960

积分

二级逆天

积分
3960

社区居民忠实会员社区劳模最爱沙发终身成就奖优秀斑竹奖

QQ
发表于 2017-3-6 10:36:35 | 显示全部楼层
回复

使用道具 举报

该用户从未签到

0

主题

16

回帖

0

积分

一级逆天

积分
0

终身成就奖

QQ
发表于 2017-3-6 13:21:40 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

每日签到,有金币领取。


Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

( 闽ICP备2024076463号-1 ) 论坛技术支持QQ群171867948 ,论坛问题,充值问题请联系QQ1308068381

平平安安
TOP
快速回复 返回顶部 返回列表