籃球計(jì)時(shí)計(jì)分器的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文(設(shè)計(jì))_第1頁(yè)
籃球計(jì)時(shí)計(jì)分器的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文(設(shè)計(jì))_第2頁(yè)
籃球計(jì)時(shí)計(jì)分器的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文(設(shè)計(jì))_第3頁(yè)
籃球計(jì)時(shí)計(jì)分器的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文(設(shè)計(jì))_第4頁(yè)
籃球計(jì)時(shí)計(jì)分器的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文(設(shè)計(jì))_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、本科生畢業(yè)論文(設(shè)計(jì)) 題目(中文): 籃球計(jì)時(shí)計(jì)分器的設(shè)計(jì)與實(shí)現(xiàn) (英文): the design and implementation of basketball timing and scoring 本科畢業(yè)論文(設(shè)計(jì))誠(chéng)信聲明作者鄭重聲明:所呈交的本科畢業(yè)論文(設(shè)計(jì)),是在指導(dǎo)老師的指導(dǎo)下,獨(dú)立進(jìn)行研究所取得的成果,成果不存在知識(shí)產(chǎn)權(quán)爭(zhēng)議。除文中已經(jīng)注明引用的內(nèi)容外,論文不含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫(xiě)過(guò)的成果。對(duì)論文的研究做出重要貢獻(xiàn)的個(gè)人和集體均已在文中以明確的方式標(biāo)明。本聲明的法律結(jié)果由作者承擔(dān)。本科畢業(yè)論文(設(shè)計(jì))作者簽名: 年 月 日目 錄摘 要i關(guān)鍵詞iabstract

2、ikey wordsii1 前言12 系統(tǒng)設(shè)計(jì)基本要求與方案論證32.1 系統(tǒng)設(shè)計(jì)基本要求32.2 系統(tǒng)方案論證32.2.1 以單片機(jī)作為整個(gè)系統(tǒng)的核心32.2.2 采用模擬和數(shù)字混合電路來(lái)實(shí)現(xiàn)32.2.3 系統(tǒng)的總體方案43 系統(tǒng)的總體設(shè)計(jì)43.1 系統(tǒng)硬件設(shè)計(jì)53.1.1 時(shí)鐘以及復(fù)位電路53.1.2 鍵盤(pán)部分63.1.3 報(bào)警部分63.1.4 顯示部分73.2 系統(tǒng)軟件設(shè)計(jì)73.2.1 定時(shí)器子程序83.2.2 鍵盤(pán)掃描子程序113.2.3 顯示子程序133.2.4 蜂鳴器報(bào)警子程序144 系統(tǒng)測(cè)試與分析154.1 系統(tǒng)測(cè)試154.1.1 硬件測(cè)試154.1.2 功能測(cè)試154.2系統(tǒng)分

3、析165 小結(jié)16參考文獻(xiàn)17附錄a 電路圖19附錄b pcb雙面板19附錄c 實(shí)物圖20附錄d 完整程序代碼21 籃球計(jì)時(shí)計(jì)分器的設(shè)計(jì)與實(shí)現(xiàn) 摘 要本論文旨在設(shè)計(jì)一個(gè)籃球計(jì)時(shí)計(jì)分器,主要利用單片機(jī)at89c52作為系統(tǒng)的核心元件,二組四位一體共陰極數(shù)碼管作為顯示器件,獨(dú)立式按鍵控制整個(gè)系統(tǒng)。主要實(shí)現(xiàn)了倒計(jì)時(shí)、顯示a/b隊(duì)的分?jǐn)?shù)、并加分,減分,比賽結(jié)束鳴笛警示等功能。以c語(yǔ)言作為編程語(yǔ)言,在keil開(kāi)發(fā)軟件平臺(tái)上進(jìn)行c源代碼編寫(xiě)和調(diào)試。與傳統(tǒng)模擬與數(shù)字電路實(shí)現(xiàn)的籃球計(jì)時(shí)計(jì)分器相比,該系統(tǒng)包括很多優(yōu)點(diǎn),比如成本低廉、性能穩(wěn)定、高準(zhǔn)確度顯示、操作方便且易攜帶等,廣泛適合各類(lèi)學(xué)校和小團(tuán)體作為賽程計(jì)分

4、。關(guān)鍵詞 籃球計(jì)分器;at89c52;七段數(shù)碼管;獨(dú)立式鍵盤(pán)the design and implementation of basketball timing and scoringabstractthis paper aims to design a basketball timing score indicator ,mainly using single chip microcomputer at89c52, which is the core of the system components, and two groups of four common cathode integra

5、ted digital tube as a display device, and independent type buttons to control the whole system. mainly implements the countdown and a/b teams score, and can in a timely manner plus and minus points, adjust the score, the end of the game whistling warnings, and other functions. with c language as the

