籃球比賽24s計(jì)時(shí)器課程設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩18頁(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、<p><b>  目 錄</b></p><p><b>  摘 要</b></p><p>  1 籃球計(jì)時(shí)器概述</p><p>  1.1 籃球競(jìng)賽24秒計(jì)時(shí)器功能</p><p>  1.2 主要參考器件</p><p>  1.3 單片機(jī)

2、的概述</p><p>  1.3.1 AT89C51單片機(jī)簡(jiǎn)介</p><p>  1.3.2 AT89C51單片機(jī)引腳功能簡(jiǎn)介</p><p><b>  2 硬件設(shè)計(jì)</b></p><p><b>  2.1 設(shè)計(jì)原理</b></p><p>  2.2 硬

3、件設(shè)計(jì)流程圖</p><p>  2.2.1 功能單元模塊</p><p>  2.3 硬件設(shè)計(jì)電路圖</p><p><b>  3 軟件設(shè)計(jì)</b></p><p>  3.1 程序流程圖</p><p><b>  3.2 程序設(shè)計(jì)</b></p>

4、;<p>  3.3 仿真及仿真結(jié)果</p><p><b>  4 課程設(shè)計(jì)體會(huì)</b></p><p><b>  參考文獻(xiàn)</b></p><p><b>  摘 要</b></p><p><b>  課程設(shè)計(jì)目的</b>&

5、lt;/p><p>  課程設(shè)計(jì)是在校學(xué)生素質(zhì)教育的重要環(huán)節(jié),是理論與實(shí)踐相結(jié)合的橋梁和紐帶。單片機(jī)課程設(shè)計(jì),要求學(xué)生更多的完成軟硬結(jié)合的動(dòng)手實(shí)踐方案,解決目前學(xué)生課程設(shè)計(jì)過(guò)程中普遍存在的缺乏動(dòng)手能力的現(xiàn)象 。《單片機(jī)課程設(shè)計(jì)》是繼《電子技術(shù)》、《電路》和《單片機(jī)原理與應(yīng)用》課程之后開出的實(shí)踐環(huán)節(jié)課程,其目的和任務(wù)是訓(xùn)練學(xué)生綜合運(yùn)用已學(xué)課程“電子技術(shù)基礎(chǔ)”、“單片機(jī)原理及應(yīng)用”的基本知識(shí),獨(dú)立進(jìn)行單片機(jī)應(yīng)用技術(shù)和開發(fā)

6、工作,掌握單片機(jī)程序設(shè)計(jì)、調(diào)試和應(yīng)用電路設(shè)計(jì)、分析及調(diào)試檢測(cè)。</p><p>  籃球比賽中除了有總時(shí)間倒計(jì)時(shí)外,為了加快比賽的節(jié)奏,新的規(guī)則還要求進(jìn)攻方在24秒內(nèi)有一次投籃動(dòng)作,否則視為違例。以下為一個(gè)籃球比賽計(jì)時(shí)器,該計(jì)時(shí)器采用按鍵操作、LED顯示,非常實(shí)用。此計(jì)時(shí)器也可作為其他球類比賽的計(jì)時(shí)器。</p><p>  本課程設(shè)計(jì)介紹了一個(gè)基于單片機(jī)的籃球比賽計(jì)時(shí)器硬件設(shè)計(jì),包括AT8

7、9C51、6個(gè)八段顯示LED、上電復(fù)位電路、時(shí)鐘發(fā)生電路等基本模塊的設(shè)計(jì)。其功能主要有:每次進(jìn)攻為24秒,計(jì)時(shí)器的顯示均為倒計(jì)時(shí)方式,24秒計(jì)時(shí)用兩位數(shù)碼管顯示;所有的計(jì)時(shí)都要具有暫停、繼續(xù)、清零;當(dāng)球員的持球時(shí)間超過(guò)24秒時(shí),24秒倒計(jì)時(shí)減為零且有聲光提示。本次課程設(shè)計(jì)是采用單片機(jī)匯編語(yǔ)言實(shí)現(xiàn)倒計(jì)時(shí)24秒籃球比賽計(jì)時(shí)器。</p><p>  關(guān)鍵詞:AT89C51;LED數(shù)碼管;按鍵;模塊</p>

8、<p>  1、具有24s計(jì)時(shí)功能。</p><p>  2、設(shè)置外部操作開關(guān),控制計(jì)時(shí)器的直接清零、 啟動(dòng)和暫停 /連續(xù)功能。</p><p>  3、計(jì)時(shí)器為24秒遞減時(shí),計(jì)時(shí)間隔為1秒。</p><p>  4、計(jì)時(shí)器遞減到零時(shí),數(shù)碼顯示器不能滅燈,同時(shí)發(fā)出光電報(bào)警信號(hào)。</p><p>  5、有直接清零然后恢復(fù)到24秒,

9、準(zhǔn)備重新開始計(jì)數(shù)。</p><p>  學(xué)生在教師指導(dǎo)下,綜合運(yùn)用所學(xué)知識(shí)完成基于單片機(jī)的籃球比賽24秒計(jì)時(shí)器設(shè)計(jì)。要求設(shè)計(jì)一個(gè)24秒計(jì)時(shí)電路,并具有時(shí)間顯示的功能。</p><p><b>  要求:</b></p><p>  1、設(shè)置外部操作開關(guān),控制計(jì)數(shù)器的直接清零、啟動(dòng)和暫停/連續(xù)計(jì)時(shí)。</p><p>  2

10、、要求計(jì)時(shí)電路遞減計(jì)時(shí),每隔1秒鐘,計(jì)時(shí)器減1。</p><p>  3、當(dāng)計(jì)時(shí)器減到0時(shí),顯示器上顯示00,同時(shí)發(fā)出光電報(bào)警信號(hào)。</p><p><b>  1 籃球計(jì)時(shí)器概述</b></p><p>  1.1 籃球競(jìng)賽24秒計(jì)時(shí)器功能</p><p>  隨著信息時(shí)代的到來(lái),電子技術(shù)在社會(huì)生活中發(fā)揮著越來(lái)越重要的

11、作用,運(yùn)用模電和數(shù)電知識(shí)設(shè)計(jì)的電子產(chǎn)品成為社會(huì)生活中不可缺少的一部分。在籃球比賽中,規(guī)定了球員的持球時(shí)間不能超過(guò)24秒,否則就犯規(guī)了。</p><p>  大多數(shù)籃球計(jì)時(shí)器的主控芯片為AT89C51,采用12MHz晶振。24秒計(jì)時(shí)開始, 24S復(fù)位開啟鍵(投籃或交換控球時(shí)按下此鍵);24秒計(jì)時(shí)停止鍵(沒有違例);24秒計(jì)時(shí)同時(shí)啟動(dòng)鍵; 24S計(jì)時(shí)同時(shí)停止鍵。而此次我們?cè)O(shè)計(jì)的是一個(gè)簡(jiǎn)易籃球比賽計(jì)時(shí)器。</p&

