关于拳击比赛的双屏显示的系统设计方案
扫描二维码
随时随地手机看文章
在现代体育比赛中,特别是关系到裁判的打分、打点的体育项目,裁判的公平、公正性直接关系到比赛能否顺利进行和体育竞技水平的高低。拳击比赛中运动员的得分是靠5个台下裁判打的有效点计入的。由于有效点需要至少3名裁判同时判有效才有效,裁判的水平和裁判的公正性直接决定运动员比分的高低。通过场地显示屏的显示,将裁判的详细信息(姓名、单位、有效点和打点信息)公布于众,能够大大提高裁判的公平、公正性,保证比赛的质量和水平。
Visual Basic是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。从任何标准来说,VB都是世界上使用人数最多的语言--不仅是盛赞VB的开发者还是抱怨VB的开发者的数量。它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。
该软件是在Visual Basic 6.0环境下设计的,两种实现方法:一是单机通过调用API函数实现双屏显示;二是主从机之间通过串行通信实现双屏显示,这样能够满足不同硬件环境的需求。
在VB 6.O中提供了完成串行通信的控件MSComm,该控件提供了标准的事件处理函数、过程,并通过属性的方法提供了串行通信参数的设置,比较容易地解决了串行通信的问题。
1 单机双屏显示设计
系统设计流程如图1所示。
1.1 调用API函数
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。所有运行在Windows平台上的应用程序包括windows操作系统都可调用,VB是以Windows为编程环境的,所以可以利用API函数。
首先判断双屏标志位doublescreen_flag,若为0,则启用单机双屏显示:
声明API函数,各定义函数调用API函数,例:
1.2 双屏尺寸的设置
定义ChangeScreenSize()函数设置显示界面在子屏中显示尺寸的大小,例:
1.3 双屏位置的设置
定义ChangeScreenPosition()函数,设置画面在子屏中的位置,例:
1.4 双屏分辨率、频率的设置
定义ChangeScreenFrequency()函数,设置子屏的频率和分辨率,例:
1.5 双屏显示的详细内容设计
根据比赛和拳联的要求,场地显示屏显示的内容主要有:裁判员的详细信息(包括:姓名、单位、有效点以及打点信息)、运动员的信息(包括:姓名、单位)以及比赛信息(包括:公斤级、场次、轮次、时间、比分)等。双屏内容的显示直接从软件数据库中采集。6个显示界面包含不同的显示信息,可以按显示要求选择不同的界面,满足比赛的需求。其中界面1的部分代码为:
2 主从机串行通信双屏显示设计
2.1 串行通信技术RS 232
串口通信技术采用了RS 232串口通信。目前RS 232是PC机与通信工业中应用最广泛的一种串行接口,它被定义为一种在低速率串行通讯中增加通讯距离的单端标准。RS 232采取不平衡传输方式,即所谓单端通讯。
在通信中选用2、3引脚作为通信的输入输出端口,5引脚作为地,制作两个串行口时2、3号接口跳线。由于需传送的内容短少且只有一帧,没有使用奇偶校验位,采用判别帧头帧尾的方式判断接受信息,只是简单的通信传送,大大减少了系统的复杂程度。
2.2 MSComm控件
Microsoft Communications Control(以下简称MSComm)是Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件,它为应用程序提供了通过串行接口收发数据的简便方法。
MSComm控件的常用属性:
Commport:设置或返回串口号。
Settings:以字符串的形式设置或返回串口通讯参数。
Portopen:设置或返回串口状态。
InputMode:设置或返回接收数据的类型。
Inputlen:设置或返回一次从接收缓冲区中读取字节数。
InBufferSize:设置或返回接收缓冲区的大小,缺省值为1024字节。
InBufferCount:设置或返回接收缓冲区中等待计算机接收的字符数。
Input:从接收缓冲区中读取数据并清空该缓冲区,该属性设计时无效,运行时只读。
OutBufferSize:设置或返回发送缓冲区的大小,缺省值为512字节。
OutBufferCount:设置或返回发送缓冲区中等待计算机发送的字符数。
Output:向发送缓冲区发送数据,该属性设计时无效,运行时只读。