999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

拳擊比賽的雙屏顯示系統設計

2010-04-12 00:00:00楊廷雷,張子明,施遠征,鞏金亮,田大軍
現代電子技術 2010年9期

摘 要:為滿足拳擊比賽的公平性,雙屏顯示比賽中的詳細信息成為關鍵。系統在VB 6.0的環境下,根據不同的硬件環境要求,通過調用API函數和MSComm控件,使用單機中的雙屏顯示和主從機的串行通信雙屏顯示。在場地顯示屏上可以顯示裁判員的姓名、單位,裁判員的有效點和打點信息,運動員的姓名、單位,以及公斤級、場次、時間、比分等詳細內容。主從機串行通信中使用RS 232串行口,在近距傳輸中系統的穩定性好、通用性強,能夠滿足比賽和拳聯的要求。從程序的界面設計到源代碼,都做了詳細的說明。

關鍵詞:Visual Basic 6.0; 雙屏顯示; API; MSComm控件; RS 232

中圖分類號:TP274 文獻標識碼:A

文章編號:1004-373X(2010)09-0191-03

Design of Dual-screen Display System for Boxing Game

YANG Ting-lei, ZHANG Zi-ming, SHI Yuan-zheng, GONG Jin-liang, TIAN Da-jun

(College of Electronic Information and Control Engineering, Beijing University of Technology, Beijing 100124, China)

Abstract: In order to meet the fairness of a boxing game, dual-screen display details in a game become critical. The system in the VB 6.0 environment, by calling the API function and MSComm control unit respectively, achieves stand-alone function in the dual-screen display and relies on the master-slave serial communication dual-screen display. In the big screen it can display the referee names, units, the effective points of the referees, the small flash points, the athlete names, units, and kilograms, screenings, time, score and other details. The RS 232 serial port is used in master-slave serial communication. The system working in the short-range transmission has high stability and strong versatility, and can meet the requirements of competition and the International Boxing Federation. The details from the program interface design to the source code are explained.

Keywords: Visual Basic 6.0; dual-screen display; API; MSComm control unit; RS 232

0 引 言

在現代體育比賽中,特別是關系到裁判的打分、打點的體育項目,裁判的公平、公正性直接關系到比賽能否順利進行和體育競技水平的高低。拳擊比賽中運動員的得分是靠5個臺下裁判打的有效點計入的。由于有效點需要至少3名裁判同時判有效才有效,裁判的水平和裁判的公正性直接決定運動員比分的高低。通過場地顯示屏的顯示,將裁判的詳細信息(姓名、單位、有效點和打點信息)公布于眾,能夠大大提高裁判的公平、公正性,保證比賽的質量和水平。

Visual Basic是Microsoft公司推出的一種在Windows環境下的面向對象程序設計語言,他將Windows編程的復雜性封裝起來,使用可視化界面設計應用程序,提高了應用程序的開發效率,并且具有功能強大、易學易用、編程簡潔等特點,是當今世界上使用最廣泛的編程語言之一,它也被公認為是編程效率最高的一種編程方法[1]。無論是開發功能強大、性能可靠的商務軟件,還是編寫能處理實際問題的實用小程序,VB都是最快速、最簡便的方法[2]。

該軟件是在Visual Basic 6.0環境下設計的,兩種實現方法:一是單機通過調用API函數實現雙屏顯示[3];二是主從機之間通過串行通信實現雙屏顯示,這樣能夠滿足不同硬件環境的需求[4]。

在VB 6.0中提供了完成串行通信的控件MSComm,該控件提供了標準的事件處理函數、過程,并通過屬性的方法提供了串行通信參數的設置,比較容易地解決了串行通信的問題[4]。

1 單機雙屏顯示設計

系統設計流程如圖1所示[5]。

1.1 調用API函數

API(Application Programming Interface,應用程序編程接口)是一些預先定義的函數,目的是提供應用程序與開發人員基于某軟件或硬件的以訪問一組例程的能力,而又無需訪問源碼,或理解內部工作機制的細節。所有運行在Windows平臺上的應用程序包括Windows操作系統都可調用,VB是以Windows為編程環境的,所以可以利用API函數[1]。

圖1 系統設計流程

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

聲明API函數,各定義函數調用API函數,例:

Public Declare Function UnhookWindowsHookEx Lib ″user32″ (ByVal hHook As Long) As Long

Public Declare Function GetWindowLong Lib ″user32″ Alias ″GetWindowLongA″ (ByVal hwnd As Long,ByVal nIndex As Long) As Long

