梅選朗
摘 要 籃球比賽現在越來越受到年輕人的喜愛,所以球賽中嚴謹的計分計時工作便變得非常重要。但在傳統(tǒng)的籃球比賽里,都是采用人工計時計分手段,這就帶來了很多弊端。首先,我們需要安排專人負責計分和計時,這明顯浪費了資源。其次,即使專業(yè)人員來記錄時間和得分,但是偶爾也會出現錯誤,這顯著影響了游戲時間和得分的準確性,并且這些弊端必然會影響比賽的公平性。從而看來,一個高性能、高穩(wěn)定的計時計分器對于一場球賽來說還是特別重要的。本文就是主要研究一個功能強大、高穩(wěn)定性、顯示準確的籃球賽計時計分器系統(tǒng)的設計。該設計作為計時計分的工具廣泛適用于學校籃球賽中。
關鍵詞 STC89C52RC單片機 籃球比賽 計時計分 系統(tǒng)設計
中圖分類號:U463.7 文獻標識碼:A 文章編號:1007-0745(2021)02-0001-08
隨著社會的飛速發(fā)展,體育活動成為了人們生活中非常重要的一部分,其中籃球比賽就深受青少年們的喜愛。但是賽場上古老傳統(tǒng)的計時計分工具很難準確地記錄比賽時間和比分,這給我們造成了很大的不便。為此,我設計了一個基于單片機的籃球賽計時計分系統(tǒng),它計時準確、系統(tǒng)原料簡單、流動性強、按鍵功能強大,很適用于對籃球賽計時要求高的場合。該設計的系統(tǒng)以單片機STC89C52作為核心控制,七段共陽數碼管作顯示元件,通過計時計分電路、按鍵電路、報警電路等作用來驅動蜂鳴器發(fā)聲。
該系統(tǒng)由幾個模塊組成,分為計時計分模塊、顯示模塊、按鍵控制鍵盤模塊和定時報警模塊。系統(tǒng)采用模塊化設計,讓程序結構簡單明了,更符合人們的個性化。另外系統(tǒng)所設計的程序具有很高的可讀性,易于對它進行調試、修改和編寫,對程序進行局部的編寫,并不影響其他程序的效果。利用Keil C51軟件進行編程調試,將生成的十六進制文件,利用ISP工具下載到單片機中。采用Proteus軟件來進行仿真,檢測是否達到預期功能。[1]
該系統(tǒng)主要由單片機STC89C52RC、計時計分電路、時鐘電路、按鍵開關電路和報警電路等硬件電路組成。本設計采用軟件編程設計的計時計分電路來控制七段共陽數碼管顯示的籃球賽計時計分器系統(tǒng),該系統(tǒng)能夠準確計分、計時方便,賽程時間暫停和定時設置,能及時刷新隊伍比分,具有顯示準確、性能穩(wěn)定、價格便宜、報警指示、便于攜帶等優(yōu)點。
1 籃球賽計時計分器的研究與發(fā)展
1.1 籃球賽計時計分器發(fā)展過程
籃球是一項很受人們喜愛的體育運動,它是以投籃為中心的對抗性運動。早在100多年前,美國一所基督教訓練學校的老師就創(chuàng)立了籃球游戲。他就是詹姆士奈斯密斯博士,為了更好地完善籃球游戲,他制定了13條游戲規(guī)則,后來經過慢慢地增加和修改,游戲出場的人數也慢慢減少,直到規(guī)定每個隊伍只能5個人上場,才演變成現在的籃球運動項目?;@球運動隨后就在世界各地流行起來,這時候就需要工具來計時計分,那么籃球賽計時計分器就開始產生。起先,并沒有正式準確的計時計分工具,只有普通的計時鐘和比分板,這顯然不能準確地記錄比賽數據。[2]為了解決這個不公平的問題,剛成立的FIBA(國際業(yè)余籃球聯(lián)合會)初略的制定了世界第一份統(tǒng)一的籃球比賽規(guī)則,與此同時,籃球計時計分器也漸漸步入了電子時代,慢慢的出現了比賽計時鐘與簡單的計分電路,還有供暫?;@球比賽時用的計秒表,同時也新加入了參賽隊員犯規(guī)打球的標志牌。上個世紀80年代,全球經濟和科技迅速發(fā)展,電子技術也達到了一個全新的高度,這為人們的生活帶來了很大的方便。其中智能儀器就最具有代表性,它完全打破了傳統(tǒng)的儀器概念。新的智能儀器已經開始應用于生活中,籃球賽計時計分器就應用了這些電子技術,實現了用單片機為控制核心,來準確、穩(wěn)定的記錄籃球比賽。[3]
1.2 籃球賽計時計分器研究目的與意義
經過多年的發(fā)展和實踐,新的籃球賽計時計分器解決了傳統(tǒng)的不穩(wěn)定、準確度低等一些問題,但是因為造價成本高、技術還不夠成熟等原因,它還不能廣泛應用于人類生活中。隨著時代的進步發(fā)展,人們學會了采用單片機控制這個計時計分器系統(tǒng),搭載著按鍵和LED顯示器,更容易操作和安裝,且造價成本低,可以適用于學校籃球賽和計時要求高的小團體籃球活動。
新的電子計時計分器運用了單片機控制系統(tǒng),這就大大的提高了比賽數據的準確性和公平性。另外籃球賽計時計分器具有比賽進行時間計時、暫停和調整比賽時間、顯示比賽成績這些功能,這些明顯節(jié)約了很多資源并且更方便讓人們使用它。新的計時計分器的到來,給比賽計時計分的工作帶來了非常大的便利,更利于開展籃球這項體育運動,隨著更多的人越來越喜愛籃球這項運動,這也是對我們國家籃球事業(yè)有著明顯的促進發(fā)展作用。[4]
1.3 籃球賽計時計分器研究現狀
隨著科學技術的高速發(fā)展,各種新型電子產品涌入市場,功能也各不相同,深受消費者們的喜歡。其中籃球賽計時計分器也得到了更新?lián)Q代,經過這么多年的研究和發(fā)展,技術層面已經相當成熟了。計時計分器已經運用到了各大體育館、學校等場合。雖然電子計時計分器很早就應用在籃球比賽中,但是它所利用的技術支持通常都是模擬電子和數字電子器件,也有是兩者混合組成的器件,這些器件的準確性和穩(wěn)定性仍不能達到新的高度,還是存在一些瑕疵。這些電子技術上的難題仍需要科學家們不斷去開發(fā)和研究,高穩(wěn)定性和高準確度計時計分器的實現依然是目前科學研究和生產的課題。
2 籃球賽計時計分器的工作原理
2.1 籃球賽計時計分器的基本原理與組成
根據這次課題所研究的要求,這里介紹一種籃球賽計時計分器所設計的基本原理和方法,即是通過單片機編程控制外圍數碼管工作的電路,這個電路設計成本很低,使用很廣泛,因此很有研究生產的價值。[5-6]該電路采用單片機STC89C52RC作為核心元件,利用一個四位一體數碼管顯示比賽時間的計時,另外兩個共陽的三位一體管來顯示兩隊比賽隊伍的分數。兩個三位一體數碼管能夠顯示分數范圍達0~999分,足夠統(tǒng)計賽程比分,四位一體數碼管中有兩個用于顯示分鐘,剩下兩個顯示秒鐘。比賽開始前,將時間設置好,比賽一開始就啟動計時,直到倒計時走到零為止,這個設計的計時范圍是0~99分鐘,也能滿足實際比賽計時的需求。另外本設計為了校正計分器比分和調整比賽時間的方便,增加了6個按鍵,4個按鍵用于輸入兩個參賽隊伍的的分數,另外2個按鍵用于暫停和啟動比賽時間。考慮到籃球賽的實際情況,該設計還添加了定時報警系統(tǒng),倒計時結束,設計自帶的揚聲器就會發(fā)出警報提示比賽結束。
該設計擁有能夠準確記錄比賽數據、比賽定時設置、比賽暫停、刷新比分等強大功能。該系統(tǒng)構成可由計時顯示模塊、計分顯示模塊、定時報警模塊和按鍵控制模塊組成。
2.2 籃球賽計時計分器的特點
與傳統(tǒng)的人工計時計分相比,電子計時計分器有其非常優(yōu)秀的特點,具體表現如下:
(1)能夠穩(wěn)定的、精確地記錄比賽數據;
(2)能夠定時和暫停賽程時間、并能修改賽程時間;
(3)能夠隨時刷新兩支隊伍在賽程中的比分;
(4)當場中交換比賽場地時,能夠交換兩支隊伍的比分位置;
(5)當計時器倒計時為零時,能夠發(fā)出警報,提示比賽結束;
(6)它的造價成本低,可靠性高,功能齊全,已經應用到了人們的生活中,能適用于各種場所的籃球比賽計分。
2.3 籃球賽計時計分器的功能介紹
本設計能夠直觀的顯示比賽實時比分和時間,隨時暫?;騿颖荣惒⒖梢哉{整比分。當一節(jié)比賽結束時,系統(tǒng)會發(fā)出提示聲音,交換場地時可以交換兩隊伍比分的顯示位置。這些功能可以作為普通籃球賽的計時計分器。[7]
3 籃球賽計時計分器的總體設計
本文中設計的籃球賽計時計分器由硬件電路和軟件調試部分組成。
3.1 系統(tǒng)總體方案設計
這個系統(tǒng)主要包括單片機控制系統(tǒng)、計時計分顯示模塊、按鍵控制模塊、定時報警模塊和供電電源模塊。這些模塊相互協(xié)調工作,就能讓這個系統(tǒng)正常運行,從而穩(wěn)定的顯示計時計分功能。該系統(tǒng)框圖如上圖1所示。
3.2 主要器件的選擇
本文設計的是一個成本低、功能齊全的籃球賽電子計時計分器,所以首先選擇了價格合理性價比高的器件來作為實驗材料。我選擇了性能高的單片機STC89C52作為系統(tǒng)核心,兩個三位一體數碼管來顯示比賽分數,一個四位一體數碼管來顯示比賽時間。另外該系統(tǒng)的供電電源采用了USB電源線和5V直流電源兩種供電方式。[8]
3.2.1 核心控制——STC89C52RC
STC89C52RC型單片機是宏晶科技公司研發(fā)的一種新型單片機,它具有超強抗干擾能力、運行速度快、高可靠、功耗低等優(yōu)良特性。它的指令代碼直接兼容傳統(tǒng)的8051單片機。它的功能特性如下:
(1)有12時鐘每機器周期和6時鐘每機器周期兩種任意選擇,而且指令代碼完全兼容傳統(tǒng)8051;
(2)STC89C52系列單片機工作電壓:5.5V~3.8V(5V單片機)。普通的8051工作頻率是0~70MHz,而它的工作頻率是:0~35MHz,實際的工作頻率可以達到42MHz;
(3)芯片上集成了1280字節(jié)或512字節(jié)RAM;
(4)通用I/O口(35/39個),復位后為:P1/P2/P3/P4是準雙向口/弱上拉(普通8051傳統(tǒng)I/O口);P0口是開漏輸出,作為總線擴展用時,不用加上拉電阻,作為I/O使用時,需加上拉電阻;
(5)ISP(在系統(tǒng)可編程)/IAP(在應用可編程),可通過串口直接下載用戶數據。具有EEPROM功能、看門狗(WDT)功能;
(6)共3個十六位定時器/計數器,其中定時器0還可以當成2個八位定時器使用。
在各種模式下,整個系統(tǒng)的功耗都非常低。正常工作模式功耗:4mA~7mA。掉電模式:典型功耗<0.1uA。掉電模式可由外部中斷喚醒。[9]
3.2.2 顯示器件——七段數碼管
系統(tǒng)最常用的輸出設備通常就是顯示器,它能直觀明了的展現結果,但是顯示器的種類繁多,其中最突出的兩種就是發(fā)光二極管顯示器(LED)和液晶顯示器(LCD)。本次設計中只用簡單的顯示分數和時間這些數字,它們兩個顯示器都能達到要求,但是考慮到LED顯示器更便宜實惠,所以我選擇了LED顯示器。LED顯示器又稱為數碼管,分為七段數碼管和八段數碼管,區(qū)別在于,七段數碼管比八段數碼管少一個用于顯示小數點的發(fā)光二極管單元。數碼管它主要有八段發(fā)光二極管組成,其引腳分布圖如下圖2所示,圖中a~g七段二極管可以組成不同的數字和字符,dp一小段二極管可以顯示小數點。系統(tǒng)正常工作時,a~g七段二極管可以顯示0~9和A~F這十六個數字和字符,例如當afgcd這幾段二極管發(fā)光時就可以顯示數字“5”,當gedcb這幾段二極管發(fā)光時就可以顯示字符“d”。[10]
3.3 設計系統(tǒng)的元件清單
另加9cm*15cm萬用板、電源插座、各種電阻和排阻、導線和焊錫若干。
4 籃球賽計時計分器的硬件設計
硬件是整個籃球賽計時計分器系統(tǒng)的運行基礎,該設計的硬件電路由單片機控制系統(tǒng)、時鐘電路、計分電路、報警電路組成,系統(tǒng)的硬件框圖如圖3所示。
4.1單片機控制系統(tǒng)的設計
該系統(tǒng)采用STC89C52單片機作為核心控制器,其引腳圖如圖4所示。
單片機STC89C52引腳功能介紹如下:
VCC,引腳編號40,接電源正極。
GND,引腳編號20,接電源負極或接地。
RST,引腳編號9,復位輸入。只有連續(xù)輸入兩個機器周期以上高電位時才判斷為有效,這可以用來復位單片機初始化操作。
P0端口即P0.0~P0.7,引腳編號39~32。P0口既可作為輸入/輸出口,也可作為地址/數據復用總線使用。當P0用作I/O口時,P0是一個8位準雙向口,上電復位后處于開漏模式。P0口內部無上拉電壓,所以作I/O口必須外接10K~4.7K的上拉電阻,當P0作為地址/數據復用總線使用時,是低8位地址線[A0~A7],數據線的[D0~D7],此時就不需要外接上拉電阻。在程序寫入編程(Flash ROM)時,P0端口負責接收指令字節(jié);在驗證程序時,它負責輸出指令字節(jié)。
P1端口即P1.1~P1.7,引腳編號為1~8。P1口時帶內部上拉電阻的8位雙向口輸入/輸出口。P1的輸出緩沖器可驅動4個TTL輸入,寫入到端口是1時,通過內部上拉電阻被拉向端口,它被用作輸入端口的高電位。當P1口作為輸入口使用,因為內部有上拉電阻,那些被外部拉低的引腳時會輸出一個電流。另外,P1.0/T2可作為定時器/計數器2的外部輸入;P1.1/T2EX可作為定時器/計數器2捕捉或重裝方式的觸發(fā)控制。在程序寫入編程和驗證程序時,P1口負責接收低8位地址。
P2端口即P2.0~P2.7引腳,編號為21~28。P2口內部有上拉電阻,既可作為輸入/輸出口,也可用作高8位地址總線(A8~A15)。當P2口作為I/O口使用時,P2是一個8位準雙向口。在寫入編程和程序校檢時,P2口用于接收高位地址和一些控制信號。[11]
P3端口即是P3.0~P3.7,引腳編號為10~17。它內部也有一個上拉電阻的8位雙向輸入/輸出口。它的功能與P1口類似,在寫入程序和檢驗程序時,接收部分控制信號。P3口除了作為I/O口外,還有一些復用功能,如表2所示:
XTAL1引腳編號19。內部時鐘電路反相放大器輸入端,接外部晶振的一個引腳。當直接使用外部時鐘源時,此引腳是外部時鐘源的輸入端。
XTAL2引腳編號18。內部時鐘電路反相放大器輸出端,接外部晶振的另一端。當直接使用外部時鐘源時,此引腳可浮空,此時XTAL2實際將XTAL1輸入的時鐘進行輸出。
4.2 時鐘電路的設計
時鐘電路在整個控制系統(tǒng)中起著很重要的作用,在一個正常工作的單片機系統(tǒng)中,時鐘電路能保障系統(tǒng)基準震蕩定時信號。它由晶振和外圍電路構成,晶振頻率是衡量單片機系統(tǒng)運行的快慢的標準,頻率越高系統(tǒng)工作越快。本設計采用的是12MHZ的晶振,加上兩個30pF的電容,具體的晶振電路如圖4所示。
圖中晶振的兩引腳分別與XTAL1和XTAL2震蕩脈沖的輸入引腳、輸出引腳連接,其中接地線是用來減弱諧波對電路穩(wěn)定性的影響。
4.3 顯示電路的設計
本設計采用LED顯示器來記錄數據,一個四位一體數碼管記錄賽程時間,兩個三位一體數碼管記錄比賽分數。LED數碼管分為共陰和共陽兩種結構,其LED顯示原理圖如圖5所示。
LED兩種結構原理圖如圖5(b)(c)所示,共陰極結構其顯示端輸入高電平才有效,才能讓二極管發(fā)光,輸入低電平就截止了;共陽極結構則顯示端輸入低電平才有效,高電平就截止。本設計采用的是圖(c)共陽極結構,即需要把八個發(fā)光二極管陽極連在一起,如果需要某一段二極管發(fā)光,只需要在其對應端輸入低電平即可。例如我們需要顯示數字“2”,我們則在abged這幾段二極管端口輸入低電平,其他端口輸入高電平,此時就可以顯示數字“2”。本設計采用的四位一體數碼管和三位一體數碼管結構原理圖如圖5(d)(e)所示,系統(tǒng)所設計的顯示電路原理圖如圖4-5所示。[12]
4.4 按鍵控制電路的設計
該系統(tǒng)設置了六個按鍵,可以簡單地實現加減賽程時間和比分、暫停賽程和交換場地并交換比分等功能。其按鍵控制電路圖如圖6-7所示。
六個按鍵一端接地,另一端輸入與單片機引腳口連接。各個按鍵的連接與功能介紹如下:
(1)K2按鍵連接單片機P1.0口,它的功能是為A隊比分加一分,或者是在比賽開始之前是調整時間加一分鐘;
(2)K3按鍵連接單片機P1.1口,它可以調整A隊比分減一分,或者是在比賽開始之前調整時間減一分鐘;
(3)K4按鍵連接P1.2口,是EXCHANGE鍵,為換場鍵,打完一場比賽才可以進行換場,同時兩隊的比分也會交換位置顯示;
(4)K5按鍵連接P1.3口,它的功能是為B隊比分加一分,或者是在比賽開始之前調整時間加一秒鐘;
(5)K6按鍵連接P1.4口,它可以調整B隊比分減一分,或者是在比賽開始之前調整時間減一分鐘;
(6)K7按鍵連接P3.2口,是RUN/STOP鍵,為啟動或暫停鍵,比賽開始之前,按下啟動鍵,系統(tǒng)立刻開始計時,再次按下時即是暫停鍵,此時比賽暫停。
這些簡單地按鍵可以實現把比賽數據穩(wěn)定、準確的記錄下來,可以達到這次研究課題的要求。
4.5 報警電路的設計
報警電路一般是通過晶體管的電流放大作用,然后再通過驅動器來驅動蜂鳴器,從而達到發(fā)聲的目的。本次設計選用無源蜂鳴器,可以通過使用CPL P3.7,然后與軟件相結合,這時候就可以產生一定寬度的正脈沖,最后經過PNP晶體管的驅動,以產生聲音信號。 當一節(jié)籃球賽結束時,需要發(fā)出聲音指示,這時就需要設計一個報警電路,該設計的報警電路如圖8所示。
本系統(tǒng)中是采用STC89C52的十六引腳通過驅動器來驅動蜂鳴器發(fā)出報警。在設置一節(jié)比賽時間后,計時器將會倒計時直至為零,此時蜂鳴器就會發(fā)出報警指示,提示本節(jié)比賽結束。
5 籃球賽計時計分器的軟件設計及仿真
5.1 軟件設計
該設計的單片機控制核心是軟件的編程設計,也是能讓整個系統(tǒng)正常運行的關鍵。C語言和匯編語言是單片機常用的編程語言,最終都會轉為十六進制格式或者是二進制格式等類型文件下載到單片機的控制芯片中,來校檢能否實現設計所要求的功能。該系統(tǒng)的計時顯示功能是利用單片機芯片的定時功能設計的,分數顯示功能是利用其技術功能來設計的,其中處理分數和時間時,還需要通過中斷控制來實現。[13]
在設計系統(tǒng)程序之前,我們要對單片機系統(tǒng)所實現的功能進行分析,從中明確系統(tǒng)的設計任務、功能和技術支持,還有能夠支持該系統(tǒng)正常運行的硬件設施和工作環(huán)境,這些是設計編程系統(tǒng)的必備條件和基礎。當完成整個設計時,它應能實現計時計分功能、加減分功能和提示音提示比賽結束。當按下按鍵時,計分電路將有一個對應的加減分處理,然后通過數碼管掃描和顯示處理,并把相應的加減分數顯示出來。當計時器倒計時為零時,系統(tǒng)會利用單片機I/O口輸出高、低電平,通過晶體管的電流放大作用,產生的矩形波,外界的蜂鳴器就會發(fā)出一定頻率的聲音,從而實現報警提示。
5.2 系統(tǒng)流程圖
該設計的系統(tǒng)流程圖如圖9所示。
5.3 軟件調試及仿真
Keil和Protues編程仿真軟件是現在功能最強大且最流行的仿真軟件,該系統(tǒng)的仿真就是運用了這兩個軟件。從程序的編寫,編譯到調試,目標版的仿真一應俱全。支持匯編語言和C語言的編程。還可配合Keil C實現程序的聯(lián)合調試,將Protues中繪制的原理圖作為目標板,而用Keil C集成環(huán)境實現對目標板的控制,與實際中通過硬件仿真器對目標板的調試幾乎完全相同,并且支持多顯示器的調試,即Protues運行在一臺計算機上,而Keil C運行在另一臺計算機上,通過網絡連接。[14]
在Protues中進行電路仿真時,先繪制好原理圖,再調入由Keil C已編譯好的目標代碼文件*.HEX,隨后便可在Protues的原理圖中模擬的實物運行狀態(tài)和過程,進行觀察從而改良自己的設計方案。
單片機STC89C52的功能特性及引腳圖的連接和系統(tǒng)中硬件電路的設計,它包括了顯示電路、時鐘電路、報警電路、供電電源等。后面進行軟件編程并進行了仿真,最后制作出了實物,望該論文能為籃球賽計時計分器的設計提供更多的參考價值。
參考文獻:
[1] 胡建明.MCS-51單片機籃球計分器的設計[J].科學咨詢(決策管理),2009(06):40,44.
[2] 鹿玉紅,倫志新,杜芳芳.基于單片機的籃球計時計分器的設計[J].電腦知識與技術,2010(04):988-990.
[3] 郭志卓,陳振軍.基于單片機控制的電子計分器設計[J].電腦知識與技術,2014,12(04):2861-2863.
[4] 王剛.籃球比賽多功能計時/計分系統(tǒng)設計[J].電子測試,2014(14):27-29.
[5] 楊微,崔文峰.基于MSP430單片機的籃球計時計分器的設計[J].電子制作,2014(13):2-3.
[6] 雷道仲,羅政球,廖永忠.基于單片機的球賽計時計分器設計[J].湖南第一師范學報,2009(04):164-166.
[7] 楊超.基于AT89C51單片機的籃球比賽計分器設計[J].佳木斯教育學院學報,2012,122(12):359,381.
[8] 解彥強,張治國,邵桂榮.籃球計時計分系統(tǒng)的設計與實現[J].運城學院學報,2015(06):44-46.
[9] 陳峰.校園籃球比賽計時計分系統(tǒng)的設計[J].電子測試,2015,22:132-135.
[10] 趙素玲.基于STC89C51單片機的籃球計分器的設計[J].電腦知識與技術,2015,33:159-161.
[11] 彭如,代紅菊.基于單片機的籃球計分系統(tǒng)的設計[J].電子制作,2013,182(17):63.
[12] 袁芳,江偉,陳冬,劉超俊.籃球比賽場地計時計分系統(tǒng)的設計[J].實驗室研究與探索,2014,33(11):91-94,99.
[13] 王海燕,楊艷華.Proteus和Keil軟件在單片機實驗教學中的應用[J].實驗室研究與探索,2012(05):88-91.
[14] 于建勇.淺談時鐘電路在單片機中的作用[J].硅谷,2011(08):155,166.