首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
数字化小区信息发布系统设计与实现
来源:本站整理  作者:佚名  2009-06-18 16:19:57




2.2.2 用户机硬件设计
在用户机中,需要着重提到的是液晶显示模块,它是数字化区信息发布系统的信息显示载体。液晶模块与CPU三线连接,采用串行方式通信,节约了CPU的资源。信息存储在串行EEPROM中,当用户按下按键查看信息时,CPU从存储器中读取信息,并在液晶模块上显示。
存储器中除了存储信息发布的信息外,还有一些固定的参数,比如:层号、房间号、撤布防的密码、振铃时间、主码等,这些参数均可以通过键盘进行软设定。采用软件设置的办法,避免了采用跳线或拨码开关进行参数设置的传统做法。用户机框图如图2所示。

键盘完成的功能主要有:呼叫、开锁、设定参数、信息翻屏、撤布防等。报警输入模块接收来自传感器的信号。CPU接收到报警信号后通过CAN总线上传,最终到达上位机。用户机的其它功能模块比较简单,限于篇幅,这里就不再做过多叙述了。
2.3  智能小区管理软件的实现
2.3.1 打开串口
使用函数CreateFile()打开串口。其声明如下:
HANDLE CreateFile(
LPCTSTR lpFileName,   //指向文件或串口的指针
DWORD dwDesiredAccess,  //读写模式
DWORD dwShareMode,    //共享方式
LPSECURITY_ATTRIBUTES lpSecurityAttributes,//安全属性
DWORD dwCreationDistribution,//创建方式
DWORD dwFlagsAndAttributes, //文件属性
HANDLE hTemplateFile); // 用于拷贝文件属性的句柄
2.3.2 关闭串口
关闭串口比打开串口要简单得多,只需要调用CloseHandle()函数关闭由CreateHandle()函数返回的句柄即可。CloseHandle函数的声明如下:
BOOL CloseHandle(
  HANDLE hObject;)  //指向串口的句柄
2.3.3 异步操作
异步(重叠)I/O操作是指应用程序可以在后台读或者写数据,而在前台做其他事件。首先介绍一个结构OVERLAPPED,这个结构对于执行串口的异步操作来说是必需的。其定义如下:
typedef struct _OVERLAPPED{
DWORD Internal;
DWORD InternalHigh;
DWORD Offset;
DWORD OffsetHigh;
HANDLE hEvent;
} OVERLAPPED;
在这个结构中,前两个参数为操作系统所保留。接下来的两个参数在对串口操作时是无效的。对于串行口而言仅hEvent成员有效,其余成员必须为0。在设置了异步I/O操作后,I/O操作和函数返回有以下两种情况:当函数返回时I/O操作已经完成,此时结果好像是同步执行的,但实际上这是异步执行的结果。当函数返回时I/O操作还没有完成,此时一方面,函数返回值为零,并且GetLastError()函数返回ERROR_IO_PENDING;另一方面,系统将OVERLAPPED中的信号事件设为无信号状态。I/O操作完成时,系统要把它设置为有信号状态。异步I/O操作的结果可以由GetOverLappedResult()函数来获取,也可以使用Windows的信号函数来处理。
3 结束语
通过对系统进行详细分析和功能设计,采用 CAN总线和C++ 技术,缩短了系统的开发周期,提高了开发者的效率,实现了功能强大而又比较灵活的小区信息发布系统。本系统经过测试,包括软件仿真和系统联机调试,结果证明这种信息发布的方案是可行的。相信随着数字化社区的不断发展,其应用前景也将越来越广泛。
4 创新点总结
本文的创新点在于提出了一种新的小区信息发布的方案。CAN总线通信速率高、通信距离远、可靠性高,可以满足信息发布系统的通信要求。将CAN总线技术应用于信息发布,改变了以往电子公告牌静态的发布模式,具有高度的灵活性和广泛的实适用性。

上一页  [1] [2] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:135,921.90000 毫秒