在現(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)員比分的高低。通過場(chǎng)地顯示屏的顯示,將裁判的詳細(xì)信息(姓名、單位、有效點(diǎn)和打點(diǎn)信息)公布于眾,能夠大大提高裁判的公平、公正性,保證比賽的質(zhì)量和水平。
Visual Basic是一種由微軟公司開發(fā)的包含協(xié)助開發(fā)環(huán)境的事件驅(qū)動(dòng)編程語言。從任何標(biāo)準(zhǔn)來說,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提供的組件快速建立一個(gè)應(yīng)用程序。
該軟件是在Visual Basic 6.0環(huán)境下設(shè)計(jì)的,兩種實(shí)現(xiàn)方法:一是單機(jī)通過調(diào)用API函數(shù)實(shí)現(xiàn)雙屏顯示;二是主從機(jī)之間通過串行通信實(shí)現(xiàn)雙屏顯示,這樣能夠滿足不同硬件環(huán)境的需求。
在VB 6.O中提供了完成串行通信的控件MSComm,該控件提供了標(biāo)準(zhǔn)的事件處理函數(shù)、過程,并通過屬性的方法提供了串行通信參數(shù)的設(shè)置,比較容易地解決了串行通信的問題。
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)用程序與開發(fā)人員基于某軟件或硬件的以訪問一組例程的能力,而又無需訪問源碼,或理解內(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è)置畫面在子屏中的位置,例:
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ù)庫中采集。6個(gè)顯示界面包含不同的顯示信息,可以按顯示要求選擇不同的界面,滿足比賽的需求。其中界面1的部分代碼為:
2 主從機(jī)串行通信雙屏顯示設(shè)計(jì)
串口通信技術(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)容短少且只有一幀,沒有使用奇偶校驗(yàn)位,采用判別幀頭幀尾的方式判斷接受信息,只是簡(jiǎn)單的通信傳送,大大減少了系統(tǒng)的復(fù)雜程度。
2.2 MSComm控件
Microsoft Communications Control(以下簡(jiǎn)稱MSComm)是Microsoft公司提供的簡(jiǎn)化Windows下串行通信編程的ActiveX控件,它為應(yīng)用程序提供了通過串行接口收發(fā)數(shù)據(jù)的簡(jiǎn)便方法。
MSComm控件的常用屬性:
Commport:設(shè)置或返回串口號(hào)。
Settings:以字符串的形式設(shè)置或返回串口通訊參數(shù)。
Portopen:設(shè)置或返回串口狀態(tài)。
InputMode:設(shè)置或返回接收數(shù)據(jù)的類型。
Inputlen:設(shè)置或返回一次從接收緩沖區(qū)中讀取字節(jié)數(shù)。
InBufferSize:設(shè)置或返回接收緩沖區(qū)的大小,缺省值為1024字節(jié)。
InBufferCount:設(shè)置或返回接收緩沖區(qū)中等待計(jì)算機(jī)接收的字符數(shù)。
Input:從接收緩沖區(qū)中讀取數(shù)據(jù)并清空該緩沖區(qū),該屬性設(shè)計(jì)時(shí)無效,運(yùn)行時(shí)只讀。
OutBufferSize:設(shè)置或返回發(fā)送緩沖區(qū)的大小,缺省值為512字節(jié)。
OutBufferCount:設(shè)置或返回發(fā)送緩沖區(qū)中等待計(jì)算機(jī)發(fā)送的字符數(shù)。
Output:向發(fā)送緩沖區(qū)發(fā)送數(shù)據(jù),該屬性設(shè)計(jì)時(shí)無效,運(yùn)行時(shí)只讀。
-
通信
+關(guān)注
關(guān)注
18文章
6046瀏覽量
136206 -
驅(qū)動(dòng)
+關(guān)注
關(guān)注
12文章
1844瀏覽量
85404 -
編程
+關(guān)注
關(guān)注
88文章
3631瀏覽量
93844
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論