12、gt;<p>  最簡(jiǎn)單的籃球球計(jì)時(shí)器是24秒倒計(jì)時(shí)計(jì)時(shí)器。也就是本次課程設(shè)計(jì)的課題。24秒籃球計(jì)時(shí)器要求設(shè)置外部操作開關(guān),控制計(jì)數(shù)器的直接清零、啟動(dòng)和暫停/并且計(jì)時(shí)電路遞減計(jì)時(shí),每隔1秒鐘,計(jì)時(shí)器減1,當(dāng)計(jì)時(shí)器減到0時(shí),顯示器上顯示00,同時(shí)發(fā)出光電報(bào)警信號(hào),最后5s也會(huì)報(bào)警提示.。 </p><p>  1.2 主要參考器件</p><p>  AT89C51 LED

13、數(shù)碼管 光電報(bào)警器 開關(guān) 電阻 導(dǎo)線等</p><p>  1.3 單片機(jī)的概述</p><p>  1.3.1 AT89C51單片機(jī)簡(jiǎn)介</p><p>  單片機(jī)是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能(可能還包括顯示驅(qū)動(dòng)電路、脈寬

14、調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)。 </p><p>  單片機(jī)的存儲(chǔ)器ROM和RAM是嚴(yán)格區(qū)分的。ROM稱為程序存儲(chǔ)器,只存放程序,固定常數(shù),及數(shù)據(jù)表格。RAM則為數(shù)據(jù)存儲(chǔ)器,用作工作區(qū)及存放用戶數(shù)據(jù)。為滿足控制需要,單片機(jī)有更強(qiáng)的邏輯控制能力,特別是單片機(jī)具有很強(qiáng)的位處理能力。</p><p> 

