APP下载

“Visual C++语言”课程教学改革研究

2012-08-16侯春望薄迎春宋曙芹

电气电子教学学报 2012年4期
关键词:采集卡消息编程

侯春望,薄迎春,宋曙芹

(中国石油大学(华东)信息与控制工程学院,山东青岛 266580)

0 引言

近年来,我院在自动化、电子、电气和测控等四个专业陆续开设了“Visual C++语言”课程,课程设置的目的在于培养学生掌握可视化编程的方法,提高计算机应用能力。但是,实际教学效果并不是很理想。根据文献[1]并结合笔者教学经验分析,“Visual C++语言”课程教学中主要存在以下三个问题:①课程Visual C++语言内容较多,而教学课时有限;②学生有畏难情绪;③ 学生上机编程能力差。因为原来的教学方式和考核方式引导学生把主要精力放在去记忆一些概念和例程的代码上面。

针对以上问题,笔者参考案例教学方法和相关教改经验,在教学过程中根据专业特点,精选专业工程案例进行案例教学[2,3]。我们将一个工程案例按照功能模块进行划分,同时将所要讲授的VC知识点嵌入到各个功能模块的实现过程中。

下面以“基于对话框的应用程序”授课内容为例来简要说明笔者采用的案例教学过程。

1 案例模块划分

笔者在“基于对话框的应用程序”授课过程中,选定了一个数据采集工程案例作为教学案例,此案例的图形界面如图1所示。教学过程中,将数据采集程序划分为如下二个功能模块。

(1)数据采集曲线显示效果控制—该模块实现的功能包括将采集到的数据以曲线的方式显示出来,并且可以实现控制图形曲线的线型和颜色。这里可以考虑嵌入Windows图形输出和控件编程等重要知识点。

(2)数据采集流程控制—该模块实现的功能是通过VC的定时器定时采集数据采集卡的端口数据。可以考虑嵌入定时器消息编程和数据采集卡应用编程等重要知识点。

图1 数据采集软件案例

2 图形输出

案例程序首先要实现数据的显示功能,涉及到MFC图形输出操作。根据程序需要,定义对话框类的两个成员变量用来保存相关数据:

CPoint m_Data[100];//采集到的数据

int m_nPointNum;//数据计数器

然后在对话框的成员函数OnPaint中编写绘图代码实现绘图区域网格和数据曲线的绘制。基本绘图功能实现之后,添加滚动条控件控制曲线的颜色,添加单选按钮控制曲线的线型,添加复选框按钮可以控制是否显示曲线。

通过曲线绘制和控制功能的实现,重点讲解MFC图形输出中设备环境选择、画笔和画刷的使用、按钮和滚动条控件的编程和MFC消息映射等一系列重要知识点。

3 数据采集

案例程序通过定时器消息和数据采集卡的编程接口实现数据采集功能。

在MFC中可以使用消息映射实现定时器消息WM_TIMER的处理。定时器消息的处理包括如下三个步骤。

(1)启动定时器,可通过调用函数CWnd::Set-Timer()实现;

(2)定时器消息处理,可通过映射定时器消息WM_TIMER并实现消息处理函数实现;

(3)停止定时器,可通过调用函数CWnd::Kill-Timer()实现。

教学案例中使用AM-4000UA数据采集卡,它可以提供12位32路AD输入,12位2路DA输出,16路开关量输入和16路开关量输出功能。采集卡AM-4000UA还提供了Visual C++的编程接口,通过接口函数可以实现对数据采集卡的控制。案例中使用了AD输入功能,运用几个接口函数完成如下功能:①获取本机上插的USB采集卡的个数;②打开USB采集卡;③设置USB采集卡的工作参数;④读取采集的转换数据;⑤关闭USB采集卡。

使用数据采集卡首先要进行初始化,通过“启动”和“停止”按钮控制定时器的启动和停止,从而控制数据采集的流程。最后,在定时器消息WM_TIMER的处理函数OnTimer中实现数据采集和对数据的处理功能。

通过数据采集功能的实现,可以重点介绍定时器消息的编程和AM-4000UA数据采集卡在Visual C++环境下的编程方法。

4 结语

笔者将上述改革方案在我院两届学生中进行了试验研究,获得了较好的效果,并获得了一定的推广经验。

(1)案例教学方法以工程案例为中心,采用模块化的教学方式,可以使学生将计算机知识和所学专业知识快速融合,有助于学生分析、解决问题能力的提高。任课教师可根据自身的实际情况灵活地选择合适的实例,该方法易于实现和推广。

(2)案例教学方法可将最新的专业软件研究成果应用于课堂教学。通过将相关课程内容进行有机结合,可以大大提高学生应用VisualC++语言解决专业问题的能力,为后续课程学习打下坚实基础。

综上所述,针对专业特色设计的案例教学方案是提高学生软件开发和应用能力的一种有效手段。

[1] 郭晓芳.“Visual C++程序设计语言”教学效果调查分析[J].北京:计算机教育,2007(7)

[2] 靳玉乐.案例教学原理[M].重庆:西南师范大学出版社,2003

[3] 翁虹.Visual C++6.0环境下汇编与C/C++混合编程的教学[J].南京:电气电子教学学报2003,25(4)

猜你喜欢

采集卡消息编程
高精度AD采集卡性能测试及评价方法研究
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
一张图看5G消息
面向数控机床的多通道传感数据采集卡设计
并行高速采样在地震物理模拟采集中的应用
PCI-e高速数据采集卡的驱动与上位机软件设计
消息