资源简介
用stc89c52单片机控制TC35模块收发短信接打电话,文件为c语言代码,亲测成功
代码片段和文件信息
/************************************************************
UDP中文短信发送规则
// DelaySec(1);
////计算PDU 总长度(即你所发送内容的总长度),两位16 进制码算一位长度,长度为。如果你用单
////片机做程序,用数组把这些代码存到一个数据里,从0开始赋值,用一个数组值做累加,最后结束时
////,你的指针的长度就是整个短信的总长度假如是48,48/2-1得到23,好像是因为短信内试的长度不算
////在内,所以要去掉一位。
// Uart2SendStr(“AT+CMGS=23\r\n“);//发送长度
// DelaySec(1);
// Uart2Sends(“0011000D91688126924480F30008A008521B601D901A4FE1“);//挂断电话
// 前序| 目的号码长度|国际|目的手机号码(两位一反) | 8bit 方式|允许时间|短信长度|短信内容 (Unicode)
// 001100 0D 91 68 8126924480F3 0008 A0 08 521B 601D 901A 4FE1
// 固定 固定 固定 18622944083(自己变换) 固定 固定 每个汉字 发送的汉字内容,使用汉字Unicode互换小工具来得到
创思通信 http://520ic.taobao.com/
联系方式:18144070918 雷工
*************************************************************/
#include
#include
#include
#include
#define uint unsigned int
#define uchar unsigned char
//在此处修改发送号码和内容
#define CALL_YOU_TELNUMBER “18622944083“
#define SEND_MESSA_EN “520ic.taobao.com“
#define SEND_MESSA_CN “521B601D901A4FE179D162806B228FCE4F60“
/***************************开发板4个按键的定义************************/
sbit Send_NOACK_key=P3^2; //挂电话按键
sbit Send_CALLING_key=P3^3; //打电话按键
sbit Send_ENGLISH_key=P3^4; //发英文TEXT短信按键
sbit Send_SMS_PDU_key=P3^5; //发中文PDU短信按键
/***************************定义缓冲区数据大小************************/
#define MAXCHAR 81
uchar GsmRcv[MAXCHAR];
/***************************继电器和蜂鸣器****************************/
sbit JIDIANQI=P1^0;
sbit FENGMINGQI=P1^1;
/***************************全局变量***********************************/
uchar j=0;
int g_timeout=0;
/***************************定义函数***********************************/
void Init_UART(void);
void Init_GSM(void);
void delay(uint ms);
void clearBuff(void);
void send_call(void);
void send_english(void);
void hang_up(void);
void Print_Char(uchar ch);
void Print_Str(uchar *str);
void SendUDPMessage(char* pnum char* context void (*sendfun)(char*));
void delay(uint ms);
int Hand(uchar *a);
void led(int i);
void main()
{
Init_UART(); //初始化串口
Init_GSM(); //初始化模块
delay(10);
Send_ENGLISH_key=1; //发英文TEXT短信按键
Send_CALLING_key=1; //打电话按键
Send_NOACK_key=1; //发温度按键
Send_SMS_PDU_key=1; //发中文PDU短信按键
clearBuff();
send_call(); //打电话
while(1)
{
////////////////////////////////////////////////////////////////////////
P2=0XFF;
if(Send_ENGLISH_key==0) //发英文TEXT短信按键
{
while(Send_ENGLISH_key==0)
{
P2 &= ~0X04; //P22点亮
}
P2 |= 0X04;
clearBuff(); //清空缓存信息
send_english(); //发送英文短信
}
else if(Send_CALLING_key==0) //打电话按键
{
while(Send_CALLING_key==0)
{
P2 &= ~0X02; //P21点亮
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 23325 2015-09-27 16:31 gsm.OBJ
文件 1186 2015-09-26 22:41 GSM.Opt
文件 435 2015-09-27 16:32 GSM.plg
文件 1991 2015-09-22 20:46 GSM.Uv2
文件 305 2015-09-19 22:41 GSM_51_12864.pro
文件 8177 2015-09-22 20:47 GSM_51_12864.pro.user
文件 1186 2015-09-26 21:15 GSM_Opt.Bak
文件 1992 2015-09-21 22:50 GSM_Uv2.Bak
文件 2376 2013-06-05 14:36 lcd12864.c
文件 187 2012-09-17 00:38 lcd12864.h
文件 4917 2015-09-19 22:31 lcd12864.LST
文件 7159 2015-09-19 22:31 lcd12864.OBJ
文件 4086784 2011-11-28 22:21 qmake.exe
文件 4137 2012-09-09 19:30 短信收发.c
文件 8076 2012-09-09 19:30 短信收发.LST
文件 9041 2012-09-09 19:30 短信收发.OBJ
文件 20931 2015-09-27 16:31 GSM
文件 13842 2015-09-26 22:41 gsm.c
文件 9573 2015-09-27 16:31 GSM.hex
文件 38 2015-09-27 16:31 GSM.lnp
文件 22727 2015-09-27 16:31 gsm.LST
文件 23963 2015-09-27 16:31 GSM.M51
----------- --------- ---------- ----- ----
4252348 22
- 上一篇:C++编程练习题大全(带答案)
- 下一篇:基于funcode的吃豆人小游戏
评论
共有 条评论