6、 programming language, in the keil software development platform for writing and debugging . the completion of the system design includes many advantages, such as low cost, stable performance, high accuracy display, easy to operate and easy to carry, etc. suitable for all kinds of school and small g

7、roups score as schedule. key words embedded; basketball scoring screen; at89c52; led;simulation1 前言 進(jìn)入21世紀(jì),伴隨著電子,信息通信技術(shù)的應(yīng)用與普及開(kāi)發(fā),人們對(duì)電子技術(shù)的要求也越來(lái)越高,目前嵌入式單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域。單片機(jī)是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù),把具有數(shù)據(jù)處理能力的中央處理器cpu、隨機(jī)存儲(chǔ)器ram、只讀存儲(chǔ)器rom、多種i/o口和中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能集成到一塊硅片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)1。而當(dāng)代單片機(jī)系統(tǒng)已經(jīng)不再只在裸機(jī)環(huán)境下開(kāi)發(fā)和使

8、用,大量專(zhuān)用的嵌入式操作系統(tǒng)被廣泛應(yīng)用在單片機(jī)上。按照歷史性、本質(zhì)性、普遍性要求,嵌入式系統(tǒng)應(yīng)定義為:“嵌入到對(duì)象體系中的專(zhuān)用計(jì)算機(jī)系統(tǒng)”,可分軟件部分和硬件部分2。所以,以mcu為核心,就是各種各樣的單片機(jī),是嵌入式硬件部分的實(shí)現(xiàn)方式之一,它主要是因?yàn)榘烟幚砥骱痛鎯?chǔ)器等部件集成在一塊芯片上3。在單片機(jī)的應(yīng)用正在不斷深入的同時(shí),傳統(tǒng)技術(shù)日益更新。幾乎很難找到哪個(gè)領(lǐng)域沒(méi)有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動(dòng)化過(guò)程的實(shí)時(shí)控制和數(shù)據(jù)處理,廣泛使用的各種智能ic卡,民用豪華轎車(chē)的安全保障系統(tǒng),錄象機(jī)、攝象機(jī)、全自動(dòng)洗衣機(jī)的控制,以及程控玩具、電子寵物

9、等等,這些都離不開(kāi)單片機(jī)。更不用說(shuō)自動(dòng)控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械了。隨著單片機(jī)的發(fā)展,人們對(duì)事物的要求越來(lái)越高,單片機(jī)的應(yīng)用軟件技術(shù)也發(fā)生了巨大的變化,從最初的匯編語(yǔ)言,開(kāi)始演變到c語(yǔ)言開(kāi)發(fā),不但增加了語(yǔ)言的可讀性,結(jié)構(gòu)性,而且對(duì)于跨平臺(tái)的移植也提供了方便,另外一些復(fù)雜的系統(tǒng)開(kāi)始在單片機(jī)上采用操作系統(tǒng),一些小的rtos等,一方面加速了開(kāi)發(fā)人員的開(kāi)發(fā)速度,節(jié)約開(kāi)發(fā)成本,另外也為更復(fù)雜的實(shí)現(xiàn)提供了可能。當(dāng)前比較流行的rtos有:wince,uclinux,linux,uc/os等等4。 單片機(jī)往往作為一個(gè)核心部件來(lái)使用,僅單片計(jì)時(shí)計(jì)分機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu)軟硬件結(jié)合,加

10、以完善。單片機(jī)把我們帶入了智能化的電子領(lǐng)域,許多繁瑣的系統(tǒng)若由單片機(jī)進(jìn)行設(shè)計(jì),便能收到電路更簡(jiǎn)單、功能更齊全的良好效果5。若把經(jīng)典的電子系統(tǒng)當(dāng)作一個(gè)僵死的電子系統(tǒng),那么智能化的現(xiàn)代電子系統(tǒng)則是一個(gè)具有“生命”的電子系統(tǒng)。隨著各式各樣的電子產(chǎn)品的問(wèn)世和發(fā)展層出不窮,籃球計(jì)分屏是一個(gè)無(wú)處不在的電子產(chǎn)品,經(jīng)過(guò)多年的發(fā)展,技術(shù)已經(jīng)相當(dāng)成熟了。根據(jù)目前高水平籃球比賽要求,完善的籃球比賽計(jì)時(shí)系統(tǒng)設(shè)備應(yīng)能夠與現(xiàn)場(chǎng)成績(jī)處理,現(xiàn)場(chǎng)大屏幕,電視轉(zhuǎn)播車(chē)等多種設(shè)備相聯(lián),以便實(shí)現(xiàn)高比賽現(xiàn)場(chǎng)感,表演娛樂(lè)觀眾等功能目標(biāo)。隨著電子技術(shù)的產(chǎn)業(yè)結(jié)構(gòu)調(diào)整,生產(chǎn)工藝的飛速發(fā)展和籃球的廣泛推廣,市場(chǎng)對(duì)籃球計(jì)分器的需求也越來(lái)越大。本設(shè)計(jì)

