新闻中心

EEPW首页>嵌入式系统>设计应用> 单片机控制手机的硬软件接口技术及其应用

单片机控制手机的硬软件接口技术及其应用

作者: 时间:2012-03-29 来源:网络 收藏

现对几个问题说明如下:

⑴所有AT指令的指令符号、常数、PDU数据包等都是以ASCII编码形式传送的,比如“A”的ASCII编码为41H,“T”的ASCII编码为54H,数字“0”的 ASCII编码为30H等。

工作,必须把的短信息工作模式设置为PDU格式,即通过指令AT+CMGF=0完成。

发送每一条指令后,必须以回车符作为该条指令的结束,回车的ASCII编码为0DH,例如向手机发送“AT+CMGF=0”这条指令,其ASCII编码序列为“41H、54H、2BH、42H、4DH、47H、46H、3DH、30H、0DH”,最后一个字节0DH就是回车符,表示该条指令结束,如果没有这个回车符,手机将不识别这条指令。

⑷当手机接收到一条完整的AT指令后,手机并不立即执行这条指令,而是①先把刚才接收到的AT指令的全部ASCII编码序列全部反发送出来(含0DH);②其次发送一个回车符和换行符的ASCII编码,即0DH和0AH;③执行该条指令。

⑸手机向单片机传送短信息内容时,其PDU数据包的内容是以16进制表示的数据,但并不是直接向单片机传递16进制数据,而仍然是把每一位16进制数以ASCII编码来发送。这样,二个字节的16进制数就变成4个字节的ASCII码。但是,PDU数据包中的数据字节长度部分仍然是实际字节长度,而不是变成ASCII码的字节长度,这在编程时应特别注意,否则,接收的数据就不完整。单片机接收到PDU数据包数据后,必须将其恢复成16进制数据,其算法如下:

设: a为接收的ASCII码,b为转换后的16进制数。那么:如果a<39H,则b=a-30H;如果a>39H,则b=a-30H-07H。最后把前后两个数合并为一个字节。

⑹手机向单片机应答PDU数据包的字节数不包括前9个字节数据 (短信服务中心地址),但向单片机传送PDU数据包时,包括这9 个字节的数据,例如,如果手机应答的pdu数据长度为50,而实际向单片机传送的16进制数据为59字节,ASCII码为2*59字节,所以,单片机必须按2*59个字节接受pdu数据。

3、举例

作者利用上述原理和开发了一个项目:高速公路显示导引系统。安装在高速公路上的LED显示屏实时显示前方路段车辆通行态势,和天气气候情况,提醒并引导驾驶人员,正确驾驶。该系统的使用一定程度上消除了许多交通事故隐患,从而保障了道路的畅通和人民生命财产的安全。该系统由中心和若干个显示屏组成。中心实时将最新信息发送到各显示屏。构建控制中心与显示终端的通信链路,传统的方法要么铺设光缆用有线方式实现,要么构建专用无线网用无线方式实现。因为高速公路的特殊性,控制中心与显示终端之间的距离通常很远,两种方案都必须投入大量资金和巨大的施工工作量。如果采用GSM公众无线传输网络,控制中心以短信息的形式把显示信息发送到显示终端的方案,则具有投资小,施工方便,工作可靠,运行费用低等诸多优点。

在控制中心,微机编辑好短信息后通过手机这个载体发送出去,在显示终端,单片机通过读取手机的短信息把它显示到LED显示屏上。项目的核心是单片机与手机的和PDU数据包中的汉字信息编码,因为短信息中的汉字仅仅是一个编码,单片机系统将编码变为汉字点阵数据,必须配置汉字字库。按照GSM07.05协议规定,短信息中的汉字编码为unicode编码,如果,构建一个unicode编码的汉字字库,确实是一件繁琐的工作,因此,在设计单片机系统时,采用了如下两点技术措施。  

1)单片机系统配置的字库为GB-2312编码的汉字库,即区位码汉字库,该汉字库在网上可免费下载,固化到Flash存储芯片中即可。当然这样做的前提是,PDU数据包中的汉字编码必须为汉字内码而非Unicode编码。

2)控制中心编辑PDU数据包数据时,采用自定义数据方式,其中,代表汉字的数据,直接取用汉字的机内码即可,免去了把机内码再转换为Unincode编码之苦。实践证明,这是可行的。

采用以上技术措施的优点,一是省去了两种编码的相互转换;二是保证了数据的保密性,非系统内用户无法接收,即使接收也无法显示。

该项目研制成功投入使用后,因显示终端只接收不发送,几乎没有运行成本。发送端(控制中心)可采用月租方式,也能把运行费用降低到最低限度。因此该项目受到用户满意的评价。

参考文献
[1] 薛栋梁单片机原理与应用[M] 北京水利水电出版社 2001
[2]李鸿用单片机控制手机收发短信息电子技术应用2002
[3]马潮嵌入式GSM短信息的软硬件设计单片机及嵌入式应用 2002
[4] http://www.21IC.com


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