内容发布更新时间 : 2024/11/8 12:05:28星期一 下面是文章的全部内容请认真阅读。
基于无线传感器网络的智能家居安防系统初步构建
图3-8 电源通断产生尖峰值
说明:有效的防止了由于实际不确定因素对AT89S52单片机程序运行的影响从而产生的误操作危险。
3.6 小结
本章主要介绍了本文所设计系统的相关硬件电路设计,并对系统使用到的主要相关器件的性能、特点进行了注意的说明。对硬件电路设计时遇到的一些实际情况中的问题及解决办法逐一进行了说明。
- 18 -
浙江理工大学信息电子学院本科毕业论文
第四章 智能家居安防系统软件设计
4.1 后台处理软件与下位机的分工
后台处理软件程序实现功能:
接收下位机发送过来的数据,将数据以图形和数据双重形式显示给用户,并具有数据存盘功能。将接收到的数据与初始设定的预警值比较,若数据大于预警值(即煤气含量超标),则向下位机发送电器控制命令控制字。
下位机程序实现功能:
下位机数据采集模块程序实现从ADC0809读取转换后的数字量信号数值。每读取一次,就将PTR8000设置为发送模式,并将读取到的数据通过PTR8000无线收发模块发送出去。
下位机数据接收模块程序初始设置PTR8000为接收模式,通过PTR8000读取数据采集模块发送过来的数据。并将接收到的数据通过串口发送给后台处理软件。以中断方式响应后台处理软件发送过来的命令控制字。对后台处理软件发送过来的命令控制字做相应的判断,作出相应的处理(开启或关闭家电)。 4.2 PC机实时显示模块(后台处理软件)软件设计 4.2.1 软件编译环境
后台处理软件程序设计与编译软件选用Microsoft 公司的Visual C++ 6.0软件开发。VC6.0基于C,C++语言,主要由是MFC组成,是与系统联系非常紧密的编程工具,它兼有高级,和低级语言的双重性,功能强大,灵活,执行效率高,几乎可说VC6.0在 Windows平台无所不能。 最大缺点是开发效率不高。 软件运行界面如图4-1所示。
- 19 -
基于无线传感器网络的智能家居安防系统初步构建
图4-1 VC软件编辑界面
VC6.0适用范围
1、 VC6.0主要是针对Windows系统,适合一些系统级的开发,可以方便实现一些底层 的调用。
2、 VC6.0主要用在驱动程序开发
3、 VC6.0执行效率高,当对系统性能要求很高的时候,可用VC6.0开发。 4、 VC6.0主要适用于游戏开发
5、 VC6.0多用于单片机,工业控制等软件开发,如直接对I/O地址操作,就要用C++。 6、 VC6.0适用开发高效,短小,轻量级的COM组件,DLL。比如WEB上的控件。 7、 VC6.0可以开发优秀的基于通信的程序。 8、 VC6.0可以开发高效灵活的文件操作程序。 9、 VC6.0可以开发灵活高效的数据库操作程序。 4.2.2后台处理软件程序流程图
后台处理软件软件流程图如图2-4所示。主要具有如下功能:
(1)程序启动设置串口参数(与下位机串口参数匹配),包括波特率,数据位,奇偶校验位,停止位等。串口号由用户自行选择,默认打开串口1。
- 20 -
浙江理工大学信息电子学院本科毕业论文
(2)接收数据,通过串口接收数据,对数据进行相应的处理。
(3)显示,以直观图形和数据双重形式将接收到的数据实时显示给用户。 (4)存盘功能,将接受到的数据以文件形式存入PC机,以便用户查找和做相应的分析。
(5)预警功能,根据初始设定,判断接受到的数据是否超过预警上限。若超过预警上限,向下位机发送电器控制的命令控制字,打开或关闭电器(排风扇)。
实现步骤:调用InitPort()函数,OnComm()函数接收串口传输过来的数据。SetData()函数将接收过来的数据以动态图形形式显示。通过WriteToPort()函数向串口发送命令控制字。
4.2.3 程序语言选择
后台处理软件程序设计语言主要有VB、VC、delphi等,本毕业设计我选用VC程序设计语言,相对于其他程序设计语言,VC有较好的模块控制和面向对象等优点。编译环境选择Visual C++ 6.0软件。 4.2.4 后台处理软件程序
程序源代码见附录一。
4.3 数据采集传输模块(下位机)软件设计 4.3.1 软件编译环境
下位机程序设计与编译软件选用Microsoft 公司的Keil uVision 8.0软件开发。Keil uVision 8.0标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器的功能不断增强, 使你可以更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uVision2 IDE可为它们提供单一而灵活的开发环境。软件运行界面如图4-2所示。
- 21 -
基于无线传感器网络的智能家居安防系统初步构建
图4-2 Keil uVision软件编辑界面
Keil uVision 8.0软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil uVision 8.0生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。 4.3.2下位机程序流程图
发送模块程序采用循环方式向接收模块发送数据。接收模块采用查询方式接收发送模块发送过来的程序。程序流程图如图4-3、图4-3所示
- 22 -