Public Declare Function GetCurrentThreadId Lib ″kernel32″() As Long

Public Declare Function SetWindowsHookEx Lib ″user32″ Alias″SetWindowsHookExA″ (ByVal idHook As Long,ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long

1.2 雙屏尺寸的設置

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

ZeroMemory dm, Len(dm)

dm.dmSize = Len(dm)

dm.dmFields=dm_pelswidth or dm_pelsheight

dm.dmPelsWidth = size.cx

dm.dmPelsHeight = size.cy

1.3 雙屏位置的設置

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

dm.dmPosition.x = Position.x

dm.dmPosition.y = Position.y

1.4 雙屏分辨率、頻率的設置

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

dm.dmPelsWidth = size.cx

dm.dmPelsHeight = size.cy

dm.dmDisplayFrequency = nFrequency

1.5 雙屏顯示的詳細內容設計

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

指示燈:Label15(0).Caption=CboRed.Text

回合:Label7.Caption=Trim(roundnum)

有效點:Form1.Label10.Caption=recptt.Caption

2 主從機串行通信雙屏顯示設計

2.1 串行通信技術RS 232

串口通信技術采用了RS 232串口通信。目前RS 232是PC機與通信工業中應用最廣泛的一種串行接口,它被定義為一種在低速率串行通訊中增加通訊距離的單端標準。RS 232采取不平衡傳輸方式,即所謂單端通訊[6]。

圖2 RS 232接口端口圖

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

2.2 MSComm控件

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

MSComm 控件的常用屬性:

CommPort:設置并返回通訊端口號。

Settings:以字符串的形式設置并返回波特率、奇偶校驗、數據位、停止位。

PortOpen:設置并返回通訊端口的狀態,也可以打開和關閉端口。

Input:從接收緩沖區返回和刪除字符。

Output:向傳輸緩沖區寫一個字符串。

MSComm控件的設置:

With Info_Show_Form1.MSComm1

.CommPort=com_port

.Settings=″9600,n,8,1″

.InputMode=comInputModeText

.InBufferCount=0

.RThreshold=LEN_OF_FRAME_ALL

.InBufferSize=3000

.OutBufferSize=1000

.SThreshold=0

.InputLen=0

.OutBufferCount = 0

If .PortOpen = False Then .PortOpen = True

End With

2.3 串行通信的發送

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

For i = 0 To 4

send_msg=send_msgSendMsg_Trans(Trim(redplus1t(i).Caption))

Next i

For i = 0 To 4

send_msg=send_msgSendMsg_Trans(Trim(redacptt(i).Caption))

Next i

send_msg = send_msg Trim(roundnum)

使用英文單位名稱:

send_msg=send_msg Left(Trim(CboBlue.Text), 3)

send_msg=send_msg Left(Trim(cboJ1.Text), 3)

For i=1 To 119

send_msg=send_msg ″0″

Next i

使用中文單位名稱:

send_msg=send_msgSendMsg_Trans_Name(Cn_Judge_Unit_Cut(Cn_Space_Cut(Trim(cboJ1.Text))))

2.4 串行通信接受

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

控件的調用[7]:

Private Declare Function GetWindowLong Lib ″user32″ Alias ″GetWindowLongA″ (ByVal hwnd As Long, ByVal nIndex As Long) As Long

Private Declare Function SetWindowLong Lib ″user32″ Alias ″SetWindowLongA″ (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

Private Declare Function SetLayeredWindowAttributes Lib ″user32″ (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long

串口初始化:

Ds_Fd_Module.Com_Int

字符及時鐘控件初始化:

Ds_Fd_Module.Val_Int

接收啟用串口通信[7]:

Select Case MSComm1.CommEvent

Case comEvReceive

recv_msg = MSComm1.Input

Label18.Caption=recv_msg

Label19.Caption=Len(recv_msg)

Test_Timer.Enabled = True

大屏信息:

Label11(0).Caption=Val(Mid(recv_msg,85,1))

Label15(0).Caption=Val(Mid(recv_msg,89,3))

Label15(1).Caption=Val(Mid(recv_msg,92,3))

Label28.Caption=Val(Mid(recv_msg, 95, 3))

Label29.Caption=Val(Mid(recv_msg, 98, 3))

For i=0 To 9

Label31(i).Caption=Val(Mid(recv_msg, 35+i*3, 3))

Next i

Label3(0).Caption=RecvMsg_Trans_Name(Mid(recv_msg, 101, 5))

For i = 0 To 4

Label32(i).Caption=RecvMsg_Trans_rep(Mid(recv_msg, 121 + i * 5, 5))

Next i

3 場地顯示屏顯示界面

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

圖3 場地顯示屏顯示界面圖

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

4 結 語

詳細介紹了拳擊比賽場地顯示屏顯示系統設計,并將各環節的代碼示出,VB語言的簡潔高效性顯得尤為突出。通過單機雙屏的介紹和主從節串口通信雙屏的介紹,從不同的角度實現雙屏顯示,該系統在全國運動會上得到應用。

參考文獻

[1]柳青.程序設計語言VB及開發應用[M].北京.高等教育出版社,2004.

[2]龔沛曾.Visual Basic程序設計簡明教程[M].北京:高等教育出版社,2001.

[3][美]赫美爾.Visual Basic高效編程:改進VB/COM+應用程序[M].嚴靜東,郭文明,譯.北京:清華大學出版社,2007.

[4]范逸之.利用Visual Basic實現串并行通信技術[M].北京:清華大學出版社,2001.

[5]陳錦昌.VB計算機繪圖教程[M].華南:華南理工大學出版社,2003.

[6]王向陽,謝雙喜.利用VB實現計算機串口通信實例[J].現代計算機,2002(10):92-94.

[7]源江科技.VB編程技巧280例[M].北京:高等教育出版社,2002.

[8]Siler B, Spotts J. Visual Basic 6開發使用手冊[M].北京:機械工業出版社,2000.

[9]曹妮娜.基于VB技術實現數據管理系統[J].才智,2009(18):26-27.

主站蜘蛛池模板: 久久国产精品国产自线拍| 欧美亚洲激情| 亚洲swag精品自拍一区| 久久一本精品久久久ー99| 久久www视频| 中文天堂在线视频| 欧美视频在线播放观看免费福利资源 | 国产H片无码不卡在线视频| 亚洲国产成人精品一二区 | 国产成人无码久久久久毛片| 日韩123欧美字幕| 波多野结衣一区二区三区四区| 九九免费观看全部免费视频| 国产精品自在自线免费观看| 日本精品视频一区二区| 囯产av无码片毛片一级| 国产日韩AV高潮在线| 欧美高清三区| 成人在线不卡视频| 国产理论最新国产精品视频| 人人澡人人爽欧美一区| 欧美性色综合网| 欧美成人h精品网站| 蝴蝶伊人久久中文娱乐网| 国产精品视频999| 亚洲天堂久久新| 国产亚洲欧美日韩在线一区| 波多野结衣一区二区三区四区视频| 亚洲高清日韩heyzo| 久久国产精品娇妻素人| 人人91人人澡人人妻人人爽| 国产精品一线天| 中文字幕在线欧美| 亚洲第一香蕉视频| 亚洲日本在线免费观看| 免费一级无码在线网站 | 国产一级α片| 久久semm亚洲国产| 精品91自产拍在线| 色综合成人| 国产成人无码综合亚洲日韩不卡| 亚洲国产清纯| 久久香蕉欧美精品| 国产精品深爱在线| 最新加勒比隔壁人妻| 黄色网在线免费观看| 国产一级毛片高清完整视频版| 免费一级毛片完整版在线看| 久久久久国色AV免费观看性色| 亚洲成在人线av品善网好看| 91在线日韩在线播放| 成人午夜天| 在线观看亚洲人成网站| 狠狠色丁香婷婷综合| 新SSS无码手机在线观看| 欧美精品在线观看视频| 久久夜色精品国产嚕嚕亚洲av| 日本高清免费一本在线观看| 国产极品嫩模在线观看91| 麻豆精选在线| 国产麻豆精品手机在线观看| 成年女人18毛片毛片免费| 国产成人综合久久| 亚洲三级视频在线观看| 亚洲色婷婷一区二区| 国产va在线| 国产欧美视频综合二区 | 久久这里只精品国产99热8| 国产 在线视频无码| 国产人人乐人人爱| 日本成人精品视频| 亚洲浓毛av| 中文字幕 欧美日韩| 久久婷婷人人澡人人爱91| 亚洲无码视频图片| 亚洲va在线∨a天堂va欧美va| 天天综合亚洲| 91在线播放国产| 丁香亚洲综合五月天婷婷| 成人在线综合| 美女高潮全身流白浆福利区| 欧美色综合网站|