




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
3淮南师范学院2011届本科毕业论文基于GSM控制的LED显示屏的研究与设计控制学生:张乐指导老师:王丽淮南师范学院电气信息工程系摘 要:随着科技的不断进步,人们的生活节奏也在不断的加快,这时,信息的传递在我们的生活中的就扮演了一个重要的角色。近年来,随着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 modemStudent Zhang LeSupervisor Wang LiInstitute of Electrical and Information Engineering, Huainan NormalAbstact:As 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-chip1 绪论随着LED显示技术的不断发展,LED显示屏在我们的生活中的应用越来越广泛。火车站、银行、广场、高速公路等需要及时发布信息及广告的发布的地方随处可见。从目前的应用情况来看,大多数的LED屏显示的信息还是由专用的PC机进行信息的更新、模式控制等,也有一些显示信息不需要频繁更新的场合采用了单片机控制。但是大多的数据传输还是局限于有线传输,出于对布线及抗干扰能力的考虑,会很大程度的限制它的应用范围。本文主要针对这个问题介绍了基于GSM的无线LED显示屏的软件设计过程。通过对不同方案的综合比较,决定使用GSM短消息作为数据传输媒介,单片机作为核心控制元件。文中主围绕控制的核心STC89C516RD+单片机对周边原件,GSM模块和LED显示屏的软件控制做了详细的介绍。文中主要解决了GSM模块收发中文信息、Unicode码向GB2312编码转换、对字库芯片的调用及对LED显示屏的控制的软件设计。1.1 LED显示屏的发展及市场前景2009年整体LED产业仍将正向增长,具有节能优势的LED将成2009年市场上独领风骚的核心产业之一。其中3大最具爆发性的市场,就是LED路灯、户外显示屏,以及采用LED 背光模块的中大型显示器市场。预测LED照明将于2010年进入商品化阶段;2009年中国LED显示屏产值将达137亿人民币,年增37%;LED背光应用在笔记本电脑(NB)领域迅速导入后瞬间爆发,预计2010年大尺寸LED背光发展趋势也将明朗化1。2006年之后高亮度LED显示屏亦即HB-LED尤其是超高亮度的LED显示屏(又称UHB-LED),销售增长幅度极为惊人。HB-LED到在2008年的营收达26.4亿美元,而UHB-LED占全球LED显示屏市场的22%,而高亮度LED显示屏的市场规模将从2006年的66亿美元增长到2012年117亿美元,其每年平均增长率为10.2%。 其中,LED显示屏市场将以10.3%的年平均增长率,从2006年的65亿美元增长到2012年97亿美元,LED显示屏基版材料预计将从2006年的11亿美元增长到2012年20亿美元,其年增长率将达到9.7%。高亮度LED显示屏高速发展,但LED显示屏产业的主要应用领域预计不会发生变化,还是目前的显示器、照明领域及信息通信领域,而增长率方面,太阳电池等光能源领域及传感器等医疗福利领域将有很大增长。从不同地区来看,最大市场不会改变,仍旧是北美,不过估计除日本、欧美以外的各地区的LED显示屏市场规模到2015年将达到约为2002年的4倍,增长率最高2。29淮南师范学院2011届本科毕业论文1.2 GSM模块的应用早期的GSM模块主要是供手机厂使用,手机厂直接购买模块,配上外围的器件就是可以生产一部手机。GSM模块解决了手机设计中复杂的射频发送和基带处理问题,并提供了标准的通信接口,厂商不用再从底层的芯片级开始进行手机的设计,缩短了设计周期。5年前,国内的手机厂家几乎都是购买国外的成品GSM模块进行二次开发生产手机的,近几年,随着国内手机设计公司的逐渐成熟,手机厂家才摆脱对GSM模块的依赖,转为直接从芯片级入手生产手机。目前,GSM模块依然在广泛的工业应用领域使用,在更行各业都能看到GSM模块应用的产品3。例如,在车载监控领域,使用GSM模块将车辆行驶的GPS数据传输回车辆管理中心;在电力、水务系统,通过GSM模块实现了远程智能抄表,可以实时监控用户的用电和用水量;在测绘行业,为很多偏僻的测绘点安装了GSM模块实现了实时的监控,不必再人工收集数据;在家庭,可以安装无线报警系统,一旦发生火情或盗窃行为,可以立即通知户主和报警;在国外,很多老人小孩带了个人跟踪器防止老人和小孩走失或意外发生,里面也是集成了GSM模块。可以说,随着GSM的网络建设的完善,GSM模块的应用范围也越来越广。2 单片机2.1 STC89C516RD单片机端口分配如图1所示:LED1-LED3是指示灯控制端口;RXD和TXD是串口通讯端口;DO,DI,SCLK1,CS为字库芯片控制及数据传输端口;DIO,SCLK,DRST为DS1302控制端口;WDI为看门狗芯片控制端口;SCL,SDA为24C32的数据传输端;A1-A8,D,G1,G2是LED显示屏的控制端口。图1 单片机端口分配图3 GSM模块工作原理3.1 TC35i介绍短信模块技术特点体积小、重量轻低功耗支持数据、语音、短消息和传真SIM 应用工具包AT 命令集控制R&TTE 认证、GCF认证SMS:MT/MO/CB/PDU模式音频: 最高速率,升级最高速率和半速率便于集成 TC35/TC35I短信模块电气特性支持电压范围:3.3 至4.4V电流消耗: 3.0 mA(睡眠) 10.0 mA(闲置)300 mA (通话,最高2.0 A) 100 A(掉电) TC35/TC35I短信模块输出功率: 2W-类别4,for EGSM 900 1W-类别1,for GSM 1800 TC35/TC35I短信模块机械特性尺寸: 54.5 x 36 x 6.75 mm重量:17g环境温度: 20C to +55C (GSM 11.10标准)数据特征: CSD 最大达到14.4 kbps、 USSD、 不透明模式译码方式:CS 1,2,3,43.2 AT指令AT指令一般应用于MT和TE程序间通信,即终端设备与PC应用之间的连接与通信。其对所传输的数据包大小有定义:即对于AT指令的发送,除AT两个字符外,最多可以接收1056个字符的长度(包括最后的空字符)4。每个AT命令行中只能包含一条AT指令;对于由终端设备主动向PC端报告的URC指示或者response响应,也要求一行最多有一个,不允许上报的一行中有多条指示或者响应。AT指令以回车作为结尾,响应或上报以回车换行为结尾。AT指令是以AT作首, 字符结束的字符串,AT指令的响应数据包在 中。每个指令执行成功与否都有相应的返回。其他的一些非预期的信息(如有人拨号进来、线路无信号等),模块将有对应的一些信息提示,接收端可做相应的处理。示例:CDMA modem DTEAT OK ATTEST ERROR 如果AT指令执行成功,“OK”字符串返回;如果AT 指令语法错误或AT 指令执行失败,“ERROR”字符串返回。AT 指令功 能AT+CMGCSend an SMS command(发出一条短消息命令)AT+CMGDDelete SMS message(删除SIM卡内存的短消息)AT+CMGFSelect SMS message formate(选择短消息信息格式:0-PDU;1-文本)AT+CMGLList SMS message from preferred store(列出SIM卡中的短消息PDU/text: 0/“REC UNREAD”-未读,1/“REC READ”-已读,2/“STO UNSENT”-待发,3/“STO SENT”-已发,4/“ALL”-全部的)AT+CMGRRead SMS message(读短消息)AT+CMGSSend SMS message(发送短消息)AT+CMGWWrite SMS message to memory(向SIM内存中写入待发的短消息)AT+CMSSSend SMS message from storage(从SIN|M内存中发送短消息)AT+CNMINew SMS message indications(显示新收到的短消息)AT+CPMSPreferred SMS message storage(选择短消息内存)AT+CSCASMS service center address(短消息中心地址)AT+CSCBSelect cell broadcast messages(选择蜂窝广播消息)AT+CSMPSet SMS text mode parameters(设置短消息文本模式参数)AT+CSMSSelect Message Service(选择短消息服务)3.3短消息编码设需要发送的短消息内容为“Hi”,使用的GSM字符集为7位编码。首先将字符转换为7位的二进制,然后,将后面字符的位调用到前面,补齐前面的 差别5。例如:H翻译成1001000,i翻译成1101001,显然H的二进制编码不足八位,那么就将i的最后一位补足到H的前面。那么就成了 11001000(C8),i剩下六位110100,前面再补两个0,变成00110100(34),于是“Hi”就变成了两个八进制数 C8 34。鉴于TC35(T)支持TEXT格式,我们在试验中主要测试该格式。(1)设置短消息中心AT+CSCA=+861331500(短消息中心);(2)设置短消息发送格式AT+CMGF=1 (1-TEXT; 0-PDU);(3)发送短消息(短消息内容为“test”)AT+CMGS=13505560(目的地址) test z ;(4)设置短消息到达自动提示: 设置短消息到达提示当短消息被接收,将获取指令: +CMTI:SM,INDEX(信息存储位置)AT+CNMI=1,1,0,0,1();(5)获取短消息内容(Once more),假设INDEX8。AT+CMGR=8返回信息如下:+CMGR: REC UNREAD,+86135085560,01/07/16,15:37:28+32,Once more4 LED显示屏简介4.1 简介LED显示屏(LEDdisplay):又叫电子显示屏或者飘字屏幕。是由LED点阵组成,通过红色或绿色灯珠的亮灭来显示文字、图片、动画、视频,内容可以随时更换,各部分组件都是模块化结构的显示器件6。通常由显示模块、控制系统及电源系统组成。显示模块由LED灯组成的点阵构成,负责发光显示;控制系统通过控制相应区域的亮灭,可以让屏幕显示文字、图片、视频等内容,恒舞动卡主要是播放动画的;电源系统负责将输入电压电流转为显示屏需要的电压电流。LED显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。4.2 LED显示屏的分类(1)按显示器件分类LED数码显示屏:显示器件为7段码数码管,适于制作时钟屏、利率屏等,显示数字的电子显示屏。LED点阵图文显示屏:显示器件是由许多均匀排列的发光二极管组成的点阵显示模块,适于播放文字、图像信息。LED视频显示屏:显示器件是由许多发光二极管组成,可以显示视频、动画等各种视频文件。(2)按使用场合分类室内显示屏:发光点较小,一般3mm-8mm,显示面积一般几至十几平方米。室外显示屏:面积一般几十平方米至几百平方米,亮度高,可在阳光下工作,具有防风、防雨、防水功能7。4.3 LED显示屏关键技术指标像素失控率像素失控率是指显示屏的最小成像单元(像素)工作不正常(失控)所占的比例8。而像素失控有两种模式:一是盲点,也就是瞎点,在需要亮的时候它不亮,称之为瞎点;二是常亮点,在需要不亮的时候它反而一直在亮着,称之为常亮点。一般地,像素的组成有2R1G1B(2颗红灯、1颗绿灯和1颗蓝灯,下述同理)、1R1G1B、2R1G、3R6G等等,而失控一般不会是同一个像素里的红、绿、蓝灯同时全部失控,但只要其中一颗灯失控,我们即认为此像素失控。为简单起见,我们按LED显示屏的各基色(即红、绿、蓝)分别进行失控像素的统计和计算,取其中的最大值作为显示屏的像素失控率。失控的像素数占全屏像素总数之比,我们称之为“整屏像素失控率”。另外,为避免失控像素集中于某一个区域,我们提出“区域像素失控率”,也就是在100100像素区域内,失控的像素数与区域像素总数(即10000)之比。此指标对LED显示屏通用规范SJ/T11141-2003中“失控的像素是呈离散分布”要求进行了量化,方便直观。目前国内的LED显示屏在出厂前均会进行老化(烤机),对失控像素的LED灯都会维修更换,“整屏像素失控率”控制在1/104之内、“区域像素失控率”控制在3/104之内是没问题的,甚至有的个别厂家的企业标准要求出厂前不允许出现失控像素,但这势必会增加生产厂家的制造维修成本和延长出货时间。在不同的应用场合下,像素失控率的实际要求可以有较大的差别,一般来说,LED显示屏用于视频播放,指标要求控制在1/104之内是可以接受,也是可以达到的;若用于简单的字符信息发布,指标要求控制在12/104之内是合理的灰度等级灰度也就是所谓的色阶或灰阶,是指亮度的明暗程度。对于数字化的显示技术而言,灰度是显示色彩数的决定因素。一般而言灰度越高,显示的色彩越丰富,画面也越细腻,更易表现丰富的细节。灰度等级主要取决于系统的A/D转换位数。当然系统的视频处理芯片、存储器以及传输系统都要提供相应位数的支持才行。 目前国内LED显示屏主要采用8位处理系统,也即256(28)级灰度。简单理解就是从黑到白共有256种亮度变化。采用RGB三原色即可构成256256256=16777216种颜色。即通常所说的16兆色。 国际品牌显示屏主要采用10位处理系统,即1024级灰度,RGB三原色可构成10.7亿色。灰度虽然是决定色彩数的决定因素,但并不是说无限制越大越好。因为首先人眼的分辨率是有限的,再者系统处理位数的提高会牵涉到系统视频处理、存储、传输、扫描等各个环节的变化,成本剧增,性价比反而下降。一般来说民用或商用级产品可以采用8位系统,广播级产品可以采用10位系统。5 系统的硬件设计5.1 整体方案选择方案一:基于ARM的嵌入式系统与GSM模块构成的系统。由于ARM处理器的功能强大,资源丰富,因此使用这种方案可以使系统功能近乎完美,并且由于使用了操作系统,应用程序的设计会变得简单可靠9。但是这种方案成本较高,同时使用的嵌入式操作系统也会占用一部分额外的硬件资源,这样会大大的提高开支。目前情况下我们不考虑这种方案。方案二:SoC型单片机与GSM模块构成的系统。目前SoC型单片机已非常普遍,基于51内核的SoC型芯片也有众多供应厂商。例如,国内宏晶科技的STC系列,Cyganl公司的C8051系列。这些单片机都有丰富的片上资源,一般都不需要外扩其他器件就可以构成一个完整的系统。片上系统的优点在于减小了布线的麻烦,提高了系统的整体性能,并且它的价格低廉,经济实惠,因此我们选用这种方案1。5.2 LED显示屏控制方法选择方案一:选择与显示屏配套的控制卡。控制卡主要由DSP芯片作为控制核心,周边由字库芯片,存储器件,驱动芯片及接口电路组成。其中,它的接口电路有与显示屏连接的08接口和与外部数据通信的RS232接口。它主要是通过上位机软件进行数据修改。于是,我们如果用单片机对它进行控制,就要清楚上位机与显示屏控制卡之间的控制协议以此进行程序的编写。采用这种方案对于硬件电路的设计比较容易,可是程序编写会比较复杂。方案二:自己做控制卡。自己选择字库芯片,驱动芯片由单片机直接对其进行控制。通过我们查找不同的字库芯片,最后选择了上海集通公司的GT23L32S4W4。GT23L32S4W是一款内含11X12点阵、15X16点、24X24点阵、32X32点阵的汉字库芯片,支持GB2312国标汉字(含有国家信标委合法授权)及SCII字符。排列格式为横置横排。用户通过字符内码,利用本手册提供的方法计算出该字符点阵在芯片中的地址,可从该地址连续读出字符点阵信息。我们可以通过单片机对字库芯片进行读取。同时用单片机控制驱动芯片74HC245,用于对LED显示屏进行控制10。该方案硬件电路设计较为麻烦,可是它解决了对方案一中上位机与显示屏控制卡之间的控制协议的问题。通过我们不断的资料搜集,发现上位机与显示屏控制卡之间的控制协议这一问题很难解决,这个协议很难获取,因此,和导师讨论后,决定采取第二种方案。5.3 系统总体框图根据设计要求及方案论证,系统终端电路方框图如下图1所示:在图2所示的方框图中,单片机系统包括单片机系统芯片STC89C516RD+、时钟芯片DS1302、看门狗芯片MAX6865、GSM接口MAX232,存储芯片24C32,字库芯片GT23L32S4W及驱动芯片74HC245。GSM模块采用TC35i,TC35i带有标准的串行通信接口通过MAX232进行电平转换后与单片机进行接口。在本设计中我们的重点是进行短信息的接收与PDU解码以及字库芯片的使用。其中字库芯片的使用问题比较多。由于这个字库芯片采用的是3.3V供电,而我们的系统采用的是5V供电,所以要进行电平的转换。所以我们采用了电平转换芯片74HC1G08,用以进行电平匹配。显示屏驱动电路主要是通过74HC245连接在LED显示屏的08接口上,用以对LED显示屏进行控制。LED显示屏我们采用市面上出售的带有标准08接口的显示屏。LED显示屏GSM模块 电源电路 实时时钟电路单片机系统看门狗电路存储电路显示屏字库电路显示屏驱动电路GSM模块接口电路图2 系统终端硬件电路方框图5.4 程序整体设计思路程序流程图如图3所示:由程序流程图我们不难看出,程序主要包括数据接收和显示程序。其中,数据接收主要是对GSM模块儿进行控制。GSM与单片机联机成功后,如果判断出有数据输入,调用短信接收程序,接收采用PDU编码的信息,并将读出的信息内容存入外部存储器中,然后对读出的数据进行解码,把UTF-8(汉字Unicode编码)转换为GB-2312码。这样得到汉字的国标码之后,通过公式可以得出汉字的机内码11。有了汉字的机内码,可以算出该汉字在点阵字库中的点阵数据在字库芯片中的起始位置,把得到的点阵数据送入LED显示屏中就可以显示出相应的汉字的字型码了。5.5 单片机外围器件及其驱动程序的设计初始化启动看门狗判断GSM是否联机判断GSM是否有数据输入暂存数据信息解码调用显示结束YNYN判断数据系统显示信息系统调整信息执行调整程序是否成功NY图3 程序流程图实时时钟电路在本系统中需要显示当前的日期、时间等,因此我们使用一个时钟芯片,用来提供年、月、日、星期、小时、分钟等信息。我们选用MAXIM公司生产的时钟芯片DS1302,外形图如图4所示。图4 DS1302外形及管脚分布DS1302 是 DALLAS 公司推出的涓流充电时钟芯片内含有一个实时时钟日历和 31 字节静态 RAM 通过简单的串行接口与单片机进行通信 实时时钟/日历电路提供秒、分、时、日、日期、月、年的信息。每月的天数和闰年的天数可自动调整时钟操作可通过 AM/PM 指示决定采用24 或12小时格式DS1302 与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线1RES 复位 2 I/O 数据线3 SCLK串行时钟时钟/RAM 的读/写数据以一个字节或多达 31 个字节的字符组方式通信 DS1302工作时功耗很低保持数据和时钟信息时功率小于1mW。DS1302有两个电源端VCC1和VCC2,VCC1作为主电源端接电源电压,VCC1作为备用电源端,可接一个电容,或是接一个备用电池,当失去电源电压时,DS1302可以通过备用电源或是电容的放电来维持供电,保证时钟芯片能正常运行12。当电源电压正常时,备用电源在线路里不起作用。STC89C516RD+单片机内部看门狗的使用STC89C516RD+单片机通过向特殊功能寄存器WDT_CONTR写入指定的数据,来启动或复位内部看门狗。WDT_CONTR寄存器的各位及其功能如表1所示5。 表1 WDT_CONTR寄存器MnemonicAddName76543210Reset ValueWDT_CONTRE1hWatch-Dog-TimerControl register-EN_WDTCLR_WDTIDLE_WDTPS2PS1PS0Xx00,0000表中各位描述:(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看门狗定时器预分频值PS2PS1PS0预分频(Pre_scale)看门狗定时器溢出时间(ms)(12MHz晶振,12时钟模式)000265.50014131.00108262.101116524.2100321048.5101642097.11101284194.31112568388.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函数就可以实现启动以及复位看门狗13。一旦程序跑飞或者死机,在规定的时间内(例如本程序中的5.46s)没有调用Reset_Wdt函数,看门狗计数器就会溢出,同时发复位信号给单片机,重新启动系统。MAX6865的使用与单片机内部看门狗的使用相同,只是MAX6865的定时器清“0”是通过把单片机的P4.2脚(P4.2脚与MAX6865的WDI脚相连)置“1”来实现的,这里不再赘述。6 系统的软件设计6.1 单片机与TC35i的硬件接口单片机与TC35i是通过标准串口进行数据交换的。因此只需要使用一根串口通信电缆(DB9)连接单片机的串口与TC35i的串口即可。单片机与TC35i的通信电缆连接方式如图5所示。单片机与TC35i的波特率都设置为9600bit/s、8位数据位、1位停止位、无校验位。图5 单片机与TC35i的连接方式6.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删除一条短消息6.3 单片机发送AT指令的程序设计单片机与GSM模块(TC35i)的软件接口其实就是单片机通过发送相关的AT指令对GSM模块进行操作的技术。如设置短信息的编码方式、读取手机的短信息内容、删除短信息内容、列出手机中还未读的短消息等。执行1条指令,并非某些资料介绍的那么简单,事实上,指令的执行过程需要单片机与手机交互应答完成,每一次发送或接收的字节数都有严格的规定,二者必须依据这些规定实现数据交换,否则,就会出现通信失败。表4列出AT指令执行过程。需要重点说明的是,所有AT指令的指令符号、常数、PDU数据包等都是以ASCII编码形式传送的。比如“A”的ASCII编码为41H,“T”的ASCII编码为54H,数字“0”的ASC编码为30H等。单片机通过串口向手机发送每一条指令后,必须以回车符作为该条指令的结束,回车符的ASCII编码为0DH。例如,单片机向手机发送“AT+CMGF=0”这条指令,其ASCII编码序列为“41H、54H、2B H、42H、4DH、47H、46H、3DH、30H、0DH”,最后一个字节“0DH”就是回车符,表示该条指令结束,如果没有这个回车符,手机将不识别这条指令。当手机接收到一条完整的AT指令后,手机并不立即执行这条指令,而是首先把刚才接收到的AT指令的全部ASC编码序列全部反发送出来(含0DH),其次发送1个回车符和换行符的ASC编码即0DH和0AH,最后执行该条指令14。例如发送“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指令的执行过程指令步骤单片机发送,手机接受字节手机发送,单片机接受字节含义AT141H54H0DH3发送AT指令241H54H0DH3手机应答30DH0AH2回车换行44FH4BH2OK连接成功45H52H52H4FH4FH52H5ERROR连接失败50DH0AH2回车换行AT+CMGF=0141H854H2BH43H4DH47H46H3DH30H3DH10发送AT+CMGF=0指令241H854H2BH43H4DH47H46H3DH30H3DH10手机应答30DH0AH2回车换行44FH4BH2OK连接成功45H52H52H4FH4FH52H5ERROR连接失败50DH0AH2回车换行AT+CMGR=1141H854H2BH43H4DH47H46H3DH30H3DH10发送AT+CMGF=1指令,读取第一条短信241H854H2BH43H4DH47H46H3DH30H3DH10手机应答30DH0AH2回车换车42BH43H4DH47H52H3AH31H2CH35H30H10发送AT+CMGF=1指令,读取第一条短信。50表示PDU数据包共50+9个字节6.4 中文短信息的收发PDU模式及中文短信息的编码短信收发的编码格式一共有三种:Block模式, Text模式和PDU(protocol description unit)模式。其中Block Mode已经逐渐被淘汰,目前很少用了。Text Mode是纯文本方式,可使用不同的字符集,从技术上说也可用于发送中文短消息,但国内手机基本上不支持,主要用于欧美地区。PDU Mode被所有手机支持,可以使用任何字符集,这也是手机默认的编码方式。Text Mode比较简单,而且不适合做自定义数据传输,我们就不讨论了。下面介绍的内容,是在PDU Mode下发送和接收短消息的实现方法。PDU串表面上是一串ASCII码,由“0”-“9”、“A”-“F”这些数字和字母组成。它们是8位的十六进制数,或者BCD码十进制数。PDU串不仅包含可显示的消息本身,还包含很多其他信息,如SMS服务中心号码、目标号码、回复号码、编码方式和服务时间等。发送和接收的PDU串,结构是不完全相同的。我们先用两个实际的例子说明PDU串的结构和编排方式。例1,接收一条短信息,SMSC号码是(短信中心号码)+8613800371500,对方号码是+8615850180731,则从GSM模块读取的PDU串为:“0891683108301705F0240D91685158100837F1000880401001156423064F60597DFF01”,表6列出了对该PDU串的详细解释。表5发送PDU串分析分段含义说明08SMSC短信中心地址长度共8个8 位字节包含9191SMSC地址格式用国际格式号码(在前面加“+”)683108301705F0SMSC短信中心号码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串详解分段含义说明08SMSC短信中心地址长度共8个8 位字节(包含91)91SMSC地址格式用国际格式号码(在前面加“+”)683108301705F0SMSC短信中心号码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。PDU模式中文短信息发送的程序设计在PDU模式中,UCS2编码用于发送UNICODE字符。PDU串的用户信息(TP-UD)段最大容量是140字节,所以在这三种编码方式下,可以发送的短消息的最大字符数分别是160、140和70。这里,将一个英文字母、一个汉字和一个数据字节都视为一个字符。了解了PDU串的格式以及PDU模式下中文信息的编码方式,我们就可以使用汇编或C语言来实现中文短消息的发送和接收。PDU模式中文短信息的接收与解码由于中文字的编码是采用2个字节的编码,因此发送和接收中文或中英文混合的短信息只能采用PDU模式。使用AT指令“AT+CMGR”就可以从GSM 模块中读取一条PDU格式的中英文短信息字符串。但在GSM标准中,中文编码采用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编码在表中的位置i1i13536?利用i值计算国标码并保存ASCII字符处理下一编码转换?错误处理结束NYNYYN图6 Unicode编码转GB2312程序流程图6.5 字库芯片与LED显示屏字库芯片的介绍GT23L32S4W(如图7所示)是一款内含11X12点阵、15X16点、24X24点阵、32X32点阵的汉字库芯片,支持GB2312国标汉字(含有国家信标委合法授权)及ASCII字符。排列格式为横置横排。用户通过字符内码,利用本手册提供的方法计算出该字符点阵在芯片中的地址,可从该地址连续读出字符点阵信息。33SPI_SI/PLII_A0SPI_CS#/PLII_CS#PLII_A1SPI/PLII_SELD5D4SPI_HOLD#/PLII_WESPI_CLKVSSD6SPI_SO/DOVSSOE#D1D2D 3VCCVSSVSSD71256789102019181716151413121134图7 字库芯片GT23L32S4W字库芯片的调用程序此程序调用一次,就缓存一个汉字的点阵数据,本程序采用一般读取方式(Read Data Bytes ),需要用指令码来执行每一次操作(程序流程图如图8):首先把片选信号(CS#)变为低,紧跟着的是1 个字节的命令字(03 h)和 3 个字节的地址和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 某企业物流方案设计
- 《xu工学绪论》课件
- 脚手架工程安全施工措施
- 育婴员中级习题库含参考答案解析
- 社会学课程中的思政案例培养公民意识与社会责任感
- 8月肿瘤内科出科考试题库(附答案解析)
- 纺织行业品牌传播与推广策略考核试卷
- 文字设计核心要素与应用方法
- 螺旋传动装置的防尘设计考核试卷
- 室内设计平面概念方案汇报
- 2025年四川甘孜州能源发展集团有限公司招聘笔试参考题库附带答案详解
- 2025年全国保密教育线上培训考试试题库(网校专用)附答案详解
- 山东省济宁市经开区2024-2025学年度八年级下学期第一次月考历史试题(含答案)
- 货车股份转让合同协议
- 购买防雨棚合同协议
- 2025中美关税战时政述评-初中《道法》25年时政述评课件
- 食堂净菜采购合同范本
- 2025年北京市通州区九年级初三一模英语试卷(含答案)
- 机场窗口服务投诉培训
- 浙江省台州市山海协作体2024-2025学年高一下学期4月期中联考化学试卷(PDF版含答案)
- 客服工作劳务合同协议
评论
0/150
提交评论