• 大小: 291KB
    文件类型: .zip
    金币: 2
    下载: 0 次
    发布日期: 2024-01-28
  • 语言: 其他
  • 标签: GPRS  

资源简介

1.按下KEY1键可以发送一条TEXT英文短信,短信发送成功后就会点亮相应的LED。 2.按键和LED对应的端口,请参考程序。

资源截图

代码片段和文件信息

/**************************************************************
         果云科技  GA6  模块      

51 单片机例程       

KEY1 : 发送TEXT模式的短信     

本例程使用11.0592MHZ时钟---->必须为11.0592M

串口设置为:96008n1.

技术支持: 杜工

******************************************/
#include 
#include “string.h“
#include “GA6_module_errors.h“


typedef  unsigned char u8;
typedef  unsigned int u16;
typedef  unsigned long u32;


/************* 本地常量声明 **************/

#define Buf_Max      70  //串口1缓存长度
#define STABLE_TIMES   10 //等待上电后稳定,再进行自适应波特率     

/************* 本地变量声明 **************/

//串口1发送回车换行
#define UART1_SendLR() UART1_SendData(0X0D);UART1_SendData(0X0A)

/*LED端口定义*/

sbit LED0 = P1^0;
sbit LED1 = P1^1;
sbit LED2 = P1^2;
sbit LED3 = P1^3;
sbit LED4 = P1^4;
sbit LED5 = P1^5;
sbit LED6 = P1^6;
sbit LED7 = P1^7;

/*KEY端口定义*/

sbit KEY0 = P2^4;
sbit KEY1 = P2^5;
sbit KEY2 = P2^6;
sbit KEY3 = P2^7;

/*************  本地变量声明 **************/
xdata u8 Uart1_Buf[Buf_Max];
u8 First_Int = 0;

static u8  *phone_num = “AT+CMGS=\“15815522222\““; //拨打电话,修改这里可以修改拨打的电话。

u16 count_20ms;

/************* 本地函数声明 **************/
void delay_ms(u16 ms);   //延时ms个20ms  ms*20ms
void CLR_Buf(void);      //清串口接收缓存
u8   Find(u8 *a);        //查找字符串
void UART1_SendData(u8 dat);   //串口1发送 1字节
void UART1_SendString(char *s);//串口1发送 字符串
void UART1_Send_Command(char *s);
u8   UART1_Send_AT_Command(u8 *bu8 *au8 wait_timeu16 interval_time);//at命令发送
u8 UART1_Send_AT_Command_END(u8 *bu8 *au8 wait_timeu16 interval_time);

u8 Wait_CREG(u8 query_times);

void Timer0Init(void) //20毫秒@115200
{
TMOD &= 0xF0;
TMOD |= 0x01; //
TL0 = (65536-20000)%256; //
TH0 = (65536-20000)/256; //
TF0 = 0; //
ET0 = 1;       //
TR0 = 1; //开始计时
}

void Uart1Init(void) //9600bps@11.05926MHz
{
PCON &= 0x7F; //
SCON = 0x50; //
TMOD &= 0x0F; //
TMOD |= 0x20; //
TL1 = 0xFD;   //
TH1 = 0xFD;   //
ET1 = 0;     //
TR1 = 1;     //
ES  = 1; //
}

int check_status(void)
{
int ret;

ret = UART1_Send_AT_Command(“AT““OK“350);//测试通信是否成功
if(ret == 0)
{
return COMMUNITE_ERROR;
}

ret = UART1_Send_AT_Command(“AT+CPIN?““READY“250);//查询卡是否插上
if(ret == 0)
{
return NO_SIM_CARD_ERROR;
}

ret = Wait_CREG(3);//查询卡是否注册到网络
if(ret == 0)
{
return SIM_CARD_NO_REG_ERROR;
}
return 1;
}

