




已阅读5页,还剩61页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要随着科技的不断进步,人们的生活节奏也在不断的加快,这时,信息的 传递在我们的生活中的就扮演了一个重要的角色。近年来,随着 LED 技术的不断发展,LED 显示屏也经常出现在我们的生活中,在火车站,银行,公路等地方它为我们传递着最新的信息。但是,对于 LED 屏的信息传递途径,现在大多采用的还是有线传输,出于对布线及抗干扰能力的考虑,它的使用范围就受到了极大的限制。我们 主要针对这个问题 展开讨论。本文首先通 过 方案对比得出一个可行的方案采用 SoC 型单片机 STC89C516RD+作为核心控制元件,西门子生产的GSM 模 块 TC35i 作为信息 传输媒介,通过程序调用字库芯片 GT23L32S4W 在LED 显示屏上 显示。然后主要针对软件设计的部分做了 详细的介绍,软件大致分为以下几个部分:单片机外围器件及其驱动程序的设计,主要包括时钟芯片的程序设计,看门狗程序的设计 ,存 储程序的设计等;TC35i 模块 AT 指令及中文短信息的收发的程序设计,TC35i 通过标准串口和单片机进行通信,单片机发送 AT指令的程序设计,PDU 编 解码的程序设计;LED 显示屏与字库芯片调用的程序设计,主要有字库芯片的调用程序和 LED 显示屏的驱动 程序。关键字:STC89C516RD+,TC35i 模块,AT 指令, PDU 码编解码,字库芯片The LED display screen software design based on GSM modemAbstractAs the technology progresses, peoples lives has been the acceleration of the rhythm, then the transmission of information in our lives on to play an important role. In recent years, with the continuous development of LED technology, LED displays also appear in our lives, in the railway station, banks, highways and other places for us to pass it forward to the latest information. However, LED message screen means it is now used in most of cable transmission, wiring and based on consideration of anti-interference ability, the scope of its use has been severely limited. To address this issue we discuss. In this paper, first of all through the program compared to arrive at a feasible solution - the use of SoC-based single-chip control STC89C516RD + as a core component of the GSM Siemens TC35i module as an information transmission medium, through the process called chip GT23L32S4W font displayed on the LED display . And then the major part of software design for a detailed description of the software is broadly divided into the following sections: single-chip microcomputer and its peripheral device driver design, including the procedures for the design of the clock chip, the design watchdog procedures, storage process design; TC35i module AT command and the send and receive text messages in Chinese programming, TC35i and MCU through a standard serial communication, microcontroller send AT commands programming, PDU programming codec; LED display screen with the character of the procedure call-chip design, the main character of the call-chip process and LED display driver.Keyword:STC89C516RD+, TC35i module, AT commands, PDU code coding and decoding, font-chip目 录1 绪论 .12 设计要求 .13 方案论证 .13.1 整体方案选择 .13.2 GSM 模块 的选择 .23.3 LED 显示屏控制方法选择 .34 系统总体框图 .35 程序整体设计思路 .46 单片机外围器件及其驱动程序的设计 .46.1 单片机各端口分配 .46.2 实时时钟电路 .66.3 看门狗电路 .76.3.1 STC89C516RD+单片机内部看门狗的使用 .77 TC35i 模块 AT 指令及中文短信息的收发 .87.1 单片机与 TC35i 的硬件接口 .87.2AT 指令介绍 .97.3 单片机发送 AT 指令的程序设计 .97.4 中文短信息的收发 .107.4.1 PDU 模式及中文短信息的编码 .107.4.2 PDU 模式中文短信息发送的程序设计 .127.4.3 PDU 模式中文短信息的接收与解码 .128 字库芯片与 LED 显示屏 .158.1 字库芯片 .158.1.1 字库芯片的介绍 .158.1.2 字库芯片的调用程序 .158.2 LED 显示屏的控制程序 .189 结束语 .18致谢 .18参考文献 .20附录一 STC89C516RD+头文件 .21附录二 总程序清单 .2411 绪论随着 LED 显 示技术的不断 发展,LED 显示屏在我们的生活中的应用越来越广泛。火车站、银行、广 场、高速公路等需要及时发布信息及广告的发布的地方随处可见。从目前的应用情况来看,大多数的 LED 屏显示的信息还是由专用的PC 机进 行信息的更新、模式控制等,也有一些显示信息不需要频繁更新的场合采用了单片机控制。 但是大多的数据传输还是局限于有线传输,出于对布线及抗干扰能力的考虑,会很大程度的限制它的应用范围。本文主要针对这个问题介绍了基于 GSM 的无线 LED 显示屏的软件设计过程。通过对不同方案的综合比较,决定使用 GSM 短消息作 为数据传输媒介, 单片机作为核心控制元件。文中主围绕控制的核心 STC89C516RD+单片机对周边原件,GSM 模块和 LED 显示屏的软件控制做了详细的介绍。文中主要解决了 GSM 模块收发中文信息、Unicode 码向 GB2312 编码转换、对字 库芯片的调用及对 LED 显示屏的控制的软件设计。2 设计要求系统具体设计要求:(1)DS1302 驱动程序的设计;(2)24C32 存储器的读写程序;(3)TC35i 驱动程序设计;(4);PDU 串解码;(5)汉字编码转换程序;(6)字库芯片的调用程序;(7)LED 显示屏 驱动程序(8)终端主程序;3 方案论证3.1 整体方案选择方案一:基于 ARM 的嵌入式系统与 GSM 模块构成的系统。由于 ARM 处理器的功能强大,资源丰富,因此使用这种方案可以使系 统功能近乎完美,并且由于使用了操作系统,应用程序的设计会变得简单可靠。但是这种方案成本较高,同时使用的嵌入式操作系统也会占用一部分额外的硬件资源,这样会大大的提高开支。目前情况下我们不考 虑这种方案。方案二:SoC 型单片机与 GSM 模块构成的系统。目前 SoC 型单片机已非常普遍,基于 51 内核的 SoC 型芯片也有众多供应厂商。例如,国内宏晶科技的STC 系列, Cyganl 公司的 C8051 系列。这些单片机都有丰富的片上资源,一般都2不需要外扩其他器件就可以构成一个完整的系统。片上系统的优点在于减小了布线的麻烦,提高了系统的整体性能,并且它的价格低廉,经济实惠,因此我们选用这种方案 1。3.2 GSM 模块的选择本设计中 GSM 模块是该系统中的核心部分,正确选择合适 GSM 模块确定着整个项目设计的成败。目前 GSM 模块有众多供 应商提供,我们有以下几种常用的 GSM 模 块进行选择 ,以便 选择合适的方案。方案一:采用 MZ28 模块。MZ28 模块是中兴通讯推出的 GSM 无线双频调制解调器,主要为语音传输、短信发送和数据业务提供无 线接口。 MZ28 集成了完整的射频电路和 GSM 的基 带处理器,特别适合于迅速开发基于 GSM 无线网络的无线应用产品。带有人机接口(MMI)界面的应用产品内部与 MZ28 的通讯可通过标准的串行接口(RS232 )进行。 MZ28 使用简单的 20-PIN ZIP 插座与用户自己的应用系统相连,此 ZIP 连接方式提供开发所需的数据通信、音频和电源等接口信号。MZ28 可以作为无 线引擎,嵌入到用 户自己的 产品当中,用 户可以用单片机或其他 CPU 的 UART 口,使用相应的 AT 命令,对模块进行控制,达到使其产品可以轻松进入 GSM 网络的目的 2。方案二:采用 TC35i 模块。TC35i 是西门子公司推出的新代无线通信 GSM模块。自 带 MAX232 通讯 接口,可以方便地与 PC 机、单片机连机通讯。可以快速、安全、可靠地实现系统方案中的数据、 语音传输 、短消息服务(Short Message Service)和传 真。 TC35i 模块的工作电压为 3.35.5V,可以工作在 900MHz 和1800MHz 两个 频段,所在 频段功耗分别为 2W(900M)和 1W(1800M)。模 块有AT 命令集接口,支持文本和 PDU 模式的短消息、第三组的二类传真、以及2.4k,4.8k,9.6k 的非透明模式。此外,该模块还具有电话簿功能、多方通话,漫游检测功能,常用工作模式有省 电模式、 IDLE、TALK 等模式。通过独特的 40 引脚的 ZIF 连接器,实现电源连接、指令、数据、语音信号、及控制信号的双向传输。通过 ZIF 连接器及 50 天线连接器,可分别连接 SIM 卡支架和天线。 TC35i 模块主要由 GSM 基带处理器、GSM 射频模块、供电模 块(ASIC)、闪存、ZIF 连接器、天线接口六部分组成。作为 TC35i 的核心,基 带处 理器主要处理 GSM 终端内的语音、数据信号,并涵盖了蜂窝射频设备中的所有的模 拟和数字功能。在不需要额外硬件电路的前提下,可支持 FR、HR 和 EFR 语音信道编码。其它功能介绍可参见相关资料 3。有以上几个方案我们进行比较,我们发现 TC35i 有众多的用户,资料介绍比较全面详细。网络上也有很多 电子爱好者、工程 师对 TC35i 比较感兴趣, 讨论的话题比较多,更有很多调试 笔记等可以参考。而且采用 TC35i 作为信息传输、控3制的系统越来越成熟,因此我们考虑选用该模块, 这样风险较小,成功率 较高,遇到问题方便解决。3.3 LED 显示屏控制方法选择方案一:选择与显示屏配套的控制卡。控制卡主要由 DSP 芯片作为控制核心,周边由字库芯片,存储器件,驱动芯片及接口电路组 成。其中,它的接口 电路有与显示屏连接的 08 接口和与外部数据通信的 RS232 接口。它主要是通过上位机软件进行数据修改。于是,我们如果用单片机对它进 行控制,就要清楚上位机与显示屏控制卡之间的控制协议以此进行程序的编写。采用这种方案对于硬件电路的设计比较容易,可是程序 编写会比较复杂。方案二:自己做控制卡。自己选择字库芯片, 驱动芯片由单片机直接对其进行控制。通过我们查找不同的字库芯片,最后 选择了上海集通公司的GT23L32S4W4。GT23L32S4W 是一款内含 11X12 点阵、 15X16 点、24X24 点阵、32X32 点阵的汉字库芯片,支持 GB2312 国标汉字(含有国家信标委合法授权)及 SCII 字符。排列格式为 横置横排。用户通过字符内码,利用本手册提供的方法计算出该字符点阵在芯片中的地址,可从该地址连续读出字符点阵信息。我们可以通过单片机对字库芯片进行读取。同时用单片机控制驱动芯片 74HC245,用于对 LED 显示屏 进行控制。该方案硬件电路设计较为 麻烦,可是它解决了对方案一中上位机与显示屏控制卡之间的控制协议的问题。通过我们不断的资料搜集,发现上位机与显示屏控制卡之间的控制协议这一问题很难解决,这个协议 很难获取,因此,和导师讨论 后,决定采取第二种方案。4 系统总体框图根据设计要求及方案论证,系统终端电路方框图如下图 1 所示:在图 1 所示的方框图中,单片机系统包括单片机系统芯片 STC89C516RD+、时钟芯片 DS1302、看门狗芯片 MAX6865、GSM 接口 MAX232,存储芯片 24C32,字库芯片 GT23L32S4W 及 驱动芯片 74HC245。GSM 模块采用 TC35i,TC35i 带有标准的串行通信接口通过 MAX232 进行电平转换 后与单片机进行接口。在本设计中我们的重点是进行短信息的接收与 PDU 解 码以及字库芯片的使用。其中字库芯片的使用问题比较多。由于这个字库芯片采用的是 3.3V 供电,而我们的系统采用的是 5V 供电,所以要 进行电平的转换。所以我们采用了电平转换芯片74HC1G08,用以进行电平匹配。显示屏驱动电路主要是通过 74HC245 连接在LED 显示屏的 08 接口上,用以对 LED 显示屏进行控制。LED 显示屏我们采用市面上出售的带有标准 08 接口的显示屏。4实时时钟电路单片机系统看门狗电路存储电路显示屏字库电路显 示屏驱动电 路GSM 模块接口电路图 1 系统终端硬件电路方框图5 程序整体设计思路程序流程图如图 2 所示:由程序流程图我们不难看出,程序主要包括数据接收和显示程序。其中,数据接收主要是对 GSM 模 块儿进行控制。GSM 与单 片机联机成功后,如果判断出有数据输入,调用短信接收程序,接收采用 PDU 编码的信息,并将读出的信息内容存入外部存储器中,然后 对读出的数据进行解码,把 UTF-8(汉字 Unicode 编码)转换为 GB-2312 码。这样 得到汉字的国标码之后,通过公式可以得出汉字的机内码。有了汉字的机内码 ,可以算出 该汉字在点阵 字库中的点阵数据在字库芯片中的起始位置,把得到的点阵数据送入 LED 显示屏中就可以 显示出相应的汉字的字型码了。6 单片机外围器件及其驱动程序的设计6.1 单片机各端口分配单片机端口分配如图 3 所示:LED1-LED3 是指示灯控制端口 ;RXD 和 TXD 是串口通讯端口;电源电路LED显示屏GSM模块 5图 2 程序流程图DO,DI,SCLK1,CS 为字库 芯片控制及数据传输端口;DIO,SCLK,DRST 为 DS1302 控制端口;WDI 为看门狗芯片控制端口;SCL,SDA 为 24C32 的数据传输端;初始化启 动 看 门狗判断 GSM是否联机判断 GSM是否有数据输入暂存数据信息解码调用显示结束YNYN判断数据系统显示信息 系统调整信息执行调整程序是否成功 NY6A1-A8,D,G1,G2 是 LED 显示屏的控制端口。RXDTXDRSTSCLKCPUX2CPUX1DIO DRSTLED1LED2LED3WDITESTP1.51 P1.62P1.73 RST4RXD/P3.05 P4.3/INT26TXD/P3.17 INP0/P3.28INP1/P3.39 T0/P3.410T1/P3.511WR/P3.612RD/P3.713XTAL214XTAL115VSS6P4.017A8/P2.018A9/P2.119A10/P2.220A11/P2.321A12/P2.422P2.5/A13 23P2.6/A1424P2.7/A15 25PSEN 26ALE/PROG27P4.1 28EA 29P0.7/AD730P0.6/AD6 31P0.5/AD5 32P0.4/AD433P0.3/AD334P0.2/AD235P0.1/AD136P0.0/AD037VDD38P4.2/INT339P1.0/T240P1.1/T2EX41P1.242P1.343P1.444U7STC89C516RD+ +5VA1A2A3A4A5A6A7A8+5VSCL SDADODISCLK1CSDG2G1图 3 单片机端口分配图6.2 实时时钟电路在本系统中需要显示当前的日期、时间等,因此我 们使用一个时钟芯片,用来提供年、月、日、星期、小时、分钟等信息。我 们选 用 MAXIM 公司生产的时钟芯片 DS1302,外形图如图 4 所示。图 4 DS1302 外形及管脚分布DS1302 是 DALLAS 公司推出的涓流充 电时钟 芯片内含有一个实时时钟日历和 31 字 节静态 RAM 通过简单的串行接口与单片机进行通信 实时时钟/日历电路提供秒、分、时、日、日期、月、年的信息。每月的天数和 闰年的天数可自动调整时钟操作可通过 AM/PM 指示决定采用 24 或 12 小时格式 DS1302 与7单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线 1RES 复位 2 I/O 数据 线 3 SCLK 串行时钟时钟/RAM 的读/ 写数据以一个字节或多达 31 个字 节的字符 组方式通信 DS1302 工作时功耗很低保持数据和时钟信息时功率小于 1mW。DS1302 有两个电源端 VCC1 和 VCC2,VCC1 作为主电源端接电源电压,VCC1 作为备用电源端,可接一个电容,或是接一个备用电池,当失去电源电压时,DS1302 可以通 过备用电源或是电容的放 电来维持供电,保 证时钟芯片能正常运行。当电源电压正常时, 备用电源在线路里不起作用。6.3 看门狗电路由于我们的终端是工作在无人值守的环境中,因此必须防止程序跑飞而造成的死机,系统崩溃等。STC89C516RD+单片机内部集成了硬件看们狗可以满足系统安全性的需求。另外我 们还使用了一个外部看门狗芯片 MAX6865 备用。MAX6865 是美信公司纳安级功耗的微处理器监控 电路,带有手动复位及看门狗定时器, MAX6865 的详细资 料可以参阅 MAX6865 的器件手册。6.3.1 STC89C516RD+单片机内部看门狗的使用STC89C516RD+单片机通过向特殊功能寄存器 WDT_CONTR 写入指定的数据,来启动或复位内部看门 狗。 WDT_CONTR 寄存器的各位及其功能如表 1 所示 5。表 1 WDT_CONTR 寄存器表中各位描述:(1)EN_WDT 看门狗允许位,当 设置为“1” 时,看 门 狗启动。(2)CLR_WDT 看门狗清“ 0”位,当 设置为“ 1”时,看门狗重新计数,硬件将自动清“0”此位。(3)IDLE_WDT 看门狗“IDEL”模式,当 设置为“1”时,看门狗定时器在“ 空闲模式”计数。当该位清“0” 时 ,看门狗计数器在“空闲模式”不计数。(4)PS2、PS1、PS0 看门狗定时器预分频设置控制位。看门狗预分频值如表2 所示。看门狗溢出时间计算。看门狗溢出时间=(NPre_scale32768)/Oscillator frequency,例如,当系统晶振频率为 12MHz,12 时钟 模式,则看门狗溢出时间= (12Pre_scale32768)/12000000。表 2 看门狗定时器预分频值8PS2 PS1 PS0 预分频(Pre_scale)看门狗定时器溢出时间( ms)(12MHz 晶振,12 时钟模式)0 0 0 2 65.50 0 1 4 131.00 1 0 8 262.10 1 1 16 524.21 0 0 32 1048.51 0 1 64 2097.11 1 0 128 4194.31 1 1 256 8388.6了解了看门狗定时器特殊功能寄存器各位的功能,我们就可以使用汇编语言或者 C 语言来操作该寄存器。下面是使用 C 语言操作单片机内部看门狗的子程序。void Reset_Wdt(void)WDT_CONTR = 0x3f; /复位看门狗void Init_Wdt(void)WDT_CONTR = 0x3f; /看门狗初始化,使用 18.432MHz 晶振,设 置为 256 分频,溢出时间大约 5.46 s有了这两个子程序,在使用 STC89C516RD+的内部看门狗的时候,在程序的开始处调用 Init_Wdt 函数,然后在主程序的适当位置调用 Reset_Wdt 函数就可以实现启动以及复位看门狗。一旦程序跑飞或者死机,在规定的时间内(例如本程序中的 5.46s)没有调用 Reset_Wdt 函数,看 门狗 计数器就会溢出,同时发复位信号给单片机,重新启动系 统。 MAX6865 的使用与单片机内部看门狗的使用相同,只是 MAX6865 的定时 器清“0” 是通过把单片机的 P4.2 脚(P4.2 脚与MAX6865 的 WDI 脚相连 )置“ 1”来实现的,这里不再赘述。7 TC35i 模块 AT 指令及中文短信息的收发7.1 单片机与 TC35i 的硬件接口单片机与 TC35i 是通过标准串口进行数据交换的。因此只需要使用一根串口通信电缆(DB9)连接单片机的串口与 TC35i 的串口即可。单片机与 TC35i 的通信电缆连接方式如图 5 所示。单片机与 TC35i 的波特率都设置为 9600bit/s、8位数据位、1 位停止位、无校验位。9123456789RS1R232123456789RS2RS232TC35i图 5 单片机与 TC35i 的连接方式7.2AT 指令介绍单片机与 TC35i 通讯实现任何功能都是通过向 TC35i 发送 AT 指令来实现的。在 TC35i 的用户手册中用来操作 TC35i 的 AT 指令非常繁多,但常用的指令并不是很多。表 3 列出了常用的 AT 指令。表 3 常用 AT 指令AT 指令 功能描述AT 联机命令AT+CSQ 查询信号质量AT+CREG? 查询注册状况AT+IPR 设置串行通信的波特率AT&V 显示 GSM 模 块当前的一些设置AT+CMGF 设置短信编码格式 1-Text 格式, 0-PDU 格式AT+CNMI 选择短消息到来时系统的提示方式AT+CMGR 读取一条短消息AT+CMGL 将 SIM 卡中存 贮的短消息列表AT+CMGS 发送短消息AT+CMGD 删除一条短消息7.3 单片机发送 AT 指令的程序设计单片机与 GSM 模块(TC35i )的软件接口其实就是单 片机通过发送相关的 AT 指令 对 GSM 模块进行操作的技术。如 设置短信息的 编码方式、 读取手机的短信息内容、删除短信息内容、列出手机中 还未读的短消息等。执行 1 条指令,并非某些资料介绍的那么简单,事实上,指令的 执行过程需要单片机与手机交互应答完成,每一次发送或接收的字节数都有严格的规定,二者必须依据这些规定实现数据交换,否则,就会出现通信失败。表 4 列出 AT 指令执行过程。需要重点说明的是,所有 AT 指令的指令符号、常数、PDU 数据包等都是以ASCII 编码形式传送的。比如 “A”的 ASCII 编码为 41H,“T”的 ASCII 编码为 54H,数字“0”的 ASC编码为 30H 等。 单片机通过串口向手机 发送每一条指令后,必须以回车符作为该条指令的结束,回车符的 ASCII 编码为 0DH。例如, 单片机向10手机发送“AT+CMGF=0”这条指令,其 ASCII 编码序列为“41H 、54H、2B H、42H、4DH、47H、46H、3DH、30H、0DH”,最后一个字节“0DH” 就是回车符,表示该条指令结束,如果没有这个回车符,手机将不 识别这条指令。当手机接收到一条完整的 AT 指令后,手机并不立即执行这条指令,而是首先把刚才接收到的 AT 指令的全部 ASC编码序列全部反发送出来(含 0DH),其次发送 1 个回车符和换行符的 ASC编码即 0DH 和 0AH,最后 执行该条指令。例如发送“AT+CMGF=0”这条指令给 GSM 模块,如果通信成功,则 GSM 模块返回“AT+CMGF=0 OK”,即单片机接收到的数据是该字符串的 ASCII 码“41H 54H 2BH 43H 4DH 47H 46H 3DH 30H 0DH 0DH 0AH 4FH 4 BH 0DH 0AH”这表示该条指令已经被成功的执行。表 4 AT 指令的执行过程7.4 中文短信息的收发7.4.1 PDU 模式及中文短信息的编码短信收发的编码格式一共有三种:Block 模式, Text 模式和 PDU(protocol description unit)模式。其中 Block Mode 已经逐 渐被淘汰,目前很少用了。Text Mode 是 纯文本方式,可使用不同的字符集,从技术 上说也可用于发送中文短消息,但国内手机基本上不支持,主要用于欧美地区。PDU Mode 被所有手机支持,可以使用任何字符集,这也是手机默认的编码方式。Text Mode 比较简单,而且11不适合做自定义数据传输,我们就不讨论了。下面介绍的内容,是在 PDU Mode下发送和接收短消息的实现方法。PDU 串表面上是一串 ASCII 码,由 “0”-“9”、“A”-“F”这些数字和字母组成。它们是 8 位的十六进制数,或者 BCD 码十进制数。PDU 串不仅包含可显示的消息本身,还 包含很多其他信息,如 SMS 服务中心号码、目标号码、回复号 码、编码方式和服务时间等。发送和接收的 PDU 串,结构是不完全相同的。我们先用两个实际的例子说明 PDU 串的结构和编排方式。例 1,发送一条 PDU 格式的中文短信息,SMSC 号码是(短信中心号 码)+8613800371500,目标号码+8615939026810,短信息内容是“ 你好!”, 则从单片机发送到 GSM 模块的 PDU 串可以是“ 0891683108301705F011000D91685139096218F0000801064F60597DFF01”,如果使用默认的短信中心号码则 PDU 串可以是:“0011000D91685139096218F0000801064F60597DFF01”。对照 PDU 编码的规范,各段含义如表 5 所示。例 2,接收一条短信息,SMSC 号 码是(短信中心号 码)+8613800371500,对方号码是+8615850180731,则从 GSM 模 块读取的 PDU 串为:“0891683108301705F0240D91685158100837F1000880401001156423064F60597DFF01”,表 6 列出了对该 PDU 串的详细解释。表 5 发送 PDU 串分析分段 含义 说明08 SMSC 短信中心地址长度 共 8 个 8 位字节包含 9191 SMSC 地址格式 用国际格式号码(在前面加 “+”)683108301705F0 SMSC 短信中心号码 8613800371500 字节翻转后补“F”凑成偶数个11 基本参数(TP-MTI/VFP) 发送 TP-VP,用相 对格式00 消息基准值(TP-MR) 00D 目标号码长度 共 13 个十进 制数(不包含 91,“F”)91 目标地址格式 用国际格式号码(在前面加 “+”)685139096218F0 目标号码 8615939026810,补“F”凑成偶数个00 协议标示(TP-PID ) 普通 GSM 类型,点对点方式08 用户信息 编码 方式(TP-DSC) 8bit 编码01 短消息有效期( TP-VP) (VP+1)*5 分钟06 用 户信息度( TP-UDL) 实际长度 6 个字节4F60597DFF01 用户信息( TP-UD) “你好!”Unicode 编码从两个表格中内容我们可以看出:(1)若基本参数的最高位(TP-RP)为 0,则没有回复地址的三个段。从 Internet上发出的短消息常常是这种情形。(2)SMSC 号 码、手机号 码 和时间的表示方法,不是按正常顺序顺着来的,而是按照先存放地位字节后存放高位字节的规则形成的,而且要加“ F”将奇数补成偶数。表 6 接收 PDU 串详解12分段 含义 说明08 SMSC 短信中心地址长度 共 8 个 8 位字节(包含 91)91 SMSC 地址格式 用国 际格式号 码(在前面加 “+”)683108301705F0 SMSC 短信中心号码 8613800371500 字节翻转后补“F” 凑成偶数个24 基本参数 接收、无更多信息、有回复地址0D 对方号码长度 共 13 个十进制数(不包含 91,“F”)91 地址格式 用国 际格式号 码(在前面加 “+”)685198830188F6 对方号码补“F” 凑成偶数个00 协议标示(TP-PID) 普通 GSM 类型,点对点方式08 用 户信息 编码方式(TP-DCS) Unicode 编码80401001156423 时间戳( TP-SCTS) 08-04-01 10:51:46 时区 2306 用户信息长度 实际长度 6 个字节4F60597DFF01 用户信息内容 “你好!”在 PDU 模式中,可以采用三种编码方式来对发送的内容进行编码,它们是UTF7、UTF8 和 UCS2 编码。(1)UTF7 编码用于发送普通的 ASCII 字符,它将一串 7 位的字符(ASCII 码表示形式) 编码 成 8 位的二进制数据,每 8 个字符可“ 压缩” 成 7 个,UTF7 处理 ASCII 字符的 时候需要做 “补位”处理。 补位规则 :将后一字节的从尾取位补在前一字节的头,补满 8 位。(2)UTF8 编码通常用于发送数据消息,比如图片和铃声等。(3)如果发送中文字符,则采用 UCS2 编码方式,每个中文字符用 16 位二进制数据的 Unicode 字符编码 方式表示,如果是中英文混合的短信,由于英文字符只占 1 字节,需要补 0,成为 16 位的编码。例如, “你好!” 的 Unicode 编码为4F60597D0021,其中“ !”的 ASCII 码为 21H,编码后为 0021H。7.4.2 PDU 模式中文短信息发送的程序设计在 PDU 模式中, UCS2 编码用于发送 UNICODE 字符。PDU 串的用户信息(TP-UD)段最大容量是 140 字节,所以在这三种编码方式下,可以发送的短消息的最大字符数分别是 160、140 和 70。这里,将一个英文字母、一个汉字和一个数据字节都视为一个字符。了解了 PDU 串的格式以及 PDU 模式下中文信息的编码方式,我们就可以使用汇编 或 C 语言来实现中文短消息的 发送和接收。7.4.3 PDU 模式中文短信息的接收与解码由于中文字的编码是采用 2 个字节的编码,因此发送和接收中文或中英文混合的短信息只能采用 PDU 模式。使用 AT 指令“AT+CMGR” 就可以从 GSM 模块中读取一条 PDU 格式的中英文短信息字符串。但在 GSM 标准中,中文编码采13用 UTF-8 的编码,不是目前国内常用的 GB-2312 编码,故还需要进行中文编码的转换,才能与采用 GB-2313 汉字库相配合显示汉字字型。由于 UTF-8 和 GB-2312 编码之间不存在一一对应的线性关系,因此只能采用查表的方式进行转换。采用查表法把 UTF-8(汉字 Unicode 编码)转换为 GB-2312 编码的程序流程图如图 6 所示。采用查表法把 UTF-8(汉字 Unicode 编码)转换为 GB-2312 编码的 C 语言从 PDU 串中读 取 2 字节Unicode 汉字编码在 0020H和 007EH 之间?查找 Unicode 编码在表中的位置 i11;for(j=0;j=0x20&temp_l1)/94+0xB0;*pDst+=(i1)%94+0xA1;return nDstLength;8 字库芯片与 LED 显 示屏8.1 字库芯片8.1.1 字库芯片的介绍GT23L32S4W(如图 7 所示)是一款内含 11X12 点阵、15X16 点、24X24 点阵、32X32 点阵的汉字库芯片,支持 GB2312 国标汉字(含有国家信标委合法授权)及 ASCII 字符。排列格式 为横置横排。用 户通过字符内码,利用本手册提供的方法计算出该字符点阵在芯片中的地址,可从该地址连续读出字符点阵信息。图 7 字库芯片 GT23L32S4W8.1.2 字库芯片的调用程序此程序调用一次,就缓存一个汉字的点阵数据,本程序采用一般读取方式(Read Data Bytes ),需要用指令码来执行每一次操作(程序流程图如图 8):首先把片选信号(CS#)变为 低, 紧跟着的是 1 个字 节的命令字(03 h)和 3 个字节的地址和通过串行数据输入引脚(SI)移位输 入,每一位在串行时钟(SCLK)上升沿被 锁存。 然后该地址的字节数据通过串行数据输出引脚(SO)移位输出,每一位在串行时钟(SCLK )下降沿被移出。读取字节数据后,则把片选信号(CS#)变为高,结束本次操作。 16如果片选信号(CS#)继续 保持为底, 则下一个地址的字节数据继续通过串行数据输出引脚(SO)移位输出。图 8 字库芯片程序调用字库芯片调用程序如下:/* 函数名称: ZIKU* 功能描述: 字库芯片的调用程序* 输 出: data Hz_3232*/INT8U ZIKU(INT8U data Hz_3232)un
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年智能仓储分拣技术对仓储行业物流效率提升的关键技术报告
- 智能垃圾分类与环保教育融合模式研究报告
- 两类心脏电性模型的Carleman估计及其在心脏电生理研究中的应用
- 不同给药途径下小剂量肾上腺素对大鼠血压的影响及机制探究
- 5-羟基癸酸盐对大鼠低氧性肺动脉高压的干预机制:炎症因子视角
- 2025年淡水捕捞产品项目深度研究分析报告
- 电子竞技赛事赞助策略研究:2025年品牌合作与赛事营销策略报告
- 2025年工业互联网区块链智能合约安全教育与培训体系构建报告
- 校园直饮水工程建设可行性研究报告
- 2025年绿化工作述职报告
- 《装配式成品支吊架安装验收规程》
- 支付令申请书模板:工程款支付令
- 养殖场消防知识讲座
- 2023年10月自考00533中国古代文学作品选(二)试题及答案含评分标准
- 拖拉机驾驶员培训(课件)
- 媒介发展史概论
- GA 2093-2023公安机关警务辅助人员工作证内卡技术规范
- 2024年6月福建省普通高中学生学业基础会考生物试题
- 第8课《求救信号》课件
- 某公路工程有限公司专项应急预案及某公路项目部安全生产应急预案
- 危化品运输车辆的GPS监控与追踪系统
评论
0/150
提交评论