11、用at89c52單片機(jī)為核心,包括復(fù)位模塊,按鍵模塊7,顯示模塊8等。單片機(jī)控制的兩組數(shù)碼管中,一組是用來(lái)顯示賽事倒計(jì)時(shí)的時(shí)間,令一組來(lái)顯示兩球隊(duì)的比分情況6。另外在硬件完成后在keil軟件用c語(yǔ)言進(jìn)行編程,對(duì)單片機(jī)進(jìn)行程序的燒錄,最后測(cè)試功能的完成。具有計(jì)分準(zhǔn)確,體積小,重量輕,能耗低,價(jià)格便宜,可靠性高,抗干擾能力強(qiáng)和使用方便等獨(dú)特的優(yōu)點(diǎn)7。2 系統(tǒng)設(shè)計(jì)基本要求與方案論證2.1 系統(tǒng)設(shè)計(jì)基本要求 (1)記錄整個(gè)賽程的比賽時(shí)間,并修改比賽時(shí)間; (2)隨時(shí)刷新甲、乙兩隊(duì)在整個(gè)過(guò)程中的比分; (3)中場(chǎng)交換比賽場(chǎng)地時(shí),交換甲、乙兩隊(duì)比分; (4)比賽結(jié)束時(shí),發(fā)出報(bào)警聲。2.2 系統(tǒng)方案論證2.

12、2.1 以單片機(jī)作為整個(gè)系統(tǒng)的核心 采用單片機(jī)進(jìn)行設(shè)計(jì),能使許多繁瑣的系統(tǒng)電路更簡(jiǎn)單、功能更齊全的良好效果,這樣不但可以降低整個(gè)設(shè)計(jì)的復(fù)雜性和成本,而且也提高了整個(gè)系統(tǒng)的穩(wěn)定性。由于本系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,用51單片機(jī)就足夠?qū)崿F(xiàn)其功能而且主要用定時(shí)器,因此本系統(tǒng)采用51單片機(jī)來(lái)實(shí)現(xiàn)8。由于本設(shè)計(jì)需要亮度比較的大的顯示因此以七段數(shù)碼管作為顯示器件,為了節(jié)約i/o口采用動(dòng)態(tài)掃描的方式。本系統(tǒng)需要人機(jī)互動(dòng),因此需要鍵盤(pán)。在選擇鍵盤(pán)時(shí)由于單片機(jī)的i/o充足,在設(shè)計(jì)時(shí)為了方便選用獨(dú)立式鍵盤(pán)。在設(shè)計(jì)報(bào)警部分,由于只要簡(jiǎn)單的發(fā)聲器件因此蜂鳴器就足以夠本系統(tǒng)的使用。2.2.2 采用模擬和數(shù)字混合電路來(lái)實(shí)現(xiàn) 采用擬和數(shù)

13、字混合電路,例如門(mén)電路、觸發(fā)器、555定時(shí)器、集成運(yùn)算法器等元器件也可以完成此系統(tǒng)的設(shè)計(jì)。但是其實(shí)現(xiàn)的硬件電路也會(huì)相當(dāng)?shù)膹?fù)雜,尤其對(duì)于缺乏硬件電路實(shí)踐經(jīng)驗(yàn)的開(kāi)發(fā)人員來(lái)說(shuō),其實(shí)現(xiàn)起來(lái)是相當(dāng)困難的。在設(shè)計(jì)時(shí)顯示部分可以使用液晶模塊或者七段數(shù)碼管但其硬件實(shí)現(xiàn)都比較復(fù)雜。鍵盤(pán)部分用編碼鍵盤(pán)可以簡(jiǎn)單一些,但其價(jià)格比較昂貴。但同時(shí)使用其他的鍵盤(pán)如獨(dú)立式鍵盤(pán)、矩陣式鍵盤(pán),但會(huì)增加硬件的復(fù)雜性。報(bào)警部分的設(shè)計(jì)相對(duì)來(lái)說(shuō)還是比較容易實(shí)現(xiàn)。2.2.3 系統(tǒng)的總體方案通過(guò)對(duì)方案一與方案二比較容易看出:方案一更適合我們的實(shí)際要求,而且可以縮短我們的開(kāi)發(fā)周期并且使系統(tǒng)變得簡(jiǎn)單、易于實(shí)現(xiàn)。利用at89c52單片機(jī)為核心,包

