收藏 分销(赏)

基于STC89C52和TC35模块的智能家居控制.docx

上传人:a199****6536 文档编号:3678928 上传时间:2024-07-13 格式:DOCX 页数:27 大小:3.14MB
下载 相关 举报
基于STC89C52和TC35模块的智能家居控制.docx_第1页
第1页 / 共27页
基于STC89C52和TC35模块的智能家居控制.docx_第2页
第2页 / 共27页
基于STC89C52和TC35模块的智能家居控制.docx_第3页
第3页 / 共27页
基于STC89C52和TC35模块的智能家居控制.docx_第4页
第4页 / 共27页
基于STC89C52和TC35模块的智能家居控制.docx_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、嵌入式系统技术实验报告题 目:基于MSP430和TC35模块的智能家电控制系统设计姓 名:张若愚学 号:1012121109导 师:楼顺天基于STC89C52和TC35模块的智能家居控制摘要本文提出一种基于为实现温室环境监测的便捷化,设计一种基于STC89S52和TC35i 的温室环境短信监测系统。该系统采用多种传感器实现对温度、湿度、光照强度、CO2浓度等参数的实时采集,实现数据的获取、处理功能,提高了对环境数据采集的自动化水平,具有扩展性好、实用性强、便于操作等特点,并具有较高的推广价值。关键字:TC35i 智能家居 GSM第一章绪论1.1引言随着通信技术、计算机技术、网络技术、控制技术的

2、迅猛发展与提高,促使了家庭实现了生活现代化,居住环境舒适化、安全化。这些高科技已经渗透到生温室环境的各项参数是否符合规定要求需进行检测得知,而科技的发展为温室环境的监测自动化、高效化提供了重要条件。GSM 短信息以其覆盖区域广、快捷、高效、准确、费用低廉、受环境影响小等特点,逐步应用于工业控制、移动作业环境、远程数据采集和监控中,可随时随地通过GSM 模块以短消息方式发送和接收现场采集到的数据, 具有实时性强、精度高的优点,便于数据信息的集中管理和远程控制。智能家电控制系统是以HFC、以太网、现场总线、公共电话网、无线网的传输网络为物理平台,计算机网络技术为技术平台,现场总线为应用操作平台,构

3、成一个完整的集家庭通信、家庭设备自动控制、家庭安全防范等控制系统。 以GSM网络作为数据无线传输网络,利用GSM短信息系统进行无线通信还具有双向数据传输功能,性能稳定,为远程数据传送和监控设备的通信提供了一个强大的支持平台。1.2系统功能单片机连接8颗LED灯,模拟家电,灯亮表示相应家电打开,灯灭表示相应家电关闭。TC35模块插入SIM卡,单片机通过AT指令控制TC35模块发送信息和接收信息。开机,单片机发送向主控手机发送握手信号“Hi, I am ready.”, 主控手机收到握手信号后,则可以对控制系统进行短信控制,如发送“open1”,则对应的led1灯亮,发送“shut1”,则对应的l

4、ed1灯熄灭。控制系统操作成功后,再向主控手机反馈信息,“Operate successfully!”,若操作失败则发送“Operate fail,try again!” 。第二章硬件平台2.1系统硬件构成该控制系统以STC89C52单片机为核心,组成单片机最小系统,通过串口连接TC35模块,P0口作为8位控制输出端口。因为该系统是用的单片机学习板,P1、P2、P3端口已作其他用途,只有P0口有引出,故选用P0口作为输出,只需要添加加上拉电阻即可。图1系统结构图2.2 51单片机及外围电路单片机主要控制TC35模块的收发短信,并对短信内容进行处理,得到相应的控制目的。试验中用的是单片机的学习板

5、,但实际上只用到很少的一部分硬件资源,主要是通过串口与TC35进行通信和P0口得控制输出。单片机及外围电路图如下:图2单片机及外围电路图选用STC89C52单片机,选用22.1184MHz的外部晶振,以方便进行串口通信波特率设置;采用USB供电,也可以外接电池供电;串口通过MAX232进行电平转换,这里不通过转换也可以,为了下载程序方便,故用了232电平转换电路;P1.0口接蜂鸣器,方便调试跟踪程序;将P0口上拉作为输出端口,接8颗LED状态灯,模拟家电的开启和关闭。2.3 TC35模块2.3.1TC35模块简介TC35是Siemens公司推出的新一代无线通信GSM模块,它自带RS232通讯接

