【正文】
b允許選擇和管理外接程序,這是對vb的擴(kuò)充,這些擴(kuò)充增強(qiáng)了vb開發(fā)環(huán)境的能力。自從1991年推出以來,vb已經(jīng)成為最為流行的編程語言之一,vb即visual basic,visual是指可視化的編程方法,basic是指在原有basic語言的基礎(chǔ)上發(fā)展起來的編程語言,visial basci繼承了basic語言易學(xué)易用的特點。什么是可視化的編程方法呢?采用這種編程方法,可以不必通過代碼來描述界面上元素的外形和位置,只需要把事先建立的對象拖到屏幕上,再通過鼠標(biāo)的調(diào)節(jié)他們的位置和尺寸?,F(xiàn)在有了visual basic ,即使沒有經(jīng)過嚴(yán)格的程序設(shè)計培訓(xùn),也能開發(fā)出不錯的程序,現(xiàn)在vb已經(jīng)有了數(shù)百個語句,函數(shù)及關(guān)鍵詞,其中有很多和windows GUI有直接關(guān)系。本打分系統(tǒng)采用了vb編程。4.打分系統(tǒng)競賽打分時通常有多個評委,每人一個終端,各個終端通過電纜與計算機(jī)相連,由計算機(jī)按照某種評分規(guī)則計算選手的最終得分,再顯示的大屏幕上。所以,設(shè)計本系統(tǒng)首先要確定各個終端與計算機(jī)的通信問題。4.1 分終端與主機(jī)(微機(jī))的通信方式(1)并行連接方式打分終端與主機(jī)的打印口相連接,采用總線方式,如下圖所示:。打分終端打分終端數(shù)據(jù)線8位地址線34位并口大屏幕每個打分終端設(shè)置不同的地址,用地址譯碼器對地址線上的信號進(jìn)行譯碼。主機(jī)采用查詢方式讀取第個打分終端上的數(shù)據(jù)。這種方式軟件和硬件設(shè)計簡單,但連線多,另外,通信距離有限(數(shù)米內(nèi))。(2)采用單獨連接的串行通信方式每一個打分終端單獨用三根通信線與主機(jī)連接,主機(jī)需要有多串口卡。如下圖所示:打分終端打分終端。多串口卡大屏幕這種方式軟件設(shè)計簡單,通信距離遠(yuǎn)(數(shù)十米),但連線多,另外,且主機(jī)需要有多串口卡。(3)采用總線結(jié)構(gòu)的串行通信方式。打分終端打分終端串口顯示終端 每個打分終端設(shè)置不同的地址,主機(jī)采用查詢方式讀取第個打分終端上的數(shù)據(jù)。這種方式必須采用RS485通信,通信距離遠(yuǎn)(數(shù)十米),連線少,易于增減終端數(shù)量,但軟件設(shè)計稍復(fù)雜?;谏鲜鋈N方式的優(yōu)缺點,我們選用了第三種方式,即RS485總線方式。4.2 打分終端設(shè)計打分終端是一個單片機(jī)系統(tǒng),包括顯示器,鍵盤、RS485接口等部件。(1) 單片機(jī) 選用MCS51系列的AT89C51,該單片機(jī)芯片內(nèi)含4KB的程序存儲器,有四個8位的并行口和一個串行口,兩個16位計數(shù)/定時器,5個中斷源,這些內(nèi)部資源完全可以滿足本設(shè)計的需要。(2) 顯示器 打分終端上應(yīng)有顯示器,用于顯示分值,可選用數(shù)碼液晶顯示器或LED數(shù)碼管,考慮到成本原因,本設(shè)計采用4個LED數(shù)碼管作為顯示器。為了簡化設(shè)計,分值可為四位整數(shù)或小數(shù)。四個LED數(shù)碼管采用動態(tài)掃描方式。(3) 鍵盤 有12個鍵,包括10個數(shù)字鍵、一個小數(shù)點鍵和一個確定鍵。12鍵連接成43的矩陣,占用單片機(jī)的7根并口線,軟件上采用反轉(zhuǎn)法讀取鍵盤。(4) 打分終端數(shù)量 為了簡化硬件,本設(shè)計只制作了三個打分終端。(5) 顯示終端本應(yīng)使用單片機(jī)控制大型LED數(shù)碼管顯示總得分,因條件限制,只使用4個小LED數(shù)碼管作顯示終端。4.3 軟件設(shè)計競賽打分系統(tǒng)主機(jī)負(fù)責(zé)對終端進(jìn)行查詢,讀取分值,并進(jìn)行統(tǒng)計、顯示總分、存儲等?;诖蚍纸K端與主機(jī)之間采用RS485總線連接,主機(jī)上需連接RS232到RS485轉(zhuǎn)換器,我們使用了商品化的轉(zhuǎn)換器。競賽打分時通常要去掉一個最高分和一個最低分,剩余的取平均值或總和。本課題中打分終端數(shù)量少,所以不能去掉最高分和最低分,采用求總分或求均分的方法。軟件設(shè)計為在屏幕上顯示一個表格,分別顯示每個評委的打分及統(tǒng)計的總分(或均分),如下表所示:XXX競賽成績統(tǒng)計表評委A評委B評委C總分參賽隊員1參賽隊員2軟件除了統(tǒng)計成績外,還應(yīng)能夠保存成績,并可打開以往保存的比賽成績。5.1系統(tǒng)功能框圖編輯姓名編輯比賽項目設(shè)置評分規(guī)則裁判人數(shù)打分系統(tǒng)主界面得分表文件名次返回打開保存另存為串行通訊 圖 ,既打分系統(tǒng)的主界面和顯示得分表的界面,在主界面我們主要是進(jìn)行打分前的設(shè)置,例如比賽的名稱,參賽選手的姓名,裁判的人數(shù),采用何種記分規(guī)則等等。而第二個主要窗口是用來顯示各選手的成績表,在該窗口中可以對各位選手的成績進(jìn)行排序,并且可以按照預(yù)先設(shè)置好的記分方式來顯示各各裁判所打的分?jǐn)?shù),并且記錄他們的總分或者是平均分?jǐn)?shù)。并且在該窗口中可以記錄保存選手的成績或者調(diào)出以往選手的成績。當(dāng)系統(tǒng)收到評委的打分時,系統(tǒng)會根據(jù)打分終端的編號將數(shù)據(jù)顯示主窗口對應(yīng)的文本框中,同時填入成績表對應(yīng)的單元格中,保證兩個窗口中數(shù)據(jù)的一致性。 打分系統(tǒng)軟件設(shè)計 本軟件主要部分分為兩部分,該界面主要是顯示裁判打分,并且顯示選手姓名,編號和得分。, 1. 主窗口部分“前一選手”和“下一選手”其實現(xiàn)功能的代碼如下。Private Sub Command1_Click() 39。下一選手按鈕 If Index 1 Then = True Index = Index + 1 Call disp(Index) Else = False End IfEnd SubPrivate Sub Command2_Click() Index = Index 1 = True Call disp(Index) If In