14、括復(fù)位模塊,按鍵模塊,顯示模塊等。單片機(jī)控制的兩組四位一體的數(shù)碼管中,一組是用來(lái)顯示賽事倒計(jì)時(shí)的時(shí)間,例如0099分的顯示,同時(shí)根據(jù)不同的比賽可以設(shè)置不同的倒計(jì)時(shí)時(shí)間,另一組來(lái)顯示甲乙兩球隊(duì)的比分情況,通過(guò)按鍵根據(jù)比賽的實(shí)時(shí)情況進(jìn)行加分減分。即通過(guò)按鍵控制倒計(jì)時(shí)的設(shè)計(jì)及甲乙兩隊(duì)的比分情況9。3 系統(tǒng)的總體設(shè)計(jì)該系統(tǒng)硬件電路包括:單片機(jī)at89c52、時(shí)鐘電路、復(fù)位電路、電源電路、按鍵控制電路、計(jì)分電路、計(jì)時(shí)電路、報(bào)警電路。本設(shè)計(jì)是采用單片機(jī)at89c52作為本設(shè)計(jì)的核心元件。利用7段共陰led作為顯示器件。在此設(shè)計(jì)中共接入了2組四位一體的數(shù)碼管,其中1組用于記錄ab隊(duì)的分?jǐn)?shù),每隊(duì)2個(gè)led顯示

15、器顯示范圍可達(dá)到0-99分,足夠滿足賽程需要,另外一組led顯示器則用來(lái)記錄賽程時(shí)間,其中2個(gè)用于顯示分鐘,2個(gè)用于顯示秒鐘。其次,為了配合計(jì)時(shí)器和計(jì)分器校正調(diào)整時(shí)間和比分,我特定在本計(jì)中設(shè)立了11個(gè)按鍵,其中8個(gè)用于比賽分?jǐn)?shù)設(shè)置與調(diào)整,當(dāng)比賽隊(duì)a隊(duì)得1分時(shí),按下a+1鍵;得2分時(shí),按下a+2鍵;得3分時(shí),按下a+3鍵;當(dāng)加分出現(xiàn)錯(cuò)誤時(shí),可以按a-1鍵減1分,可以達(dá)到調(diào)整分?jǐn)?shù)的作用;依照同樣的方法可以記錄b隊(duì)的得分。3.1 系統(tǒng)硬件設(shè)計(jì)整個(gè)硬件系統(tǒng)主要包括單片機(jī)電路,電源電路,復(fù)位電路,數(shù)碼管顯示電路,報(bào)警電路,鍵盤(pán)電路組成。單片機(jī)主要是利用at89c52,復(fù)位電路是利用12m的晶振產(chǎn)生時(shí)鐘頻

16、率,在鍵盤(pán)部分是通過(guò)單片機(jī)檢測(cè)i/o口電平的變化來(lái)判斷哪個(gè)按鍵有按下。其硬件系統(tǒng)框圖如圖3.1所示。at89c52按鍵控制電路晶振及復(fù)位電路電源輸入電路數(shù)碼管顯示電路報(bào)警電路運(yùn)行指示電路 圖3.1 籃球賽計(jì)分器的硬件結(jié)構(gòu)框圖3.1.1 時(shí)鐘以及復(fù)位電路 時(shí)鐘電路:為整個(gè)系統(tǒng)的工作提供一個(gè)基準(zhǔn)時(shí)鐘,本設(shè)計(jì)使用12mhz的晶振作為時(shí)鐘源。電容c1,c2的作用是引起時(shí)鐘的起振。 復(fù)位電路:采用上電復(fù)位,復(fù)位使單片機(jī)重新執(zhí)行程序,恢復(fù)寄存器的默認(rèn)值10。其原理圖如下: 圖3.2 時(shí)鐘及復(fù)位電路3.1.2 鍵盤(pán)部分 鍵盤(pán)電路如圖3.3所示,主要用于調(diào)節(jié)人機(jī)接口關(guān)系,實(shí)現(xiàn)對(duì)參數(shù)。 單片機(jī)通過(guò)檢測(cè)i/o口電

17、平的變化來(lái)判斷哪個(gè)按鍵有按下,當(dāng)沒(méi)有按鍵按下時(shí),i/o被上拉為高電平,有按鍵按下時(shí)被強(qiáng)制拉為低電平。 圖3.3 鍵盤(pán)電路3.1.3 報(bào)警部分報(bào)警電路如下圖3.4,通過(guò)報(bào)警電路給人們以警告信息。由于單片機(jī)的i/o口驅(qū)動(dòng)能力有限,在這里用了一個(gè)pnp的晶體管起電流放大作用驅(qū)動(dòng)蜂鳴器工作。電阻限流作用,防止晶體管因電流而發(fā)熱燒壞。圖3.4 報(bào)警電路3.1.4 顯示部分顯示部分采用數(shù)碼管的動(dòng)態(tài)掃描方式,數(shù)碼管采用共陰極的。p0發(fā)送段碼,p2發(fā)送位碼來(lái)控制數(shù)碼管的選通。使每個(gè)數(shù)碼管輪回點(diǎn)亮,由于人的視覺(jué)停留效應(yīng)在適當(dāng)?shù)臅r(shí)間人們會(huì)認(rèn)為所有的數(shù)碼管是點(diǎn)亮的。計(jì)分部分:各使用兩個(gè)數(shù)碼管來(lái)計(jì)量?jī)申?duì)的分?jǐn)?shù),分?jǐn)?shù)變

