时间:2022-10-25 12:58:27
摘要:高校大批量多媒体教室的建成与投入运行,在一定程度上提高了课堂教学效率,改善了教学质量,对促进教学改革,提高教学效果起到了较大的作用。文章介绍了利用VB6串行通信编程的方法,对采用了RS-232接口的投影机进行串行通信的计算机控制软件开发,以控制投影机的开关机以及VGA信号和视频信号的互换。
关键词:VB6;多媒体教室;串行通信;投影机;软件开发;控制程序
中图分类号:TN141文献标识码:A文章编号:1009-2374(2010)03-0054-02
高校大批量多媒体教室的建成与投入运行,在一定程度上提高了课堂教学效率,改善了教学质量,对促进教学改革,提高教学效果起到了较大的作用。但广大教师在使用过程中总感觉到不太顺手,特别是投影机的开关机以及VGA信号和视频信号的互换。究其原因,主要是投影机遥控器使用时间一长,跑码现象严重,某些按键失灵,再加上人为的操作失误,常常造成投影机不能正常开机,从而影响投影机及灯泡的寿命。通过对采用了RS-232接口的投影机进行串行通信的计算机控制软件开发,来控制投影机的开关机以及VGA信号和视频信号的互换,可以大大减少上述现象的发生。本文采用了微软的Visual Basic6.0(简称VB6)来开发,以松下PT-U1X92投影机为例。
一、硬件连接与设置
位于投影机侧接口面板的串联接口和RS-232C接口规格相符,因此投影机能被与该接口相连的电脑控制,通过软件来控制投影机的开关机及VGA信号和视频信号的互换,在物理连接方面需要在投影机和计算机之间增加一条多芯的控制线,如图1所示。根据软件界面的提示,根据任务驱动类型,计算机向投影机发出控制信息,投影机根据控制信息执行相应的动作。
投影机串口的接口一般有3种形式,一是9针的标准接口,一个是8针的圆接口,另一个是15针的标准接口。9针的接口一般为:2脚为信号接收端(其中松下的投影机是3脚为信号接收端),5脚为地。8针的圆接口一般为:1脚为信号接收端,4脚为地,其中明基的是7脚为信号接收端,外壳为地。15针的接口为:13脚为信号接收端,10脚为地。
松下投影机控制端口与RS-232串行口连接示意图如图2所示,投影机方引脚2为发送数据,引脚3为接收数据,电脑方引脚2为接收数据,引脚3为发送数据,其中“发送数据”和“接收数据”是指计算机向投影机发送和接收投影机的数据。
二、投影机数据格式及控制指令
(一)数据基本格式
根据松下投影机使用说明书,从电脑发送到投影机的数据按图3所示格式传输:
(二)控制指令
电脑控制投影机的指令见表1:
(三)投影机控制代码
串口码有两种形式,一种是ASCII码,另一种是16进制码。根据数据传送格式和控制指令,可以计算出投影机的控制代码,以16进制码为例,见表2:
三、软件设计
VB6提供了许多供用户选择的控件(Customcontrol),这些控件以.OCX为文件后缀名,其中MSCOMM.OCX即是用于串行通信的控件。如果需要使用该控件,可将该控件添加到工具箱(toolbox)内,这样就可以利用该控件进行串行通信程序的设计。
通常我们以下面的步骤来使用VB的Mscomm控件作通讯控制:
加入通讯对象,也就是Mscomm对象。
设定通讯端口号,即CommPort属性。
设定传输速度等参数,即Settings属性。
设定其它参数:
开启通讯端口,即PortOpen 属性。
送出字符串或读入字符串,使用Input及Output属性。
使用完Mscomm通讯对象后,将通讯端口关闭。
根据以上的步骤,就可以构建自己的通讯传输系统了。
下面以松下投影机为例,说明如何进行串行通信程序的设计,该程序在Windows2000环境下已调试通过。
(一)设计用户界面
首先新建一个“标准EXE”工程,然后选择“工程/部件”菜单项,在“部件”对话框中选择Microsoft Comm Control 6.0即可添加MsComm控件;再在窗体中依次布置如下控件并设置其属性,见表3:
(二)程序设计
1.限于篇幅,只列出了部分程序代码。
窗口初始化
Private Sub Form_Load()
Form1.left=screen.width/2窗体的位置
Form1.top=screen.height/20
mPort = 1 ’ 使用串行口1
’波特率9600,无校验,8个数据位,1个停止位
MSComm1.Settings = "9600,N,8,1"
MSComm1.PortOpen = True’ 打开串行口
End Sub
2.投影机开控制代码
Private Sub Command1_Click()投影机开控制代码
Dim OP(5) As Byte
Dim lOP As Variant
OP(0) = &H2
OP(1) = &H50
OP(2) = &H4F
OP(3) = &H4E
lOP = OP
MSComm1.Output = lOP
End Sub
3.投影机关控制代码
Private Sub Command2_Click()
Dim C(5) As Byte
Dim LC As Variant
C(0) = &H2
C(1) = &H50
C(2) = &H4F
C(3) = &H46
C(4) = &H3
LC = C
MSComm1.Output = LC
End Sub
(三)程序简要说明
上述程序设置的端口通信协议为:9600波特率,无校验,8个数据位,1个停止位。当退出程序时,一定要关闭串行口,通过MSComm1.PortOpen=False完成。要实现完善的功能,必须进一步改进程序。
四、结语
投影机开关控制程序在浙江科技学院进行了试运行,通过一段时间的推广和应用,得到全校广大师生的认同和喜爱,简化了操作程序,减少了人为误操作,延长了投影机的使用寿命,节约了维护成本,具有很大的实用价值。
参考文献
[1]史舒人.多媒体教室遥控鼠标功能的开发[J].中国电化教育,2003,(10).
[2]艾德才.计算机硬件技术基础[M].北京:中国水利水电出版社,2000.
[3]谭浩强.计算机组成原理[M].北京:中国铁道出版社,2004.
[4]罗朝盛,余文芳,余平.Visual Basic 6.0程序设计教程[M].北京:人民邮电出版社,2002.
作者简介:董岩(1971-),女,山东滕州人,供职于北京信息管理学校。