图3 短消息模块引脚
3.3 AT89S51单片机介绍
本设计中控制系统主要是实现对家用电器(本设计中用LED灯代替)开关的控制,其对系统本身的数据处理能力没有很高的要求,因此本设计选用了ATMEL公司生产的AT89S51单片机作为控制模块。其性能强大,能对外围设备进行精确的控制,具有很强大的工控能力。且价格低廉、文护简单,很适合作为远程家电控制系统的控制中心。AT89S51是一个低功耗,高性能的CMOS 8位单片机,片内含4KB的可反复擦写1000次的Flash只读程序存储器和通用8位中央处理器[6]。器件兼容MCS-51指令系统,支持C语言和汇编编程,可以通过Keil编程环境进行程序的开发与编译。
其引脚按其功能可分为如下三类:
(1)电源及时钟引脚——VCC、VSS;XTAL1、XTAL2
(2)控制引脚——PSEN、ALE/PROG、EA/VPP、RST
(3)I/O控制引脚——P0、P1、P2、P3,为4个8位I/O口的外部引脚
图4 单片机引脚
其中单片机的P3.0脚和P3.1脚分别与TC35i的RXD0和TXD0相连用来进行串口通信。
3.4 家电控制部分电路
因为日常生活中家电的工作电压和电流都是很大的交流电压,所以不能用的单片机直接驱动它们,需要通过驱动继电器来间接控制这些家电的开启与闭合。而对于采用红外控制的空调、电视等家用电器则需要通过一个红外发射模块来实现对这类家用电器的控制。本设计中因为只是实现家用电器开关的控制,因此只介绍了继电器间接控制电灯一类的家用电器。因为条件限制,本设计中电灯采用了LED灯代替,易于用软件仿真测试。继电器采用的是5V的通用电磁继电器。电磁继电器是电由磁铁、衔铁、弹簧片、触点等组成,其工作电路分为低压控制电路和高压工作电路两部分。当线圈中有电流时就会产生电磁效应,从而促使动触点与静触点吸合。当线圈中没有电流时,其动触点与静触点便会由于弹簧的作用无法吸合,这样就达到了对被控电器闭合与开启的控制。控制电路图如图5。
图5 控制电路部分
3.5 串口通信仿真图
本设计由于条件限制,因此单片机与TC35i之间的串口通信采用软件仿真代替。其中的VIRTUAL TERMINAL是用来监测显示串口数据传送的。采用相应的串口调试软件设置好参数,用Keil编译好程序将其下载到单片机中运行即可模拟串口通信。其仿真电路如下(因为COMPIM中自带有电平转换电路,此处无需再重新接电平转换器件,只需将对应引脚相连即可):
图6 串口通信仿真
3.6 仿真图
本设计中使用Proteus仿真软件对系统进行仿真。其仿真图如图7。
图7 仿真图
4. 系统软件的设计
4.1 概述
本设计中,用户通过手机等终端将开或关的指令通过GSM网络发送到TC35i模块,TC35i将接受到的短消息指令通过串口发送给单片机,单片机根据用户发送来的指令解码后相应地控制家电的开启与闭合。因此,程序主要包含两部分,一部分是单片机处理串口中断通信请求的程序;另一部分是驱动继电器控制相应家电开启与闭合的程序。单片机采用中断请求方式工作,这样避免了单片机在查询方式中的等待现象,大大地提高了单片机的工作效率。程序框图如图8。
图8 系统程序框图
4.2 系统初始化
系统开始工作前要先进行系统初始化的工作,其大致包括了以下几项工作:
(1)并口使能输出,使引脚初始电平为低,使继电器处于断开状态
(2)串口波特率和定时器的设置
(3)TC35i的15脚(即IGT)加一个100ms的低电平脉冲,启动TC35i, GSM远程家电遥控开关设计+仿真图+源码(4):http://www.youerw.com/tongxin/lunwen_506.html