基于GSM模块的LED显示屏设计

发布者:玉立风华最新更新时间:2013-04-17 来源: eefocus关键字:GSM模块  LED显示屏  AT89C51 手机看文章 扫描二维码
随时随地手机看文章
1 引言
随着通信技术的发展,基于移动通信网络的服务功能正向工业控制和遥控领域扩展。为了适应这种需要,西门子公司推出新一代TC35i型无线通信GSM模块,基于该模块的短消息功能,可以快速、安全、可靠地实现用户信息处理等功能,特别适用于控制中心与终端设备距离很远或不便采用有线通信介质的场合。该系统由控制中心和若干显示屏组成,控制中心实时将最新信息发送到各显示屏,构成控制中心与显示屏端的通信链路。


2 TC35i与单片机的硬件接口电路
TC35i可以快速安全可靠地实现系统方案中的数据、语音传输、短消息服务和传真。模块的工作电压为3.3 V~5.5 V,可以工作在900 MHz~1800MHz。模块有AT命令集接口,支持文本和PDU模式的短消息。此外,该模块还具有电话薄、多方通话、漫游检测等功能,常用工作模式有省电模式、I-DLE和TALK等模式。通过40引脚的ZIF连接器实现电源连接、指令、数据、语音信号及控制信号的双向传输。通过ZIF连接器及50 Ω的天线连接器可分别连接SIM卡支架和天线。
在控制系统中,采用AT89C51型单片机同时扩展RAM6264用于存放与显示屏对应的要显示的128 B数据以及从GSM模块读取的信息。为了增大存放数据的容量,本设计采用了AM29F040型FlashMemory(512 KB),它存储容量大、集成度高、成本低,具有灵活的读写性和较好的数据非易失性。它有15条地址线,其中低8位地址由P0口经74HC373锁存后提供,高11位地址由P2口与P1.4、P1.5、P1.6共同提供。8位数据由PO口直接提供。
采用动态扫描方式,用74HCl54及74HC595进行16行的逐行扫描,利用人眼的视觉暂留效果,可以节省I/O资源,减少发热量。


3 工作原理
如图l所示,在接收终端,单片机通过读取TC35i模块以短消息形式承载的数据,经处理后把它显示到LED显示屏上。因为短信息中的汉字仅仅是1个编码,单片机应用系统将编码变为汉字点阵数据,必须配置汉字字库。因此,设计单片机应用系统时,控制中心编辑PDU数据包数据,采用自定义数据方式。其中,代表汉字的数据直接用汉字的机内码,系统配置的字库为GB-2312编码的汉字库,即区位码汉字库。下面通过对存储在手机中的待发信息的分析来介绍SMSPDU的数据格式。首先,用手机写一条信息,发送手机号码为13605696031,信息内容为“HelloWorld!”。通过执行AT+CMGL=2可以读出此条信息。

操作过程如下(斜体字符为响应信息,{}内为注释):

单片机与手机的软件接口其实就是单片机通过与GSM短信息有关的AT指令控制手机的技术,如读取手机的短信息内容、删除短信息内容、列出手机中还未读的短消息等。执行l条指令,并非某些资料介绍的那么简单,事实上,指令的执行过程需要单片机与手机交互应答完成,每一次发送或接收的字节数有严格的规定,二者必须依据这些规定实现数据交换,否则,通信就是失败的。表l列出AT指令执行过程。[page]

         所有AT指令的指令符号、常数、PDU数据包等都以ASCⅡ编码形式传送,比如“A”的ASCⅡ编码为41H,“T”的ASCⅡ编码为54H,数字“0”的ASCⅡ编码为30H等。
