拳擊比賽的雙屏顯示系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
在現(xiàn)代體育比賽中,特別是關(guān)系到裁判的打分、打點(diǎn)的體育項(xiàng)目,裁判的公平、公正性直接關(guān)系到比賽能否順利進(jìn)行和體育競(jìng)技水平的高低。拳擊比賽中運(yùn)動(dòng)員的得分是靠5個(gè)臺(tái)下裁判打的有效點(diǎn)計(jì)入的。由于有效點(diǎn)需要至少3名裁判同時(shí)判有效才有效,裁判的水平和裁判的公正性直接決定運(yùn)動(dòng)員比分的高低。通過(guò)場(chǎng)地顯示屏的顯示,將裁判的詳細(xì)信息(姓名、單位、有效點(diǎn)和打點(diǎn)信息)公布于眾,能夠大大提高裁判的公平、公正性,保證比賽的質(zhì)量和水平。
Visual Basic是Microsoft公司推出的一種在Windows環(huán)境下的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言,他將Windows編程的復(fù)雜性封裝起來(lái),使用可視化界面設(shè)計(jì)應(yīng)用程序,提高了應(yīng)用程序的開(kāi)發(fā)效率,并且具有功能強(qiáng)大、易學(xué)易用、編程簡(jiǎn)潔等特點(diǎn),是當(dāng)今世界上使用最廣泛的編程語(yǔ)言之一,它也被公認(rèn)為是編程效率最高的一種編程方法。無(wú)論是開(kāi)發(fā)功能強(qiáng)大、性能可靠的商務(wù)軟件,還是編寫(xiě)能處理實(shí)際問(wèn)題的實(shí)用小程序,VB都是最快速、最簡(jiǎn)便的方法。
該軟件是在Visual Basic 6.0環(huán)境下設(shè)計(jì)的,兩種實(shí)現(xiàn)方法:一是單機(jī)通過(guò)調(diào)用API函數(shù)實(shí)現(xiàn)雙屏顯示;二是主從機(jī)之間通過(guò)串行通信實(shí)現(xiàn)雙屏顯示,這樣能夠滿足不同硬件環(huán)境的需求。
在VB 6.O中提供了完成串行通信的控件MSComm,該控件提供了標(biāo)準(zhǔn)的事件處理函數(shù)、過(guò)程,并通過(guò)屬性的方法提供了串行通信參數(shù)的設(shè)置,比較容易地解決了串行通信的問(wèn)題。
1 單機(jī)雙屏顯示設(shè)計(jì)
系統(tǒng)設(shè)計(jì)流程如圖1所示。
1.1 調(diào)用API函數(shù)
API(Application Programming Interface,應(yīng)用程序編程接口)是一些預(yù)先定義的函數(shù),目的是提供應(yīng)用程序與開(kāi)發(fā)人員基于某軟件或硬件的以訪問(wèn)一組例程的能力,而又無(wú)需訪問(wèn)源碼,或理解內(nèi)部工作機(jī)制的細(xì)節(jié)。所有運(yùn)行在Windows平臺(tái)上的應(yīng)用程序包括windows操作系統(tǒng)都可調(diào)用,VB是以Windows為編程環(huán)境的,所以可以利用API函數(shù)。
首先判斷雙屏標(biāo)志位doublescreen_flag,若為0,則啟用單機(jī)雙屏顯示:
聲明API函數(shù),各定義函數(shù)調(diào)用API函數(shù),例:
1.2 雙屏尺寸的設(shè)置
定義ChangeScreenSize()函數(shù)設(shè)置顯示界面在子屏中顯示尺寸的大小,例:
1.3 雙屏位置的設(shè)置
定義ChangeScreenPosition()函數(shù),設(shè)置畫(huà)面在子屏中的位置,例:
1.4 雙屏分辨率、頻率的設(shè)置
定義ChangeScreenFrequency()函數(shù),設(shè)置子屏的頻率和分辨率,例:
1.5 雙屏顯示的詳細(xì)內(nèi)容設(shè)計(jì)
根據(jù)比賽和拳聯(lián)的要求,場(chǎng)地顯示屏顯示的內(nèi)容主要有:裁判員的詳細(xì)信息(包括:姓名、單位、有效點(diǎn)以及打點(diǎn)信息)、運(yùn)動(dòng)員的信息(包括:姓名、單位)以及比賽信息(包括:公斤級(jí)、場(chǎng)次、輪次、時(shí)間、比分)等。雙屏內(nèi)容的顯示直接從軟件數(shù)據(jù)庫(kù)中采集。6個(gè)顯示界面包含不同的顯示信息,可以按顯示要求選擇不同的界面,滿足比賽的需求。其中界面1的部分代碼為:
2 主從機(jī)串行通信雙屏顯示設(shè)計(jì)
2.1 串行通信技術(shù)RS 232
串口通信技術(shù)采用了RS 232串口通信。目前RS 232是PC機(jī)與通信工業(yè)中應(yīng)用最廣泛的一種串行接口,它被定義為一種在低速率串行通訊中增加通訊距離的單端標(biāo)準(zhǔn)。RS 232采取不平衡傳輸方式,即所謂單端通訊。
在通信中選用2、3引腳作為通信的輸入輸出端口,5引腳作為地,制作兩個(gè)串行口時(shí)2、3號(hào)接口跳線。由于需傳送的內(nèi)容短少且只有一幀,沒(méi)有使用奇偶校驗(yàn)位,采用判別幀頭幀尾的方式判斷接受信息,只是簡(jiǎn)單的通信傳送,大大減少了系統(tǒng)的復(fù)雜程度。
2.2 MSComm控件
Microsoft Communications Control(以下簡(jiǎn)稱MSComm)是Microsoft公司提供的簡(jiǎn)化Windows下串行通信編程的ActiveX控件,它為應(yīng)用程序提供了通過(guò)串行接口收發(fā)數(shù)據(jù)的簡(jiǎn)便方法。
MSComm控件的常用屬性:
CommPort:設(shè)置并返回通訊端口號(hào)。
Settings:以字符串的形式設(shè)置并返回波特率、奇偶校驗(yàn)、數(shù)據(jù)位、停止位。
PortOpen:設(shè)置并返回通訊端口的狀態(tài),也可以打開(kāi)和關(guān)閉端口。
Input:從接收緩沖區(qū)返回和刪除字符。
Output:向傳輸緩沖區(qū)寫(xiě)一個(gè)字符串。
MSComm控件的設(shè)置:
2.3 串行通信的發(fā)送
首先判斷雙屏標(biāo)志位doublescreen_flag,若為1,則進(jìn)行串行通信。將需要發(fā)送的信息(裁判員的信息、運(yùn)動(dòng)員的信息、比賽信息)連成一幀,以FFFF作為幀頭以EEEE作為幀尾發(fā)送。根據(jù)發(fā)送幀長(zhǎng)判斷接受緩沖區(qū)的大小。根據(jù)是英文名稱還是中文名稱判斷發(fā)送內(nèi)容。部分代碼如下:
2.4 串行通信接受
在接受系統(tǒng)的顯示,采用從接受緩沖區(qū)截取的方法,將每部分賦給要顯示的文本,部分代碼如下:
控件的調(diào)用:
串口初始化:
字符及時(shí)鐘控件初始化:
接收啟用串口通信:
大屏信息:
3 場(chǎng)地顯示屏顯示界面
場(chǎng)地顯示屏顯示界面如圖3所示。
該界面包含了:場(chǎng)次、級(jí)別、輪次、時(shí)間、比分、運(yùn)動(dòng)員的信息、裁判員的信息、各有小點(diǎn)和指示燈等詳細(xì)信息,滿足比賽的要求。
4 結(jié)語(yǔ)
詳細(xì)介紹了拳擊比賽場(chǎng)地顯示屏顯示系統(tǒng)設(shè)計(jì),并將各環(huán)節(jié)的代碼示出,VB語(yǔ)言的簡(jiǎn)潔高效性顯得尤為突出。通過(guò)單機(jī)雙屏的介紹和主從節(jié)串口通信雙屏的介紹,從不同的角度實(shí)現(xiàn)雙屏顯示,該系統(tǒng)在全國(guó)運(yùn)動(dòng)會(huì)上得到應(yīng)用。