15、 1.3.2 AT89C51單片機(jī)引腳功能簡(jiǎn)介</p><p>  AT89C51有40個(gè)引腳,各引腳功能如下所示:</p><p>  電源引腳Vcc和Vss</p><p>  Vcc(電源端):供電電壓,為+5V。</p><p>  Vss(GND):接地端。</p><p> ?。?)輸入/輸出端口P0、P1

16、、P2和P3</p><p>  P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在Flash編程時(shí),P0 口作為原碼輸入口,當(dāng)Flash進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。    P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O

17、口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在Flash編程和校驗(yàn)時(shí),P1口作為第八位地址接收。     P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管

18、腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口在Flash編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。   P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,</p><p><b> ?。?)振蕩器特性</b></p><p>  XTAL1和XTAL2分別

19、為反向放大器的輸入和輸出。該反向放大器可配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。</p><p><b> ?。?)芯片擦除:</b></p><p>  在芯片擦操作中,代碼陣列全被寫“1”且在任何非

20、空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。</p><p>  如圖1.3所示為AT89C51結(jié)構(gòu)框圖在一小塊芯片上,集成了一個(gè)微型計(jì)算機(jī)的各個(gè)組成部分。以下即為上述的AT89C51芯片</p><p>  圖 1.3 AT89C51結(jié)構(gòu)框圖</p><p><b>  2 硬件設(shè)計(jì)</b></p><p><b

21、>  2.1 設(shè)計(jì)原理</b></p><p>  24秒計(jì)時(shí)器的總體參考方案框圖如圖2.1所示,它包括秒脈沖發(fā)生器、計(jì)數(shù)器、譯碼顯示電路、報(bào)警電路和輔助時(shí)序控制電路等五個(gè)模塊組成。其中計(jì)數(shù)器和控制電路是系統(tǒng)的主要模塊。計(jì)數(shù)器完成24秒計(jì)時(shí)功能,而控制電路完成計(jì)數(shù)器的直接清零、啟動(dòng)技術(shù)、暫停/連續(xù)計(jì)數(shù)、譯碼顯示電路的顯示與滅燈、定時(shí)時(shí)間到報(bào)警等功能。</p><p>&l

22、t;b>  硬件電路圖設(shè)計(jì):</b></p><p>  根據(jù)設(shè)計(jì)要求,要求要求設(shè)置外部操作開關(guān),控制計(jì)數(shù)器的直接清零、啟動(dòng)和暫停。所以,硬件設(shè)計(jì)框圖包括AT89C51芯片、顯示器、報(bào)警和按鍵四大模塊。系統(tǒng)硬件設(shè)計(jì)框圖如圖2.2所示</p><p>  此計(jì)時(shí)器采用的設(shè)計(jì)采用模塊化的結(jié)構(gòu),主要由以上幾個(gè)部分組成,即計(jì)時(shí)模塊、控制模塊以及譯碼顯示模塊。在設(shè)計(jì)此計(jì)時(shí)模塊時(shí),采

23、用模塊化的設(shè)計(jì)思想,使設(shè)計(jì)起來(lái)更加簡(jiǎn)單、方便、快捷。</p><p>  一個(gè)完整的計(jì)算機(jī)應(yīng)該由運(yùn)算器、控制器、存儲(chǔ)器和I/O接口組成。運(yùn)算器包括一個(gè)可進(jìn)行8位算術(shù)運(yùn)算和邏輯運(yùn)算的單元ALU,8位的暫存器1、暫存器2,8位的累加器ACC,寄存器B和程序狀態(tài)寄存器PSW等??刂破靼ǔ绦蛴?jì)數(shù)器PC、指令寄存器IR、指令寄存器ID、振蕩器及定時(shí)電路等。存儲(chǔ)器分為程序存儲(chǔ)器(Flash ROM)和數(shù)據(jù)存儲(chǔ)器(RAM)。