18、化的控制通過(guò)按鍵來(lái)控制。計(jì)數(shù)范圍為00-99。定時(shí)部分:各使用兩個(gè)數(shù)碼管來(lái)計(jì)量比賽時(shí)間,并采用倒計(jì)時(shí)的計(jì)數(shù)方式。其原理圖如圖3.5所示:圖3.5 顯示部分3.2 系統(tǒng)軟件設(shè)計(jì)軟件部分要求實(shí)現(xiàn)的功能有:開(kāi)始時(shí)所有顯示屏都顯示0;有預(yù)置比賽時(shí)間的功能;具有ab兩隊(duì)分別計(jì)分的功能;有鳴笛警示功能;只有當(dāng)預(yù)置時(shí)間后,并按開(kāi)始按鈕,計(jì)時(shí)器才能開(kāi)始倒計(jì)時(shí),只有當(dāng)開(kāi)始計(jì)時(shí)后,ab兩隊(duì)才能進(jìn)行加一分、加二分,減一分;當(dāng)比賽暫停時(shí),計(jì)時(shí)顯示屏停止倒計(jì)時(shí);當(dāng)交換比賽場(chǎng)地時(shí),按交換鍵,甲乙兩隊(duì)的比分交換;當(dāng)?shù)褂?jì)時(shí)時(shí)間為零時(shí),蜂鳴器自動(dòng)鳴笛報(bào)警。3.2.1 定時(shí)器子程序51單片機(jī)內(nèi)部有兩個(gè)16位可編程的定時(shí)器/計(jì)數(shù)器

19、,分別稱(chēng)為定時(shí)器/計(jì)數(shù)器0和定時(shí)器/計(jì)數(shù)器1,它們具有四種工作方式,其控制字和狀態(tài)均在相應(yīng)的特殊功能寄存器中,通過(guò)對(duì)控制寄存器的編程,就可方便地選擇適當(dāng)?shù)墓ぷ鞣绞?。定時(shí)/計(jì)數(shù)器的核心是的16位加法計(jì)數(shù)器,定時(shí)器t0的加法計(jì)數(shù)器用特殊功能寄存器th0、tl0表示,th0表示加法計(jì)數(shù)器的高8位,tl0表示加法計(jì)數(shù)器的低8位。th1和tl1則分別表示定時(shí)/計(jì)數(shù)器t1的高8位和低8位。它們均是8位寄存器,在特殊功能寄存器中占地址8ah-8dh。它們用于存放定時(shí)或計(jì)數(shù)的初始值。此外,內(nèi)部還有一個(gè)8位的工作方式寄存器tmod和一個(gè)8位的控制寄存器tcon,用于選擇和控制定時(shí)/計(jì)數(shù)器的工作。這些寄存器可根據(jù)

20、需要由程序讀寫(xiě)。當(dāng)然16位加法計(jì)數(shù)器的輸入端每輸入一個(gè)脈沖,16位加法計(jì)數(shù)器的值自動(dòng)加1,當(dāng)計(jì)數(shù)器的計(jì)數(shù)值超過(guò)加法計(jì)數(shù)器字長(zhǎng)所能表示的二進(jìn)制數(shù)的范圍而向第17位進(jìn)位,即計(jì)數(shù)溢出時(shí),置位定時(shí)中斷請(qǐng)求標(biāo)志,向cpu申請(qǐng)中斷。(1) tmod用于控制t0和t1的工作方式,其格式如表3.1所示:表3.1 方式控制寄存器tmod位d7d6d5d4d3d2d1d0位符號(hào)gatec/tm1m0gatec/tm1m0門(mén)控開(kāi)關(guān)計(jì)數(shù)/定時(shí)方式選擇門(mén)控開(kāi)關(guān)計(jì)數(shù)/定時(shí)方式選擇t1方式字段t0方式字段 m1,mo:工作方式控制位,可構(gòu)成表3.2所示四種工作方式:表3.2 方式控制寄存器tmod的工作方式m1m0工作方式

21、說(shuō)明00013位定時(shí)器;01116位計(jì)數(shù)器;102可自動(dòng)再裝載的8位計(jì)數(shù)器;113t0分成兩個(gè)獨(dú)立的8位計(jì)數(shù)器c/t: 計(jì)數(shù)工作方式/定時(shí)工作方式選擇位。置0時(shí),設(shè)置為定時(shí)工作方式;置1時(shí),設(shè)置為計(jì)數(shù)工作方式。gate:門(mén)控位,用以決定是由軟件還是硬件啟動(dòng)/停止計(jì)數(shù)。gate=0, int0/int1被封鎖,只要用軟件對(duì)tr0(或tr1)置“1”就啟動(dòng)了定時(shí)器;gata=1時(shí),定時(shí)器/計(jì)數(shù)器的計(jì)數(shù)受外部引腳輸入電平的控制。tmod的所有位在復(fù)位后清0。tmod不能位尋址,只能按字節(jié)操作設(shè)置工作方式。(2) 定時(shí)/計(jì)數(shù)控制寄存器tcontfl,trl,tf0和tr0位用于定時(shí)器計(jì)數(shù)器;iel,i

