位置:51电子网 » 技术资料 » 单 片 机

GSM/GPS车载系统中LCD中文显示的编程方法

发布时间:2008/5/27 0:00:00 访问次数:472

        

    

    

    来源:单片机及嵌入式系统应用 作者:内蒙古工业大学 赵泽文 杨宏业 孙作雷gps车辆调度系统是应用全球定位系统gps(g1obalposltlomng system),并基于gsm移动通信网络,通过短消息通信的方式对网内车辆进行定位、跟踪和监控的监管系统。目前,在许多行业(如公安、公交和银行等)中,gps车辆调度系统已经相当普及,gps车辆调度系统的相关研究也成为业界的一大热门课题。本文lcd中文显示的一种编码方法是笔者在设计gps车载终端通信系统时使用的方法。

    

    1 问题的提出

    一个gps车辆终端在硬件上主要包括以下几部分:

    ◇gps接收模块,用于接收gps卫星发回的gps定位信号。

    ◇gsm通信模块,用于实现终端模块与监控中心的无线通信。

    ◇中央控制单元,对信号接收、短消息通信及人机交互等工作进行控制。

    ◇键盘、显示单元,用于人机交互,显示监控中心的命令。

    在gps车辆终端系统的开发过程中,出于系统功能和产品成本的综合考虑,大多数设计者都会选取一块廉价、低端的lcd液晶显示器。由于gsm短消息编码方式与普通lcd显示器不兼容,许多gps车载终端不支持中文信息的显示,这是设计中的一个技术难点。gsm短消息通常是以pdu模式收/发的,在这种模式下模块收到的是一串unicode码字符。unicode码即统一码。是一种在计算机上使用的字符编码方式。它为不同语言的每个字符设定了统一且唯一的二进制编码,以满足跨语言、跨平台进行文本转换和处理的要求。例如,当监控中心向gps车辆终端发送“速回中心”这样一条调度信息时,终端将收到unicode字符串“0698 e698 1e18 06fe”。但目前大多数lcd显示器并不支持这种编码,要在终端上显示这条信息,必须将其转换为lcd支持的gb码,即字符串“cbd9 bbd8 d6d0 doc4”。

    要进行这样一种转换,在通常情况下有两种方法:①找出这两种编码方式的运算关系,通过公式进行转换;②分别建立unicode和gb两张码表,通过查表的方式进行转换。但由于unicode和gb是两种相互独立的编码方式,它们之间没有任何联系,运算关系更是无从谈起,因此第一种方法是行不通的。而对于第二种方法,从理论上讲是完全可行的,且在pc机上通过高级语言的函数调用即可实现;但对内存极为有限的单片机来说,要建立如此庞大的两张码表显然是不可想象的。即使舔加了存储器,具备了足够的存储空间,码表的录入和对应也同样是一项繁琐的工作。因此,一种切实可行的,能够实现中文显示的设计方案就显得尤为重要。

    

    2 解决方案的设计

    为了解决上述难题,笔者特设计了一种在gsm模块的text模式下,基于调度中心发送gb码字符串的编码方法。

    gsm短消息的text模式(文本模式)与pdu模式相同,也是一种使用at命令传输数据的接口协议。不同的是,在信息传输过程中网络传输的是英文或数字等ascii内码,因此该模式适合于非智能终端、终端仿真器和一些基于v.25ter自动呼叫/自动应答的应用软件。例如,发送字符a到模块,并通过at命令读sim卡内容到单片机内存,通过伟福仿真器的dtae窗可观测到如图1所示的ascii码。

    

    

    将内存中ascii码翻译后可得如下信息:

    

    

    

    

    由于所有gb码皆由大写英文字母和数字组成,两者又都是ascii内码,因此可将调度信息的gb码通过ascii内码字符的形式向车载终端发送。例如,仍是“速回中心”这条短消息,查gb-2312表可得这4个汉字的gb码为“cbd9 bbd8d6d0 doc4”。将此条字符串发送到车载终端,终端接收后的信息如图2所示。

    

    

    图2中70h~7fh内存单元存放了该条信息。由于此时接收到的只是一串英文和数字的字符,要在lcd上显示,还须将其还原为gb码(即两个字符转换为相应的一个2位16进制数,并存入一个内存单元)。将上述字符串转换、合并,存储在:boh开始的内存单元中的数据如图3所示。

