<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 光電顯示 > 設(shè)計應(yīng)用 > 體育比賽場地LED雙顯示屏顯示系統(tǒng)設(shè)計

          體育比賽場地LED雙顯示屏顯示系統(tǒng)設(shè)計

          作者: 時間:2011-09-11 來源:網(wǎng)絡(luò) 收藏

            引言

            在現(xiàn)代體育比賽中,特別是關(guān)系到裁判的打分、打點的體育項目,裁判的公平、公正性直接關(guān)系到比賽能否順利進行和體育競技水平的高低。

            Visual Basic是Microsoft公司推出的一種在Windows環(huán)境下的面向?qū)ο蟪绦蛟O(shè)計語言,他將Windows編程的復(fù)雜性封裝起來,使用可視化界面設(shè)計應(yīng)用程序,提高了應(yīng)用程序的開發(fā)效率,并且具有功能強大、易學(xué)易用、編程簡潔等特點,是當(dāng)今世界上使用最廣泛的編程語言之一,它也被公認(rèn)為是編程效率最高的一種編程方法。無論是開發(fā)功能強大、性能可靠的商務(wù)軟件,還是編寫能處理實際問題的實用小程序,VB都是最快速、最簡便的方法。

            該軟件是在Visual Basic 6.0環(huán)境下設(shè)計的,兩種實現(xiàn)方法:一是單機通過調(diào)用API函數(shù)實現(xiàn)雙屏顯示;二是主從機之間通過串行通信實現(xiàn)雙屏顯示,這樣能夠滿足不同硬件環(huán)境的需求。

            在VB 6.O中提供了完成串行通信的控件MSComm,該控件提供了標(biāo)準(zhǔn)的事件處理函數(shù)、過程,并通過屬性的方法提供了串行通信參數(shù)的設(shè)置,比較容易地解決了串行通信的問題。

            1 單機雙屏顯示設(shè)計

            流程如圖1所示。

          體育比賽場地LED雙顯示屏顯示系統(tǒng)設(shè)計

            1.1 調(diào)用API函數(shù)

            API(ApplicaTIon Programming InteRFace,應(yīng)用程序編程接口)是一些預(yù)先定義的函數(shù),目的是提供應(yīng)用程序與開發(fā)人員基于某軟件或硬件的以訪問一組例程的能力,而又無需訪問源碼,或理解內(nèi)部工作機制的細(xì)節(jié)。所有運行在Windows平臺上的應(yīng)用程序包括windows操作系統(tǒng)都可調(diào)用,VB是以Windows為編程環(huán)境的,所以可以利用API函數(shù)。

            首先判斷雙屏標(biāo)志位doublescreen_flag,若為0,則啟用單機雙屏顯示:

            聲明API函數(shù),各定義函數(shù)調(diào)用API函數(shù),例:

           啟用單機雙屏顯示

            1.2 雙屏尺寸的設(shè)置

            定義ChangeScreenSize()函數(shù)設(shè)置顯示界面在子屏中顯示尺寸的大小,例:

            各定義函數(shù)調(diào)用API函數(shù)

            1.3 雙屏位置的設(shè)置

            定義ChangeScreenPosition()函數(shù),設(shè)置畫面在子屏中的位置,例:

            設(shè)置畫面在子屏中的位置

            1.4 雙屏分辨率、頻率的設(shè)置

            定義ChangeScreenFrequency()函數(shù),設(shè)置子屏的頻率和分辨率,例:

            設(shè)置子屏的頻率和分辨率

            1.5 雙屏顯示的詳細(xì)內(nèi)容設(shè)計

            根據(jù)比賽和拳聯(lián)的要求,場地顯示屏顯示的內(nèi)容主要有:裁判員的詳細(xì)信息(包括:姓名、單位、有效點以及打點信息)、運動員的信息(包括:姓名、單位)以及比賽信息(包括:公斤級、場次、輪次、時間、比分)等。雙屏內(nèi)容的顯示直接從軟件數(shù)據(jù)庫中采集。6個顯示界面包含不同的顯示信息,可以按顯示要求選擇不同的界面,滿足比賽的需求。其中界面1的部分代碼為:

            界面1的部分代碼

            2 主從機串行通信雙屏顯示設(shè)計

            2.1 串行通信技術(shù)RS 232

            串口通信技術(shù)采用了RS 232串口通信。目前RS 232是PC機與通信工業(yè)中應(yīng)用最廣泛的一種串行接口,它被定義為一種在低速率串行通訊中增加通訊距離的單端標(biāo)準(zhǔn)。RS 232采取不平衡傳輸方式,即所謂單端通訊。

            在通信中選用2、3引腳作為通信的輸入輸出端口,5引腳作為地,制作兩個串行口時2、3號接口跳線。由于需傳送的內(nèi)容短少且只有一幀,沒有使用奇偶校驗位,采用判別幀頭幀尾的方式判斷接受信息,只是簡單的通信傳送,大大減少了系統(tǒng)的復(fù)雜程度。

          體育比賽場地LED雙顯示屏顯示系統(tǒng)設(shè)計

            2.2 MSComm控件

            Microsoft Communications Control(以下簡稱MSComm)是Microsoft公司提供的簡化Windows下串行通信編程的ActiveX控件,它為應(yīng)用程序提供了通過串行接口收發(fā)數(shù)據(jù)的簡便方法。

          MSComm控件的常用屬性:
          CommPort:設(shè)置并返回通訊端口號。
          Settings:以字符串的形式設(shè)置并返回波特率、奇偶校驗、數(shù)據(jù)位、停止位。
          PortOpen:設(shè)置并返回通訊端口的狀態(tài),也可以打開和關(guān)閉端口。
          Input:從接收緩沖區(qū)返回和刪除字符。
          Output:向傳輸緩沖區(qū)寫一個字符串。

            MSComm控件的設(shè)置:

            部分代碼

          2.3 串行通信的發(fā)送

            首先判斷雙屏標(biāo)志位doublescreen_flag,若為1,則進行串行通信。將需要發(fā)送的信息(裁判員的信息、運動員的信息、比賽信息)連成一幀,以FFFF作為幀頭以EEEE作為幀尾發(fā)送。根據(jù)發(fā)送幀長判斷接受緩沖區(qū)的大小。根據(jù)是英文名稱還是中文名稱判斷發(fā)送內(nèi)容。部分代碼如下:

            部分代碼

            2.4 串行通信接受

            在接受系統(tǒng)的顯示,采用從接受緩沖區(qū)截取的方法,將每部分賦給要顯示的文本,部分代碼如下:

            控件的調(diào)用:

          控件的調(diào)用

            串口初始化:串口初始化

            字符及時鐘控件初始化:字符及時鐘控件初始化

            接收啟用串口通信:

          接收啟用串口通信

            大屏信息:大屏信息

            3 場地顯示屏顯示界面

            場地顯示屏顯示界面如圖3所示。

          場地顯示屏顯示界面

            該界面包含了:場次、級別、輪次、時間、比分、運動員的信息、裁判員的信息、各有小點和指示燈等詳細(xì)信息,滿足比賽的要求。

            4 結(jié)語

            詳細(xì)介紹了顯示屏顯示,并將各環(huán)節(jié)的代碼示出,VB語言的簡潔高效性顯得尤為突出。通過單機雙屏的介紹和主從節(jié)串口通信雙屏的介紹,從不同的角度實現(xiàn)雙屏顯示,該系統(tǒng)在全國運動會上得到應(yīng)用。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();