22、tl,ie0和it0位用于中斷系統(tǒng)。其格式如表3.3所示:表3.3 控制寄存器tcon位d7d6d5d4d3d2d1d0位符號(hào)tf1tr1tf0tr0ie1it1ie0it0各位定義如下:tf0:定時(shí)器0溢出標(biāo)志。其功能及操作情況同tf1。tr0:定時(shí)器0運(yùn)行控制位。其功能及操作情況同tr1。在本系統(tǒng)的設(shè)計(jì)中主要使用定時(shí)器0的16位的定時(shí)模式,也就是工作模式1。程序設(shè)計(jì)的子框圖如圖3.6所示:圖3.6 程序設(shè)計(jì)c源程序代碼如下:void timer_inti(void) /定時(shí)器0初始化程序 tmod=0x01; /設(shè)置工作方式1 th0=(65536-50000)/256; /高位初始值 t

23、l0=(65536-50000)%256; /低位初始值 et0=1; /開(kāi)定時(shí)器0中斷 ea=1; /開(kāi)總中斷 tr0=1; /啟動(dòng)定時(shí)器0void timer_isr() interrupt 1 / 定時(shí)器0中斷服務(wù)程序 th0=(65536-50000)/256; / 重新賦初始值 tl0=(65536-50000)%256; / if(count+=20) /定時(shí)1s基準(zhǔn) sec+; /定時(shí)時(shí)間到,sec變量加1,count變量清零 count=0; 3.2.2 鍵盤(pán)掃描子程序 鍵盤(pán)采用獨(dú)立式鍵盤(pán),按鍵是一種機(jī)械彈性開(kāi)關(guān),當(dāng)鍵按下時(shí)閉合,松開(kāi)時(shí)斷開(kāi)。因?yàn)橛袡C(jī)械的接觸,在觸點(diǎn)閉合或斷開(kāi)的

24、瞬間會(huì)出現(xiàn)電壓抖動(dòng)。為了避免鍵輸入錯(cuò)誤,必須進(jìn)行鍵抖動(dòng)的處理。去抖動(dòng)由硬件和軟件兩種方法:硬件方法就是在鍵盤(pán)中附加去抖動(dòng)電路消除抖動(dòng),而軟件方法則是采用時(shí)間延遲以消除抖動(dòng)。其流程圖如圖3.7所示:圖3.7 鍵盤(pán)掃描部分流程圖子程序如下所示:void key_scan(void) /鍵盤(pán)掃描子函數(shù) if(key=0) /是否有按鍵按下 delay(10); /延時(shí)去抖 if(key=0) /再次檢測(cè)是否有按鍵按下 while(key=0); /等待按鍵釋放3.2.3 顯示子程序顯示部分采用共陰極的數(shù)碼管動(dòng)態(tài)掃描方式,子程序的設(shè)計(jì)框圖如圖3.8下所示: 圖3.8 顯示子程序的設(shè)計(jì)子程序代碼示例如下

25、:unsigned char code dsy_code=/段碼0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0x82,0xf8,0x80,0x90,0xff;unsigned char code bit_code=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; /位碼void display() /顯示子函數(shù) unsigned char i;while(1) for(i=0;i8;i+) p0=dsy_codei; /循環(huán)掃面p2= bit_code i;delayms(2); /延時(shí) 3.2.4 蜂鳴器報(bào)警子程序蜂鳴器采用一定頻率的

26、脈沖來(lái)驅(qū)動(dòng)其發(fā)聲,子程序框圖如圖3.9所示:圖3.9 蜂鳴器報(bào)警子程序流程圖程序代碼如下:void beep(unsigned char t) /蜂鳴器子函數(shù) uchar i; for(i=0;i100;i+) beep = beep; /高低電平取反delayms(t); /延時(shí)beep = 0; /關(guān)閉蜂鳴器4 系統(tǒng)測(cè)試與分析4.1 系統(tǒng)測(cè)試4.1.1 硬件測(cè)試 (1)經(jīng)過(guò)測(cè)量,電源電壓達(dá)到標(biāo)準(zhǔn)的5v; (2)用萬(wàn)用表測(cè)試,所有的電路都通了; (3)用示波器檢查晶振,看到示波器上顯示標(biāo)準(zhǔn)的正弦波。4.1.2 功能測(cè)試 (1)當(dāng)一節(jié)比賽完成時(shí),蜂鳴器沒(méi)有報(bào)警,后經(jīng)修改程序,達(dá)到了當(dāng)?shù)褂?jì)時(shí)為0