单片机控制手机工作,必须把手机的短信息工作模式设置为PDU格式,即通过指令AT+CMGF=0完成。
单片机向手机发送每l条指令后,必须以回车符作为该条指令的结束,回车的ASCⅡ编码为ODH,例如单片机向手机发送“AT+CMGF=0"指令,其ASCⅡ编码列为“41H、54H、2BH、42H、4DH、47H、46H、3DH、30H、0DH”,最后1个字节0DH就是回车符,表示该条指令结束,如果没有这个回车符,手机将不识别这条指令。
当手机接收到一条完整的AT指令后,手机并不立即执行这条指令,而是首先把刚才接收到的AT指令的全部ASCⅡ编码序列全部反发送出来(含ODH),其次发送1个回车符和换行符的ASCⅡ编码即0DH和OAH,最后执行该条指令。
手机向单片机发送短信息内容时,其PDU数据包的内容是16进制表示的数据,但并不是直接向单片机传递16进制数据,而是仍然把每一位16进制数以ASCⅡ编码来发送,这样,2个字节的16进制数就变成4个字节的ASCⅡ码。但是,PDU数据包中的数据字节长度部分仍然是实际字节长度,而不是变成ASCⅡ码的字节长度,这在编程时应特别注意,否则,接收的数据就不完整。单片机接收到PDU数据包数据后,必须将其恢复成16进制数据,其算法如下:
设a为接收的ASCⅡ码.b为转换后的16进制数,那么,如果a<39H,则b=a-30H;如果a>39H,则b=a-30H-07H。最后把前后2个数合并为1个字节。
手机向单片机应答PDU数据包的字节数不包括前9个字节数据(短信服务中心地址),但向单片机传送PDU数据包时包括这9个字节的数据,例如:如果手机应答的PDU数据长度为50,而实际向单片机传送的16进制数据为59字节,ASCⅡ码为2x59字节,所以,单片机必须按2x59个字节接收PDU数据。
为了使MCU操作,可用1个512 KB的存储器(如本系统中的29F0410)存储全部的国标16x16点阵汉字、8x16的ASCⅡ码点阵数据及汉字语句编码数据。从小到大依次存有国标区位码表中的所有汉字,每个汉字占用32个字节,每个区为94个汉字。在文件ASCl6中按ASCⅡ码从小到大依次存有8x16的ASCⅡ码点阵,每个ASCⅡ码占用16个字节。由于29F040的容量为512 KB,而微控制器只能管理64KB的数据空间,所以可将29F040分成16页,每页32 KB,占单片机系统数据空间的8000H~OFFFFH。首先提取16x16的国标汉字点阵和8x16的ASCⅡ码点阵(如UCDOS软件中的HZKl6和ASCl6)并将其直接写入29F040。其中HZKl6(256 KB)占O-7页。为了便于编程,虽然ASCl6只有4KB,也单独占用第8页。
在PC的文本文件中,汉字是以机内码的形式存放的,每个汉字占用2个字节;第一个字节为区码,为了与ASCⅡ码区别,范围从十六进制的0AIH开始(小于80 H的为ASCⅡ码字符),对应区位码中区码的第一区;第二个字节为位码,范围也从0A1H开始,对应某区中的第一位码。这样,将汉字机内码减去0AOAH就是该汉字的区位码。如汉字“房”的机内码为十六进制的“B7BF”,其中“B7”表示区码,“BF”,表示位码。所以“房”的区位码为0B7BFH-0AOAOH=17lFH。将区码和位码分别转换为十进制得汉字“房”的区位码为“2331”,即“房”的点阵位于第23区的第31个字的位置,相当于在文件HZKl6中的位置第32x[(23-1)x94+(3l-1)]=67136 B以后的32个字节为“房”的显示点阵。


4 结束语
在信息化社会中,远程信息传递扮演着重要的角色,GSM模块以其准确、低廉、实时的特点为人们获得某种信息提供便利,同时LED显示又是沟通的重要窗口,二者结合显示可应用的领域十分广泛,如交通、天气预报、广告、通知、工农业生产、商业信息等,本设计采用的模块市场上容易获得,采用信息直接显示不用返回,显示环节运用动态扫描减少LED工作时间,延长寿命且节能,扩展的数据存储器容量达8 KB,显示时间较长,较多信息可分时显示,结构简单,体积较小,实用性强。

关键字:GSM模块  LED显示屏  AT89C51 引用地址:基于GSM模块的LED显示屏设计

上一篇:如何使用和检测89C2051单片机
下一篇:基于C8051F020单片机的实时测控装置设计

推荐阅读最新更新时间:2024-03-16 13:22

