根據(jù)此次課題要求,這里介紹一種籃球賽計時計分器的設計方法,即單片機帶外圍擴展來驅(qū)動數(shù)碼管工作的電路。采用這種方法可提升學生對單片機接口電路的綜合運用能力。電路采用單片機作為核心元件,利用兩個供陰的三位一體數(shù)碼管來顯示兩隊的分數(shù),一個四位一體數(shù)碼管顯示時間的計時。顯示分數(shù)范圍可達0~999分,足夠賽程計分的需要。四位一體數(shù)碼管中2個用于顯示分鐘,2個用于顯示秒鐘。比賽前,將時間設置好,比賽開始時啟動計時,直至倒計時到零為止。計時范圍達到0~99分鐘,能滿足實際賽程計時的需要。為了配合計時器調(diào)整時間和計分器校正比分,設計了6個按鍵,4個用于輸入甲、乙兩隊的分數(shù),另2個用于啟動和暫停賽程時間。另外,還設計了定時報警系統(tǒng),即比賽時間到時,揚聲器發(fā)出報警聲提示賽程結(jié)束。
該系統(tǒng)具有賽程定時設置,賽程時間暫停,及時刷新甲、乙雙方的成績等功能。設計分為軟件設計和硬件設計兩部分。主控芯片采用AT89C51,使用C語言編寫軟件程序,主體分為計時顯示模塊、計分顯示模塊、定時報警、按鍵控制模塊。編程后利用Keil C51[3]軟件來進行編譯,再將生成的HEX文件裝入芯片中,檢驗功能是否能夠正常實現(xiàn)。
1、能記錄整個賽程的比賽時間,并能修改時間,暫停比賽時間。
2、能隨時刷新甲、乙兩隊在整個賽程中的比分。
3、場中交換比賽場地時,能交換甲、乙兩隊比分的位置。
4、比賽時間結(jié)束時,能發(fā)出報警指令。
一個四位一體數(shù)碼管顯示比賽時間,時間格式如:15:00,兩個三位一體數(shù)碼管顯示甲乙兩對的比分,比分格式如:008。
2、比賽時間采用倒計時方式,以一秒的頻率減時,上電時默認初值為15:00,在沒有開始比賽時,可以修改時間,比賽開始后不能修改。
3、甲乙隊比分采用三位數(shù),上電初值為000,最大值為999,滿足常理要求,未開始比賽以及比賽結(jié)束后比分無法加減,
4、比賽未開始之前,可以通過ADD1、DEC1鍵對比較時間的分鐘進調(diào)時,通過ADD2、DEC2鍵對比較時間的秒進行調(diào)時。
5、可隨時暫停/啟動比賽時間。
6、比賽進行時,可以通過ADD1、DEC1鍵對甲隊比分加、減,可以通過ADD2、DEC2對乙隊比分加、減。每按一次鍵,加/減1分。
7、當一節(jié)比賽完后,可以通過(EXCHANGE)換場鍵換場,換場后,比分交換顯示,交換后,下一節(jié)比賽開始時,相應的比分加減鍵也隨之交換。
8、當比賽結(jié)束時,發(fā)出報警。