27、時(shí)方波驅(qū)動(dòng)蜂鳴器開(kāi)始報(bào)警,起到了提示的作用,完成了預(yù)期的目標(biāo)。 (2)通過(guò)按鍵,完成了甲乙兩隊(duì)的比分刷新與暫停的功能當(dāng)進(jìn)行賽事計(jì)分時(shí),a,b兩隊(duì)可以分別加一分,加兩分,進(jìn)行加分,當(dāng)需要扣分時(shí),按減分鍵進(jìn)行減分,并當(dāng)交換場(chǎng)地時(shí),能交換a,b兩隊(duì)的比分。較好的完成了既定的加分減分功能。4.2 系統(tǒng)分析通過(guò)硬件測(cè)試和軟件調(diào)試,本設(shè)計(jì)較好的完成了應(yīng)有的指標(biāo)和任務(wù)。實(shí)現(xiàn)了單片機(jī)為核心主控外圍電路的想法,各個(gè)電路模塊在程序的控制下,基本實(shí)現(xiàn)了應(yīng)有的功能。5 小結(jié)本次設(shè)計(jì)采用了較少的元件,通過(guò)巧妙的電路設(shè)計(jì),充分利用硬件資源,以較低的成本實(shí)現(xiàn)籃球計(jì)分器的計(jì)時(shí)和顯示a/b隊(duì)的分?jǐn)?shù),并能及時(shí)進(jìn)行加分,減分,鳴笛

28、警示等功能。并且具有成本低廉、性能穩(wěn)定、高準(zhǔn)確度顯示、操作方便且易攜帶等特點(diǎn)。廣泛適合各類(lèi)學(xué)校和小團(tuán)體作為賽程計(jì)分。通過(guò)此次的畢業(yè)設(shè)計(jì),提高了對(duì)本專(zhuān)業(yè)各個(gè)學(xué)科綜合知識(shí)的實(shí)際運(yùn)用能力,提高了自己實(shí)際動(dòng)手能力,掌握了整個(gè)硬件開(kāi)發(fā)流程和步驟以及調(diào)試方法,同時(shí)也提高了自身對(duì)產(chǎn)品開(kāi)發(fā)的嚴(yán)謹(jǐn)性、系統(tǒng)性、科學(xué)性。通過(guò)理論與實(shí)際的相結(jié)合,進(jìn)一步深入的體會(huì)到一種學(xué)習(xí)的方法,特別是對(duì)電子設(shè)計(jì)方面。首先,要明確總體的設(shè)計(jì)方案與方法;其次,對(duì)各個(gè)部分進(jìn)行設(shè)計(jì)與改進(jìn);最后,將各個(gè)部分整合到一起進(jìn)行比較、觀察。由于時(shí)間的限制,籃球積分器總的系統(tǒng)還存在一些不足之處,需要進(jìn)一步完善,例如數(shù)碼管的驅(qū)動(dòng)問(wèn)題,當(dāng)時(shí)就是沒(méi)有仔細(xì)考慮

29、數(shù)碼管的亮度問(wèn)題,節(jié)省原件,就直接用單片機(jī)控制了。其它的也可以進(jìn)行功能擴(kuò)展。參考文獻(xiàn)1 郭天祥主編. 新概念51單片機(jī)c語(yǔ)言教程m.電子工業(yè)出版社,2009.1 :2-152 高吉祥主編. 數(shù)字電子技術(shù)m .電子工業(yè)出版社,2009.7 :25-323 張旭主編. 數(shù)碼管動(dòng)態(tài)掃描數(shù)據(jù)顯示j .伊春職業(yè)學(xué)院機(jī)電工程系,2012.9 :45-534 高吉祥主編.模擬電子電路m .電子工業(yè)出版社,2009.7:34-40 5 郭玉霞主編.mcs-51單片機(jī)原理與應(yīng)用 m.北京航空航天大學(xué)出版社,2010.1:56-786 張義和主編.例說(shuō)51單片機(jī)(c語(yǔ)言版)m.電子工業(yè)出版社,2008.4:110

30、-1327 趙建領(lǐng)主編.51單片機(jī)開(kāi)發(fā)與應(yīng)用技術(shù)詳解m.電子工業(yè)出版社,2009:1072898 劉娟主編.單片機(jī)c語(yǔ)言與protues仿真技能實(shí)訓(xùn)m.中國(guó)電力出版社,2010.8:78-1059 周潤(rùn)景主編. protues入門(mén)實(shí)用教程m.機(jī)械工業(yè)出版社,2007.9:140-17310 譚浩強(qiáng)主編. c程序設(shè)計(jì)(第三版)m.清華大學(xué)出版社, 2010.8:170-256致 謝附錄a 原理圖. 圖a 原理圖附錄b pcb雙面板圖b1 底層pcb圖b2 頂層pcb附錄c 實(shí)物圖圖c 實(shí)物圖附錄d 完整程序代碼#include #define uchar unsigned char#define