24、另外,89C51有4個(gè)與外部交換信息的8位并行接口,即P0至P3。它們都是準(zhǔn)雙向端口,每個(gè)端口各有8個(gè)I/O線,均可輸入輸出。</p><p>  此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。

25、</p><p>  2.2.1 功能單元模塊</p><p><b>  (1)鍵盤</b></p><p>  控制模塊是由鍵盤輸入,鍵盤是一組按鍵的集合,它是最常見的單片機(jī)輸入設(shè)備,是一種常開型按鈕開關(guān)。常態(tài)時(shí),按鍵的兩個(gè)觸點(diǎn)處于斷開狀態(tài),如圖2.3所示,鍵盤分為編碼鍵盤和非編碼鍵盤,鍵盤上閉合鍵的識(shí)別由專門的硬件譯碼器實(shí)現(xiàn),并產(chǎn)生鍵編號(hào)

26、或鍵值的稱為編碼鍵盤,如BCD碼鍵盤、ASCII碼鍵盤等;靠軟件識(shí)別的稱為非編碼鍵盤。</p><p>  圖 2.3 常開型按鈕開關(guān)</p><p><b> ?。?)LED顯示器</b></p><p>  單片機(jī)中通常用7段LED構(gòu)成字型“8”,另外,還有一個(gè)小數(shù)點(diǎn)發(fā)光二極管,以顯示數(shù)字、符號(hào)及小數(shù)點(diǎn)。這種顯示器有共陰極和共陽(yáng)極兩種,此課

27、程設(shè)計(jì)采用的是共陽(yáng)極。發(fā)光二極管的陽(yáng)極連在一起的稱為共陽(yáng)極顯示器,陰極連在一起的稱為共陰極顯示器。一位顯示器由8個(gè)發(fā)光二極管組成,其中,7個(gè)二極管構(gòu)成字型“8”的各個(gè)筆畫a~g,</p><p>  另一個(gè)小數(shù)點(diǎn)為dp發(fā)光二極管。</p><p>  圖 2.4 LED顯示器</p><p>  另外,將多個(gè)LED顯示塊組合在一起就構(gòu)成了多位LED顯示器。每個(gè)LED

28、顯示器的段引腳稱為段選線,公共端稱為位選線。段選線控制顯示的字符,位選線控制該LED的亮和滅。按照顯示器的工作方式不同,位選線和段選線的連接方法也不同。LED顯示器有靜態(tài)顯示和動(dòng)態(tài)顯示兩種方式。</p><p><b> ?。?)報(bào)警器</b></p><p>  報(bào)警探測(cè)器是由傳感器和信號(hào)處理組成的,用來(lái)探測(cè)信號(hào)的,由電子和機(jī)械部件組成的裝置,是報(bào)警系統(tǒng)的關(guān)鍵,而傳

29、感器又是報(bào)警探測(cè)器的核心元件。采用不同原理的傳感器件,可以構(gòu)成不同種類、不同用途、達(dá)到不同探測(cè)目的的報(bào)警探測(cè)裝置。報(bào)警探測(cè)器的靈敏度和可靠性是相互影響的。合理選擇報(bào)警探測(cè)器的探測(cè)靈敏度和采用不同的抗外界干擾的措施,可以提高報(bào)警探測(cè)器性能。采用不同的抗干擾措施,決定了報(bào)警探測(cè)器在不同環(huán)境下的使用性能。了解各種報(bào)警探測(cè)器的性能和特點(diǎn),根據(jù)不同使用環(huán)境,合理配置不同的報(bào)警探測(cè)器是防盜報(bào)警系統(tǒng)的關(guān)鍵環(huán)節(jié)。 </p><p&g

