STC89C51单片机程序设计
1.系统初始状态
系统顶层流程图如图10-3所示。
图10-3 系统顶层流程图
2.发送短消息
发送短消息常用Text和PDU(Protocol Data Unit,协议数据单元)模式。使用Text模式收发短信代码简单,容易实现,但缺点是不能收发中文短信,而PDU模式则支持中文、英文短信。
PDU模式收发短信可以使用7-bit、8-bit和UCS2等3种编码。7-bit编码用于发送普通的ASCII字符,8-bit编码通常用于发送数据消息,UCS2编码用于发送Unicode字符。一般的PDU编码由A B C D E F G H I J K L M十三项组成。
A:短信息中心地址长度,2位十六进制数(1字节)。
B:短信息中心号码类型,2位十六进制数。
C:短信息中心号码,B+C的长度将由A中的数据决定。
D:文件头字节,2位十六进制数。
E:信息类型,2位十六进制数。
F:被叫号码长度,2位十六进制数。
G:被叫号码类型,2位十六进制数,取值同B。
H:被叫号码,长度由F中的数据决定。
I:协议标识,2位十六进制数。
J:数据编码方案,2位十六进制数。
K:有效期,2位十六进制数。
L:用户数据长度,2位十六进制数。
M:用户数据,其长度由L中的数据决定。J中设定采用UCS2编码,这里是中英文的Unicode字符。
例如,使用PDU编码发送SMSC号码是+8613800250500,短消息接收号码是+8613800138000,消息内容是“Hello!”。从手机发出的PDU串为08 91 68 31 08 20 05 05 F0 11 00 0D 91 68 31 08 10 83 00 F0 00 00 00 06 C8 32 9B FD 0E 01。
对照协议规范,分段含义说明如下:
08 SMSC地址信息的长度 共8个八位字节(包括91)
91 SMSC地址格式(TON/NPI)用国际格式号码(在前面加‘+’)
68 31 08 20 05 05 F0 SMSC地址8613800250500,补‘F’凑成偶数个(数字倒过来)
11基本参数(TP-MTI/VFP)发送,TP-VP用相对格式
00消息基准值(TP-MR)0
0D目标地址数字个数,共13个十进制数(不包括91和‘F’)
91目标地址格式(TON/NPI)用国际格式号码(在前面加‘+’)
68 31 08 10 83 00 F0目标地址(TP-DA)8613800138000,补‘F’凑成偶数个
00协议标识(TP-PID)是普通GSM类型,点到点方式
00用户信息编码方式(TP-DCS)7-bit编码
00有效期(TP-VP)5min
06用户信息长度(TP-UDL)实际长度6个字节
C8 32 9B FD 0E 01用户信息(TP-UD)“Hello!”
系统中,单片机发送短信程序流程图如图10-4所示。
短信发送程序设计如下:
3.发送彩信
发送彩信程序流程图如图10-5所示。
图10-4 发送短消息流程图
图10-5 发送彩信流程图
彩信发送子程序如下:
4.拨打电话
系统可自动拨打电话,拨打电话程序流程图如图10-6所示。
图10-6 拨打电话程序流程图
拨打电话程序如下:
5.串口中断处理
串口中断处理程序流程图如图10-7所示。
图10-7 串口中断处理程序流程图
串口中断处理程序设计如下: