袁 芳, 江 偉, 陳 冬, 劉超俊
(東華理工大學(xué)核技術(shù)應(yīng)用教育部工程研究中心,; 江西省新能源工藝及裝備工程技術(shù)研究中心,江西 南昌 330013)
在籃球比賽中,需要對(duì)比賽雙方的要求進(jìn)行處理,實(shí)現(xiàn)暫停、比分清零、換場(chǎng)比分交換、24 s進(jìn)攻時(shí)間復(fù)位、加分、減分、記錄暫停次數(shù)的功能。對(duì)比賽時(shí)間、雙方的分?jǐn)?shù)、24 s進(jìn)攻時(shí)間、雙方的暫停次數(shù)以及60 s暫停時(shí)間進(jìn)行記錄和顯示。
本文設(shè)計(jì)了以AT89C51單片機(jī)為核心元件的籃球比賽場(chǎng)地計(jì)時(shí)計(jì)分系統(tǒng)。分別設(shè)計(jì)了單片機(jī)最小系統(tǒng)、提示音電路、譯碼電路、4*4矩陣鍵盤接口電路、共陰數(shù)碼管顯示電路[1-6]。以及主控程序、動(dòng)態(tài)顯示子程序、定時(shí)中斷子程序、按鍵子程序、延時(shí)子程序的軟件系統(tǒng)。該系統(tǒng)可靠性強(qiáng)、操作簡(jiǎn)單、攜帶方便,完全可以滿足籃球比賽的要求[7-10]。
硬件電路由單片機(jī)最小系統(tǒng)、按鍵電路、顯示電路、蜂鳴器提示音電路、譯碼電路組成。系統(tǒng)的硬件框圖如圖1所示[11-15]。
該系統(tǒng)選用AT89C51單片機(jī)為核心控制器,該單片機(jī)的控制系統(tǒng)主要包括單片機(jī)外圍接口電路、復(fù)位電路、晶振電路及電源電路,如圖2所示。
在籃球比賽中需要提示音,例如比賽時(shí)間到、比賽暫停都需要提示音。提示音電路由蜂鳴器和三極管組成與單片機(jī)P2.7相連,因?yàn)轵?qū)動(dòng)蜂鳴器的電流要求比較大,而單片機(jī)I/O口電流比較小,因此使用三極管來(lái)放大驅(qū)動(dòng),如圖3所示。
設(shè)計(jì)需要16個(gè)數(shù)碼管顯示,為節(jié)約單片機(jī)的I/O口,使用4~16譯碼器,它由2片3~8譯碼器組成的。由于74LS138只有3個(gè)輸入端,因此將第一片的E2,E3作為它的第4個(gè)地址輸入端(同時(shí)令E1=1),取第二片的E1作為第四個(gè)地址輸入端(令E2=E3=0),將四個(gè)地址輸入端(命名為D0,D1,D2,D3)分別與P3口的低四位連接,16輸出端連接數(shù)碼管的位選端。
當(dāng)D3=0時(shí)第二片譯碼器不工作而第一片譯碼器工作,將4個(gè)輸入信號(hào)組成的8個(gè)代碼譯成8個(gè)低電平信號(hào),若D3等于0時(shí),第一片譯碼器停止工作,第二片譯碼器工作,將4個(gè)輸入信號(hào)組成的這8個(gè)代碼譯成8個(gè)Z8~Z15高電平信號(hào),擴(kuò)展成為一個(gè)4線-16線的譯碼器。同時(shí)在Z15端口加一個(gè)或門,因?yàn)樵诜抡孢^(guò)程中要給一個(gè)0xff進(jìn)行消隱,但0xff值會(huì)點(diǎn)亮第16個(gè)數(shù)碼管,造成亂碼,加或門并且通過(guò)軟件設(shè)計(jì)就可以在消隱時(shí)不會(huì)點(diǎn)亮數(shù)碼管,電路如圖4所示。
該系統(tǒng)要人為的控制比較多,因此采用矩陣鍵盤,八個(gè)端口與單片機(jī)P1口連接,16個(gè)鍵盤可以實(shí)現(xiàn)了比賽所需數(shù)據(jù)的記錄,包括比賽雙方分?jǐn)?shù)的記錄,比賽時(shí)間倒計(jì)時(shí),暫停功能,換場(chǎng)比分交換,雙方持球時(shí)間的復(fù)位,兩隊(duì)請(qǐng)求的暫停時(shí)間以及暫停的次數(shù)等,各個(gè)鍵盤的分布如圖5所示。
該系統(tǒng)用于顯示的數(shù)碼管有16個(gè),采用動(dòng)態(tài)顯示,在硬件電路方面節(jié)省許多器件,提高效率。單片機(jī)I/O口的電流比較小不能驅(qū)動(dòng)數(shù)碼管,使用74HC573驅(qū)動(dòng)數(shù)碼管,達(dá)到最佳效果,位選信號(hào)是由4~16譯碼器輸出。
共陰數(shù)碼管公共端接低電平,段碼高電平時(shí)才點(diǎn)亮數(shù)碼管,在編程時(shí),先送出段碼,再送位選碼,不斷循環(huán)。數(shù)碼管顯示電路如圖6所示。
圖6 數(shù)碼管顯示電路
運(yùn)用單片機(jī)中斷系統(tǒng)實(shí)現(xiàn)時(shí)間控制和計(jì)數(shù)功能,線反轉(zhuǎn)法實(shí)現(xiàn)鍵盤掃描控制,動(dòng)態(tài)顯示數(shù)碼管,單片機(jī)I/O口的高低電平實(shí)現(xiàn)警報(bào)器發(fā)出聲音。
運(yùn)用T1和T0兩個(gè)定時(shí)器中斷,T0進(jìn)行有參賽隊(duì)請(qǐng)求暫停的時(shí)候60 s倒計(jì)時(shí),T1定時(shí)器控制整節(jié)比賽總時(shí)間的倒計(jì)時(shí),鍵盤控制球隊(duì)的加分,當(dāng)有鍵按下時(shí),有對(duì)應(yīng)的加分動(dòng)作,整個(gè)軟件部分采用模塊化設(shè)計(jì)思想,將系統(tǒng)的各功能編成子模塊,可以加強(qiáng)軟件的可移植性以及可讀性。
主程序的設(shè)計(jì)內(nèi)容主要對(duì)定時(shí)器的初值進(jìn)行初始化,開啟中斷,調(diào)用子程序,具體流程圖如圖7所示。
籃球比賽所有要顯示的數(shù)據(jù)放到一個(gè)變量數(shù)組s[ ]內(nèi),數(shù)組內(nèi)存放了11個(gè)數(shù)據(jù),分別代表的意義是:時(shí)間min,時(shí)間sec,A隊(duì)分?jǐn)?shù),B隊(duì)分?jǐn)?shù),24 s進(jìn)攻時(shí)間,60 s暫停倒計(jì)時(shí),A隊(duì)暫停次數(shù),B隊(duì)暫停次數(shù),A隊(duì)分?jǐn)?shù)百位,B隊(duì)分?jǐn)?shù)百位,臨時(shí)數(shù)據(jù).其中最后一個(gè)數(shù)據(jù)只是換場(chǎng)時(shí)比分交換的臨時(shí)數(shù)據(jù),不做顯示在乒乓球比賽程序里把所有的數(shù)據(jù)放到數(shù)組p[]里,顯示的原理與籃球顯示相同。
數(shù)碼管的段選端連接至74HC573鎖存器的8個(gè)引腳上,74HC573引腳LE接至P2.7口,只有當(dāng)P2.7=1時(shí),數(shù)碼管才接受到單片機(jī)傳出的數(shù)據(jù),否則鎖存器不會(huì)工作,4~16線譯碼器的16個(gè)引腳分別連接16個(gè)數(shù)碼管的公共端作位選,4個(gè)輸入點(diǎn)連接P3口的低四位,每次只點(diǎn)亮1個(gè)數(shù)碼管,位選碼從0000~1111無(wú)限循環(huán),將數(shù)據(jù)全部正常的顯示出來(lái),具體流程如圖8所示。
中斷是該軟件系統(tǒng)最重要的環(huán)節(jié),是軟件的核心部分,此次軟件設(shè)計(jì)使用了T0和T1兩個(gè)定時(shí)器中斷。該系統(tǒng)運(yùn)用了定時(shí)器工作方式1。定時(shí)器的功能是由程序編寫確定的,在使用定時(shí)器前都要初始化,在主程序或在中斷子程序都要進(jìn)行初始化,使其按用戶自己定好的方式工作。定時(shí)器中斷流程圖如圖9和圖10所示,其中s[0]表示比賽倒計(jì)時(shí)min,s[1]表示比賽倒計(jì)時(shí)s,s[4]表示24 s進(jìn)攻時(shí)間倒計(jì)時(shí),s[5]表示60 s倒計(jì)時(shí)。
圖9 定時(shí)器1中斷流程圖圖10 定時(shí)器0中斷流程圖
按鍵功能設(shè)計(jì)中,使用了4*4矩陣鍵盤,采用線反轉(zhuǎn)法要比逐行掃描法快,但使用線反轉(zhuǎn)法時(shí),行、列上都接上拉電阻。16個(gè)按鍵有著不同的功能,分別如下:1:比分清零;2:時(shí)間復(fù)位;3:換場(chǎng)比分交換;4:24 s復(fù)位;5:A隊(duì)加1分;6:A隊(duì)加2分;7:A隊(duì)加3分;8:A隊(duì)減1分;9:B隊(duì)加1分;10:B隊(duì)加2分;11:B隊(duì)加3分;12:B隊(duì)減1分;13:A隊(duì)請(qǐng)求暫停;14:B隊(duì)請(qǐng)求暫停;15:暫停 ;16:開始。具體流程圖如圖11所示。
延時(shí)過(guò)程使用兩個(gè)局部變量i,j其中j的值已經(jīng)固定好為110;i的值需要用戶輸進(jìn)去,j的值為110的意義就在于用戶確定延時(shí)的方便,當(dāng)需要延時(shí)1 ms時(shí),只需要調(diào)用延時(shí)函數(shù)delay可以達(dá)到要求。圖12就是延時(shí)子程序流程圖。
比賽設(shè)計(jì)可以直接在Proteus軟件里進(jìn)行仿真,通過(guò)與Keil 建立協(xié)同仿真單步調(diào)試,程序的的每一步都可以在Proteus上體現(xiàn)出來(lái)。仿真前首先在Proteus軟件里畫好硬件圖,確定沒(méi)有錯(cuò)誤,其次編寫C代碼,編譯無(wú)誤產(chǎn)生HEX文件,加載到單片機(jī)中進(jìn)行仿真,顯示的是籃球比賽數(shù)據(jù),如圖13所示。由圖可知,比賽時(shí)間還剩九分鐘,比分是13∶12,暫停的次數(shù)分別是三次和一次,進(jìn)攻時(shí)間還剩13 s。最后,制作籃球比賽場(chǎng)地計(jì)時(shí)計(jì)分器的實(shí)物,能實(shí)現(xiàn)相同的設(shè)計(jì)功能。
本文設(shè)計(jì)了比賽場(chǎng)地計(jì)時(shí)計(jì)分系統(tǒng),該系統(tǒng)的硬件部分由單片機(jī)最小系統(tǒng)、蜂鳴器提示音電路、按鍵電路、顯示電路、譯碼電路組成。該系統(tǒng)的軟件部分由主程序、動(dòng)態(tài)顯示子程序、定時(shí)中斷子程序、按鍵子程序、延時(shí)子程序組成。
圖11 按鍵處理流程圖圖12 延時(shí)子程序流程圖
圖13 籃球比賽運(yùn)行圖
仿真和實(shí)物實(shí)驗(yàn)驗(yàn)證了該電路的正確性和可靠性,而且該系統(tǒng)還具有結(jié)構(gòu)簡(jiǎn)單、價(jià)格低廉的優(yōu)點(diǎn),具有廣闊的市場(chǎng)應(yīng)用前景。
[1] 胡漢才.單片機(jī)原理及其接口技術(shù)[M].3版.北京: 清華大學(xué)出版社,2010:49-78.
[2] 張靖武.單片機(jī)系統(tǒng)的PROTEUS設(shè)計(jì)與仿真[M].北京: 電子工業(yè)出版社,2007:21-26.
[3] 孔維功.C51 單片機(jī)編程與應(yīng)用[M].北京: 電子工業(yè)出版社,2011:40-59.
[4] 鹿玉紅,倫志新,杜芳芳.基于單片機(jī)的籃球計(jì)時(shí)計(jì)分器的設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2010,6(4): 988-990.
LU Yu-hong,LUN Zhi-xin,DU Fang-fang. The Design of Basketball Points and Time Based on Single chip [J].Computer Knowledge and Technology, 2010,6(4): 988-990.
[5] 王 剛.基于單片機(jī)控制的便攜式籃球計(jì)時(shí)器設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2011,34(14): 151-153.
WANG Gang. Design of Portable Basketball Match Timer Controlled by Single-chip Microcomputer [J].Modern Electronics Technique 2011, 34(14):151-153.
[6] 趙永科,李躍忠,胡開明. 超聲波流量計(jì)信號(hào)驅(qū)動(dòng)與高速切換電路研究[J].東華理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,34(2) :198-200.
ZHAO Yong-ke, LIYue-zhong, HU Kai-ming. Ultrasonic Flow meter with Signal Driven and High-speed Switching Circuit Research[J].Journal of East China Institute of Technology,2011,34(2):198-200.
[7] 管小明,李躍忠,王小娟.基于MC34063 的便攜式儀器電源電路設(shè)計(jì)[J].東華理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2010,33(1): 97-100.
GUAN Xiao-ming, LI Yue-zhong, WANG Xiao-juan. Design of Power Supply Circuit based on MC34063 Used in Portable Instrument [J].Journal of East China Institute of Technology, 2010, 33(1):97-100.
[8] 劉立群,孫志毅,金坤善.基于 MSP430 單片機(jī)的超低功耗數(shù)據(jù)采集器設(shè)計(jì)[J]. 自動(dòng)化儀表, 2005,26(4): 30-31.
LIU Li-qun, SUN Zhi-yi, JIN Kun-Shan. The design of Ultra-low power consumptive data collector based on MSP430 single chip computer [J].Process Automation Instrument, 2005, 26(4): 30-31.
[9] 李躍忠,朱星華, 吳偉偉.檢測(cè)儀表中的數(shù)據(jù)融合方法[J].東華理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2008,31(1):89-92.
LI Yue-zhong, ZHU Xing-hua, WU Wei-wei. Methods of Data Fusion in Measuring Instrument [J].Journal of East China Institute of Technology, 2008, 31(1):89-92.
[10] 金解云,鄒繼軍.智能交通燈控制系統(tǒng)的設(shè)計(jì)[J].東華理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,34(3): 293-295.
JIN Jie-yun, ZOU Ji-jun.The Design of Intelligent Traffic Control System [J].Journal of East China Institute of Technology, 2011, 34(3):293-295.
[11] 張江印.高校單片機(jī)教學(xué)模式的研究[J].實(shí)驗(yàn)室研究與探索,2011,30(9): 103-106.
ZHANG Jiang-yin.Research of Micro Controller Unit Teaching Model in University [J].Research and Exploration in Laboratory, 2011, 30(9): 103-106.
[12] 陳 林,楊 健,陽(yáng) 浩.電子技術(shù)綜合設(shè)計(jì)性實(shí)驗(yàn)項(xiàng)目[J].實(shí)驗(yàn)室研究與探索,2012,31(1):149-152.
CHEN Lin,YANG Jian,YANG Hao.Comprehensive Designing Experiment Project of Electronic Technology[J].Research and Exploration in Laboratory,2012,31(1): 149-152.
[13] 石建國(guó),王麗娟.在線調(diào)試與編程的單片機(jī)教學(xué)實(shí)驗(yàn)板設(shè)計(jì)[J].實(shí)驗(yàn)科學(xué)與技術(shù), 2008(3): 74-75.
SHI Jian-guo, WANG Li-Juan. Design of a MCU demonstration and development board with IAP and ICE Function[J].Experiment Science & Technology 2008(3): 74-75.
[14] 蘇變玲,朱志平,袁 衛(wèi).基于 Proteus 的單片機(jī)仿真教學(xué)的研究[J]. 實(shí)驗(yàn)室研究與探索, 2009, 28(4): 75-78.
SU Bian-ling, ZHU Zhi-ping, YUAN Wei. MCU simulation teaching based on proteus [J].Research and Exploration in Laboratory, 2009, 28(4): 75-78.
[15] 耿 新,陳心浩,姜臣林.開放性實(shí)驗(yàn)室建設(shè)的實(shí)踐與探索[J].實(shí)驗(yàn)室研究與探索,2011,30(12) :150-152.
GENG Xin, CHEN Xin-hao, JIANG Chen-lin.Practice and Exploration of Construction of an Open Laboratory [J].Research and Exploration in Laboratory, 2011, 30(12): 150-152.