51单片机多路测温报警系统(AT89C51、多个DS18B20、LCD1602)
一、简介 此系统主要由AT89C51、多个DS18B20温度模块和LCD1602组成。 大致的原理是多个DS18B20按顺序采集温度到的数据传送给AT89C51的P2.7,最后通过LCD1602显示当前的实时温度,按键可以设置上下限温度,根据温度判断是否需要报警。 二、运行效果图 模拟仿真运行 三、部分代码 /*想要更多项目私wo!!!*/ #include reg52.h #include intrins.h unsigned int iTempDataH; unsigned int SetTemp = 30; int SetTemp1 = 1; int num = 0; //ÅжÏæָÁî void
[单片机]
51单片机多路测温报警系统(<font color='red'>AT89C51</font>、多个DS18B20、LCD1602)
3AT89C51单片机引脚说明及引脚图
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 引脚说明: VCC:供电电压。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行
[单片机]
3<font color='red'>AT89C51</font>单片机引脚说明及引脚图
全彩LED显示屏专用LED的品质和参数可归结为以下五大要素
全彩LED显示屏专用LED的品质和参数可归结为以下五大要素:   1、由于全彩显示屏由上万甚至几十万组红、绿、蓝三种LED组成的像素点组成,任一颜色LED的失效均会影响显示屏整体视觉效果。一般来说,按行业经验,在LED显示屏开始装配至老化72小时出货前的失效率应不高于万分之三(指LED器件本身原因引起的失效)。   2、LED是半导体器件,对静电敏感,极易引致静电失效,故抗静电能力对显示屏的寿命至关重要。一般来说,LED的人体静电模式测试失效电压不应低于2000V.   3、衰减特性   红、绿、蓝LED均具有随着工作时间的增加而亮度衰减的特性。LED芯片的优劣、辅助物料的好坏及封装工艺水平的高低决定了LED的衰减速度
[电源管理]
54-基于51单片机GSM模块的家庭防火防盗报警系统
具体实现功能 系统由DS18B20温度传感器+MQ-2烟雾传感器+HC-SR501人体红外模块+SIM800C GSM模块+LCD1602显示屏组成。 (1)可检测环境温度、烟雾浓雾和人体信号并通过显示屏显示; (2)可通过按键设置报警值,当检测值超过报警值时进行报警; (3)报警可通过LED+蜂鸣器现场报警,显示屏显示报警内容;还可通过GSM模块实现远程报警,短信可显示不同报警内容。 设计背景 随着社会的发展,农村城镇化和人员流动性增大,社会治安状况更趋复杂,因此作为社会的基本单元“安全防范问题就显得尤为重要。传统的机械式(防盗网、防盗窗)家居防卫在实际使用中暴露出一些明显的问题,如:影响楼房美观,市容整洁;影响
[单片机]
54-基于51单片机<font color='red'>GSM模块</font>的家庭防火防盗报警系统
单片机液晶滚动显示(AT89C51、LCD1602)
一、简介 此电路由AT89C51最小系统和LCD1602液晶模块组成。可实现上线垂直滚动、左右滚动和播放暂停。 二、执行效果 上下滚动 左右滚动 三、代码 /*更多项目私wo!!!*/ #include reg52.h #include string.h #define uchar unsigned char #define uint unsigned int void Initialize_LCD(); void ShowString(uchar,uchar,uchar *); sbit K1 = P3^0; sbit K2 = P3^1; sbit K3 = P3^2; uchar code Prompt
[单片机]
单片机液晶滚动显示(<font color='red'>AT89C51</font>、LCD1602)
LED显示屏的驱动方式介绍
   LED显示屏的驱动方式有静态扫描和动态扫描两种,静态扫描又分为静态实像素和静态虚拟,动态扫描也分为动态实像和动态虚拟。   在一定的显示区域内,同时点亮的行数与整个区域行数的比例,称扫描方式;室内单双色一般为1/16扫描,室内全彩LED显示屏一般是1/8 扫描,室外单双色一般是1/4扫描,室外全彩显示屏一般是静态扫描。驱动IC一般用国产HC595,台湾MBI5026,日本东芝TB62726,一般有 1/2 扫,1/4扫,1/8扫,1/16扫。   举列说明:一个常用的全彩模组像素为 16*8 (2R1G1B),模组总共使用的led灯是: 16*8(2+1+1)=512个 ,如果用MBI5026 驱动,MBI5026
[电源管理]
基于AT89C51的数据采集系统设计新方法
0 引言 近年来,随着制造技术的发展,单片机的价格越来越低,性能却不断提升,因而其应用范围也越来越广。然而在开发基于单片机的应用系统时,传统方法一般都需要大量的硬件设备,这些设备极易损坏而且携带不方便。为此,本文基于AT89C51数据采集系统详细说明了如何利用Pro-teus和两款串口仿真软件来进行单片机程序及外围电路的仿真设计。采用该方法可以大大简化硬件电路测试和系统调试过程,对单片机系统开发具有指导意义。本文介绍的基于AT89C5l单片机的数据采集系统能实现16路信号输入,每一路都是0~10 mV的信号,每秒钟采集一遍,从而将数据传给上位PC计算机。 1 硬件设计 1.1 主控芯片 AT89C51是一种带有4 KB闪烁
[应用]
提升高端LED显示屏刷新率的方法介绍
导读: 要达到高档显示屏的需求,除了要有高的刷新率,使LED显示屏能流畅无闪烁地播放画面,也需要具备高输出色阶的能力,来达到更丰富多彩的LED显示屏图像。 LED显示屏的灰阶度   灰阶度就是显示屏上每一颗LED亮度的分辨率,举例来说,4bit灰阶度表示LED有16阶的亮度变化。而LED驱动芯片的灰阶度控制,实行方式如图1所示。LED亮度的灰阶度是由驱动芯片上的OE宽度与SDI来控制,以图1中的第一个LED要显示的灰阶度5为例,SDI必须在OE宽度为1和4打开输出开关,以得到整体的LED显示灰阶度为5。而灰阶度为9、4与11则以此类推,以不同的SDI和OE宽度的排列组合得到不同的LED灰阶度,也就会显示出不同的LED亮
[家用电子]
提升高端<font color='red'>LED显示屏</font>刷新率的方法介绍
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved