自己改的AT89S51单片机控制GSM模块(M22)发送短信程序,在Keil上编译没错,但还未试过烧入片内运行。。
来源:互联网 发布:linux停止mysql服务 编辑:程序博客网 时间:2024/05/17 12:24
自己改的AT89S51单片机控制GSM模块(M22)发送短信程序,在Keil上编译没错,但还未试过烧入片内运行。。
大家看看,这个程序可行否? 还有什么错误的地方?
希望搞过GSM的朋友多提点意见,让程序完善起来!
(偶弄GSM也一段时间啦,希望有兴趣的朋友加我QQ:30651279多多交流)
/***********************************************************
文件名称: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++;
}
}
- 自己改的AT89S51单片机控制GSM模块(M22)发送短信程序,在Keil上编译没错,但还未试过烧入片内运行。。
- 控制发送SMS信息的C51程序[GSM模块(M22)通过串口与单片机相连]
- 9C51单片机(特别是AT89S52)控制GSM模块TC35收发短信的程序
- 单片机控制GSM模块实现短信收发的软件设计
- GSM模块发送短信
- GSM模块之TC35I发送pdu短信--stc51单片机
- Benq M22模块控制与数据传输程序(待续)
- 单片机控制GSM模块(TC35I)电路设计
- GSM模块短信发送举例
- GSM模块发送短信的AT指令相关知识
- 做一个项目,需要使用单片机控制GSM模块收发短信
- 15.使用AT指令在GSM /GPRS模块上打接电话,收发短信 (原创)
- Wavecom gsm 模块发送中文短信
- STM32 GSM模块发送中文短信
- STM32 GSM模块发送中文短信
- GSM MODEN短信发送模块详解(短信的读取、发送过程和编码、解码过程)
- 用AT89S51单片机控制FM1602C液晶LCD的显示
- 自己写的51单片机控制无线模块RFM12B 发送数据的汇编程序,呵呵
- GSM模块使用文档(短信息部分)
- Emacs
- 编译easymule 1.1.5
- 将midas.dll编译到程序中,避免Midas.dll与程序一起发布
- 取出文件夹及其所有子文件夹中所有文件的方法
- 自己改的AT89S51单片机控制GSM模块(M22)发送短信程序,在Keil上编译没错,但还未试过烧入片内运行。。
- 控制发送SMS信息的C51程序[GSM模块(M22)通过串口与单片机相连]
- 详细分析:软件测试的14种类型
- Project Link Tips
- ( ) [ ]
- 转行还是继续
- Flash Builder 4 beta发布
- 在调试ASP.NET时,有时老发现页面一个按钮的单击事件重复执行的解决办法
- xtype 列表