31、 uint unsigned intvoid delay(uchar x); /延時(shí)(時(shí)間較短)void delay1(uchar x); /延時(shí)(時(shí)間較長(zhǎng))void js_jf_scan(void); /數(shù)碼管動(dòng)態(tài)掃描顯示函數(shù)void key_if(void); /a、b兩隊(duì)分值處理函數(shù)void js_50ms(void); /定時(shí)50ms中斷函數(shù)void key_y(void); /預(yù)置時(shí)間函數(shù)void ptime(uchar); /時(shí)間處理函數(shù)void sound(void); /鳴笛警示函數(shù)sbit cl1=p20; /b隊(duì)4位計(jì)分?jǐn)?shù)碼管位控線sbit cl2=p21;sbit cl3

32、=p22;sbit cl4=p23;sbit kl1=p24; / a隊(duì)4位計(jì)分?jǐn)?shù)碼管位控線sbit kl2=p25;sbit kl3=p26;sbit kl4=p27;sbit s1=p13; /驅(qū)動(dòng)4位計(jì)時(shí)數(shù)碼管位控線sbit s2=p12;sbit s3=p11;sbit s4=p10;sbit yk1=p16; /預(yù)置分鐘的十位sbit yk2=p17; /預(yù)置分鐘的個(gè)位sbit music=p14; /p1.4接喇叭,發(fā)聲,鳴笛sbit key1=p30; /b隊(duì)加分鍵sbit key2=p31; /b隊(duì)減分鍵sbit key3=p34; /a隊(duì)加分鍵sbit key4=p35; /

33、a隊(duì)減分鍵sbit int_key=p3.2; /鳴笛鍵sbit star=p36; /開(kāi)始按鈕sbit puse=p37; /停止按鈕 int ms=0,mg=0,fs=0; /秒鐘的十位、個(gè)位以及秒鐘的變量說(shuō)明int fg=0;m=0,f,fy,num=0; /分鐘的十位、個(gè)位以及分鐘的變量說(shuō)明int g,s,b,q,sum=0; /b隊(duì)定義個(gè)十百位int g1,s1,b1,q1,sum1=0; / a隊(duì)定義個(gè)十百位int led_num=0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x00,; /段碼void main(void)t

34、mod=0x01; /設(shè)置t0為工作方式1,作為16位計(jì)數(shù)器th0=(65535-50000)/256; /設(shè)置t0的高8位,并且t0的計(jì)數(shù)值為50mstl0=(65535-50000)%256; /設(shè)置t0的低8位music=0; /初值喇叭不響ea=1; /開(kāi)放所有中斷et0=1; /允許定時(shí)/計(jì)數(shù)器t0溢出中斷ex0=1; /允許外部中斷0it0=1; /設(shè)置外部中斷0為邊沿觸發(fā)方式(下降沿)while(1) /無(wú)窮循環(huán),程序一直運(yùn)行key_y(); /預(yù)置場(chǎng)次比賽時(shí)間if(star=0&f!=0&puse!=0) /按下“開(kāi)始鍵”,設(shè)置好比賽時(shí)間,并且未按“停止”鍵時(shí),比賽正式開(kāi)始tr

35、0=1; /啟動(dòng)定時(shí)器t0,開(kāi)始計(jì)時(shí)key_if(); /開(kāi)始計(jì)分 elsetr0=0; /比賽還未開(kāi)始或比賽結(jié)束時(shí)間到,停止計(jì)時(shí)js_jf_scan(); /將相應(yīng)的分?jǐn)?shù)、時(shí)間同步進(jìn)行顯示/*設(shè)置場(chǎng)次比賽時(shí)間*/void key_y(void)if(yk1=0) /初始狀態(tài),分鐘的十位為0delay(1); /延時(shí)去抖動(dòng)fs=fs+1; /分十位加1分fy=fs*10+fg; /求出預(yù)置時(shí)間的分鐘值f=fy; /中間變量if(yk2=0) /初始狀態(tài),分鐘的個(gè)位為0delay(1); /延時(shí)去抖動(dòng)fg=fg+1; /分個(gè)位加1分fy=fs*10+fg; /求出預(yù)置時(shí)間的分鐘值f=fy; /中間變量js_jf_scan();/*t0中斷服務(wù)函數(shù),每隔50ms產(chǎn)生一次中斷*/void js_50ms(void)interrupt 1 using 1 /定時(shí)器t0中斷,用工作寄存器組1 th0=(65535-50000)/256; /定時(shí)器t0的高8位tl0=(65535-50000)%256; /定時(shí)器t0的低8位num+; /每50m

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論