關(guān)于拳擊比賽的雙屏顯示的系統(tǒng)設(shè)計方案
在現(xiàn)代體育比賽中,特別是關(guān)系到裁判的打分、打點的體育項目,裁判的公平、公正性直接關(guān)系到比賽能否順利進行和體育競技水平的高低。拳擊比賽中運動員的得分是靠5個臺下裁判打的有效點計入的。由于有效點需要至少3名裁判同時判有效才有效,裁判的水平和裁判的公正性直接決定運動員比分的高低。通過場地顯示屏的顯示,將裁判的詳細信息(姓名、單位、有效點和打點信息)公布于眾,能夠大大提高裁判的公平、公正性,保證比賽的質(zhì)量和水平。
Visual Basic是一種由微軟公司開發(fā)的包含協(xié)助開發(fā)環(huán)境的事件驅(qū)動編程語言。從任何標準來說,VB都是世界上使用人數(shù)最多的語言--不僅是盛贊VB的開發(fā)者還是抱怨VB的開發(fā)者的數(shù)量。它源自于BASIC編程語言。VB擁有圖形用戶界面(GUI)和快速應(yīng)用程序開發(fā)(RAD)系統(tǒng),可以輕易的使用DAO、RDO、ADO連接數(shù)據(jù)庫,或者輕松的創(chuàng)建ActiveX控件。程序員可以輕松的使用VB提供的組件快速建立一個應(yīng)用程序。
該軟件是在Visual Basic 6.0環(huán)境下設(shè)計的,兩種實現(xiàn)方法:一是單機通過調(diào)用API函數(shù)實現(xiàn)雙屏顯示;二是主從機之間通過串行通信實現(xiàn)雙屏顯示,這樣能夠滿足不同硬件環(huán)境的需求。
在VB 6.O中提供了完成串行通信的控件MSComm,該控件提供了標準的事件處理函數(shù)、過程,并通過屬性的方法提供了串行通信參數(shù)的設(shè)置,比較容易地解決了串行通信的問題。
1 單機雙屏顯示設(shè)計
系統(tǒng)設(shè)計流程如圖1所示。
1.1 調(diào)用API函數(shù)
API(Application Programming Interface,應(yīng)用程序編程接口)是一些預(yù)先定義的函數(shù),目的是提供應(yīng)用程序與開發(fā)人員基于某軟件或硬件的以訪問一組例程的能力,而又無需訪問源碼,或理解內(nèi)部工作機制的細節(jié)。所有運行在Windows平臺上的應(yīng)用程序包括windows操作系統(tǒng)都可調(diào)用,VB是以Windows為編程環(huán)境的,所以可以利用API函數(shù)。
首先判斷雙屏標志位doublescreen_flag,若為0,則啟用單機雙屏顯示:
聲明API函數(shù),各定義函數(shù)調(diào)用API函數(shù),例:
1.2 雙屏尺寸的設(shè)置
定義ChangeScreenSize()函數(shù)設(shè)置顯示界面在子屏中顯示尺寸的大小,例:
1.3 雙屏位置的設(shè)置
定義ChangeScreenPosition()函數(shù),設(shè)置畫面在子屏中的位置,例:
1.4 雙屏分辨率、頻率的設(shè)置
定義ChangeScreenFrequency()函數(shù),設(shè)置子屏的頻率和分辨率,例:
1.5 雙屏顯示的詳細內(nèi)容設(shè)計
根據(jù)比賽和拳聯(lián)的要求,場地顯示屏顯示的內(nèi)容主要有:裁判員的詳細信息(包括:姓名、單位、有效點以及打點信息)、運動員的信息(包括:姓名、單位)以及比賽信息(包括:公斤級、場次、輪次、時間、比分)等。雙屏內(nèi)容的顯示直接從軟件數(shù)據(jù)庫中采集。6個顯示界面包含不同的顯示信息,可以按顯示要求選擇不同的界面,滿足比賽的需求。其中界面1的部分代碼為:
2 主從機串行通信雙屏顯示設(shè)計
2.1 串行通信技術(shù)RS 232
串口通信技術(shù)采用了RS 232串口通信。目前RS 232是PC機與通信工業(yè)中應(yīng)用最廣泛的一種串行接口,它被定義為一種在低速率串行通訊中增加通訊距離的單端標準。RS 232采取不平衡傳輸方式,即所謂單端通訊。
在通信中選用2、3引腳作為通信的輸入輸出端口,5引腳作為地,制作兩個串行口時2、3號接口跳線。由于需傳送的內(nèi)容短少且只有一幀,沒有使用奇偶校驗位,采用判別幀頭幀尾的方式判斷接受信息,只是簡單的通信傳送,大大減少了系統(tǒng)的復(fù)雜程度。
2.2 MSComm控件
Microsoft Communications Control(以下簡稱MSComm)是Microsoft公司提供的簡化Windows下串行通信編程的ActiveX控件,它為應(yīng)用程序提供了通過串行接口收發(fā)數(shù)據(jù)的簡便方法。
MSComm控件的常用屬性:
Commport:設(shè)置或返回串口號。
Settings:以字符串的形式設(shè)置或返回串口通訊參數(shù)。
Portopen:設(shè)置或返回串口狀態(tài)。
InputMode:設(shè)置或返回接收數(shù)據(jù)的類型。
Inputlen:設(shè)置或返回一次從接收緩沖區(qū)中讀取字節(jié)數(shù)。
InBufferSize:設(shè)置或返回接收緩沖區(qū)的大小,缺省值為1024字節(jié)。
InBufferCount:設(shè)置或返回接收緩沖區(qū)中等待計算機接收的字符數(shù)。
Input:從接收緩沖區(qū)中讀取數(shù)據(jù)并清空該緩沖區(qū),該屬性設(shè)計時無效,運行時只讀。
OutBufferSize:設(shè)置或返回發(fā)送緩沖區(qū)的大小,缺省值為512字節(jié)。
OutBufferCount:設(shè)置或返回發(fā)送緩沖區(qū)中等待計算機發(fā)送的字符數(shù)。
Output:向發(fā)送緩沖區(qū)發(fā)送數(shù)據(jù),該屬性設(shè)計時無效,運行時只讀。