基于STC89C52和TC35模块的智能家居控制.docx
- 文档编号:8108011
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:10
- 大小:109.55KB
基于STC89C52和TC35模块的智能家居控制.docx
《基于STC89C52和TC35模块的智能家居控制.docx》由会员分享,可在线阅读,更多相关《基于STC89C52和TC35模块的智能家居控制.docx(10页珍藏版)》请在冰豆网上搜索。
基于STC89C52和TC35模块的智能家居控制
嵌入式系统技术实验报告
题目:
基于MSP430和TC35模块的
智能家电控制系统设计
姓名:
张若愚
学号:
09
导师:
楼顺天
基于STC89C52和TC35模块的智能家居控制
摘要
本文提出一种基于为实现温室环境监测的便捷化,设计一种基于STC89S52和TC35i的温室环境短信监测系统。
该系统采用多种传感器实现对温度、湿度、光照强度、CO2浓度等参数的实时采集,实现数据的获取、处理功能,提高了对环境数据采集的自动化水平,具有扩展性好、实用性强、便于操作等特点,并具有较高的推广价值。
关键字:
TC35i智能家居GSM
第一章绪论
引言
随着通信技术、计算机技术、网络技术、控制技术的迅猛发展与提高,促使了家庭实现了生活现代化,居住环境舒适化、安全化。
这些高科技已经渗透到生温室环境的各项参数是否符合规定要求需进行检测得知,而科技的发展为温室环境的监测自动化、高效化提供了重要条件。
GSM短信息以其覆盖区域广、快捷、高效、准确、费用低廉、受环境影响小等特点,逐步应用于工业控制、移动作
业环境、远程数据采集和监控中,可随时随地通过GSM模块以短消息方式发送和接收现场采集到的数据,具有实时性强、精度高的优点,便于数据信息的集中管理和远程控制。
智能家电控制系统是以HFC、以太网、现场总线、公共电话网、无线网的传输网络为物理平台,计算机网络技术为技术平台,现场总线为应用操作平台,构成一个完整的集家庭通信、家庭设备自动控制、家庭安全防范等控制系统。
以GSM网络作为数据无线传输网络,利用GSM短信息系统进行无线通信还具有双向数据传输功能,性能稳定,为远程数据传送和监控设备的通信提供了一个强大的支持平台。
系统功能
单片机连接8颗LED灯,模拟家电,灯亮表示相应家电打开,灯灭表示相应家电关闭。
TC35模块插入SIM卡,单片机通过AT指令控制TC35模块发送信息和接收信息。
开机,单片机发送向主控手机发送握手信号“Hi,Iamready.”,主控手机收到握手信号后,则可以对控制系统进行短信控制,如发送“open1”,则对应的led1灯亮,发送“shut1”,则对应的led1灯熄灭。
控制系统操作成功后,再向主控手机反馈信息,“Operatesuccessfully!
”,若操作失败则发送“Operatefail,tryagain!
”。
第二章硬件平台
系统硬件构成
该控制系统以STC89C52单片机为核心,组成单片机最小系统,通过串口连接TC35模块,P0口作为8位控制输出端口。
因为该系统是用的单片机学习板,P1、P2、P3端口已作其他用途,只有P0口有引出,故选用P0口作为输出,只需要添加加上拉电阻即可。
图1系统结构图
51单片机及外围电路
单片机主要控制TC35模块的收发短信,并对短信内容进行处理,得到相应的控制目的。
试验中用的是单片机的学习板,但实际上只用到很少的一部分硬件资源,主要是通过串口与TC35进行通信和P0口得控制输出。
单片机及外围电路图如下:
图2单片机及外围电路图
选用STC89C52单片机,选用的外部晶振,以方便进行串口通信波特率设置;采用USB供电,也可以外接电池供电;串口通过MAX232进行电平转换,这里不通过转换也可以,为了下载程序方便,故用了232电平转换电路;口接蜂鸣器,方便调试跟踪程序;将P0口上拉作为输出端口,接8颗LED状态灯,模拟家电的开启和关闭。
TC35模块
TC35模块简介
TC35是Siemens公司推出的新一代无线通信GSM模块,它自带RS232通讯接口,可以方便地与PC机、单片机连机通讯。
可以快速、安全、可靠地实现系统方案中的数据、语音传输、短消息服务和传真。
TC35模块的工作电压为~,可以工作在900MHz和1800MHz两个频段,所在频段功耗分别为2W(900MHz)和1W(1800MHz)。
模块有AT命令集接口,支持文本和PDU模式的短消息、第三组的二类传真以及、、的非透明模式。
此外,该模块还具有电话簿功能、多方通话、漫游检测功能,常用工作模式有省电模式、IDLE、TALK等模式。
通过独特的40引脚的ZIF连接器,实现电源连接、指令、数据、语音信号及控制信号的双向传输。
通过ZIF连接器及50Ω天线连接器,可分别连接SIM卡支架和天线。
TC35模块主要由GSM基带处理器、GSM射频模块、供电模块(ASIC)、闪存、ZIF连接器、天线接口六部分组成。
作为TC35的核心,基带处理器主要处理GSM终端内的语音、数据信号,并涵盖了蜂窝射频设备中的所有的模拟和数字功能。
在不需要额外硬件电路的前提下,可支持FR、HR和EFR语音信道编码。
图3TC35模块结构框图
GSM基带处理器是整个模块的核心,它控制着模块内各种信号的传输、转换、放大等处理过程。
GSM射频部分是一个单片收发器,它完成对射频信号的接收和发送等处理。
GSM模块电源把外部输入的电源电压进行稳压处理后供GSM基带处理器和GSM射频部分使用。
Flash用来存储一些用户配置信息、电话本和其他信息。
TC35的数据输入/输出接口实际上是一个串行异步收发器,符合RS232接口标准,有固定的参数:
8位数据位和1位停止位,无校验位,波特率在300bps~115kbps之间可选,硬件握手信号用RTS0/CTS0,软件流量控制用XON/XOFF,CMOS电平,支持标准AT命令集。
通过这一接口可以用AT命令切换操作模式,使它处于语音、数据、短消息或传真模式。
AT指令
GSM引擎模块提供的命令接口符合GSM07.05和规范。
中定义的ATCommand接口,提供了一种移动平台与数据终端设备之间的通用接口;对短消息作了详细的规定。
在短消息模块收到网络发来的短消息时,能够通过串口发送指示消息,数据终端设备可以向GSM模块发送各种命令。
与SMS有关的GSMAT指令如表1所列。
GSMAT指令集,是由诺基亚、爱立信、摩托罗拉和HP等厂家共同为GSM系统研制的,其中包含了对SMS(ShortMessageService)的控制。
常见的AT指令:
AT+CMGF选择短信息格式
AT+CSCA短信息中心地址
AT+CNMI显示新收到的短信息
AT+CMGR读短信息
AT+CMGS发送短信息
短信收发原理及程序设计
要使用TC35模块实现短信收发,就必须理解串口通信、AT指令和短信的编码、解码。
PC机或单片机通过串口向TC35模块发送AT命令,完成对TC35模块的控制和通信。
对于短信的收发控制模式,按时间先后,共有三种模式:
BlockMode、基于AT指令的TextMode、基于AT指令的PDUMode(ProtocolDataUnit)。
使用Block模式需要模块生产厂家提供驱动支持,使用Text模式收发短信代码简单,实现容易,但只能发送英文短信(纯文本格式),而使用PDU模式编码的短信内容则可以是中文、英文、声音或图像,本文主要介绍利用AT指令在Text模式下通过GSM无线模块收发短消息。
发送:
AT+CSCA=+86即设置短信中心为西安移动,设置成功TC35模块通过串口返回:
AT+CSCA=+86
OK
发送:
AT+CMGF=1设置短信格式为Text模式,设置成功TC35返回:
AT+CMGF=1
OK
TC35外围电路
图4TC35模块外围电路图
电源模块系统由5V供电,通过产生TC35需要的电压。
TC35模块通过一个40针的卡座连接在电路板上。
在电路板上接SIM卡和串口电路以及电源部分。
SYNC引脚可以用来输出一个同步信号(synchronization signal),也可以在应用使来控制一个LED灯的输出状态。
:
SYNC端通过一个三极管或门电路来控制LED。
一个简单的电路接法是:
SYNC端通过一电阻接到NPN三极管(如9013)的基极,射极直接接地,集电极通过一个接限流电阻接到LED的负端,LED的正端接VCC。
LED的工作模式完全类同于同步信号,显示的是TC35的工作状态:
1〉LED灯灭,表示TC35电源关闭,处于休眠、报警或单纯的充电模式
2〉600 ms 亮 / 600ms 灭,表示未插入SIM卡,或者个人身份未登记/已注销,或者网络正在搜寻中,或者正在进行用户身份鉴定,或者网络注册正在进行中
3〉75ms 亮 / 3s 灭,表示网络注册成功(控制通道和用户交换信息完成),无来电
4〉LED灯亮,依据不同的呼叫类型:
声音呼叫,数据呼叫,在建立或者完毕时的状态。
TC35的触发点火信号端/IGT, 用OC门或者一个简单的开关拉低该端电平来开启模块,低电平有效。
在空闲/通话/关机模式:
Vout = ,Vlow,max = @ Iout = 10µA,tlow ≥ 100ms。
对于点火信号IGT的处理,需要首先拉低该脚电平到地,并至少维持100ms。
第三章软件设计
设计要求
当系统开启,系统初始化,完成后向主控手机发送准备好信号“Hi,Iamready!
”,则表示系统通信没问题,主控手机可以发送命令实行远程控制了。
主控手机收到准备好信号后,可向系统发送“open1”,打开第一颗led灯,或者“shut1”,关闭第一颗led灯。
操作成功后,系统回馈给主控手机信息“operatesuccessfully!
”,若失败则返回“operatefail,tryagain!
”。
单片机与TC35模块串口通信,设置串口波特率9600bps,8位数据位和1位停止位,无校验位。
在串口接收中断处理函数把TC35返回的内容拷贝到一个全局变量,以便后续判读,处理信息。
程序流程图
图5程序流程图
程序举例
单片机实现短信自动发送
进行短信发送的前提是短信内容的正确编码。
经过以上对短信发送过程的分析,可以通过单片机对其进行实现。
下面是实现程序例程:
函数名:
PDU_SMS()
功能:
发送短信
参数说明:
SMS_Center为短信中心号码11位
SMS_Telenum为短信接收方的号码11位
SMS_Context为短信的内容
--------------------------------------------------------------------------------*/
intPDU_SMS(char*SMS_Center,char*SMS_Telenum,
char*SMS_Context,charis_GB)
{
inti,j;
unsignedcharlen,time;
charlens[3];
time=0;
for(i=0;i<300;i++)PDU_Code[i]=PDU_t[i];
/*----------设置短信中心号码--------------*/
for(i=0,j=0;i { PDU_Code[6+(j++)]=SMS_Center[2*i+1]; PDU_Code[6+(j++)]=SMS_Center[2*i]; } PDU_Code[6+j++]='F';."); 读取某一条短信,并将其进行显示 函数名: LAD_SMS()(shortfor"LoadAndDisplaytheShortMessageS") 功能: 用户函数,读取第n条短信,并在LCD的(x,y)位置显示出来 unsignedcharLAD_SMS(unsignedcharn,unsignedcharx,unsignedchary) { unsignedchari,len,t; chartemp[5]; chartemp1[3]; 图8发送命令“open1”,打开第1路led 图9第一路led亮,操作成功,返回信息“OperateSuccessfully! ” 图10发送命令“open4”,打开第4路led 图11第4路led亮,操作成功,返回信息“OperateSuccessfully! ” 图12打开第8路led 图13关闭第8路led 图14关闭第8路led成功 图15打开全部led 图16打开全部led成功 图17短信读取函数 图18短信发送函数 调试过程中遇到的问题及解决 1、TC35的电流消耗指标: 1〉通话模式的峰值电流(TALK mode of peak), 2〉通话模式的典型电流(TALK mode),300mA @900MHz / 270mA @1800MHz 3〉空闲模式(IDLE mode)的消耗电流,10mA 4〉休眠模式(SLEEP mode)的消耗电流,3mA 5〉关机模式(Power Down mode)的消耗电流,50µA 2、关于LED灯显示的状态 SYNC引脚可以用来输出一个同步信号(synchronization signal),也可以在应用使来控制一个LED灯的输出状态。 : SYNC端通过一个三极管或门电路来控制LED。 一个简单的电路接法是: SYNC端通过一电阻接到NPN三极管(如9013)的基极,射极直接接地,集电极通过一个接限流电阻接到LED的负端,LED的正端接VCC。 LED的工作模式完全类同于同步信号,显示的是TC35的工作状态: 1〉LED灯灭,表示TC35电源关闭,处于休眠、报警或单纯的充电模式 2〉600 ms 亮 / 600ms 灭,表示未插入SIM卡,或者个人身份未登记/已注销,或者网络正在搜寻中,或者正在进行用户身份鉴定,或者网络注册正在进行中 3〉75ms 亮 / 3s 灭,表示网络注册成功(控制通道和用户交换信息完成),无来电 4〉LED灯亮,依据不同的呼叫类型: 声音呼叫,数据呼叫,在建立或者完毕时的状态。 2、关于VDD端: TC35正常工作时,VDD引脚输出信号的幅度(大约在开机后60ms产生): 70mA,可作为外部应用。 空闲或者通话模式: VDDout = ±3% @ 70mA Imax = 70mA;电源关闭模式: VDDout = 0V。 3、关于VBATT+端: TC35的工作电压输入端VBATT+,电压幅度为 ,Vtyp = ,最大电流Imax ≤ 2 A @ GSM天线回波损耗(return loss)≥ 6 dB。 必须注意: 最低工作电压不能低于,否则电压将会跌落,从而导致TC35停止工作。 由于VBATT+引脚的峰值电流为 2A ,一个GSM发射脉冲(transmission burst)可能引起相当大的电压跌落,此外由于外部电源的扁平柔性连线的内在固有阻抗也可能损失一部分。 因此,在任何时候,必须保证VBATT+ 的电压不能低于 ,而且电压跌落差值不能超过400 mV。 另外,为了保证TC35在发射脉冲区间的电压跌落值处于最低值,采用尽可能短的连接模块和ZIF座的扁平柔性FFC电缆,长度不得超过200mm,和低输出阻抗(low-impedance)的电源。 4、关于POWER端: TC35的充电电压正端POWER,如果通过外部的电源(如充电器)供电,应保证Imax = 500 mA,Vin=。 5、关于/IGT(Ignition)端: TC35的触发点火信号端/IGT, 用OC门或者一个简单的开关拉低该端电平来开启模块,低电平有效。 在空闲/通话/关机模式: Vout = ,Vlow,max = @ Iout = 10µA,tlow ≥ 100ms。 对于点火信号IGT的处理,需要首先拉低该脚电平到地,并至少维持100ms。 注意,如果你通过充电器回路(接到POWER引脚)供电,或者通过电池供电(接到VBATT+引脚),那么IGT信号必须维持至少1秒! 6、关于PD(Power down): TC35的关闭电源端/PD,关机信号脉冲,信号波形为~~~|______|~~~ ,拉低到低电平,至少维持秒方为有效。 Vin,low,max = @ I = ,可用OC门或者一个简单的开关实现,通过关机信号端可以关闭TC35。 而在IGT引脚施加一个低电平脉冲信号可以重新开启模块及系统。 另外,关机信号端/PD也可用来实现看门狗信号输出: Vout,low = @ ,Vout,high = @ ,fout = 7、启动TC35的方式: TC35 可以通过以下方式激活,开始工作 1〉通过点火线IGT触发,进入正常工作状态 2〉通过电源线,开始进入充电区 3〉通过RTC中断,开始进入报警模式 8、TC35的开机操作时序 当开始应用,TC35的加电过程必须按照以下步骤进行: 1〉直到VBATT+脚的电平超过时方可对ignition线的信号电平变换。 2〉VBATT+脚的电平上升达到后维持10毫秒,方可拉低IGT线的信号电平。 IGT线的电平跌落时间(下降时间)必须不超过1ms。 3〉另外,该IGT线的低电平信号必须维持最少100ms。 4〉在IGT线信号转换区间必须保证 VBATT+ 的电压不能低于,否则模块不能被激活。 本系统设计的还有很多值得改进的地方: 1、功能还不够强,最好能添加实时时钟模块,实现定时控制;最好能添加PDU模式,实现中文短信发送接收;最好能够添加键盘输入模块,以便可以手动设置主控手机的号码;最好能添加状态查询功能,能通过短信查询个家电的开启和关闭状态。 2、输出端口驱动力不够,由于使用的是单片机学习板,资源有限,本系统用的P0端口控制输出,以后要扩展为继电器输出,驱动力不够。 3、电路不够简约。 由于成本及时间问题,本系统选用的是单片机学习板和TC35模块,电路分散,所以以后可以将单片机和TC35综合在一个板子上。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 STC89C52 TC35 模块 智能家居 控制