30、t;  它有報(bào)警主機(jī)、紅外報(bào)警器、門磁探測(cè)器、煙霧探測(cè)器、燃?xì)馓綔y(cè)器、紅外對(duì)射、遙控器、緊急按鈕等組成。探測(cè)器通過(guò)自己對(duì)周邊物體的探測(cè),和感應(yīng)以及探測(cè)器自身的分離和接摸,自身產(chǎn)生一種感應(yīng)信號(hào),探測(cè)器把信號(hào)傳給報(bào)警主機(jī),報(bào)警主機(jī)通過(guò)自己的分析執(zhí)行相應(yīng)的報(bào)警功能。</p><p>  在課程設(shè)計(jì)中,用到的是實(shí)驗(yàn)室的光電報(bào)警器。光電報(bào)警器的驅(qū)動(dòng)器的輸入端接AT89C51的P1.0,當(dāng)P1.0輸出高電平時(shí),會(huì)產(chǎn)生光電,實(shí)

31、現(xiàn)報(bào)警。</p><p> ?。?)AT89C51芯片</p><p>  芯片的的40個(gè)引腳及其功能在上述中已經(jīng)介紹,以下是Proteus中的AT89C51芯片的示意圖</p><p>  圖 2.5 Proteus軟件中的AT89C51芯片</p><p>  2.3 硬件設(shè)計(jì)電路圖</p><p>  圖 2.6

32、 硬件設(shè)計(jì)電路圖</p><p>  設(shè)計(jì)思路:選用AT89C51作為主控芯片,晶振是6KHz,機(jī)械周期為1ms,所以循環(huán)10次為1s。P0口作為段碼輸出,P2.0、P2.1作為位控,高電平有效。數(shù)碼管是液晶顯示,采用動(dòng)態(tài)顯示,兩個(gè)串行口作為中斷入口,高電平有效,啟動(dòng)T0定時(shí)器/計(jì)數(shù)器進(jìn)行計(jì)數(shù),低電平有效。圖2.2.1是系統(tǒng)硬件設(shè)計(jì)電路圖一。</p><p>  時(shí)間設(shè)置完后,啟動(dòng)定時(shí)器T

33、0開始定時(shí)計(jì)數(shù)。計(jì)時(shí)采用倒計(jì)時(shí),比如:設(shè)置的時(shí)間為24秒鐘,則在LED上顯示24兩位數(shù)。定時(shí)T0計(jì)數(shù)24秒后中斷返回,繼續(xù)定時(shí)計(jì)數(shù)下一個(gè)24秒;同時(shí)則在2位LED顯示器上顯示,表示時(shí)間已經(jīng)過(guò)去1秒鐘,即為23秒。這樣一直持續(xù)下去。知道變?yōu)椤?0”時(shí)表示賽程結(jié)束。如果比賽中裁判叫停,則只要按下鍵,即可暫停計(jì)時(shí)。</p><p><b>  3 軟件設(shè)計(jì)</b></p><p

34、>  3.1 程序流程圖 </p><p>  根據(jù)設(shè)計(jì)要求,可分析并設(shè)計(jì)圖3.2.1程序流程圖,采用24秒倒計(jì)時(shí),所以復(fù)位值為24秒,倒計(jì)時(shí)到0時(shí),LED顯示為00,開始判斷,并報(bào)警。開關(guān)分別控制復(fù)位,控制暫停,控制啟動(dòng)。以下是籃球計(jì)時(shí)器24秒倒計(jì)時(shí)的程序流程圖。</p><p>  圖3.1 主程序流程圖</p><p><b>  3.2 程序

35、設(shè)計(jì)</b></p><p>  根據(jù)以上流程圖,可以用匯編語(yǔ)言編寫出籃球計(jì)時(shí)器24秒倒計(jì)時(shí)程序,該程序包括主程序,中斷程序,延時(shí)程序以及顯示程序。</p><p><b>  程序清單:</b></p><p>  # include<reg52.h></p><p>  # includ

36、e<intrins.h></p><p>  # define uint unsigned int</p><p>  # define uchar unsigned char</p><p>  sbit w1=p2^0; //十位位選</p><p>  sbit w2=p2^1; //個(gè)位位選<

37、;/p><p>  sbit key1=p1^0; //按鍵為選碼</p><p>  sbit key2=p1^1;</p><p>  sbit key3=p1^2;</p><p>  sbit BEEP=P2^7; //報(bào)警器控制位</p><p>  uint num,num1,shi,ge;<

