-
大小: 21.02 KB文件类型: .rar金币: 1下载: 0 次发布日期: 2024-10-09
- 语言: 其他
- 标签:
资源简介
单片机AT89s52控制GSM模块TC35i发短信,打电话的C程序(实际调试通过,有详细注释的)。
前段时间,我找资料很辛苦,现在我挂出来,大家分享,请指教。前辈们,别笑话哈。
前段时间,我找资料很辛苦,现在我挂出来,大家分享,请指教。前辈们,别笑话哈。
代码片段和文件信息
//单片机89s52控制GSM(TC35i)发短信和打电话程序
#include
#include
#include
#define uint unsigned int
#define uchar unsigned char
sbit D10LED=P0^0;//指示灯0
sbit D11LED=P0^1;//指示灯1
sbit SW4=P0^2; //按钮4(没有用)
sbit SW5=P0^3; //开始按钮,按下后开始发短信,打电话
sbit beeper=P0^4; //蜂鸣器提示器件
sbit J1=P0^6; ////继电器1 ,2提示器件
sbit J2=P0^7;
sbit START_TC=P3^2; //启动TC35i的控制端
uchar code PhoneCall[]={“ATD13795568363;“};//打电话数据
uchar code TxtMode[9]={“AT+CMGF=0“}; //短信模式设置PDU模式
uchar code mess_qian[8]={“AT+CMGS=“};// 短信 长度设置
uchar code length[2]={“27“}; //短信的长度 2个数(根据短信内容不同要改变)
uchar code cnum[18]={“0891683108803105F0“};//18个数(中心号码设置)
uchar code pdu1[10]={“11000D9168“};//10个(短信格式设置可以为固定+86的手机)
uchar code pnum[12]={“3197558663F3“};//12个数(短信接收手机号码设置)
uchar code pdu2[6]={“0008A7“};//6个 (短信有效期,可以固定不变)
uchar code lenmsg[2]={“0C“}; //短信内容的长度 2个数(16进制)//(因短信具体内容不同要改变的)
uchar code pdumessage[24] = {“606D559CFF0C6210529FFF01“};//12个数。内容为:“恭喜,成功!”的PDU码。
uchar code AT[]={“AT“}; //联机命令
init_chuankou()
{
EA=0; //关总中断
ET1=0;//禁止中断1
SCON=0X50;
TMOD=0X20;
TH1=0XFD;
TL1=0XFD;//波特率为9600
TR1=1;
}
delay_Xms(uint t)
{
uint ij;
for(i=t;i>0;i--)
for(j=113;j>0;j--);
}
/*******************************************************/
Print_Char(uchar ch)//发送单个字符
{
SBUF = ch; //送入缓冲区
while(TI == 0); //等待发送完毕
TI = 0; //软件清零
}
Print_Str(uchar * struint len)//发送字符串调用Send_Char() len字符串长度
{
while(len--)
{
Print_Char(*str++);
}
}
/********************************************************/
start_TC35i() //启动TC35i的函数
{
beeper=0;
delay_Xms(500);
delay_Xms(500);
beeper=1; //蜂鸣器响一次
D10LED=0;
J1=0;
delay_Xms(2000);
D10LED=1; //继电器1,灯1工作一次
J1=1;
D11LED=0;
J2=0;
delay_Xms(2000);
D11LED=1; //继电器2,灯2工作一次
J2=1;
START_TC=0;//启动TC35i
delay_Xms(1500);// 时间必须大于100ms
START_TC=1;//完成启动 //此后一直保持高电平
}
void GSM_AT() //发“AT”的函数
{
Print_Str(AT2);
Print_Char(‘\r‘); //以回车作为结束符号,手机才能识别
ES=1;
delay_Xms(1000); //延时
}
/***************************短信**********************************/
void GSM_TXT() //发送AT+cmgf=0 设置短信模式PDU
{
Print_Str(TxtMode9);
Print_Char(‘\r‘);
ES=1;
delay_Xms(1000);
}
void GSM_CMGS() //发送AT+cmgs= (发短信的命令)
{
Print_Str(mess_qian8);
}
void GSM_length() //设置短信的长度,length(本例为27,实际不同而不同)
{
Print_Str(length2);
Print_Char(‘\r‘);
ES=1;
delay_Xms(1000);
}
/**********************以下是发PDU码的程序*********************************/
void centernum() //发中心号码
{
Print_Str(cnum18);
}
void PDU_1() //发PDU1(短信格式设置可以为固定+86的手机)
{
Print_Str(pdu110);
}
void pdu_phonenum() //发PDU_phonenum(短信接收手机号码设置)
{
Print_Str(pnum12);
}
void PDU_2() //发PDU2 (短信有效期,可以固定不变)
{
Print_Str(pdu26);
}
void Len_msg() //{“0C“}; //短信内容的长度 2个数(16进制)
{
Print_Str(lenmsg2);
}
void pdu_message() ////短信内容24/2=12个数()
{
Print_Str(pdumessage2
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5247 2010-01-17 11:24 单片机AT89s52控制GSM模块TC35i发短信,打电话的C程序\mytc35.c
文件 1984 2010-01-17 11:26 单片机AT89s52控制GSM模块TC35i发短信,打电话的C程序\mytc35.hex
文件 44 2010-01-17 11:26 单片机AT89s52控制GSM模块TC35i发短信,打电话的C程序\mytc35.lnp
文件 10740 2010-01-17 11:24 单片机AT89s52控制GSM模块TC35i发短信,打电话的C程序\mytc35.LST
文件 15555 2010-01-17 11:26 单片机AT89s52控制GSM模块TC35i发短信,打电话的C程序\mytc35.M51
文件 13387 2010-01-17 11:24 单片机AT89s52控制GSM模块TC35i发短信,打电话的C程序\mytc35.OBJ
文件 11427 2010-01-17 11:26 单片机AT89s52控制GSM模块TC35i发短信,打电话的C程序\mytc35
文件 7702 2010-01-17 11:29 单片机AT89s52控制GSM模块TC35i发短信,打电话的C程序\mytc35.plg
文件 5247 2010-01-17 11:28 单片机AT89s52控制GSM模块TC35i发短信,打电话的C程序\单片机AT89s52控制GSM模块TC35i发短信,打电话的C程序.txt
目录 0 2010-01-17 11:38 单片机AT89s52控制GSM模块TC35i发短信,打电话的C程序
----------- --------- ---------- ----- ----
71333 10
- 上一篇:志愿者网站模板
- 下一篇:fpga实现频率测量
评论
共有 条评论