编辑:
2015-06-30
4、 PC 机与数据处理
PC 机采用VC6.0 开发上位机软件。VC6.0 具有面向对象的设计方法、友好的用户界面、实时型强等优点,还具有强大数据处理和图形处理功能,因此非常适用于开发通信系统控制软件。在采用VC 开发过程中,为实现远程通信,设计中采用MSComm 控件。该控件屏蔽了通信过程中的底层操作,应用时只需要监控MSComm 控件的属性和事件,便可以通过RS-232 与单片机实现串行异步通信。
PC 机与单片机的通信协议设定波特率为9600,偶校验,8 个数据位,一个停止位。MSComm 控件通讯方式采用事件驱动方式。PC 机把单片机传送过来的温湿度测量值存放在内存中,并可以利用PC 机的时间功能,记录下测量数据的时间。VC 编写基于对话框的应用程序,可在显示屏幕上动态曲线的形式来显示湿温度的值,还可打印和存储大量的温湿度测量值,供以后参考和分析,也是对单片机性能不足的补充。
可利用 VC6.0 对测量的数据进行数字滤波,提高温湿度的测量精度。也可以用最小二乘法,对测量结果进行线性化处理,进一步提高测量的精度。
此外,在绘制动态曲线的过程,每一次从串口传来的数据都会引起窗口的重绘,如果采用直接在GDI 中绘图的方法会引起图像的闪烁现象。因此可以采用双缓存技术。双缓存技术就是把要显示的图形先在内存中绘制好,然后调用BitBlt 函数,把内存设备复制到显示设备上。由于这时非常规整的内存拷贝,这个过程会进行的非常快,这样就会消除重绘而引起的图像闪烁问题。
实现双缓存技术的过程如下:
1. 保证绘图过程中的所有CDC 及其继承类指向内存DC。这里可以利用内存设备环境变量CMemDC(一个开源的类)来代替设备环境变量。
2. 修改OnEraseBkgnd(CDC*) 事件将代码屏蔽,改为一句 return TRUE;
3. 将图像背景擦除的的过程放到内存缓冲区里面去做。部分关键代码如下:
void CGraphView::OnDraw(CDC* pDC)
{
CRect rectClient;
GetClientRect( &rectClient );
CMemDC memDC(pDC, rectClient);
EraseBkgnd(&memDC);
// OnEraseBkgnd 失效了,但是仍然需要在内存缓冲区中擦除背景
m_graph.Redraw( &memDC, rectClient );
}
4. 在内存中绘制图形,并把结果切换到显示DC。实践表明,双缓存技术在绘图中有稳定良好的效果。
5 、系统软件设计
本系统用 C 语言编程,软件采用模块化结构程序设计方式。总体上包括主程序模块、参数设置模块、通信模块、显示模块以及报警子模块等。最后主程序和中断处理程序将各个模块连接起来。这样使程序利于修改和调试,也增强了程序的可移植性。下位机完成对周围湿温度数据的采集、处理、显示和发送。上位机基于VC 开发应用程序,来实现对下位机的控制,节点选择以及对接收到数据的动态显示、储存、分析和处理。
6 、结束语
总体来说,系统设计新颖,简单实用。样机经过长时间的运行测试,可靠稳定,使用方便。特别是基于VC6.0开发的上位机界面使监测更加便捷,更具人性化特点。此外,本设计在系统分析和设计方法学上也有一定的学术参考价值。
以上就是威廉希尔app 为大家提供的论文开题报告,希望大家好好利用。
相关推荐:
标签:开题报告指南
威廉希尔app (51edu.com)在建设过程中引用了互联网上的一些信息资源并对有明确来源的信息注明了出处,版权归原作者及原网站所有,如果您对本站信息资源版权的归属问题存有异议,请您致信qinquan#51edu.com(将#换成@),我们会立即做出答复并及时解决。如果您认为本站有侵犯您权益的行为,请通知我们,我们一定根据实际情况及时处理。