6、口,可以方便地与PC机、单片机连机通讯。可以快速、安全、可靠地实现系统方案中的数据、语音传输、短消息服务和传真。TC35模块的工作电压为3.3 5.5V,可以工作在900MHz 和1800MHz 两个频段,所在频段功耗分别为2W(900MHz)和1W(1800MHz)。模块有AT 命令集接口,支持文本和PDU模式的短消息、第三组的二类传真以及2.4k、4.8k、9.6k的非透明模式。此外,该模块还具有电话簿功能、多方通话、漫游检测功能,常用工作模式有省电模式、IDLE、TALK 等模式。通过独特的40 引脚的ZIF 连接器,实现电源连接、指令、数据、语音信号及控制信号的双向传输。通过ZIF连接

7、器及50天线连接器,可分别连接SIM卡支架和天线。TC35 模块主要由GSM基带处理器、GSM 射频模块、供电模块(ASIC)、闪存、ZIF连接器、天线接口六部分组成。作为TC35的核心,基带处理器主要处理GSM终端内的语音、数据信号,并涵盖了蜂窝射频设备中的所有的模拟和数字功能。在不需要额外硬件电路的前提下,可支持FR、HR和EFR语音信道编码。图3TC35模块结构框图GSM 基带处理器是整个模块的核心,它控制着模块内各种信号的传输、转换、放大等处理过程。GSM 射频部分是一个单片收发器,它完成对射频信号的接收和发送等处理。GSM 模块电源把外部输入的电源电压进行稳压处理后供GSM 基带处理

8、器和GSM 射频部分使用。Flash 用来存储一些用户配置信息、电话本和其他信息。TC35 的数据输入/输出接口实际上是一个串行异步收发器,符合RS232 接口标准,有固定的参数:8 位数据位和1 位停止位,无校验位,波特率在300bps115kbps 之间可选,硬件握手信号用RTS0/CTS0,软件流量控制用XON/XOFF,CMOS 电平,支持标准AT命令集。通过这一接口可以用AT 命令切换操作模式,使它处于语音、数据、短消息或传真模式。2.3.2 AT指令G S M 引擎模块提供的命令接口符合G S M 0 7 . 0 5 和GSM07.07 规范。GSM07.07 中定义的AT Com

9、mand 接口,提供了一种移动平台与数据终端设备之间的通用接口; GSM07.05 对短消息作了详细的规定。在短消息模块收到网络发来的短消息时, 能够通过串口发送指示消息, 数据终端设备可以向G S M 模块发送各种命令。与S M S 有关的GSM AT 指令如表1 所列。GSM AT 指令集,是由诺基亚、爱立信、摩托罗拉和H P 等厂家共同为G S M 系统研制的,其中包含了对SMS(Short Message Service)的控制。常见的AT指令:AT+CMGF选择短信息格式AT+CSCA短信息中心地址AT+CNMI显示新收到的短信息AT+CMGR读短信息AT+CMGS发送短信息2.3.

10、3短信收发原理及程序设计要使用TC35 模块实现短信收发,就必须理解串口通信、AT 指令和短信的编码、解码。PC机或单片机通过串口向TC35模块发送AT命令,完成对TC35模块的控制和通信。对于短信的收发控制模式,按时间先后,共有三种模式:Block Mode、基于AT 指令的Text Mode、基于AT 指令的PDU Mode(ProtocolData Unit)。使用Block 模式需要模块生产厂家提供驱动支持,使用Text 模式收发短信代码简单,实现容易,但只能发送英文短信(纯文本格式),而使用PDU 模式编码的短信内容则可以是中文、英文、声音或图像,本文主要介绍利用AT 指令在Text

