基于AT89C51單片機(jī)的籃球比賽計時與計分系統(tǒng)設(shè)計.doc
《基于AT89C51單片機(jī)的籃球比賽計時與計分系統(tǒng)設(shè)計.doc》由會員分享,可在線閱讀,更多相關(guān)《基于AT89C51單片機(jī)的籃球比賽計時與計分系統(tǒng)設(shè)計.doc(37頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 籃球比賽計時與計分系統(tǒng)設(shè)計籃球比賽計時與計分系統(tǒng)設(shè)計摘 要隨著單片機(jī)在各個領(lǐng)域的廣泛應(yīng)用,許多用單片機(jī)作控制的球賽計時計分器也應(yīng)運(yùn)而生,如用單片機(jī)控制LCD液晶顯示器的計時計分器,用單片機(jī)控制LED七段顯示器的計時計分器等等。本次設(shè)計的籃球計時計分系統(tǒng)以AT89C51單片機(jī)為核心元件,利用它內(nèi)部的計數(shù)器T0完成比賽的計時,通過七段共陰極LED來顯示比分和時間。計時部分采用CD4511(七段BCD碼譯碼器)進(jìn)行硬件譯碼;計分部分采用CD4094(8位移位存貯總線寄存器)進(jìn)行串行口擴(kuò)展顯示器接口,并利用74LS21(雙四輸入與門)來實(shí)現(xiàn)比分的刷新功能。報警部分采用蜂鳴器為音響器件。本系統(tǒng)具有賽事
2、時間設(shè)置、賽事時間啟/停設(shè)置、24s倒計時控制;比分刷新控制;報警等功能。且造價低廉、操作簡單、攜帶方便,適合于學(xué)?;蛐F(tuán)體作為賽程計時計分工具。關(guān)鍵詞:籃球計時計分系統(tǒng);七段共陰LED數(shù)碼管;AT89C51BASKETBALL GAME TIME AND SCORING DESIGNABSTRACTWith a wide range of SCM applications in various fields, many with a single chip timing for the control of the game scoring device have emerged, such
3、 as liquid crystal display LCD with MCU control the timing of scoring device, LED seven segment display with microcontroller timing control points and more.The time basketball scoring system designed to AT89C51 microcontroller as the core component, use it to finish within the time T0 counter, throu
4、gh the common cathode seven segment LED to display the score and time. Part time using CD4511 (seven segment BCD decoder) for hardware decoding; scoring part is CD4094 (8-bit shift register storage bus) serial port expansion, monitor port, and use 74LS21 (Dual four-input AND gate) to achieve the sco
5、re of the refresh function. Buzzer to sound the alarm part of the device used. The system has set the event time, event time start / stop setting, 24s countdown control; score refresh control; alarm functions. And low cost, simple operation, easy to carry, suitable for schools or small groups as the
6、 race time scoring tool.Key Words: Time basketball scoring system; Common cathode seven segment LED digital tube; AT89C51目 錄1前言12系統(tǒng)方案設(shè)計22.1 總體方案22.1.1 設(shè)計內(nèi)容22.1.2 設(shè)計要求22.2 系統(tǒng)組成33 硬件設(shè)計43.1 AT89C51的介紹43.2 復(fù)位電路43.3 鍵盤控制電路53.4 顯示電路74 軟件設(shè)計84.1 主程序設(shè)計84.2 鍵盤識別及處理程序設(shè)計94.3 顯示子程序設(shè)計94.4 復(fù)位程序設(shè)計105 系統(tǒng)調(diào)試115.1 軟件模擬
7、調(diào)試115.2 硬件接線及調(diào)試116 總結(jié)136.1 設(shè)計心得13參考文獻(xiàn)15致謝17附錄17附錄A 程序清單17附錄B 總電路原理圖321前 言體育比賽記分系統(tǒng)是對體育比賽過程中所產(chǎn)生的比分等數(shù)據(jù)進(jìn)行快速采集記錄,加工處理,傳遞利用的信息系統(tǒng)。根據(jù)不同運(yùn)動項目的不同比賽規(guī)則要求,體育比賽的記分系統(tǒng)包括測量類,評分類,命中類,制勝類得分類等多種類型。比如籃球比賽是根據(jù)運(yùn)動隊在規(guī)定的比賽時間里得分多少來決定勝負(fù)的,因此,籃球比賽的記分系統(tǒng)是一種得分類型的系統(tǒng)?;@球比賽的記分系統(tǒng)由計分器等多種電子設(shè)備組成,同時,根據(jù)目前高水平籃球比賽要求,完善的籃球比賽記分系統(tǒng)設(shè)備應(yīng)能夠與現(xiàn)場成績處理,現(xiàn)場大屏幕
8、,電視轉(zhuǎn)播車等多種設(shè)備相聯(lián),以便實(shí)現(xiàn)高比賽現(xiàn)場感,表演娛樂觀眾等功能目標(biāo)。由于單片機(jī)的集成度高,功能強(qiáng),通用性好,特別是它具有體積小,重量輕,能耗低,價格便宜,可靠性高,抗干擾能力強(qiáng)和使用方便等獨(dú)特的優(yōu)點(diǎn),使單片機(jī)迅速得到了推廣應(yīng)用,目前已經(jīng)成為測量控制應(yīng)用系統(tǒng)中的優(yōu)選機(jī)種和新電子產(chǎn)品的關(guān)鍵部位。世界各大電氣廠家,測控技術(shù)企業(yè),機(jī)電行業(yè),競相把單片機(jī)應(yīng)用于產(chǎn)品更新,作為實(shí)現(xiàn)數(shù)字化,智能化的核心部件?;@球計時計分器就是以單片機(jī)為核心的計時計分系統(tǒng),由計時器,計分器,綜合控制器和24秒控制器等組成。2系統(tǒng)方案設(shè)計2.1 總體方案此記分器的設(shè)計采用模塊化結(jié)構(gòu),主要由以下2個組成,即鍵盤模塊、以及譯碼
9、顯示模塊。以單片機(jī)為核心,配以一定的外圍電路和軟件,以實(shí)現(xiàn)比賽計分器的功能。它由硬件部分和軟件部分組成。系統(tǒng)設(shè)計方案的硬件電路設(shè)計方框圖如圖2-1所示。矩形鍵盤89C51甲顯示器乙顯示器圖2-1 硬件電路設(shè)計方框圖2.1.1 設(shè)計內(nèi)容(1)給甲、乙兩隊分別設(shè)置加分按鈕,各按鈕按下分別實(shí)現(xiàn)給甲、乙隊加19分。(2)給甲、乙兩隊分別設(shè)置減分按鈕,各按鈕按下分別實(shí)現(xiàn)給甲、乙隊減19分。(3)設(shè)置一個復(fù)位按鈕,按下實(shí)現(xiàn)甲、乙隊總分回到初試分及顯示(4)預(yù)置分通過甲、乙兩隊加分按鈕實(shí)現(xiàn)。2.1.2 設(shè)計要求(1)方案合理、正確,系統(tǒng)穩(wěn)定、可靠。(2)軟件設(shè)計要求盡可能精練、簡短和運(yùn)行可靠。(3)硬件電路
10、要求簡單明了,以節(jié)約成本。2.2 系統(tǒng)組成硬件電路由復(fù)位按鈕、80C51單片機(jī)、矩陣鍵盤和兩個4位共陰極LED顯示器等組成。軟件部分主程序主要由系統(tǒng)初始化段、鍵盤識別、鍵值處理、兩個4位共陰極LED顯示器掃描顯示子程序組成。3 硬件設(shè)計3.1 AT89C51的介紹AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲器的單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除100次。該
11、器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。3.2 復(fù)位電路為確保微機(jī)系統(tǒng)中電路穩(wěn)定可靠工作,復(fù)位電路是必不可少的一部分,復(fù)位電路的第一功能是上電復(fù)位。一般微機(jī)電路正常工作需要供電電源為5V5%,即4.755.25V。由于微機(jī)電路是時序數(shù)字電路,它需要穩(wěn)定的時鐘信號,因此在電源上電時,只有當(dāng)VCC超過4.75V低于5.25V以及晶體振蕩
12、器穩(wěn)定工作時,復(fù)位信號才被撤除,微機(jī)電路開始正常工作。目前為止,單片機(jī)復(fù)位電路主要有四種類型:(1)微分型復(fù)位電路;(2)積分型復(fù)位電路;(3)比較器型復(fù)位電路;(4)看門狗型復(fù)位電路現(xiàn)在詳細(xì)介紹看門狗復(fù)位電路:看門狗型復(fù)位電路主要利用CPU正常工作時,定時復(fù)位計數(shù)器,使得計數(shù)器的值不超過某一值;當(dāng)CPU不能正常工作時,由于計數(shù)器不能被復(fù)位,因此其計數(shù)會超過某一值,從而產(chǎn)生復(fù)位脈沖,使得CPU恢復(fù)正常工作狀態(tài)。典型應(yīng)用的Watchdog復(fù)位電路如圖3-1所示:圖3-1 看門狗型復(fù)位電路此復(fù)位電路的可靠性主要取決于軟件設(shè)計,即將定時向復(fù)位電路發(fā)出脈沖的程序放在何處。一般設(shè)計,將此段程序放在定時器
13、中斷服務(wù)子程序中。然而,有時這種設(shè)計仍然會引起程序走飛或工作不正常3。原因主要是:當(dāng)程序“走飛”發(fā)生時定時器初始化以及開中斷之后的話,這種“走飛”情況就有可能不能由看門狗復(fù)位電路校正回來。因為定時器中斷一真在產(chǎn)生,即使程序不正常,看門狗也能被正常復(fù)位。為此提出定時器加預(yù)設(shè)的設(shè)計方法。即在初始化時壓入堆棧一個地址,在此地址內(nèi)執(zhí)行的是一條關(guān)中斷和一條死循環(huán)語句。在所有不被程序代碼占用的地址盡可能地用子程序返回指令RET代替。這樣,當(dāng)程序走飛后,其進(jìn)入陷阱的可能性將大大增加。而一旦進(jìn)入陷阱,定時器停止工作并且關(guān)閉中斷,從而使看門狗復(fù)位電路會產(chǎn)生一個復(fù)位脈沖將CPU復(fù)位。當(dāng)然這種技術(shù)用于實(shí)時性較強(qiáng)的控
14、制或處理軟件中有一定的困難。3.3 鍵盤控制電路在鍵盤中按鍵數(shù)量較多時,為了減少I/O口的占用,通常將按鍵排列成矩陣形式。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連接。這樣,一個端口(如P1口)就可以構(gòu)成4*4=16個按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成20鍵的鍵盤,而直接用端口線則只能多出一鍵(9鍵)。如圖3-2所示。圖3-2 矩陣式鍵盤電路需要的鍵數(shù)比較多時,采用矩陣法來做鍵盤是合理的。矩陣式結(jié)構(gòu)的鍵盤顯然比直接法要復(fù)雜一些,識別也要復(fù)雜一些,上圖中,列線通過電阻接正電源,并將行線所接的單片機(jī)的I/
15、O口作為輸出端,而列線所接的I/O口則作為輸入。這樣,當(dāng)按鍵沒有按下時,所有的輸出端都是高電平,代表無鍵按下。行線輸出是低電平,一旦有鍵按下,則輸入線就會被拉低,這樣,通過讀入輸入線的狀態(tài)就可得知是否有鍵按下了。具體的識別及編程方法如下所述。矩陣式鍵盤的按鍵識別方法確定矩陣式鍵盤上何鍵被按下介紹一種“行掃描法”。行掃描法行掃描法又稱為逐行(或列)掃描查詢法,是一種最常用的按鍵識別方法,如上圖所示鍵盤,介紹過程如下。判斷鍵盤中有無鍵按下將全部行線Y0-Y3置低電平,然后檢測列線的狀態(tài)。只要有一列的電平為低,則表示鍵盤中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相交叉的4個按鍵之中。若所有列線
16、均為高電平,則鍵盤中無鍵按下。判斷閉合鍵所在的位置在確認(rèn)有鍵按下后,即可進(jìn)入確定具體閉合鍵的過程。其方法是:依次將行線置為低電平,即在置某根行線為低電平時,其它線為高電平。在確定某根行線位置為低電平后,再逐行檢測各列線的電平狀態(tài)。若某列為低,則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵,矩陣鍵盤與80C51的接口電路如圖3-3所示。圖3-3 矩陣鍵盤與80C51的接口電路3.4 顯示電路顯示器采用兩個四位共陰極LED顯示器,來實(shí)現(xiàn)顯示器的動態(tài)掃描,八個二極管連接一個陰極的結(jié)構(gòu),只要另一段為高電平,二極管就會發(fā)光,從而形成一段。將八段順序排列后就成為具有一定編碼的共陰顯示器了。動態(tài)掃描的
17、頻率有一定的要求,頻率太低,LED將出現(xiàn)閃爍現(xiàn)象。如頻率太高,由于每個LED點(diǎn)亮的時間太短,LED的亮度太低,肉眼無法看清,所以一般均取幾個ms左右為宜,這就要求在編寫程序時,選通某一位LED使其點(diǎn)亮并保持一定的時間,程序上常采用的是調(diào)用延時子程序。顯示電路如圖3-4所示。圖3-4 顯示電路接線圖4 軟件設(shè)計4.1 主程序設(shè)計主程序主要由系統(tǒng)初始化段、開中斷、鍵盤識別、鍵值處理、兩個4位共陰極LED顯示器掃描顯示子程序和中斷處理子程序等組成。通過對以上各段和子程序的結(jié)合,以實(shí)現(xiàn)系統(tǒng)功能。該系統(tǒng)主程序流程圖如下圖4-1所示。開始始初化鍵盤識別保存甲是否為+是否為+對應(yīng)處理減對應(yīng)處理加對應(yīng)處理加對
18、應(yīng)處理減顯示圖4-1 主程序流程圖4.2 鍵盤識別及處理程序設(shè)計按鍵識別及處理程序主要由鍵盤識別和鍵值處理組成。其中鍵盤識別子程序不斷地對鍵盤進(jìn)行判斷是否有鍵按下。當(dāng)有鍵按下時則轉(zhuǎn)到鍵碼處理即甲、乙總分處理子程序?qū)ο鄳?yīng)按鍵進(jìn)行相應(yīng)處理,即可實(shí)現(xiàn)對甲、乙兩隊總分的計算與處理。鍵盤識別即依次判斷第一列、第二列、第三列、第四列是否有鍵按下。如果有鍵按下,先得出列,再反向賦值得出行,最后得出所在行和列的位置。鍵值處理即先定義09這九個按鍵,再對三次按鍵值進(jìn)行保存,再來判斷是甲隊還是乙隊加減分,再判斷是加還是減,最后判斷加或減多少分,實(shí)現(xiàn)分別給甲、乙總分進(jìn)行加分和減分。鍵值處理即甲、乙總分處理子程序流程
19、圖如下圖4-2所示。甲或乙除以100除以10個位十位百位商商余數(shù)余數(shù)除以100除以10圖4-2 鍵值處理子程序流程圖4.3 顯示子程序設(shè)計由于該系統(tǒng)使用的是8位LED顯示器顯示計分器比分,因此顯示采用動態(tài)掃描顯示方法,即由顯示器掃描顯示子程序控制顯示器逐個循環(huán)從左至右依次點(diǎn)亮各個顯示器。這樣雖然在任一時刻只要一個顯示器點(diǎn)亮,但是由于人眼具有視覺殘留效應(yīng),看起來與全部顯示器持續(xù)點(diǎn)亮效果一樣。顯示器掃描顯示子程序顯示每一位用如圖4-3所示流程方法完成。從80C51的P1口送顯示器位碼讀相應(yīng)位存儲單元數(shù)據(jù)(中間兩位顯示“”無此步)由讀得數(shù)據(jù)查表確定段碼由80C51送相應(yīng)顯示器位下一位顯示上一位顯 示
20、圖4-3 顯示子程序流程圖4.4 復(fù)位程序設(shè)計按鈕與單片機(jī)P0.6/AD6引腳相連,當(dāng)每次按下該按鈕后,系統(tǒng)將通過軟件實(shí)現(xiàn)對計分復(fù)位功能。在主程序運(yùn)行過程中,只要系統(tǒng)識別到與單片機(jī)P0.6/AD6引腳相連的按鍵按下,程序則會轉(zhuǎn)去執(zhí)行復(fù)位程序,完成對甲、乙總分寄存單元的清零,顯示器各位的顯示數(shù)寄存單元的復(fù)位,執(zhí)行完畢后,返回主程序。流程圖如4-4所示。開始P0.6為0甲、乙顯示器復(fù)位返回 圖4-4 復(fù)位程序流程圖5 系統(tǒng)調(diào)試5.1 軟件模擬調(diào)試本設(shè)計主要是用proteus軟件繪圖以及偉福軟件進(jìn)行編程仿真的。調(diào)試步驟由兩個部分組成:首先,確定程序中錯誤的確切性質(zhì)和位置;然后,對程序代碼進(jìn)行分析,確
21、定問題的原因,并設(shè)法改正這個錯誤。具體地說,由以下步驟組成:1.從錯誤的外部表現(xiàn)入手,確定程序中出錯的位置;2.分析有關(guān)程序代碼,找出錯誤的內(nèi)在原因;3.修改程序代碼,排除這個錯誤;4.重復(fù)進(jìn)行暴露了這個錯誤的原始測試以及某些回歸測試,以確保該錯誤確實(shí)被排除且沒有引入新的錯誤;5.如果所作的修正無效,則撤消這次改動,重復(fù)上述過程,直到找到一個有效的辦法為止。5.2 硬件接線及調(diào)試這個電路是在老師的指導(dǎo)下設(shè)計的,電路的設(shè)計在理論上完全行得通,不過接線是設(shè)計中最關(guān)鍵的一步,我的接線原則是從全局出發(fā),逐個模塊連接調(diào)試,最后總體調(diào)試。在這個指導(dǎo)思想下,我的安裝還算是是成功的。逐個模塊接線再調(diào)試,可以為
22、總體調(diào)試省去很多時間,只要每個模塊正常運(yùn)行,幾個模塊通過地址總線連接之后,就不會出現(xiàn)太大的問題了。調(diào)試前的直觀檢查:1、連線是否正確,在通電之前應(yīng)先檢查一下電路的連線是否正確,包括錯線,少線和多線的情況。查找的方法有:按照電路圖檢查安裝的線路,這種方法的特點(diǎn)是,根據(jù)電路圖來確定,按一定的順序逐一檢查安裝好的線路,由此,可容易查出錯線和少線的情況,還有一種方法就是按照實(shí)際的線路來對照原理電路進(jìn)行查線,這是一種以元件為中心進(jìn)行查線的方法。把每個元件引腳的連線一次查清 ,檢查每個接線處在電路圖上是否存在,這種方法不但可以查出錯線和少線,還容易查處多線的情況。2、元器件安裝時情況檢查元、器見引腳之間有
23、無短路;連接處有無接觸不良;二極管和電容極性等是否連接有誤。電源、信號源連接是否正確。4、電源端對地是否存在短路,在通電前,斷開一根電源線,用萬用表檢查電源對地端是否存在短路模擬調(diào)試結(jié)果記錄如下:通電后,顯示器初始顯示“100-100”。按照鍵盤分布說明按鍵,分布給甲、乙加1分、2分和3分,顯示器跟蹤顯示出總分,然后模擬比賽細(xì)節(jié),隨意給甲、乙加分或是減分,均達(dá)到預(yù)期效果。在甲、乙均有一定總分的情況下對甲、乙進(jìn)行減分處理,當(dāng)減到0后便不能夠再進(jìn)行減分操作,與程序設(shè)計相符。在甲、乙均有一定總分的情況下,按清零按鈕,顯示結(jié)果清零。重復(fù)進(jìn)行上面操作,結(jié)果均符合設(shè)計要求。6 總結(jié)6.1 設(shè)計心得在沒有做
24、畢業(yè)設(shè)計以前,覺得畢業(yè)設(shè)計只是對知識的單純總結(jié),但是通過這次畢業(yè)設(shè)計發(fā)現(xiàn)自己的看法有點(diǎn)太片面,畢業(yè)設(shè)計不僅是對前面所學(xué)知識的一種檢驗,也是對自己能力的一種提高,通過這次畢業(yè)設(shè)計使自己明白了原來的那點(diǎn)知識是非常欠缺的,要學(xué)習(xí)的東西還很多,通過這次畢業(yè)設(shè)計,明白學(xué)習(xí)是一個長期積累的過程,在以后的工作和生活中都應(yīng)該不斷的學(xué)習(xí),努力提高自己的知識和綜合素質(zhì),并將理論與實(shí)際相結(jié)合,學(xué)以致用,不再是紙上談兵,。對我們學(xué)生來說,理論與實(shí)際同樣重要,這是我們以后在工作中說明自己能力的一個重要標(biāo)準(zhǔn)。在這次畢業(yè)設(shè)計中,同學(xué)之間互相幫助,有什么不懂的大家在一起商量,發(fā)現(xiàn)我們所學(xué)的知識實(shí)在是有限,不過我們能夠充分利用
25、網(wǎng)絡(luò)的優(yōu)勢去查閱資料。而且,畢業(yè)設(shè)計中涉及到的電路圖用了比較新的一款PROTEUS進(jìn)行設(shè)計和仿真,使我多掌握了一個得力的仿真工具。我在整個設(shè)計過程中懂得了許多東西,當(dāng)遇到一不了的問題,跟同伴一起商量、合作,或許能收到事半功倍的效果。不管學(xué)什么,一定要打好基礎(chǔ),并將其學(xué)好、學(xué)精,但空有知識也不一定就能說明什么,還得能為己所用;還有更重要的是培養(yǎng)了獨(dú)立思考和設(shè)計的能力,樹立了對知識應(yīng)用的信心,相信會對今后的學(xué)習(xí)工作和生活有非常大的幫助,并且提高了自己的動手實(shí)踐操作能力, 使自己充分體會到了在設(shè)計過程中的成功喜悅。雖然這個設(shè)計做的不是很完美,但是在設(shè)計過程中所學(xué)到的東西是這次課程設(shè)計的最大收獲和財富
26、,使我終身受益;最后,也是我感觸比較深的一點(diǎn),這次課程設(shè)計時為數(shù)不多的獨(dú)立完成的一次,雖然過程中遇到很多困難,讓自己犯愁過,彷徨過,急躁過,可當(dāng)自己很快調(diào)整好心態(tài),從跌倒的地方爬起來繼續(xù),最后取得成功,不止是成功后的喜悅,也是一次鍛煉!通過這次畢業(yè)設(shè)計,明白學(xué)習(xí)是一個長期積累的過程,在以后的工作和生活中都應(yīng)該不斷的學(xué)習(xí),努力提高自己的知識和綜合素質(zhì),并將理論與實(shí)際相結(jié)合,理論與實(shí)際同樣重要。在設(shè)計的過程中不可避免的遇到了許多困難。尤其是在最后的調(diào)試中,會因為某種原因而得不到滿意的結(jié)果,但最后還是解決了。最后在調(diào)試結(jié)果終于出來以后我更是無比興奮,無比自豪。在這里我要感謝幫助過我的老師和同學(xué)尤其是
27、我的畢業(yè)設(shè)計指導(dǎo)老師張毅寧老師,沒有你們也就沒有這份畢業(yè)設(shè)計和論文。對我而言,知識上的收獲重要,精神上的豐收更加可喜。我們每一個人永遠(yuǎn)不能滿足于現(xiàn)有的成就,人生就像在爬山,一座山峰的后面還有更高的山峰在等著你。挫折是一份財富,經(jīng)歷是一份擁有。這次課程設(shè)計必將成為我人生旅途上一個非常美好的回憶。在畢業(yè)設(shè)計中,我感受到了老師對學(xué)生的那種悔人不卷的精神,每天的固定時間,老師都來給我們指導(dǎo),使我們少走彎路,順利完成實(shí)習(xí)任務(wù),請允許我向你們致意崇高的敬意,感謝你們,老師! 參考文獻(xiàn)1 許立梓.微型計算機(jī)原理及應(yīng)用.北京:機(jī)械工業(yè)出版社,20022 劉樂善.微型計算機(jī)接口技術(shù)及應(yīng)用.武漢:華中理工大學(xué)出版
28、社,2000 3 鄒逢興.計算機(jī)硬件技術(shù)基礎(chǔ)試驗教程.北京:高等教育出版社,20004 周佩玲.16位微型計算機(jī)原理接口及其應(yīng)用.北京:中國科學(xué)技術(shù)大學(xué)出版社,2000 5 吳秀清.微型計算機(jī)原理與接口技術(shù).北京:中國科學(xué)技術(shù)出版社,20016 鄧亞平.微型計算機(jī)接口技術(shù).北京:清華大學(xué)出版社,20017 王迎旭.單片機(jī)原理及及應(yīng)用.北京:機(jī)械工業(yè)出版社,20018 周航慈.單片機(jī)應(yīng)用程序設(shè)計技術(shù).北京:北京航空航天大學(xué)出版社,20029 謝宜仁.單片機(jī)實(shí)用技術(shù)問答.北京:人民郵電出版社,2002致謝在這次畢業(yè)設(shè)計中,我在整個設(shè)計過程中懂得了許多東西,也培養(yǎng)了獨(dú)立思考和設(shè)計的能力,樹立了對知識
29、應(yīng)用的信心,相信會對今后的學(xué)習(xí)工作和生活有非常大的幫助,并且提高了自己的動手實(shí)踐操作能力, 使自己充分體會到了在設(shè)計過程中的成功喜悅。雖然這個設(shè)計做的不是很理想,但是在設(shè)計過程中所學(xué)到的東西是這次課程設(shè)計的最大收獲和財富,使我受益良多。短暫幾個月的畢業(yè)設(shè)計即將結(jié)束,在此,我首先感謝我的母校,在我們即將步入社會,走向工作崗位之際為我提供了這樣一個良好的學(xué)習(xí)知識與動手操作的機(jī)會,并為我提供了先進(jìn)實(shí)驗設(shè)備。通過本次畢業(yè)設(shè)計我受益匪淺,不僅使我學(xué)會了用單片機(jī)編寫程序的方法,而且對學(xué)過的相關(guān)知識得到了進(jìn)一步的鞏固和提高,通過閱讀相關(guān)專業(yè)書籍掌握了一些以前未了解的知識;同時也熟悉了很多的硬件設(shè)備,更重要的
30、是使我在學(xué)習(xí)和掌握這些知識的同時,能夠在思維上得到提高和升華,在分析問題和解決問題的能力上得到培養(yǎng)和提高。這次畢業(yè)設(shè)計使我完善了知識結(jié)構(gòu)、拓寬了知識面,開闊了眼界、提高了對各科知識綜合應(yīng)用的能力;同時也鍛煉和培養(yǎng)了我的基本素質(zhì),它使我更加耐心、謹(jǐn)慎、細(xì)致。在這次畢業(yè)設(shè)計期間,指導(dǎo)老師老師給予了我耐心的輔導(dǎo)和熱情的幫助。對于一些疑難問題老師更是很有耐心、不厭其煩的給予解答,并且在百忙之中對本論文進(jìn)行了仔細(xì)的審閱,提出了極為寶貴的修改意見和建議,保證了論文的質(zhì)量。使我在畢業(yè)之際為學(xué)校交上了一份滿意的答卷。在此對張毅寧老師表示衷心的感謝和崇高的敬意。附錄附錄A 程序清單#include#define
31、 LEDData P0unsigned char code LEDCode=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;unsigned char minit,second,count,count1; /分,秒,計數(shù)器sbit add1=P10;/甲對加分,每按一次加1分 /在未開始比賽時為加時間分sbit dec1=P11;/甲對減分,每按一次減1分/在未開始比賽時為減時間分sbit add2=P12;/乙對加分,每按一次加1分/在未開始比賽時為加時間秒sbit dec2=P13;/乙對減分,每按一次減1分/在未開始
32、比賽時為減時間秒sbit secondpoint=P07;/秒閃動點(diǎn)/-依次點(diǎn)亮數(shù)碼管的位-sbit led1=P27;sbit led2=P26;sbit led3=P25;sbit led4=P24;sbit led5=P23;sbit led6=P22;sbit led7=P21;sbit led8=P20;sbit led9=P37;sbit led10=P36;sbit led11=P35;sbit alam=P17;/報警bit playon=0;/比賽進(jìn)行標(biāo)志位,為1時表示比賽開始,計時開啟bit timeover=0;/比賽結(jié)束標(biāo)志位,為1時表示時間已經(jīng)完bit AorB=0;
33、/甲乙對交換位置標(biāo)志位bit halfsecond=0;/半秒標(biāo)志位unsigned int scoreA;/甲隊得分unsigned int scoreB;/乙隊得分void Delay5ms(void)unsigned int i;for(i=100;i0;i-);void display(void)/-顯示時間分-LEDData=LEDCodeminit/10;led1=0;Delay5ms();led1=1;LEDData=LEDCodeminit%10;led2=0;Delay5ms();led2=1;/-秒點(diǎn)閃動-if(halfsecond=1)LEDData=0 x80;else
34、LEDData=0 x00;led2=0;Delay5ms();led2=1;secondpoint=0;/-顯示時間秒-LEDData=LEDCodesecond/10;led3=0;Delay5ms();led3=1;LEDData=LEDCodesecond%10;led4=0;Delay5ms();led4=1;/-顯示1組的分?jǐn)?shù)百位-if(AorB=0)LEDData=LEDCodescoreA/100;elseLEDData=LEDCodescoreB/100;led5=0;Delay5ms();led5=1;/-顯示1組分?jǐn)?shù)的十位-if(AorB=0)LEDData=LEDCod
35、e(scoreA%100)/10;elseLEDData=LEDCode(scoreB%100)/10;led6=0;Delay5ms();led6=1;/-顯示1組分?jǐn)?shù)的個位-if(AorB=0)LEDData=LEDCodescoreA%10;elseLEDData=LEDCodescoreB%10;led7=0;Delay5ms();led7=1;/-顯示2組分?jǐn)?shù)的百位-if(AorB=1)LEDData=LEDCodescoreA/100;elseLEDData=LEDCodescoreB/100;led8=0;Delay5ms();led8=1;/-顯示2組分?jǐn)?shù)的十位-if(AorB
36、=1)LEDData=LEDCode(scoreA%100)/10;elseLEDData=LEDCode(scoreB%100)/10;led9=0;Delay5ms();led9=1;/-顯示2組分?jǐn)?shù)的個位-if(AorB=1)LEDData=LEDCodescoreA%10;elseLEDData=LEDCodescoreB%10;led10=0;Delay5ms();led10=1;/=按鍵檢測程序=void keyscan(void)if(playon=0)if(add1=0)display();if(add1=0);if(minit0)minit-;elseminit=0;dodi
37、splay();while(dec1=0);if(add2=0)display();if(add2=0);if(second0)second-;elsesecond=0;dodisplay();while(dec2=0);elseif(add1=0)display();if(add1=0);if(AorB=0)if(scoreA999)scoreA+;elsescoreA=999;elseif(scoreB0)scoreA-;elsescoreA=0;elseif(scoreB0)scoreB-;elsescoreB=0;dodisplay();while(dec1=0);if(add2=0)
38、display();if(add2=0);if(AorB=1)if(scoreA999)scoreA+;elsescoreA=999;elseif(scoreB0)scoreA-;elsescoreA=0;elseif(scoreB0)scoreB-;elsescoreB=0;dodisplay();while(dec2=0);/*主函數(shù)*void main(void)TMOD=0 x11; TL0=0 xb0; TH0=0 x3c; TL1=0 xb0; TH1=0 x3c;minit=15;/初始值為15:00second=0; EA=1;ET0=1;ET1=1; TR0=0;TR1=0;
39、EX0=1;IT0=1;IT1=1;EX1=1;PX0=1;PX1=1;PT0=0;P1=0 xFF;P3=0 xFF; while(1) keyscan();display(); void PxInt0(void) interrupt 0Delay5ms();EX0=0;alam=1;TR1=0;if(timeover=1)timeover=0;if(playon=0)playon=1;/開始標(biāo)志位TR0=1;/開啟計時elseplayon=0;/開始標(biāo)志位清零,表示暫停TR0=0;/暫時計時EX0=1;/開中斷void PxInt1(void) interrupt 2Delay5ms();
40、EX1=0;/關(guān)中斷if(timeover=1)/比賽結(jié)束標(biāo)志,必須一節(jié)結(jié)束后才可以交換,中途不能交換場地TR1=0;/關(guān)閉T1計數(shù)器alam=1;/關(guān)報警 AorB=AorB;/開啟交換minit=15;/并將時間預(yù)設(shè)為15:00second=0;EX1=1;/開中斷/*中斷服務(wù)函數(shù)*void time0_int(void) interrupt 1 TL0=0 xb0; TH0=0 x3c; TR0=1; count+;if(count=10)halfsecond=0; if(count=20) count=0;halfsecond=1; if(second=0) if(minit0)sec
41、ond=59;minit-;elsetimeover=1;playon=0;TR0=0;TR1=1;elsesecond-; /*中斷服務(wù)函數(shù)*void time1_int(void) interrupt 3TL1=0 xb0; TH1=0 x3c; TR1=1; count1+;if(count1=10)alam=0; if(count1=20) count1=0;alam=1;附錄B 總電路原理圖圖9-1 總電路原理圖第 33 頁 共32頁二一二 屆學(xué)生畢業(yè)論文(設(shè)計) 題目籃球比賽計時與計分系統(tǒng)設(shè)計院 系 物理科學(xué)與技術(shù)學(xué)院專 業(yè) 電子科學(xué)與技術(shù)班 級 2008級5班姓 名 孫德財指導(dǎo)教師 張毅寧
- 溫馨提示:
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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 植樹問題講課
- 小小圖書館賈世喜
- 小班數(shù)學(xué):變得一樣多
- 蘇教版三年級數(shù)學(xué)上冊教學(xué)ppt課件58:解決問題的策略復(fù)習(xí)
- 小學(xué)科學(xué)六下《拓展與應(yīng)用》-公開課一等獎ppt課件
- 高中英語人教版選修七Unit-2-Robots-ppt課件
- 第九章長期負(fù)債課件
- 皮膚免疫系統(tǒng)課件
- 辦公樓施工現(xiàn)場消防安全管理要求規(guī)范課件
- freeroi在功能磁共振roi分析中的應(yīng)用
- 《永遇樂·京口北固亭懷古》用典講解課件
- 《秋天的雨》微課課件
- 護(hù)患溝通技巧-課件
- 《高等數(shù)學(xué)B》第十章___微分方程與差分方程__第6節(jié)__差分與差分方程的概念_、……課件
- 英語(人教版)九年級總復(fù)習(xí)題型訓(xùn)練補(bǔ)全對話(含最新原創(chuàng)題)課件