![籃球計時計分器設(shè)計報告8400字_第1頁](http://file4.renrendoc.com/view/624aba036fb231546c2d5a83a09f9ce7/624aba036fb231546c2d5a83a09f9ce71.gif)
![籃球計時計分器設(shè)計報告8400字_第2頁](http://file4.renrendoc.com/view/624aba036fb231546c2d5a83a09f9ce7/624aba036fb231546c2d5a83a09f9ce72.gif)
![籃球計時計分器設(shè)計報告8400字_第3頁](http://file4.renrendoc.com/view/624aba036fb231546c2d5a83a09f9ce7/624aba036fb231546c2d5a83a09f9ce73.gif)
![籃球計時計分器設(shè)計報告8400字_第4頁](http://file4.renrendoc.com/view/624aba036fb231546c2d5a83a09f9ce7/624aba036fb231546c2d5a83a09f9ce74.gif)
![籃球計時計分器設(shè)計報告8400字_第5頁](http://file4.renrendoc.com/view/624aba036fb231546c2d5a83a09f9ce7/624aba036fb231546c2d5a83a09f9ce75.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
籃球計時計分器設(shè)計報告8400字
湖南鐵道職業(yè)技術(shù)學(xué)院電氣工程系電子設(shè)計大賽設(shè)計報告作品名稱:基于單片機的籃球計時記分系統(tǒng)的設(shè)計作者:智能電子081班**創(chuàng)作時間:20XX年4月6日目錄一、前言二、設(shè)計任務(wù)與要求三、總體方案四、單元模塊設(shè)計五、程序六、操作說明七、設(shè)計總結(jié)八、參考文獻九、附:(原理圖)一、前言1、引言在當(dāng)今社會隨著物質(zhì)生活的提高,人們對精神文化的需求也越來越高?;@球競技就是其中非常重要的一個方面,而計時記分系統(tǒng)在競賽中更是重中之重。
在籃球比賽中,總的倒計時是必需的,規(guī)定為12min。除此以外,為了加快比賽節(jié)奏,還規(guī)定了隊員的持球時間不能超過24s,否則就犯規(guī)。這里所設(shè)計的計時器涵蓋了以上要求,可用于籃球比賽中。用于對總時間和持球時間24s的限制。2、設(shè)計簡介本設(shè)計是采用AT89S51單片機設(shè)計的一個用于籃球比賽的籃球計時計分器。本設(shè)計采用定時器T0中斷進行計時,顯示部分分為計時顯示和計分顯示兩部分,均采用LED數(shù)碼管動態(tài)顯示,用于顯示整個比賽賽程的比賽時間和兩隊的比分情況。采用四個鍵盤和外部中斷0實現(xiàn)輸入功能,用于賽前調(diào)節(jié)時間、比賽過程中計分、暫停和開始、比賽時間結(jié)束以后報警等功能。另外,本設(shè)計最大的特點是對設(shè)定時間的記憶功能?;诨@球比賽是分節(jié)進行的,每節(jié)有固定的時間。本設(shè)計可事先設(shè)定一節(jié)比賽的時間,一節(jié)比賽結(jié)束后,比分保持不變,再次開始后,是從上次設(shè)定的時間開始計時。本設(shè)計采用AT89S51單片機作為核心部件,整個系統(tǒng)結(jié)構(gòu)簡單、實用性強、操作簡便、具有低功耗,可靠性,安全性以及低成本等特點,該設(shè)計方案完全滿足籃球計分器的設(shè)計要求。
現(xiàn)在籃球比賽計時器的設(shè)計大都比較的復(fù)雜,所用芯片太多,造成整體的價格提高,而且軟件設(shè)計比較的復(fù)雜。導(dǎo)致性價比不是很高,很難得到廣泛的推廣。我所設(shè)計的這個籃球比賽計時器一改他們的缺點,硬件比較的簡單,軟件也很容易。因此,實用性比較大。二、設(shè)計任務(wù)與要求1、設(shè)計任務(wù):設(shè)計并制作一個用于籃球比賽計時計分器,能顯示各種比賽時間,并顯示比賽比分,能實現(xiàn)每次加、減分和時間修改操作,平時顯示時間、時間精確到0.1S。2、設(shè)計要求:(一)采用單片機控制,響應(yīng)迅速,判別精確;主控臺面上有按鍵控制,可同時對比賽時的分數(shù)顯示進行加分減分,能顯示整個賽程的比賽時間,暫停時間和比賽的節(jié)數(shù)。(二)在比賽的過程中能夠隨時刷新各隊在整個賽程中的比分,通過按鍵輸入比分,顯示在數(shù)碼管上;按鍵分別為加1分、減1分鍵和改變當(dāng)前記分球隊功能鍵。(三)具有計時功能,能正確設(shè)置倒計時時間和比賽的節(jié)數(shù),每節(jié)總時間倒計時,24S倒計時,倒計時到聲光報警。比如,第1節(jié)開始12分種倒計時,屏幕顯示“7200.0”“24.0”準備開始倒計時,按開始鍵開始倒計時。(四)具有開始、暫停功能。三、總體方案1、方案比較與選擇一、單片機的選型方案一:51單片機雖然51單片機是8位的,采用總線結(jié)構(gòu),但具有編程控制簡便、接口簡單、工作可靠,價格經(jīng)濟,能耗少,容易實現(xiàn)系統(tǒng)小型化。方案二:61單片機61單片機是在51的基礎(chǔ)上擴展起來的,雖然比51多了看門狗,并且是非總線結(jié)構(gòu),它是16位的,支持16位硬件乘法,還有專門的乘加指令,現(xiàn)在應(yīng)用非常廣泛,但61單片機價格較貴,要繼續(xù)擴展,比較不方便。因此本系統(tǒng)采用51單片機來實現(xiàn)。二、計時方案方案一:采用計時芯片針對計算機系統(tǒng)對計時芯片的要求,各大芯片廠家推出了鍵時鐘/倒計時/正計時各種芯片,可采用自動控制計時芯片,通過觸發(fā)控制電路使計時器自動地計時,達到預(yù)定時間后芯片重新開始計時(實現(xiàn)倒計時功能);也可以通過觸發(fā)控制電路使計時器不計時,達到預(yù)定時間后芯片重新開始計時(實現(xiàn)暫停功能),不需要程序干預(yù)。計算機可通過中斷或查詢方式讀取計時器數(shù)據(jù),實現(xiàn)計時的暫停的功能,并進行顯示,計時功能的實現(xiàn)就無需占用CPU的時間,程序簡單,控制精度高,因此在工業(yè)控制系統(tǒng)中多采用這一類專用芯片來實現(xiàn)計時功能。方案二:軟件控制利用MCS-51內(nèi)部的定時器/計數(shù)器進行中斷定時,配合軟件延時實現(xiàn)計時。該方案節(jié)省硬件成本,并且可綜合運用定時器/計數(shù)器、中斷以及程序設(shè)計的知識。因此本系統(tǒng)采用軟件方法來實現(xiàn)計時。2、設(shè)計思路根據(jù)設(shè)計任務(wù)與要求,設(shè)計思路如下:系統(tǒng)采用51單片機軟件方法來實現(xiàn)。設(shè)計出籃球記分、計時系統(tǒng),能實現(xiàn)兩隊比分的加分、減分(防誤操作)、計時和各種顯示效果;其控制系統(tǒng)的模塊有:6位動態(tài)顯示記分模塊、7位動態(tài)顯示計時模塊、兩隊加分減分模塊、按鍵查詢模塊、分秒控制系統(tǒng);計分統(tǒng)采用了指令冗余和按鍵延時去抖等抗干擾措施。程序由延時函數(shù)、顯示函數(shù)、主函數(shù)、中斷函數(shù)、按鍵掃描函數(shù)等組成,主函數(shù)中調(diào)用顯示函數(shù)顯示時間、比分并調(diào)用延時函數(shù),比分與時間相互切換進而實現(xiàn)籃球比分、時間顯示修改功能。(1)時間顯示用7個數(shù)碼管,分數(shù)顯示用6個數(shù)碼管,用來動態(tài)掃描方式顯示。時間由單片機的P2口掃描,分數(shù)由P0口掃描。(2)時間的暫停與開始,分數(shù)的累加,通過接入鍵盤電路實現(xiàn)。系統(tǒng)共涉及4個按鍵,分別定義為:
S1鍵功能:1、啟動、暫停鍵,即當(dāng)比賽需要啟動、暫停時,可以使24s和總時間隨時開始或者暫停;2、切換鍵,即顯示比分狀態(tài)切換顯示時間狀態(tài);3、切換鍵,即退出1隊加減分狀態(tài)進入2隊加減分狀態(tài);S2鍵功能:1、切換鍵,即顯示比分狀態(tài)切換顯示時間狀態(tài);2、加分鍵,1隊加分鍵、2隊加分鍵即分數(shù)加1鍵;S3鍵功能:1、減分鍵,1隊加分鍵、2隊加分鍵即分數(shù)加1鍵;2、24秒倒計時復(fù)位鍵,即24秒倒計時完或中途狀態(tài)中都能重新賦值24秒;S4鍵功能:12分倒計時復(fù)位鍵,即12分倒計時完開始下一節(jié)比賽計時即重新賦值12分鐘;3、硬件電路的設(shè)計
根據(jù)設(shè)計要求與設(shè)計思路,確定該系統(tǒng)的設(shè)計方案,圖1為該系統(tǒng)設(shè)計方案的硬件電路設(shè)計框圖。硬件電路由7部分組成:即按鍵輸入電路、單片機、時鐘電路、復(fù)位電路、LED數(shù)碼管段驅(qū)動電路和LED數(shù)碼管位驅(qū)動電路,LED顯示器。四、單元模塊設(shè)計1、設(shè)計特點:本設(shè)計特點是采用模塊化的設(shè)計。其優(yōu)點是:每個模塊的程序結(jié)構(gòu)簡單,任務(wù)明確,易于編寫,調(diào)試和修改。程序可讀性好,對程序的修改可局部進行,其他部分可保持不變。這里所設(shè)計的籃球比賽系統(tǒng),也可以加以修改,用于其他比賽系統(tǒng)或其他用倒計時的系統(tǒng)中。根據(jù)模塊的劃分原則,將模塊程序劃分成幾個模塊,如圖2所示:1、延時模塊:程序調(diào)用前先聲明,能隨時隨地調(diào)用。2、按鍵模塊:按鍵掃描程序主程序中調(diào)用,方便快捷。3、數(shù)據(jù)輸出模塊:時間模塊:每節(jié)總時間倒計時與24秒倒計時,倒計時到聲光報警模塊。比分模塊:具有加減分功能,并在數(shù)碼管上顯示雙方比分比賽雙方比分能隨時隨地修改。4、定時中斷模塊:同時控制每節(jié)總時間倒計時和24S倒計時。2、軟件設(shè)計流程圖:3、設(shè)計結(jié)果設(shè)計的籃球比賽計時記分系統(tǒng)。按照設(shè)計要求實現(xiàn)了單節(jié)12rain的倒計時,24s進攻的倒計時,以及兩隊的記分功能,實現(xiàn)了籃球計時計分器的全部功能,符合NBA籃球計時計分要求。五、程序#include<reg51.h>typedefunsignedcharUINT8;typedefunsignedintUINT16;typedefunsignedlongintUINT32;全局聲明----------------------------------*/codeUINT8SEGMENT[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};codeUINT8SELECT_Score[6]={0x7f,0xbf,0xdf,0xfb,0xfd,0xfe};codeUINT8SELECT_12munite[4]={0x7f,0xbf,0xdf,0xef};codeUINT8SELECT_24sec[3]={0xfb,0xfd,0xfe};#defineS10x0e#defineS20x0d#defineS30x0b#defineS40x0fUINT16ScoreA,ScoreB;UINT16sec=240,munite=7200;sbitBELL=P3^5;延時函數(shù)----------------------------------*/voidDelay(UINT16t){UINT16i,j;for(i=0;i<t;i++)for(j=0;j<113;j++);}鍵盤掃描---------------------------------*/UINT8Scankey(void){UINT8key;if((P3&0x0f)==0x0f)return(0xff);Delay(10);if((P3&0x0f)==0x0f)return(0xff);key=P3&0x0f;while((P3&0x0f)!=0x0f);return(key);}12分計時顯示函數(shù)-----------------------------------*/voidDisplay_munite(UINT16munite,UINT8flag){staticUINT8count=0,count1=0;P2=0xff;switch(count){case0:P0=SEGMENT[munite/1000];break;case1:P0=SEGMENT[munite%1000/100];break;case2:P0=SEGMENT[munite%100/10]&0x7f;break;case3:P0=SEGMENT[munite%10];break;}count1++;if(flag==1&&count1<100){}elseP2=SELECT_12munite[count];count1%=200;count++;count%=4;}24秒計時顯示函數(shù)-----------------------------------*/voidDisplay_sec(UINT16sec,UINT8flag){staticUINT8count=0,count1=0;P2=0xff;switch(count){case0:P0=SEGMENT[sec/100];break;case1:P0=SEGMENT[sec%100/10]&0x7f;break;case2:P0=SEGMENT[sec%10];break;}count1++;if(flag==1&&count1<100){}elseP2=SELECT_24sec[count];count1%=200;count++;count%=3;}計分顯示函數(shù)-----------------------------------*/voidDisplay_Score(UINT8ScoreA,UINT8ScoreB){staticUINT8count=0;P2=0xff;switch(count){case0:P0=SEGMENT[ScoreA/100];break;case1:P0=SEGMENT[ScoreA%100/10];break;case2:P0=SEGMENT[ScoreA%10];break;case3:P0=SEGMENT[ScoreB/100];break;case4:P0=SEGMENT[ScoreB%100/10];break;case5:P0=SEGMENT[ScoreB%10];break;}P2=SELECT_Score[count];count++;count%=6;}中斷初始化-----------------------------------*/voidTimer0_Int(void){TMOD=0x01;TH0=0x4c;TL0=0x00;IE=0x82;}比分加減、啟動暫停函數(shù)---------------------------------*/voidAdjust(void){UINT8c,e,num;UINT8ScoreA,ScoreB;c=Scankey();switch(c){caseS1:TR0=!TR0;break;caseS2:TR0=0;while(1){Display_Score(ScoreA,ScoreB);Delay(2);e=Scankey();switch(e){caseS1:num++;break;caseS2:if(num==0)ScoreA+=1;if(num==1)ScoreB+=1;break;caseS3:if(num==0)ScoreA-=1;if(num==1)ScoreB-=1;break;}if(num==2)break;}break;caseS3:TR0=0;sec=240;BELL=1;break;caseS4:TR0=0;munite=7200;BELL=1;break;}}主函數(shù)-----------------------------------*/main(){Timer0_Int();while(1){Adjust();Delay(2);if(sec==0){TR0=0;Display_sec(0,1);BELL=0;}elseif(munite==0){TR0=0;Display_munite(0,1);BELL=0;}elseDisplay_sec(sec,0);Delay(2);Display_munite(munite,0);}}定時器T0-----------------------------------*/voidTimer_sec_Int(void)interrupt1{staticUINT8num=0;TH0=0x4c;TL0=0x00;num++;while(num==2){sec--;num=0;munite--;num=0;}}五、操作說明書1、設(shè)計功能說明本設(shè)計以89S5l單片機為核心器件,組成一個電子計時記分系統(tǒng);系統(tǒng)顯示由8位數(shù)碼管組成,分別為記分牌與倒計時牌;可隨時記分,隨時暫停,隨時開始。2、操作說明1、接通電源,系統(tǒng)初始化,數(shù)碼管顯示倒計時狀態(tài)為小節(jié)總倒計時和進攻倒計時:“720.0,24.0”。2、當(dāng)按下開始/暫停按鈕S1后,計時的緩沖區(qū)初始化開始倒計時,系統(tǒng)通過不斷地查詢加減分按鍵(S2,S3)是否按下,若有,經(jīng)過按鍵去抖動程序后,查詢到當(dāng)按下S2鍵,系統(tǒng)從倒計時狀態(tài)切換到比分狀態(tài)顯示,顯示為“000,000”然后選擇給紅隊或者籃隊加減分,并進行相應(yīng)隊的記分顯示處理,同時不斷地查詢按鍵,判斷有無其他指令。如有無暫停,有就調(diào)用暫停程序,執(zhí)行暫停;同時查詢S4鍵有無按下重新賦值進攻時間24S,當(dāng)?shù)谝还?jié)比賽結(jié)束后,按下S3鍵重新賦值總倒計時12分,這樣又進行第二節(jié)的比賽。第三節(jié)、第四節(jié)與第一節(jié)的處理方法相同。中途可以任意時候接連按下S1兩次,從比分顯示狀態(tài)切換至倒計時顯示狀態(tài)。3、進入比分顯示狀態(tài)后,系統(tǒng)默認為先為紅隊加減分狀態(tài)。按下S1鍵,則切換至為籃隊加減分狀態(tài)。同時,系統(tǒng)不斷地查詢按鍵,判斷是加分(S2)還是減分(S3)指令,并作出相應(yīng)的命令。附:系統(tǒng)共涉及的4個按鍵,分別定義資料:
S1鍵功能:1、啟動、暫停鍵,即當(dāng)比賽需要啟動、暫停時,可以使24s和總時間隨時開始或者暫停;2、切換鍵,即顯示比分狀態(tài)切換顯示時間狀態(tài);3、切換鍵,即退出1隊加減分狀態(tài)進入2隊加減分狀態(tài);S2鍵功能:1、切換鍵,即顯示比分狀態(tài)切換顯示時間狀態(tài);2、加分鍵,1隊加分鍵、2隊加分鍵即分數(shù)加1鍵;S3鍵功能:1、減分鍵,1隊加分鍵、2隊加分鍵即分數(shù)加1鍵;2、24秒倒計時復(fù)位鍵,即24秒倒計時完或中途狀態(tài)中都能重新賦值24秒;S4鍵功能:12分倒計時復(fù)位鍵,即12分倒計時完開始下一節(jié)比賽計時即重新賦值12分鐘;七、設(shè)計總結(jié)一、設(shè)計心得:1、勇往直前,迎難而上在此次任務(wù)中,我遇到了各種各樣的問題,通過努力下最終解決了難題。問題是用來解決的,只要勇往直前,就可以解決所遇到的難題。2、努力學(xué)習(xí),共創(chuàng)未來通過此次個人設(shè)計與制作,讓我更深入的了解到單片機的功能,提高了對單片機學(xué)習(xí)的興趣。培養(yǎng)了興趣,找到了自己的知識盲點,對以后學(xué)習(xí)有很好的向?qū)ё饔?。二、不足與改進:1、硬件:本設(shè)計硬件有待進一步完善和提高。例:為節(jié)約成本只用了八個LED數(shù)碼管,時間與比分不能同時顯示,只能通過切換實現(xiàn)顯示功能。不過這也是本設(shè)計的一大特點:成本低廉。2、軟件程序:本設(shè)計程序也進一步完善和提高。例:為節(jié)約成本只用了四個按鍵控制,因而只能加減1分,不能實現(xiàn)加減2分、3分;無中場比賽調(diào)換雙方比分位置功能;沒有實現(xiàn)加時賽功能。3、總結(jié):不過這些都是可以解決的問題,而且不難,只要在精心準備下,一定能更好。三、結(jié)束語
本設(shè)計系統(tǒng)采用MCS-51單片機AT89S51實現(xiàn),外圍電路簡單,可維護性強;完全能滿足籃球比賽中計時、記分的設(shè)計要求,通過改變系統(tǒng)軟件的方法,還可以將該系統(tǒng)改為乒乓球、排球計分系統(tǒng)。八、參考文獻[1]王靜霞主編.《單片機應(yīng)用技術(shù)(C語言版)》[M].電子工業(yè)出版社,2009年.[2]劉守義主編.《單片機應(yīng)用技術(shù)》[M].西安電子科技大學(xué)出版社,2002年.[3]張大明主編.《單片微機控制應(yīng)用技術(shù)》[M].機械工業(yè)出版社,2000年.[4]李俊婷主編.《計算機輔助電路設(shè)計與ProtelDXP》[M].高等教育出版社,2005年.[5]百度資訊.九、附:(原理圖)
+籃球計時計分器設(shè)計報告發(fā)表于:2022.12.26來自:字數(shù):8800手機看范文湖南鐵道職業(yè)技術(shù)學(xué)院電氣工程系電子設(shè)計大賽設(shè)計報告作品名稱:基于單片機的籃球計時記分系統(tǒng)的設(shè)計作者:智能電子081班**創(chuàng)作時間:20XX年4月6日目錄一、前言二、設(shè)計任務(wù)與要求三、總體方案四、單元模塊設(shè)計五、程序六、操作說明七、設(shè)計總結(jié)八、參考文獻九、附:(原理圖)一、前言1、引言在當(dāng)今社會隨著物質(zhì)生活的提高,人們對精神文化的需求也越來越高。籃球競技就是其中非常重要的一個方面,而計時記分系統(tǒng)在競賽中更是重中之重。
在籃球比賽中,總的倒計時是必需的,規(guī)定為12min。除此以外,為了加快比賽節(jié)奏,還規(guī)定了隊員的持球時間不能超過24s,否則就犯規(guī)。這里所設(shè)計的計時器涵蓋了以上要求,可用于籃球比賽中。用于對總時間和持球時間24s的限制。2、設(shè)計簡介本設(shè)計是采用AT89S51單片機設(shè)計的一個用于籃球比賽的籃球計時計分器。本設(shè)計采用定時器T0中斷進行計時,顯示部分分為計時顯示和計分顯示兩部分,均采用LED數(shù)碼管動態(tài)顯示,用于顯示整個比賽賽程的比賽時間和兩隊的比分情況。采用四個鍵盤和外部中斷0實現(xiàn)輸入功能,用于賽前調(diào)節(jié)時間、比賽過程中計分、暫停和開始、比賽時間結(jié)束以后報警等功能。另外,本設(shè)計最大的特點是對設(shè)定時間的記憶功能?;诨@球比賽是分節(jié)進行的,每節(jié)有固定的時間。本設(shè)計可事先設(shè)定一節(jié)比賽的時間,一節(jié)比賽結(jié)束后,比分保持不變,再次開始后,是從上次設(shè)定的時間開始計時。本設(shè)計采用AT89S51單片機作為核心部件,整個系統(tǒng)結(jié)構(gòu)簡單、實用性強、操作簡便、具有低功耗,可靠性,安全性以及低成本等特點,該設(shè)計方案完全滿足籃球計分器的設(shè)計要求。
現(xiàn)在籃球比賽計時器的設(shè)計大都比較的復(fù)雜,所用芯片太多,造成整體的價格提高,而且軟件設(shè)計比較的復(fù)雜。導(dǎo)致性價比不是很高,很難得到廣泛的推廣。我所設(shè)計的這個籃球比賽計時器一改他們的缺點,硬件比較的簡單,軟件也很容易。因此,實用性比較大。二、設(shè)計任務(wù)與要求1、設(shè)計任務(wù):設(shè)計并制作一個用于籃球比賽計時計分器,能顯示各種比賽時間,并顯示比賽比分,能實現(xiàn)每次加、減分和時間修改操作,平時顯示時間、時間精確到0.1S。2、設(shè)計要求:(一)采用單片機控制,響應(yīng)迅速,判別精確;主控臺面上有按鍵控制,可同時對比賽時的分數(shù)顯示進行加分減分,能顯示整個賽程的比賽時間,暫停時間和比賽的節(jié)數(shù)。(二)在比賽的過程中能夠隨時刷新各隊在整個賽程中的比分,通過按鍵輸入比分,顯示在數(shù)碼管上;按鍵分別為加1分、減1分鍵和改變當(dāng)前記分球隊功能鍵。(三)具有計時功能,能正確設(shè)置倒計時時間和比賽的節(jié)數(shù),每節(jié)總時間倒計時,24S倒計時,倒計時到聲光報警。比如,第1節(jié)開始12分種倒計時,屏幕顯示“7200.0”“24.0”準備開始倒計時,按開始鍵開始倒計時。(四)具有開始、暫停功能。三、總體方案1、方案比較與選擇一、單片機的選型方案一:51單片機雖然51單片機是8位的,采用總線結(jié)構(gòu),但具有編程控制簡便、接口簡單、工作可靠,價格經(jīng)濟,能耗少,容易實現(xiàn)系統(tǒng)小型化。方案二:61單片機61單片機是在51的基礎(chǔ)上擴展起來的,雖然比51多了看門狗,并且是非總線結(jié)構(gòu),它是16位的,支持16位硬件乘法,還有專門的乘加指令,現(xiàn)在應(yīng)用非常廣泛,但61單片機價格較貴,要繼續(xù)擴展,比較不方便。因此本系統(tǒng)采用51單片機來實現(xiàn)。二、計時方案方案一:采用計時芯片針對計算機系統(tǒng)對計時芯片的要求,各大芯片廠家推出了鍵時鐘/倒計時/正計時各種芯片,可采用自動控制計時芯片,通過觸發(fā)控制電路使計時器自動地計時,達到預(yù)定時間后芯片重新開始計時(實現(xiàn)倒計時功能);也可以通過觸發(fā)控制電路使計時器不計時,達到預(yù)定時間后芯片重新開始計時(實現(xiàn)暫停功能),不需要程序干預(yù)。計算機可通過中斷或查詢方式讀取計時器數(shù)據(jù),實現(xiàn)計時的暫停的功能,并進行顯示,計時功能的實現(xiàn)就無需占用CPU的時間,程序簡單,控制精度高,因此在工業(yè)控制系統(tǒng)中多采用這一類專用芯片來實現(xiàn)計時功能。方案二:軟件控制利用MCS-51內(nèi)部的定時器/計數(shù)器進行中斷定時,配合軟件延時實現(xiàn)計時。該方案節(jié)省硬件成本,并且可綜合運用定時器/計數(shù)器、中斷以及程序設(shè)計的知識。因此本系統(tǒng)采用軟件方法來實現(xiàn)計時。2、設(shè)計思路根據(jù)設(shè)計任務(wù)與要求,設(shè)計思路如下:系統(tǒng)采用51單片機軟件方法來實現(xiàn)。設(shè)計出籃球記分、計時系統(tǒng),能實現(xiàn)兩隊比分的加分、減分(防誤操作)、計時和各種顯示效果;其控制系統(tǒng)的模塊有:6位動態(tài)顯示記分模塊、7位動態(tài)顯示計時模塊、兩隊加分減分模塊、按鍵查詢模塊、分秒控制系統(tǒng);計分統(tǒng)采用了指令冗余和按鍵延時去抖等抗干擾措施。程序由延時函數(shù)、顯示函數(shù)、主函數(shù)、中斷函數(shù)、按鍵掃描函數(shù)等組成,主函數(shù)中調(diào)用顯示函數(shù)顯示時間、比分并調(diào)用延時函數(shù),比分與時間相互切換進而實現(xiàn)籃球比分、時間顯示修改功能。(1)時間顯示用7個數(shù)碼管,分數(shù)顯示用6個數(shù)碼管,用來動態(tài)掃描方式顯示。時間由單片機的P2口掃描,分數(shù)由P0口掃描。(2)時間的暫停與開始,分數(shù)的累加,通過接入鍵盤電路實現(xiàn)。系統(tǒng)共涉及4個按鍵,分別定義為:
S1鍵功能:1、啟動、暫停鍵,即當(dāng)比賽需要啟動、暫停時,可以使24s和總時間隨時開始或者暫停;2、切換鍵,即顯示比分狀態(tài)切換顯示時間狀態(tài);3、切換鍵,即退出1隊加減分狀態(tài)進入2隊加減分狀態(tài);S2鍵功能:1、切換鍵,即顯示比分狀態(tài)切換顯示時間狀態(tài);2、加分鍵,1隊加分鍵、2隊加分鍵即分數(shù)加1鍵;S3鍵功能:1、減分鍵,1隊加分鍵、2隊加分鍵即分數(shù)加1鍵;2、24秒倒計時復(fù)位鍵,即24秒倒計時完或中途狀態(tài)中都能重新賦值24秒;S4鍵功能:12分倒計時復(fù)位鍵,即12分倒計時完開始下一節(jié)比賽計時即重新賦值12分鐘;3、硬件電路的設(shè)計
根據(jù)設(shè)計要求與設(shè)計思路,確定該系統(tǒng)的設(shè)計方案,圖1為該系統(tǒng)設(shè)計方案的硬件電路設(shè)計框圖。硬件電路由7部分組成:即按鍵輸入電路、單片機、時鐘電路、復(fù)位電路、LED數(shù)碼管段驅(qū)動電路和LED數(shù)碼管位驅(qū)動電路,LED顯示器。四、單元模塊設(shè)計1、設(shè)計特點:本設(shè)計特點是采用模塊化的設(shè)計。其優(yōu)點是:每個模塊的程序結(jié)構(gòu)簡單,任務(wù)明確,易于編寫,調(diào)試和修改。程序可讀性好,對程序的修改可局部進行,其他部分可保持不變。這里所設(shè)計的籃球比賽系統(tǒng),也可以加以修改,用于其他比賽系統(tǒng)或其他用倒計時的系統(tǒng)中。根據(jù)模塊的劃分原則,將模塊程序劃分成幾個模塊,如圖2所示:1、延時模塊:程序調(diào)用前先聲明,能隨時隨地調(diào)用。2、按鍵模塊:按鍵掃描程序主程序中調(diào)用,方便快捷。3、數(shù)據(jù)輸出模塊:時間模塊:每節(jié)總時間倒計時與24秒倒計時,倒計時到聲光報警模塊。比分模塊:具有加減分功能,并在數(shù)碼管上顯示雙方比分比賽雙方比分能隨時隨地修改。4、定時中斷模塊:同時控制每節(jié)總時間倒計時和24S倒計時。2、軟件設(shè)計流程圖:3、設(shè)計結(jié)果設(shè)計的籃球比賽計時記分系統(tǒng)。按照設(shè)計要求實現(xiàn)了單節(jié)12rain的倒計時,24s進攻的倒計時,以及兩隊的記分功能,實現(xiàn)了籃球計時計分器的全部功能,符合NBA籃球計時計分要求。五、程序#include<reg51.h>typedefunsignedcharUINT8;typedefunsignedintUINT16;typedefunsignedlongintUINT32;全局聲明----------------------------------*/codeUINT8SEGMENT[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};codeUINT8SELECT_Score[6]={0x7f,0xbf,0xdf,0xfb,0xfd,0xfe};codeUINT8SELECT_12munite[4]={0x7f,0xbf,0xdf,0xef};codeUINT8SELECT_24sec[3]={0xfb,0xfd,0xfe};#defineS10x0e#defineS20x0d#defineS30x0b#defineS40x0fUINT16ScoreA,ScoreB;UINT16sec=240,munite=7200;sbitBELL=P3^5;延時函數(shù)----------------------------------*/voidDelay(UINT16t){UINT16i,j;for(i=0;i<t;i++)for(j=0;j<113;j++);}鍵盤掃描---------------------------------*/UINT8Scankey(void){UINT8key;if((P3&0x0f)==0x0f)return(0xff);Delay(10);if((P3&0x0f)==0x0f)return(0xff);key=P3&0x0f;while((P3&0x0f)!=0x0f);return(key);}12分計時顯示函數(shù)-----------------------------------*/voidDisplay_munite(UINT16munite,UINT8flag){staticUINT8count=0,count1=0;P2=0xff;switch(count){case0:P0=SEGMENT[munite/1000];break;case1:P0=SEGMENT[munite%1000/100];break;case2:P0=SEGMENT[munite%100/10]&0x7f;break;case3:P0=SEGMENT[munite%10];break;}count1++;if(flag==1&&count1<100){}elseP2=SELECT_12munite[count];count1%=200;count++;count%=4;}24秒計時顯示函數(shù)-----------------------------------*/voidDisplay_sec(UINT16sec,UINT8flag){staticUINT8count=0,count1=0;P2=0xff;switch(count){case0:P0=SEGMENT[sec/100];break;case1:P0=SEGMENT[sec%100/10]&0x7f;break;case2:P0=SEGMENT[sec%10];break;}count1++;if(flag==1&&count1<100){}elseP2=SELECT_24sec[count];count1%=200;count++;count%=3;}計分顯示函數(shù)-----------------------------------*/voidDisplay_Score(UINT8ScoreA,UINT8ScoreB){staticUINT8count=0;P2=0xff;switch(count){case0:P0=SEGMENT[ScoreA/100];break;case1:P0=SEGMENT[ScoreA%100/10];break;case2:P0=SEGMENT[ScoreA%10];break;case3:P0=SEGMENT[ScoreB/100];break;case4:P0=SEGMENT[ScoreB%100/10];break;case5:P0=SEGMENT[ScoreB%10];break;}P2=SELECT_Score[count];count++;count%=6;}中斷初始化-----------------------------------*/voidTimer0_Int(void){TMOD=0x01;TH0=0x4c;TL0=0x00;IE=0x82;}比分加減、啟動暫停函數(shù)---------------------------------*/voidAdjust(void){UINT8c,e,num;UINT8ScoreA,ScoreB;c=Scankey();switch(c){caseS1:TR0=!TR0;break;caseS2:TR0=0;while(1){Display_Score(ScoreA,ScoreB);Delay(2);e=Scankey();switch(e){caseS1:num++;break;caseS2:if(num==0)ScoreA+=1;if(num==1)ScoreB+=1;break;caseS3:if(num==0)ScoreA-=1;if(num==1)ScoreB-=1;break;}if(num==2)break;}break;caseS3:TR0=0;sec=240;BELL=1;break;caseS4:TR0=0;munite=7200;BELL=1;break;}}主函數(shù)-----------------------------------*/main(){Timer0_Int();while(1){Adjust();Delay(2);if(sec==0){TR0=0;Display_sec(0,1);BELL=0;}elseif(munite==0){TR0=0;Display_munite(0,1);BELL=0;}elseDisplay_sec(sec,0);Delay(2);Display_munite(munite,0);}}定時器T0-----------------------------------*/voidTimer_sec_Int(void)interrupt1{staticUINT8num=0;TH0=0x4c;TL0=0x00;num++;while(num==2){sec--;num=0;munite--;num=0;}}五、操作說明書1、設(shè)計功能說明本設(shè)計以89S5l單片機為核心器件,組成一個
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Trilysine-TFA-生命科學(xué)試劑-MCE-4187
- KIF18A-IN-15-生命科學(xué)試劑-MCE-5317
- 4-4-Dimethoxyoctafluorobiphenyl-生命科學(xué)試劑-MCE-5198
- 1-3-Dinervonoyl-glycerol-生命科學(xué)試劑-MCE-1243
- 2025年度特色民宿體驗住宿協(xié)議
- 二零二五年度消防設(shè)備定制設(shè)計與銷售合同
- 二零二五年度農(nóng)產(chǎn)品線上線下一體化購銷合同標準
- 施工現(xiàn)場施工防傳染病傳播制度
- 個人兼職用工合同模板
- 鄉(xiāng)村別墅租賃合同樣本
- 2025年上半年山東氣象局應(yīng)屆高校畢業(yè)生招考易考易錯模擬試題(共500題)試卷后附參考答案
- 人教版2024-2025學(xué)年八年級上學(xué)期數(shù)學(xué)期末壓軸題練習(xí)
- 【人教版化學(xué)】必修1 知識點默寫小紙條(答案背誦版)
- 江蘇省無錫市2023-2024學(xué)年八年級上學(xué)期期末數(shù)學(xué)試題(原卷版)
- 全國第三屆職業(yè)技能大賽(無人機駕駛(植保)項目)選拔賽理論考試題庫(含答案)
- 成長感恩責(zé)任高中主題班會-課件
- 建設(shè)項目全過程工程咨詢服務(wù)指引(咨詢企業(yè)版)(征求意見稿)
- 分手的協(xié)議書模板(5篇)
- 2020年度安徽省中考數(shù)學(xué)科目試卷
- 2023年山東藥品食品職業(yè)學(xué)院單招綜合素質(zhì)考試筆試題庫及答案解析
評論
0/150
提交評論