控制发送SMS信息的C51程序[GSM模块(M22)通过串口与单片机相连]

/***********************************************************
文件名称:main.c
作         者:xiaoyi46       QQ:30651279
说         明:控制发送SMS信息的C51程序[GSM模块(M22)通过串口与单片机相连]
**********************************************************
*/

#include  
<reg51.h>
#define   uint   unsigned   int
#define   uchar   unsigned   char

//**********函数定义**********//
void   main(void);   //主函数
void   Ini_UART(void);   //串口初始化
void   Delay(void);   //延时
void   CMGF(void);   //设置发送数据为TXET格式
void   CMGS(void);   //设置目的手机号码
void   SEND(void);   //发送字符串


/***********************************************************
函数名称:main
函数功能:主函数                                 入口参数:无         出口参数:无
**********************************************************
*/
void   main(void)
{
        Ini_UART();  
//串口初始化

        CMGF();    
//设置发送数据为TXET格式
        Delay();

        CMGS();    
//设置目的手机号码
        Delay();

        SEND();
        Delay();
}


/***********************************************************
函数名称:Ini_UART
函数功能:串口初始化设置                 入口参数:无         出口参数:无
**********************************************************
*/
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;
}


/***********************************************************
函数名称:Delay1ms
函数功能:延时                                   入口参数:无           出口参数:无
**********************************************************
*/
void   Delay(void)
{     
       
uint   i,j;

       
for   (i=0;   i <10;   i++)
        {
           
for(j=0;   j <1000;   j++);
        }
}


/***********************************************************
函数名称:CMGF
函数功能:设置发送数据为TXET格式       入口参数:无     出口参数:无
**********************************************************
*/
void   CMGF(void)
{
    uchar   i  
=   0;
    uchar   code   mode[]
= "AT+CMGF=1/r ";     //   /r即   <CR>   回车

   
while(   mode[i]   !=   '/0 ');
        {
            SBUF  
=   mode[i];
           
while(TI   ==   0);
            TI  
=   0;
            i
++;
        }
}


/***********************************************************
函数名称:CMGS
函数功能:设置目的SIM卡号码                 入口参数:无     出口参数:无
**********************************************************
*/
void   CMGS(void)
{
    uchar   i  
=   0;
    uchar   code   phone[]
= "AT+CMGS=/ "13821947411/ "/r ";     //   / "即“

   
while(   phone[i]   !=   '/0 '); 
        {
            SBUF  
=   phone[i]; 
           
while(TI   ==   0);
            TI  
=   0;
            i
++;
        }       
}


/***********************************************************
函数名称:SEND
函数功能:将GPS数据送入SBUF                 入口参数:无     出口参数:无
**********************************************************
*/
void   SEND(void)
{
    uchar   i  
=   0;
    uchar   code   sms[]  
=   "Hello/x01a ";//sms为欲发送的字符串数组,/x01a即Ctrl+Z

   
while(   sms[i]   !=   '/0 ');
        {
            SBUF  
=   sms[i];
           
while(TI   ==   0);
            TI  
=   0;
            i
++
        }
}

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值