38、/p><p>  uchar code table[ ]={0x3f,0x06,0x5b,0x4f, //數(shù)碼管相應(yīng)的段選碼</p><p>  0x66,0x6d,0x7d,0x07,</p><p>  0x7f,0x6f,0x77,0x7c,</p><p>  0x39,0x5e,0x79,0x71};</p>&l

39、t;p>  void delay(unit z)</p><p><b>  {</b></p><p>  uint x,y;</p><p>  for(x=z;x>0;x--)</p><p>  for(y=1 10;y>0;y--)</p><p><b&g

40、t;  }</b></p><p>  /*void delay1(uchar x) //x*0.14MS</p><p><b>  {</b></p><p><b>  uchar i;</b></p><p>  while(x--)</p><p&

41、gt;<b>  {</b></p><p>  for(i=0;i<13;i++) { }</p><p><b>  }</b></p><p><b>  }</b></p><p>  void beep(void)</p><p><

42、;b>  {</b></p><p><b>  uchar i;</b></p><p>  for (i=0;i<50:i++)</p><p><b>  { </b></p><p>  delay 1(4);</p><p>  BEEP=!

43、BEEP; //BEEP 取反</p><p><b>  }</b></p><p><b>  }*/</b></p><p>  /*按鍵掃描函數(shù)*/</p><p>  void keyscan()</p><p><b>  

44、{</b></p><p>  if(key1==0) //開始計(jì)算</p><p><b>  {</b></p><p>  delay(5); //延時(shí)消抖</p><p>  if(key1==0)</p><p><b>  {</b>

45、;</p><p>  while(!key1); //松手檢測(cè)</p><p><b>  TR0=1;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(key2==0)

46、 //暫停計(jì)數(shù)</p><p><b>  {</b></p><p>  delay(5); //延時(shí)消抖</p><p>  if(key2==0)</p><p><b>  {</b></p><p>  while(!key2);

47、//松手檢測(cè)</p><p><b>  TR0=0;</b></p><p>  while(!key 3); //松手檢測(cè)</p><p><b>  num1=24;</b></p><p><b>  TR0=1;</b></p>

48、<p>  BEEP=1; //關(guān)閉蜂鳴器</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void init()</p&

49、gt;<p><b>  {</b></p><p><b>  num1=24;</b></p><p>  TMOD=0x01;//設(shè)置定時(shí)器 0 為工作方式 1</p><p>  TH0=(65536-50000)?256; //定時(shí)器 0 的高八位</p><p>  

50、TL0=(65536-50000)%256; //定時(shí)器0的低八位</p><p>  EA=1; //開總中斷</p><p>  ET0=1; //開定時(shí)器 0 中斷</p><p>  TR0=1; // 啟動(dòng)定時(shí)器0 //TOCN 中有 TR0</p><p><b>  }</b></

51、p><p>  /*數(shù)碼管顯示函數(shù)*/</p><p>  void display(uchar shi,uchar ge)</p><p><b>  {</b></p><p>  P0=table[shi]; //十位顯示</p><p>  w1=1; w2=0;

52、 //選位設(shè)置 </p><p><b>  delay(2);</b></p><p>  P0=table[ge]; //個(gè)位顯示</p><p>  w1=0; w2=1; //位選設(shè)置</p><p><b>  delay(2);</b><

53、/p><p>  if(num1==0) //如果24秒顯示完成后,報(bào)警</p><p><b>  {</b></p><p><b>  TR0=0;</b></p><p><b>  BEEP=0;</b></p><p>

54、<b>  }</b></p><p><b>  }</b></p><p>  void main()</p><p><b>  {</b></p><p><b>  init();</b></p><p><b&

55、gt;  while(1)</b></p><p><b>  {</b></p><p>  keyscan( );</p><p>  if(num==20)</p><p><b>  {</b></p><p><b>  num=0;</

56、b></p><p><b>  num1--;</b></p><p><b>  }</b></p><p>  ge=num1%10; //個(gè)位</p><p>  shi=num1/10; //十位</p><p>  display(shi,ge);

57、</p><p><b>  }</b></p><p><b>  }</b></p><p>  void time1( ) interrupt 1 //定時(shí)器計(jì)數(shù),50ms產(chǎn)生一次中斷</p><p><b>  {</b></p><p>

58、  TH1=(65536-50000)/256;</p><p>  TL1=(65536-50000)%256;</p><p><b>  num++;</b></p><p><b>  }</b></p><p>  3.3 仿真及仿真結(jié)果</p><p>  軟件硬

59、件聯(lián)合仿真系統(tǒng)由一個(gè)硬件執(zhí)行環(huán)境和一個(gè)軟件執(zhí)行環(huán)境組成,通常軟件環(huán)境和硬件環(huán)境都有自己的除錯(cuò)和控制界面,Keil與Proteus的整合調(diào)試可以實(shí)現(xiàn)系統(tǒng)的總調(diào),在該系統(tǒng)中,Keil作為軟件調(diào)試界面,Proteus作為硬件仿真和調(diào)試界面。</p><p>  24秒籃球計(jì)時(shí)器設(shè)置外部操作開關(guān),控制計(jì)數(shù)器的直接清零、啟動(dòng)和暫停/并且計(jì)時(shí)電路遞減計(jì)時(shí),每隔1秒鐘,計(jì)時(shí)器減1,當(dāng)計(jì)時(shí)器減到0時(shí),顯示器上顯示00,同時(shí)發(fā)出光

60、電報(bào)警信號(hào)。編好程序,并對(duì)其進(jìn)行編譯連接之后,按照上面的步驟,通過(guò)Proteus進(jìn)行仿真,能夠進(jìn)行24秒的倒計(jì)時(shí),復(fù)位值是24,然后顯示23、22、…、18、17、…、09、08、…、01、00。顯示00后,暫停后復(fù)位。</p><p><b>  仿真結(jié)果分析</b></p><p>  通過(guò)在Proteus中仿真,按下復(fù)位鍵(開啟鍵),顯示器顯示24,然后自動(dòng)顯示

61、23、22…,當(dāng)計(jì)時(shí)到21秒時(shí),按下暫停,顯示器鎖定在21,當(dāng)再按啟動(dòng)鍵時(shí),又開始倒計(jì)時(shí),直到顯示00,開始報(bào)警,按下復(fù)位鍵,又回到了24。整個(gè)仿真過(guò)程按要求顯示,以下為仿真結(jié)果圖</p><p>  圖3.2 23秒顯示</p><p>  圖 3.3 22秒顯示</p><p><b>  4 課程設(shè)計(jì)體會(huì)</b></p>

62、<p>  本次課程設(shè)計(jì)是我到目前為止覺得最有意義也是收獲最大的一次實(shí)習(xí),可以說(shuō)是有苦也有甜。從通過(guò)理論設(shè)計(jì),到確定具體方案,再到仿真軟件仿真,最后到調(diào)試電路、顯示結(jié)果,整個(gè)過(guò)程都需要我充分利用所學(xué)的知識(shí)進(jìn)行思考、借鑒。這次課程設(shè)計(jì)對(duì)以前學(xué)過(guò)的理論知識(shí)起到了很好的回顧作用,同時(shí)還彌補(bǔ)了之前對(duì)單片機(jī)知識(shí)的相關(guān)漏洞。剛開始,我對(duì)課程設(shè)計(jì)是一無(wú)所知,就連按照硬件圖來(lái)寫匯編程序,都是一個(gè)很大的問(wèn)題。后來(lái)在劉麗老師的耐心指導(dǎo)下,我終于

63、知道了如何使用Protues軟件,以及如何用Word繪圖工具欄來(lái)畫流程圖。</p><p>  設(shè)計(jì)是我到目前為止覺得最有意義也是收獲最大的一次實(shí)習(xí),可以說(shuō)是有苦也有甜。身為電氣工程專業(yè)的學(xué)生,設(shè)計(jì)是我們將來(lái)必須的技能。而這次課程設(shè)計(jì)恰恰給我們提供了一個(gè)應(yīng)用自己所學(xué)知識(shí)的平臺(tái)。</p><p>  從通過(guò)理論設(shè)計(jì),到確定具體方案,再到仿真軟件仿真,最后到調(diào)試電路、顯示結(jié)果。整個(gè)過(guò)程都需要我

64、充分利用所學(xué)的知識(shí)進(jìn)行思考、借鑒。可以說(shuō),本次課程設(shè)計(jì)是針對(duì)前面所學(xué)知識(shí)進(jìn)行的一次比較綜合的檢驗(yàn)??偟膩?lái)說(shuō),這次課程設(shè)計(jì)雖然很累,但非常充實(shí)。</p><p>  在這次實(shí)習(xí)中,正確的思路是很重要的,只要設(shè)計(jì)思路是正確的,那么才有可能成功。因此我們?cè)谠O(shè)計(jì)前必須做好充分的準(zhǔn)備,認(rèn)真查找詳細(xì)的資料,為我們?cè)O(shè)計(jì)的成功打下堅(jiān)實(shí)的基礎(chǔ)。</p><p>  如果說(shuō)前面的電路的理論設(shè)計(jì)是多么令人頭痛的