&

        

    

    

    来源:单片机及嵌入式系统应用 作者:内蒙古工业大学 赵泽文 杨宏业 孙作雷gps车辆调度系统是应用全球定位系统gps(g1obalposltlomng system),并基于gsm移动通信网络,通过短消息通信的方式对网内车辆进行定位、跟踪和监控的监管系统。目前,在许多行业(如公安、公交和银行等)中,gps车辆调度系统已经相当普及,gps车辆调度系统的相关研究也成为业界的一大热门课题。本文lcd中文显示的一种编码方法是笔者在设计gps车载终端通信系统时使用的方法。

    

    1 问题的提出

    一个gps车辆终端在硬件上主要包括以下几部分:

    ◇gps接收模块,用于接收gps卫星发回的gps定位信号。

    ◇gsm通信模块,用于实现终端模块与监控中心的无线通信。

    ◇中央控制单元,对信号接收、短消息通信及人机交互等工作进行控制。

    ◇键盘、显示单元,用于人机交互,显示监控中心的命令。

    在gps车辆终端系统的开发过程中,出于系统功能和产品成本的综合考虑,大多数设计者都会选取一块廉价、低端的lcd液晶显示器。由于gsm短消息编码方式与普通lcd显示器不兼容,许多gps车载终端不支持中文信息的显示,这是设计中的一个技术难点。gsm短消息通常是以pdu模式收/发的,在这种模式下模块收到的是一串unicode码字符。unicode码即统一码。是一种在计算机上使用的字符编码方式。它为不同语言的每个字符设定了统一且唯一的二进制编码,以满足跨语言、跨平台进行文本转换和处理的要求。例如,当监控中心向gps车辆终端发送“速回中心”这样一条调度信息时,终端将收到unicode字符串“0698 e698 1e18 06fe”。但目前大多数lcd显示器并不支持这种编码,要在终端上显示这条信息,必须将其转换为lcd支持的gb码,即字符串“cbd9 bbd8 d6d0 doc4”。

    要进行这样一种转换,在通常情况下有两种方法:①找出这两种编码方式的运算关系,通过公式进行转换;②分别建立unicode和gb两张码表,通过查表的方式进行转换。但由于unicode和gb是两种相互独立的编码方式,它们之间没有任何联系,运算关系更是无从谈起,因此第一种方法是行不通的。而对于第二种方法,从理论上讲是完全可行的,且在pc机上通过高级语言的函数调用即可实现;但对内存极为有限的单片机来说,要建立如此庞大的两张码表显然是不可想象的。即使舔加了存储器,具备了足够的存储空间,码表的录入和对应也同样是一项繁琐的工作。因此,一种切实可行的,能够实现中文显示的设计方案就显得尤为重要。

    

    2 解决方案的设计

    为了解决上述难题,笔者特设计了一种在gsm模块的text模式下,基于调度中心发送gb码字符串的编码方法。

    gsm短消息的text模式(文本模式)与pdu模式相同,也是一种使用at命令传输数据的接口协议。不同的是,在信息传输过程中网络传输的是英文或数字等ascii内码,因此该模式适合于非智能终端、终端仿真器和一些基于v.25ter自动呼叫/自动应答的应用软件。例如,发送字符a到模块,并通过at命令读sim卡内容到单片机内存,通过伟福仿真器的dtae窗可观测到如图1所示的ascii码。

    

    

    将内存中ascii码翻译后可得如下信息:

    

    

    

    

    由于所有gb码皆由大写英文字母和数字组成,两者又都是ascii内码,因此可将调度信息的gb码通过ascii内码字符的形式向车载终端发送。例如,仍是“速回中心”这条短消息,查gb-2312表可得这4个汉字的gb码为“cbd9 bbd8d6d0 doc4”。将此条字符串发送到车载终端,终端接收后的信息如图2所示。

    

    

    图2中70h~7fh内存单元存放了该条信息。由于此时接收到的只是一串英文和数字的字符,要在lcd上显示,还须将其还原为gb码(即两个字符转换为相应的一个2位16进制数,并存入一个内存单元)。将上述字符串转换、合并,存储在:boh开始的内存单元中的数据如图3所示。

&

相关IC型号

热门点击

 

推荐技术资料

硬盘式MP3播放器终级改
    一次偶然的机会我结识了NE0 2511,那是一个远方的... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!