资源预览内容
第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
亲,该文档总共8页全部预览完了,如果喜欢就下载吧!
资源描述
制作pcb 新手入门51 单片机单片机 C 语言PROTELPICAVRARM 电工电子联系我们 您当前的位置:首页 51 单片机 基础教程基于基于 STCSTC 单片机与单片机与 GPRSGPRS 的图文的图文 LEDLED 屏屏时间:2009-11-04 19:46:32 来源: 作者:1 1 序言序言GPRS(General Packet Radio Service,通用分组无线业务)的出现充分利用了现有的 GSM 网络,不仅适用于间断的、突发性的或频繁的、少量的数据传输,也适用于偶尔的大数据量传输。它使移动通信与数据网络合二为一,它利用“分组交换”(Packet Switch)的概念所发展出的一套无线传输方式,可高效地利用现有的无线电频谱,为用户提供最快达到ll5kbs 数据传输率的服务。鉴于当前网络的发展,短消息的迅速普及,使得用手机控制LED 显示广告、新闻等公众信息成为了可能。用 SMS 控制车载小屏显示的技术非常多,但能显示小图片的却寥寥无几,本文针对这种情况设计与实现了一种可显示汉字和一些简单图片的车载小屏广告发布软硬件设计与实现系统。2 2 硬件设计与实现系统硬件设计与实现系统图 1 硬件设计与实现框图如图 1 所示,本系统主要由三部分组成:GPRS 模块;单片机模块;LED 显示屏模快。2.1 GPRS 模块本模块采用的是 SIMCOM 的 SIM300,外还需要手机卡座,当然还要有手机卡,此手机卡是为收短信而设置的。该模块的功能是通过天线接收手机发过来的短信,并且通过串口与单片机保持联系,看是否有读短信的 AT 命令,等单片机读短信成功,再完成单片机删除短信的 AT 命令。2.2 单片机模块该模块的主要芯片是 STC89C58RD+单片机,该单片机处理速度快且 RAM 足够大。其主要优势是:时钟频率可达 80 MHz;内部含有 32 KB 的闪存、1 280 B 的 RAM、8 K 的EEPROM;IAP/ ISP 程序下载机制,大大降低设备开发成本和使用成本,并使硬件加密做到无懈可击;具有 4 级 8 个中断源,提供 2 个额外的外部中断机制和 4 个 I/ O 口资源。这些特点大大简化了本系统外围电路的设计与实现。单片机的主要功能是持续将已有的屏显示数据送 LED 屏,同时通过串口发 AT 指令监视 GPRS 模块是否有新消息,一旦有,便进入串口中断,对数据进行处理。而外部 FLASH主要存的是一些常用汉字和一些符号的字模,单片机处理好文字信息后,将通过它获得汉字字模,以便屏显。2.3 LED 屏终端显示设备 LED 屏主要控制芯片是 74HC595,还有双向驱动芯片 74LS245 以及一些辅助的电流放大芯片。此屏可以显示 12 个 16*16 的汉字。3 3 软件设计与实现部分软件设计与实现部分软件设计与实现部分可谓是整个系统的指挥中心,有了这部分的设计与实现才能完成 AT 命令读删信息、信息解码、控制屏幕实时显示数据。3.1 AT 命令使用的主要是与使用的主要是与 SMSSMS 有关的指令:有关的指令:(1)AT 命令读收到的新消息:at +cmgr=1 回车;(2)删除已读完的消息:at+cmgd=1 回车。3.2 SMS 及汉字、图片的解码方式SMS:文本短信服务。短消息的内容可以是文本、数字或二进制非文本数据,但每个SMS 容量平均有 140 字节,一般不超过 60 个汉字。 如果用户关机或不在服务区内,短消息可存储在短消息中心,待用户开机后就可以自动收到。发送和接收 SMS 信息有三种方式:Block Mode ,Text Mode 和 PDU Mode。Block Mode 已是昔日黄花。Text Mode 是纯文本方式,国内手机一般不支持,主要用于欧美地区。本文所有收到的短信都是 PDU Mode。3.21 PDU ModePDU 模式是发送或接收手机短消息最常用的一种方法,它把短消息正文经过十六进制编码后传送。它可以发送最多 160 个字符,当使用 7-bits 编码的时候。8-bit 编码(最多 140 个字符)通常无法直接通过手机显示;通常被用来作为数据消息,例如:smart messaging 中的图片和铃声)和 OTA WAP 设置。16-bit 信息(最多 70 个字符)被用来显示Unicode(UCS2)文本信息,可以被大多数的手机所显示。本系统的文本信息采用的是 Unicode(UCS2)方式,而小图片信息采用的是 7-bits 编码方式。因为信息来自手机,所以只介绍收到信息后,单片机的解码过程。3.22 汉字的解码过程外部 FLASH 储存的是用 matlab 工具将 Unicode(UCS2)码与国标码一一对应后的常用汉字和字符的字模,所以单片机的解码过程也就是寻找相应字模的过程。当出现需要处理的情况时,单片机通过串口把手机模块收到信息完全读过来,因为此信息有一段消息头:包括对方手机号、客服中心号码、时间等等。而显示屏显示的时候只需要消息的主题内容,所以单片机处理消息时把屏号做为第一个字节处理将汉字对应的 Unicode 码转化成十进制的数字,然后分离出区号和位号去寻找字模,然后按相应的顺序存在单片机的内部 ram 里,方便取数据送屏。可以用图 2 描述。图 2 Unicode(UCS2)码解码简图3.23 图片的解码过程考虑到图片信息的数据量较大,一个 16*16 的图片的就有 32 个字节,用手机发送时采用的是 7bit 的编码方式,这样可节省一半的内存空间,单片机读和对信息进行取舍同文字信息。关键是这部分的解码。在这部分解码时首先要弄清楚 7bit 的编码原理。编码的过程比较容易理解:将源串每 8 个字符分为一组进行编码,在组内字符间压缩,但每组之间是没有什么联系的。每一组内,首先将各个字符转换为 7 位的标准二进制ASCII 码,然后要将后面字符的低位逐位调整到前面,补齐前面的差别。以发送一个 16*16的图片为例编码后就有 28 个字节,但单片机读取的是 56 个字节,这是因为手机发送数据的过程中是把一个字节视为为二个字节进行发送的。当单片机负责解码时,采取的处理方法是将每七个字节分为一组,处理为八个字节,再将这八个字节变换成相应的数字进行两两合并,也就是还原原来图片的 32 个字节,这部分的程序如下:for(j=0;j7);if(chartemp36); if(chartemp55);if(chartemp74);if(chartemp93);if(chartemp112);if(chartemp131;if(gA) g=g-48;else g=g-55;cunh+3=(chartemp134)|g;3.3 与屏有关的软件设计与实现这些函数包括往内部 ram 写数据的 writeyipin() 函数,送临时储存区的读数据函数,行扫描列扫描函数,送行列数据函数,同时还有一些延时函数。值得一提的是writeyipin() 函数,在写数据时,因为采用的条屏是可显示 12 个 16*16 的图片,所以按照一个字行列的显示顺序存储,这样以来读数据送屏时不必做其他的处理,节省了时间和资源。综上所述软件的流程图如图 3 所示。图 3 软件主要流程图4 4 结束语结束语本系统运行稳定,能清晰准确的显示汉字与图片信息,且成本较低,可用于车载小屏广告信息的发布,也可用于偏远地区的政策宣传。本文来自单片机开发网单片机开发网,转载请保留链接
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号