65、事,那么安裝、調(diào)試過(guò)程則是一個(gè)考驗(yàn)人的耐心的過(guò)程,對(duì)電路的安裝、分析調(diào)試要一步一步來(lái),不能急躁。這次課程設(shè)計(jì)對(duì)以前學(xué)過(guò)的理論知識(shí)起到了很好的回顧作用。剛開始,我對(duì)課程設(shè)計(jì)是一無(wú)所知,就連按照硬件圖來(lái)寫匯編程序,都是一個(gè)很大的問(wèn)題。后來(lái)在學(xué)習(xí)Proteus后,我終于知道了如何使用Proteus軟件,以及如何用visio繪圖工具欄來(lái)畫流程圖。在設(shè)計(jì)過(guò)程中,遇到了很多疑難點(diǎn),通過(guò)組員的討論, 并在教師指導(dǎo)下,綜合運(yùn)用所學(xué)知識(shí),最終完成基于單片

66、機(jī)的籃球比賽計(jì)時(shí)器設(shè)計(jì)。是一個(gè)24秒計(jì)時(shí)電路,并具有時(shí)間顯示的功能。</p><p>  當(dāng)然,要做好本次的課程設(shè)計(jì),熟練地掌握課本上的理論知識(shí)是前提。而且這次的課程設(shè)計(jì)老師在驗(yàn)收時(shí)還要求學(xué)生進(jìn)行現(xiàn)場(chǎng)操作,答辯。這就更加促進(jìn)了我們?nèi)フJ(rèn)真的去完成這次課程設(shè)計(jì),同時(shí)也只有這樣才能督促學(xué)生對(duì)設(shè)計(jì)中出現(xiàn)的問(wèn)題進(jìn)行一定的分析和調(diào)試。</p><p>  雖然這次課程設(shè)計(jì)過(guò)程中我們遇到了很多問(wèn)題,比如

67、說(shuō)程序、流程圖以及Proteus的仿真,我們還不能如魚得水,還不是很熟練,經(jīng)常熬夜對(duì)程序進(jìn)行修改和仿真調(diào)試,但是我仍然非常感謝有這么一個(gè)機(jī)會(huì),老師的耐心指導(dǎo)也讓我們懂得了不少知識(shí)。</p><p>  總體來(lái)說(shuō),這次課程設(shè)計(jì)讓我受益匪淺。在摸索改如何設(shè)計(jì)電路使之實(shí)現(xiàn)所需功能的過(guò)程中培養(yǎng)了我的設(shè)計(jì)思維,增加了實(shí)際動(dòng)手能力,在讓我體會(huì)到了設(shè)計(jì)電路的艱辛的同時(shí),更讓我體會(huì)到了成功的喜悅</p><p

68、><b>  參考文獻(xiàn)</b></p><p>  1、張?chǎng)?單片微機(jī)原理及應(yīng)用 電子工業(yè)出版社 2005.8</p><p>  2、張毅剛 單片微機(jī)原理及其應(yīng)用 高等教育出版社 2003.12</p><p>  3、薛曉書 單片微機(jī)原理及接口技術(shù) 西安石油大學(xué) 2002.3</p><p>

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論