11、 模式下通过GSM 无线模块收发短消息。发送:AT+CSCA=+8613800290500 即设置短信中心为西安移动,设置成功TC35模块通过串口返回:AT+CSCA=+8613800290500 OK发送:AT+CMGF=1 设置短信格式为Text模式,设置成功TC35返回:AT+CMGF=1OK2.3.4TC35外围电路图4TC35模块外围电路图电源模块系统由5V供电,通过REG117-3.3产生TC35需要的3.3V电压。TC35模块通过一个40针的卡座连接在电路板上。在电路板上接SIM卡和串口电路以及电源部分。SYNC引脚可以用来输出一个同步信号(synchronizationsign

12、al),也可以在应用使来控制一个LED灯的输出状态。:SYNC端通过一个三极管或门电路来控制LED。一个简单的电路接法是:SYNC端通过一电阻接到NPN三极管(如9013)的基极,射极直接接地,集电极通过一个接限流电阻接到LED的负端,LED的正端接VCC。LED的工作模式完全类同于同步信号,显示的是TC35的工作状态: 1LED灯灭,表示TC35电源关闭,处于休眠、报警或单纯的充电模式 2600ms亮/600ms灭,表示未插入SIM卡,或者个人身份未登记/已注销,或者网络正在搜寻中,或者正在进行用户身份鉴定,或者网络注册正在进行中 375ms亮/3s灭,表示网络注册成功(控制通道和用户交换信

13、息完成),无来电 4LED灯亮,依据不同的呼叫类型:声音呼叫,数据呼叫,在建立或者完毕时的状态。 TC35的触发点火信号端/IGT,用OC门或者一个简单的开关拉低该端电平来开启模块,低电平有效。在空闲/通话/关机模式:Vout=2.0V,Vlow,max=0.45VIout=10A,tlow100ms。对于点火信号IGT的处理,需要首先拉低该脚电平到地,并至少维持100ms。第三章软件设计3.1设计要求当系统开启,系统初始化,完成后向主控手机发送准备好信号“Hi,I am ready!”,则表示系统通信没问题,主控手机可以发送命令实行远程控制了。主控手机收到准备好信号后,可向系统发送“open

14、1”,打开第一颗led灯,或者“shut1”,关闭第一颗led灯。操作成功后,系统回馈给主控手机信息“operate successfully!”,若失败则返回“operate fail,try again!”。单片机与TC35模块串口通信,设置串口波特率9600bps,8 位数据位和1 位停止位,无校验位。在串口接收中断处理函数把TC35返回的内容拷贝到一个全局变量,以便后续判读,处理信息。3.2 程序流程图图5 程序流程图3.3 程序举例单片机实现短信自动发送进行短信发送的前提是短信内容的正确编码。经过以上对短信发送过程的分析,可以通过单片机对其进行实现。下面是实现程序例程:函数名:PDU

