打印
[MSP430]

MSP430单片机 控制 TC35 模块 收发短信

[复制链接]
2673|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hfuter|  楼主 | 2014-5-18 23:34 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hfuter 于 2014-5-19 12:04 编辑

最近写了个程序,是用MSP4305529单片机控制西门子TC35模块收发短信。本程序是模仿51单片机控制TC35程序而改写的。
实测可用,现拿出来与大家分享。代码见附件(使用的ccs5.4) TC35.rar (56.38 KB)

感觉自己搞这个TC35没少走了弯路,故将自己对TC35的实践写成该贴,希望能对以后使用TC35模块的爱好者们有所参考。
大神们看到有什么不对的欢迎拍砖。

电路连接:我用的TC35是将其TX0和RX0脚都引出来了,电路图见下。
其与MSP430f5529单片机的连接方法为:
单片机RXD(我用的USCI_A0,即P3.3口)连TC35的RX0脚,单片机TXD(我用的P3.4口)连TC35的TX0脚,就这样直连可以了。
对了,单片机开发板上的GND连上TC35模块的GND。


本程序实现的功能是:
1、MSP430单片机控制TC35向管理员手机发送英文短信,短信内容为
“User001 is requesting to open the door,if permitted,reply:[password]+ok,else,no-reply.”
大意即为用户001在申请开门,同意的话请回复“密码+ok”,其中密码为6位数字。

2、程序发送完短信之后等待90s,如果在这90s内管理员回复短信,格式为6位密码+ok,即:“654321+ok”
TC35接收到短信后,将短信传至MSP430,由MSP430将接收短信的手机号码和密码进行存储。

3、MSP430将收到的手机号与发送手机号对比,同时将收到的密码与预设密码对比,两者皆符合的情况下,
LED2灯亮。

4、删除短信

本程序通过开发板上的两个LED灯的亮灭来实时显示程序当前执行到了哪一步,这两个LED灯的接法如下:





程序所设全局变量说明:
char timeout;                       //定时器计时标志 , timeout每加或减一次需要2s
char r_data[140];                   //串口数据接收缓冲区,
char databuf[9];                        //短信内容存储,格式为“密码(暂定6位)+ok
char rece_phone[]="11111111111";        //回复短信的手机号读取于此数组
unsigned charr_count;                      //串口接收数据指针
unsigned charreceive_ok;                   //模块回应ok标志
char phone_num[]="1xxxxxxxxxx";         //短信发送的目标admin手机号
char password[]="654321+ok";                //管理员admin密码+ok(密码可改)
charnews[]="User001 is requesting to open thedoor,if permitted,reply:[password]+ok,else,no-reply.";//发送短信内容

main 函数两个变量:
    unsigned char i=0;              //子程序返回标志寄存变量
    unsigned char d=0;              //deal()函数返回寄存变量


TC35所设函数说明
void TA0_Init();                    //定时器0初始化
void UART_Init();                   //串口初始化
unsigned charTC35_Init();          //TC35初始化,,初始化成功函数返回1,失败函数返回0
unsigned charSend_Sms();           //发送短消息,成功函数返回1,失败函数返回0
unsigned charRece_Sms();           //接收短消息,成功函数返回1,失败函数返回0
unsigned charDel_Sms();            //删除短消息,成功函数返回1,失败函数返回0
chardeal();            //处理函数,比对手机号和密码,判断admin是否同意开门,返回1代表同意,返回0不同意



接收短信内容分析:
(手机号已隐去哈)

文本格式:

+CMGR: "RECREAD","+8611111111111",,"14/05/01,11:02:34+32"123456+ok OK
十六进制格式:

0D 0A 2B 43 4D 47 52 3A 20 22 42 45 43 2052 45 41 44 22 2C 22 2B 38 36 31 31 31 31 31 31 31 31 31 31 31 22 2C 2C 22 3134 27 30 35 2F 30 31 2C 31 31 3A 30 32 3A 33 34 2B 33 32 22 0D 0A 31 32 33 3435 36 2B 6F 6B 0D 0A 0D 0A 4F 4B 0D 0A

接收短信分析:
第一行为16进制接收码,第二行为其对应ASCII码字符,第三行为从辅助定位数字(即从最后一个码,到所要找的码,需要数几次)
(红色代表误码,绿色代表接收手机号,蓝色代表短信内容,即六位密码+ok





相关帖子

沙发
dawei6875797| | 2014-6-2 23:17 | 只看该作者
楼主您好,您的程序下载下来提示文件已损坏,我的邮箱974823223@qq.com,麻烦您发一下,谢谢!

使用特权

评论回复
板凳
hfuter|  楼主 | 2014-6-5 20:46 | 只看该作者
dawei6875797 发表于 2014-6-2 23:17
楼主您好,您的程序下载下来提示文件已损坏,我的邮箱,麻烦您发一下,谢谢! ...

我又把我文件下载了一遍,打开编译没错啊,可能你下载过程中出现问题了吧。
文件已发,貌似发晚了,不知道你现在还需不需要

使用特权

评论回复
地板
崔学伟| | 2014-9-7 11:46 | 只看该作者
怎么不行啊?你确定可用吗

使用特权

评论回复
5
cdf1214| | 2015-3-28 16:16 | 只看该作者
                 北京长实拓展电子有限公司
本公司主营TI. NXP. IR. ON. SiLicon                                                                                                       等著名世界品牌产品。
MSP430F一系列TI储存芯片 微控处理器
MSP430F149IPMR MSP430F5438AIPZR MSP430F5438IPZR等。
C8051F 一系列SILICON 单片机 微控处理器
C8051F020 C8051F120 C8051F340 C8051F040等
LPC一系列NXP单片机  
LPC2132FBD64 LPC2134FBD64 LPC2214FBD144  
LPC2378FBD144 LPC2292FBD144等一系列供应
专营:低压差 基准源 三 五 七端稳压 二三极管 场效应 快恢复 肖特基二极管 可控硅 达林顿 整流桥 TVS管 光藕 MAX AD 集成电路 
                   北京长实拓展电子销售:陈冬锋
                                     QQ:2850327057
                      电话:15711002528,13641144498

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

31

帖子

0

粉丝