/***************************************************************
注:当然你可以返回其他值,来确定到底是哪一步发送指令出现失败了。
****************************************************************/
int send_text_message(char *content)
{
u8 ret;
char end_char[2];

end_char[0] = 0x1A;//结束字符
end_char[1] = ‘\0‘;

//设置存储位置
ret = UART1_Send_AT_Command(“AT+CPMS=\“SM\“\“ME\“\“SM\“““OK“3100);
if(ret == 0)
{
return AT_CPMS_ERROR;
}

ret = UART1_Send_AT_Command(“AT+CMGF=1““OK“350);//配置为TEXT模式
if(ret == 0)
{
return AT_CMGF_ERROR;
}


ret = UART1_Send_AT_Command(“AT+CSCS=\“GSM\“““OK

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-06-17 19:18  3.发送TEXT英文短信\
     目录           0  2017-07-30 11:10  3.发送TEXT英文短信\C语言\
     文件         455  2017-06-17 14:32  3.发送TEXT英文短信\C语言\GA6_module_errors.h
     文件        9164  2017-07-30 11:03  3.发送TEXT英文短信\C语言\main.c
     文件       20390  2017-07-30 11:10  3.发送TEXT英文短信\C语言\main.LST
     文件       19826  2017-07-30 11:10  3.发送TEXT英文短信\C语言\main.OBJ
     文件        3130  2016-10-25 18:08  3.发送TEXT英文短信\C语言\UART1.LST
     文件       18416  2017-06-02 21:52  3.发送TEXT英文短信\C语言\UART1.M51
     文件        1012  2014-04-11 20:24  3.发送TEXT英文短信\C语言\UART1.opt.bak
     文件        1984  2014-04-11 15:12  3.发送TEXT英文短信\C语言\UART1.Uv2.bak
     文件       70790  2017-07-30 11:10  3.发送TEXT英文短信\C语言\UART1.uvgui.Administrator
     文件       71327  2017-06-17 19:10  3.发送TEXT英文短信\C语言\UART1.uvgui.dupenghui
     文件       76677  2016-11-10 11:44  3.发送TEXT英文短信\C语言\UART1.uvgui.Shinelon
     文件       76911  2016-11-09 22:40  3.发送TEXT英文短信\C语言\UART1.uvgui_Shinelon.bak
     文件        6191  2017-07-30 11:10  3.发送TEXT英文短信\C语言\UART1.uvopt
     文件       13787  2017-07-30 11:10  3.发送TEXT英文短信\C语言\UART1.uvproj
     文件          44  2016-10-25 18:08  3.发送TEXT英文短信\C语言\UART1.__i
     文件        1013  2014-04-11 20:21  3.发送TEXT英文短信\C语言\UART1_Opt.Bak
     文件        2064  2013-05-28 21:12  3.发送TEXT英文短信\C语言\UART1_Uv2.Bak
     文件       16990  2017-07-30 11:10  3.发送TEXT英文短信\C语言\发送TEXT英文短信
     文件         987  2017-07-30 11:10  3.发送TEXT英文短信\C语言\发送TEXT英文短信.build_log.htm
     文件        4927  2017-07-30 11:10  3.发送TEXT英文短信\C语言\发送TEXT英文短信.hex
     文件          52  2017-07-30 11:10  3.发送TEXT英文短信\C语言\发送TEXT英文短信.lnp
     文件       21594  2017-07-30 11:10  3.发送TEXT英文短信\C语言\发送TEXT英文短信.M51
     文件         110  2017-06-17 19:19  3.发送TEXT英文短信\程序说明.txt
     目录           0  2017-06-17 19:27  4.发送PDU短信\
     目录           0  2017-07-30 11:10  4.发送PDU短信\C语言\
     文件         441  2017-06-11 19:02  4.发送PDU短信\C语言\GA6_module_errors.h
     文件        9323  2017-07-30 10:57  4.发送PDU短信\C语言\main.c
     文件       20607  2017-07-30 10:57  4.发送PDU短信\C语言\main.LST
     文件       19709  2017-07-30 10:57  4.发送PDU短信\C语言\main.OBJ
............此处省略73个文件信息

评论

共有 条评论