15、_SMS()功能 :发送短信参数说明:SMS_Center为短信中心号码 11位SMS_Telenum为短信接收方的号码 11位SMS_Context为短信的内容-*/int PDU_SMS(char *SMS_Center, char *SMS_Telenum, char *SMS_Context,char is_GB)int i,j;unsigned char len,time;char lens3;time=0;for(i=0;i300;i+) PDU_Codei=PDU_ti;/*-设置短信中心号码-*/for (i = 0, j = 0; i strlen(SMS_Center) /

16、 2; i+)PDU_Code6+(j+) = SMS_Center2 *i + 1;PDU_Code6+(j+) = SMS_Center2 *i;PDU_Code6+j+ = F; /在最后补上的FPDU_Code6+j = SMS_Centerstrlen(SMS_Center) - 1;/*-设置接收号码-*/for (i = 0, j = 0; i 4) 9 ? (len 4) + 55: (len 4) + 48;PDU_Code45 = (len &0x0f) 9 ? (len &0x0f) + 55: (len &0x0f) + 48;/*-编码短信内容-*/if(is_GB=

17、0)/如果不是GB码,短信内容为ascii码字符串for (i = 0,j=0; istrlen(SMS_Context);i+)szzh16(SMS_Contextj+,lens);PDU_Code46+i*4 = 0;PDU_Code46+i*4+1 = 0;PDU_Code46+i*4+2 = lens0;PDU_Code46+i*4+3 = lens1;PDU_Code46+i*4 = 0x1a;PDU_Code46+i*4+1 = 0xff; else /短信内容为GB码,如果要使手机能够显示,改到UNICODE编码for (i = 0,j=0; istrlen(SMS_Contex

18、t);i+)szzh16(int)SMS_Contextj+,lens);PDU_Code46+i*2 = lens0;PDU_Code46+i*2+1 = lens1;PDU_Code46+i*2 = 0x1a;PDU_Code46+i*2+1 = 0xff; /*-*/if(PDU_HandShake()do/LCD_PutChn(5,96,SS.);/if(is_GB)PDU_EnablePDU();if(is_GB=0)PDU_SetLength(Strlen(SMS_Context)*2);elsePDU_SetLength(Strlen(SMS_Context);PDU_Send(

19、PDU_Code);/LCD_PutEng(5,96,SS);for(i=0;i25;i+)delay(20000); sbufcounter=0;/LCD_PutNum16(5,96,time);counter=0;time+;/判断是否发送成功,如果不成功继续发送,最多4次,如仍不成功,返回0while(strpos(sbuf+strlen(sbuf)-20,G)=-1&time4)if(strpos(sbuf+strlen(sbuf)-20,G)=-1)return 0;elsereturn 1; /成功的话返回0else/LCD_PutEng(5,96,LL);sbufcounter=

20、0;/LCD_PutEng(0,0,sbuf);counter=0;return 0;以上程序成功实现短信的发送,其中的一些函数限于篇幅可自行实现。(6)单片机对短信的读取与解码单片机可以通过AT指令对短信猫中的短信进行读取,并对读入的短信数据进行分析与解码。读出的短信格式与发送时的短信编码大致是相同的。下面给出相应的程序例程,读者可以在自行实验中对照验证。1. 读取某一条短信,并将其进行显示函数名:LAD_SMS()(short for Load And Display the Short MessageS)功能:用户函数,读取第n条短信,并在LCD的(x,y)位置显示出来unsigned

21、char LAD_SMS(unsigned char n,unsigned char x,unsigned char y)unsigned char i,len,t;char temp5;char temp13;/IN_Draw_BlankorBlackRect(0,20,30,72,0);szzh10(n,temp1); /将n转为相应的字符串,如n=21,则字符串为21,用以与AT指令拼接。t=85;clear_sbuf();counter=0;send_s(AT+CMGR=);/AT+CMGR为读取短信的AT指令send_s(temp1);/上面所得的字符串send(0x0d);send

22、(0x0a);for(i=0;i10;i+) delay(10000); /等待读取完毕sbufcounter=0; /在收到的数据末尾附加0temp0=sbuf23;temp1=sbuf24;temp2=sbuf25;temp3=0;if(sbuf25!=0x0d) t+;for(i=0;i短信空);delay(50000); return 0;len-=20;if(len90)/LCD_PutEng(5,96,MTL);/LCD_PutChn(x,y,短信太长);delay(50000); return 0;for(i=0;ilen;i+)temp0=sbuft+2*i;temp1=sbu

23、ft+2*i+1;temp2=0;sbufi=_hex_(temp); /收到的短信内容是内存方式的显示表示,转为十六进制数sbufi=0;Analysis_Pro();/解码后的内容在sbuf中,此函数对其进行显示输出/LCD_PutEng(x,y,inf_bw.Date);/LCD_PutEng(x,y,sbuf+29); delay(50000);clear_sbuf();counter=0;return 1;由于本文的宗旨在于讲解串口通信,因此,我们屏蔽图形用户界面的细节,制作一个简单的短信收发软件,它包含了控制短信终端的所有串口通信内容。实际上,一个理想的短信收发软件的界面应类似于O

24、utlook或Foxmail,包含收件箱、发件箱、已发送短信箱等内容,但是这些东西都与我们要介绍的串口通信无关 第四章调试结果经实验调试,智能家电系统已经达到设计要求,通过GSM网络能够准确的控制各led灯的亮灭。开机,系统发送准备好信号“Hi,I am ready!”,主控手机发送“open1”、“shut1”,“open2”、“shut2”能准确控制各led灯的亮和灭,“openA”则打开所有的灯,“shutA”则关闭所有的灯。主控手机能收到系统的反馈信息“operate successfully!”。图6系统实物图图7开机系统向主控手机发送“Hi,I am ready.”图8发送命令“o

25、pen1”,打开第1路led图9第一路led亮,操作成功,返回信息“Operate Successfully!”图10发送命令“open4”,打开第4路led图11第4路led亮,操作成功,返回信息“Operate Successfully!”图12打开第8路led图13关闭第8路led图14关闭第8路led成功图15打开全部led图16打开全部led成功图17 短信读取函数 图18 短信发送函数调试过程中遇到的问题及解决1、TC35的电流消耗指标:1通话模式的峰值电流(TALKmodeofpeak),1.8A2通话模式的典型电流(TALKmode),300mA900MHz/270mA1800

26、MHz3空闲模式(IDLEmode)的消耗电流,10mA4休眠模式(SLEEPmode)的消耗电流,3mA5关机模式(PowerDownmode)的消耗电流,50A2、关于LED灯显示的状态SYNC引脚可以用来输出一个同步信号(synchronizationsignal),也可以在应用使来控制一个LED灯的输出状态。:SYNC端通过一个三极管或门电路来控制LED。一个简单的电路接法是:SYNC端通过一电阻接到NPN三极管(如9013)的基极,射极直接接地,集电极通过一个接限流电阻接到LED的负端,LED的正端接VCC。LED的工作模式完全类同于同步信号,显示的是TC35的工作状态:1LED灯灭

27、,表示TC35电源关闭,处于休眠、报警或单纯的充电模式2600ms亮/600ms灭,表示未插入SIM卡,或者个人身份未登记/已注销,或者网络正在搜寻中,或者正在进行用户身份鉴定,或者网络注册正在进行中375ms亮/3s灭,表示网络注册成功(控制通道和用户交换信息完成),无来电4LED灯亮,依据不同的呼叫类型:声音呼叫,数据呼叫,在建立或者完毕时的状态。2、关于VDD端:TC35正常工作时,VDD引脚输出信号的幅度(大约在开机后60ms产生):2.9V/70mA,可作为外部应用。空闲或者通话模式:VDDout=2.9V3%70mAImax=70mA;电源关闭模式:VDDout=0V。3、关于VB

28、ATT+端:TC35的工作电压输入端VBATT+,电压幅度为3.3V-5.5V,Vtyp=4.2V,最大电流Imax2AGSM天线回波损耗(returnloss)6dB。必须注意:最低工作电压不能低于3.3V,否则电压将会跌落,从而导致TC35停止工作。由于VBATT+引脚的峰值电流为2A,一个GSM发射脉冲(transmissionburst)可能引起相当大的电压跌落,此外由于外部电源的扁平柔性连线的内在固有阻抗也可能损失一部分。因此,在任何时候,必须保证VBATT+的电压不能低于3.3V,而且电压跌落差值不能超过400mV。另外,为了保证TC35在发射脉冲区间的电压跌落值处于最低值,采用尽

29、可能短的连接模块和ZIF座的扁平柔性FFC电缆,长度不得超过200mm,和低输出阻抗(low-impedance)的电源。4、关于POWER端:TC35的充电电压正端POWER,如果通过外部的电源(如充电器)供电,应保证Imax=500mA,Vin=5.5-8V。5、关于/IGT(Ignition)端:TC35的触发点火信号端/IGT,用OC门或者一个简单的开关拉低该端电平来开启模块,低电平有效。在空闲/通话/关机模式:Vout=2.0V,Vlow,max=0.45VIout=10A,tlow100ms。对于点火信号IGT的处理,需要首先拉低该脚电平到地,并至少维持100ms。注意,如果你通过

30、充电器回路(接到POWER引脚)供电,或者通过电池供电(接到VBATT+引脚),那么IGT信号必须维持至少1秒!6、关于PD(Powerdown):TC35的关闭电源端/PD,关机信号脉冲,信号波形为|_|,拉低到低电平,至少维持3.5秒方为有效。Vin,low,max=0.45VI=0.1mA,可用OC门或者一个简单的开关实现,通过关机信号端可以关闭TC35。而在IGT引脚施加一个低电平脉冲信号可以重新开启模块及系统。另外,关机信号端/PD也可用来实现看门狗信号输出:Vout,low=0.35V0.01mA,Vout,high=2.30V-0.01mA,fout=0.5-2.0Hz7、启动T

31、C35的方式:TC35可以通过以下方式激活,开始工作1通过点火线IGT触发,进入正常工作状态2通过电源线,开始进入充电区3通过RTC中断,开始进入报警模式8、TC35的开机操作时序当开始应用,TC35的加电过程必须按照以下步骤进行:1直到VBATT+脚的电平超过3.0V时方可对ignition线的信号电平变换。2VBATT+脚的电平上升达到3.0V后维持10毫秒,方可拉低IGT线的信号电平。IGT线的电平跌落时间(下降时间)必须不超过1ms。3另外,该IGT线的低电平信号必须维持最少100ms。4在IGT线信号转换区间必须保证VBATT+的电压不能低于3.0V,否则模块不能被激活。本系统设计的还有很多值得改进的地方:1、功能还不够强,最好能添加实时时钟模块,实现定时控制;最好能添加PDU模式,实现中文短信发送接收;最好能够添加键盘输入模块,以便可以手动设置主控手机的号码;最好能添加状态查询功能,能通过短信查询个家电的开启和关闭状态。2、输出端口驱动力不够,由于使用的是单片机学习板,资源有限,本系统用的P0端口控制输出,以后要扩展为继电器输出,驱动力不够。3、电路不够简约。由于成本及时间问题,本系统选用的是单片机学习板和TC35模块,电路分散,所以以后可以将单片机和TC35综合在一个板子上。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服