版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 基于單片機(jī)的籃球記分計(jì)時器的系統(tǒng)設(shè)計(jì)</p><p><b> 學(xué)生姓名: </b></p><p><b> 學(xué)生學(xué)號:</b></p><p><b> 指導(dǎo)教師:</b></p><p><b> 所在學(xué)院:</b>&l
2、t;/p><p><b> 專 業(yè):</b></p><p><b> 2013年5月</b></p><p> 本科畢業(yè)設(shè)計(jì)(論文)任務(wù)書</p><p> 注:1.任務(wù)書由指導(dǎo)教師填寫后交給學(xué)生,要求學(xué)生妥善保存。</p><p> 2.此任務(wù)書夾于論文扉頁與
3、論文一并裝訂,作為論文評分依據(jù)之。</p><p><b> 摘要</b></p><p> 本設(shè)計(jì)是基于單片機(jī)AT89S52的籃球計(jì)分計(jì)時器,利用七段共陰LED作為顯示器件。在此設(shè)計(jì)中共接入了2個四位一體7段共陰LED顯示器,1個四位一體七段共陰LED顯示器,用來記錄賽程時間,另一個顯示器的前兩位和后兩位分別記錄兩隊(duì)的分?jǐn)?shù),顯示范圍可達(dá)到0~99分。賽程計(jì)時采用
4、倒計(jì)時方式,比賽開始時啟動計(jì)時,當(dāng)記時為0時,指示燈亮,蜂鳴器響。</p><p> 關(guān)鍵詞:AT89S52 控制電路 報警電路 數(shù)碼顯示器</p><p><b> ABSTRACT</b></p><p> The design is based on micro controller AT89S52 time basketba
5、ll scoring, using seven-segment common cathode LED display device.In this design, access to two four in one seven-segment common cathode LED display, a four in one common cathode seven-segment LED display is used to reco
6、rd race time, another display two before and after the two were recorded scores of the two teams, the display range of zero to Ninety-Nine. Race timing countdown start time, the start of the game, when the chronograph i&
7、lt;/p><p> Keywords: AT89S52 control circuit alarm circuit digital display </p><p><b> 目錄</b></p><p><b> 摘要I</b></p><p> ABSTRACTII</p&
8、gt;<p><b> 目錄III</b></p><p><b> 1 緒論1</b></p><p><b> 1.1背景知識1</b></p><p><b> 1.2設(shè)計(jì)內(nèi)容1</b></p><p> 1.3設(shè)計(jì)任
9、務(wù)和要求1</p><p><b> 1.4設(shè)計(jì)意義2</b></p><p> 2 系統(tǒng)總體方案及硬件設(shè)計(jì)3</p><p> 2.1系統(tǒng)總體方案設(shè)計(jì)3</p><p> 2.2硬件電路系統(tǒng)設(shè)計(jì)4</p><p> 2.2.1單片機(jī)AT89S52簡介4</p>
10、<p> 2.2.2鍵盤10</p><p> 2.2.3時鐘電路模塊11</p><p> 2.2.4復(fù)位電路模塊11</p><p> 2.2.5顯示模塊12</p><p> 2.2.6報警模塊13</p><p> 2.3總硬件電路設(shè)計(jì)14</p><p&
11、gt; 2.4本章小結(jié)14</p><p><b> 3 軟件設(shè)計(jì)15</b></p><p> 3.1軟件總體設(shè)計(jì)方案15</p><p> 3.2程序設(shè)計(jì)16</p><p> 2.3本章小結(jié)17</p><p> 4 PROTEUS仿真18</p>&l
12、t;p> 4.1 PROTEUS簡介18</p><p> 4.2仿真過程18</p><p> 4.3本章小結(jié)22</p><p><b> 結(jié)論22</b></p><p><b> 參考文獻(xiàn)23</b></p><p><b> 致
13、謝24</b></p><p><b> 附錄一25</b></p><p><b> 附錄二36</b></p><p><b> 前言</b></p><p> 隨著信息時代的到來,電子技術(shù)在社會生活中發(fā)揮著越來越重要的作用,運(yùn)用單片機(jī)知識設(shè)計(jì)的電
14、子產(chǎn)品成為了社會生活不可缺少的一部分,特別是在各種競技運(yùn)動中,計(jì)時器成為檢驗(yàn)運(yùn)動員成績的一個重要工具。在許多領(lǐng)域中,計(jì)時器均得到普遍應(yīng)用,諸如在體育比賽,定時報警器、游戲中的倒時器,交通信號燈、紅綠燈、行人燈,由此可見計(jì)時器在現(xiàn)代社會是何其重要的。</p><p> 單片機(jī)[1],亦稱單片微電腦或單片微型計(jì)算機(jī)。它是把中央處理器(CPU)、隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、輸入/輸出端口(I/0)
15、等主要計(jì)算機(jī)功能部件都集成在一塊集成電路芯片上的微型計(jì)算機(jī)。</p><p> 本設(shè)計(jì)是單片機(jī)的簡單應(yīng)用[2],設(shè)計(jì)了基于單片機(jī)的籃球記時計(jì)分器的系統(tǒng)設(shè)計(jì)。此設(shè)計(jì)功能齊全,包括記時、計(jì)分系統(tǒng)以及報警系統(tǒng),是應(yīng)用了七段共陰極數(shù)碼管來顯示。控制系統(tǒng)有啟動、暫停、加分、減分以及時間的快進(jìn)與回表功能,可以方便地實(shí)現(xiàn)藍(lán)去比賽的記時計(jì)分功能,當(dāng)計(jì)時遞減到零時,記時數(shù)碼管會顯示00,同時上下半場的二極管發(fā)光、蜂鳴器響。<
16、;/p><p> 本設(shè)計(jì)完成的中途計(jì)時功能,為了實(shí)現(xiàn)在許多的特定場合進(jìn)行記時計(jì)分的應(yīng)用做了堅(jiān)實(shí)的基礎(chǔ),在社會生活中具有廣泛的應(yīng)用價值?! 〈擞?jì)時器的設(shè)計(jì)采用模塊化結(jié)構(gòu),主要由以下4個組成,即最小系統(tǒng)模塊、控制模塊、報警模塊以及記時、計(jì)分?jǐn)?shù)碼管顯示模塊。因而采用模塊化的設(shè)計(jì)思想,使設(shè)計(jì)起來更加簡單、方便、快捷。</p><p><b> 1 緒論</b></p&
17、gt;<p><b> 1.1背景知識</b></p><p> 體育比賽計(jì)時計(jì)分系統(tǒng)是對體育比賽過程中所產(chǎn)生的時間,比分等數(shù)據(jù)進(jìn)行快速采集記錄,加工處理,傳遞利用的信息系統(tǒng)。根據(jù)不同運(yùn)動項(xiàng)目的不同比賽規(guī)則要求,體育比賽的計(jì)時計(jì)分系統(tǒng)包括測量類[21],評分類,命中類,制勝類得分類等多種類型。</p><p> 籃球比賽是根據(jù)運(yùn)動隊(duì)在規(guī)定的比賽時間
18、里得分多少來決定勝負(fù)的,因此,籃球比賽的計(jì)時計(jì)分系統(tǒng)是一種得分類型的系統(tǒng)?;@球比賽的計(jì)時計(jì)分系統(tǒng)由計(jì)時器,計(jì)分器等多種電子設(shè)備組成,同時,根據(jù)目前高水平籃球比賽要求,完善的籃球比賽計(jì)時計(jì)分系統(tǒng)設(shè)備應(yīng)能夠與現(xiàn)場成績處理,現(xiàn)場大屏幕,電視轉(zhuǎn)播車等多種設(shè)備相聯(lián),以便實(shí)現(xiàn)高比賽現(xiàn)場感,表演娛樂觀眾等功能目標(biāo)。</p><p> 由于單片機(jī)的集成度高,功能強(qiáng),通用性好,特別是它具有體積小,重量輕,能耗低,價格便宜,可靠性
19、高,抗干擾能力強(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ì)時計(jì)分器就是以單片機(jī)為核心的計(jì)時計(jì)分系統(tǒng),由計(jì)時器,計(jì)分器,綜合控制器和24秒控制器等組成。</p><p><b> 1.2 設(shè)計(jì)內(nèi)容</b><
20、;/p><p> 本設(shè)計(jì)是基于AT89S52單片機(jī)的籃球計(jì)分計(jì)時器的設(shè)計(jì),利用7段共陰極LED作為顯示器件。在此設(shè)計(jì)中共接入了2個四位一體7段共陰極LED顯示器,其中一個四位一體7段共陰極LED顯示器的前2位用于顯示分鐘,后2位用于顯示秒鐘,另一個四位一體7段共陰極LED顯示器的前兩位和后兩位分別用于記錄甲乙隊(duì)的分?jǐn)?shù),每隊(duì)2個LED顯示器顯示范圍可達(dá)到0~99分。賽程計(jì)時采用倒計(jì)時方式,比賽開始時啟動計(jì)時,直至計(jì)時
21、到零為止。</p><p> 其次,為了配合計(jì)時器和計(jì)分器校正調(diào)整時間和比分,我們特定在本設(shè)計(jì)中設(shè)立了7個按鍵,用于設(shè)置,調(diào)整時間,啟動,調(diào)整分?jǐn)?shù)和暫停等功能。采用單片機(jī)控制是這個系統(tǒng)按鍵操作使用簡潔,LED顯示,安裝方便。</p><p> 1.3設(shè)計(jì)任務(wù)和要求</p><p> 任務(wù): 設(shè)計(jì)一個用于賽場的籃球計(jì)時計(jì)分器系統(tǒng)。</p><
22、p> 要求: 1、能記錄整個賽程的比賽時間,并能隨時實(shí)現(xiàn)暫停。 </p><p> 2、能隨時刷新甲、乙兩隊(duì)在整個過程中的比分。 </p><p> 3、中場交換比賽場地時,能自動交換甲、乙兩隊(duì)比分的位置。
23、 </p><p> 4、比賽中場和結(jié)束時,能發(fā)出報警聲。</p><p> 5、通過指示燈指示上下半場。</p><p> 6、當(dāng)比賽時間需要回倒時,能通過按鍵實(shí)現(xiàn)回表。</p><p> 7、加分有誤時可通過按鍵實(shí)現(xiàn)減分調(diào)整。</p><p><b> 1.4 設(shè)計(jì)
24、意義</b></p><p> 本設(shè)計(jì)使我進(jìn)一步熟悉和掌握了單片機(jī)的內(nèi)部結(jié)構(gòu)和工作原理,了解了單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的基本方法和步驟,掌握了單片機(jī)仿真軟件Proteus[4]的使用方法,鍵盤和顯示器在的單片機(jī)控制系統(tǒng)中的應(yīng)用以及撰寫課程設(shè)計(jì)報告的方法。此次設(shè)計(jì)很好的將書本上的理論知識和實(shí)踐有機(jī)的聯(lián)系了起來,是我們對理論知識有了更進(jìn)一步的掌握,鍛煉了我們的動手能力,同時也讓我們懂得了理論與實(shí)際相結(jié)合的意義
25、。為以后的工作和學(xué)習(xí)提供了寶貴的經(jīng)驗(yàn)。</p><p> 2.系統(tǒng)總體方案及硬件設(shè)計(jì)</p><p> 2.1 系統(tǒng)總體方案設(shè)計(jì)</p><p> 籃球計(jì)時計(jì)分器系統(tǒng)主要包括單片機(jī)控制系統(tǒng)[5]、計(jì)時顯示模塊、計(jì)分顯示模塊、定時報警,按鍵控制鍵盤模塊。通過這幾個模塊的協(xié)調(diào)工作就可以完成相應(yīng)的計(jì)時計(jì)分控制和顯示功能。這四個模塊的相互連接如圖1所示:</p&
26、gt;<p> 圖1 系統(tǒng)總體方案設(shè)計(jì)</p><p> 本設(shè)計(jì)是基于AT89S52單片機(jī)[6]的籃球計(jì)時計(jì)分器,利用7段共陰極LED數(shù)碼管作為顯示器。在此設(shè)計(jì)中共接入了2個四位一體7段共陰極LED顯示器,其中一個四位一體7段共陰極LED顯示器的前2位用于顯示分鐘,后2位用于顯示秒鐘,另一個四位一體7段共陰極LED顯示器的前兩位和后兩位分別用于記錄甲乙隊(duì)的分?jǐn)?shù),每隊(duì)2個LED顯示器顯示范圍可達(dá)到
27、0~99分。賽程計(jì)時采用倒計(jì)時方式,比賽開始時啟動計(jì)時,直至計(jì)時到零為止。</p><p> 2.2 硬件電路系統(tǒng)設(shè)計(jì)</p><p> 2.2.1單片機(jī)AT89S52簡介</p><p> AT89S52[8]是一個低功耗,高性能CMOS8位單片機(jī),片內(nèi)含8kBytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flas
28、h只讀程序存儲器,器件采用ATMEL[15]公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S52可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。 AT89S52如圖2所示,具有如下特點(diǎn):40個引腳,8k Bytes Flash片內(nèi)</p><p> 圖 2
29、 AT89S52單片機(jī)引腳圖</p><p> 程序存儲器256 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計(jì)數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時鐘振蕩器.此模塊電路包括時鐘電路模塊,復(fù)位電路模塊及報警顯示模塊。 </p><p><b> 主要性能<
30、/b></p><p> 1、與MCS-51單片機(jī)產(chǎn)品兼容;</p><p> 2、8K字節(jié)在系統(tǒng)可編程Flash存儲器;</p><p> 3、1000次擦寫周期;</p><p> 4、全靜態(tài)操作:0Hz-33MHz;</p><p> 5、三級加密程序存儲器;</p><p&g
31、t; 6、32個可編程I/O口線;</p><p> 7、三個16位定時器/計(jì)數(shù)器;</p><p><b> 8、六個中斷源;</b></p><p> 9、低功耗空閑和掉電模式;</p><p> 10、掉電后中斷可喚醒;</p><p> 11、看門狗定時器;</p>
32、<p><b> 引腳說明</b></p><p> AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程AT89S52引腳圖DIP封裝Flash存儲器。使用Atmel公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Fl
33、ash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計(jì)數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方
34、式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。</p><p> P0 口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0不具有內(nèi)部上拉電阻。在flash編程時,P0口也用來接收指令字節(jié);在程序校驗(yàn)時,輸出指令
35、字節(jié)。程序校驗(yàn)時,需要外部上拉電阻。</p><p> P1 口:P1口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,P1輸出緩沖器能驅(qū)動4個 TTL邏輯電平。</p><p> 此外,P1.0和P1.1分別作定時器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和定時器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX)。在flash編程和校驗(yàn)時,P1口接收低8位地址字節(jié)。</p><
36、;p><b> 引腳號第二功能:</b></p><p> P1.0 T2(定時器/計(jì)數(shù)器T2的外部計(jì)數(shù)輸入),時鐘輸出</p><p> P1.1 T2EX(定時器/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號和方向控制)</p><p> P1.5 MOSI(在系統(tǒng)編程用)</p><p> P1.6 MISO(在
37、系統(tǒng)編程用)</p><p> P1.7 SCK(在系統(tǒng)編程用)</p><p> P2 口:P2口是一個具有內(nèi)部上拉電阻的8 位雙向I/O口,P2輸出緩沖器能驅(qū)動,4個TTL邏輯電平。對P2端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如
38、執(zhí)行MOVX @DPTR)時,P2口送出高八位地址。在這種應(yīng)用中,P2口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX @RI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。在flash編程[22]和校驗(yàn)時,P2口也接收高8位地址字節(jié)和一些控制信號。</p><p> P3 口:P3口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,P3輸出緩沖器能驅(qū)動4個TTL邏輯電平。P3口亦作為AT89S52特殊功能(
39、第二功能)使用,如下表所示。在flash編程和校驗(yàn)時,P3口也接收一些控制信號。</p><p><b> 端口引腳第二功能:</b></p><p> P3.0 RXD(串行輸入口)</p><p> P3.1 TXD(串行輸出口)</p><p> P3.2 INTO(外中斷0)</p><
40、;p> P3.3 INT1(外中斷1)</p><p> P3.4 TO(定時/計(jì)數(shù)器0)</p><p> P3.5 T1(定時/計(jì)數(shù)器1)</p><p> P3.6 WR(外部數(shù)據(jù)存儲器寫選通)</p><p> P3.7 RD(外部數(shù)據(jù)存儲器讀選通)</p><p> 此外,P3口還接收一些用
41、于FLASH閃存編程和程序校驗(yàn)的控制信號。</p><p> RST:復(fù)位輸入。當(dāng)振蕩器工作時,RST引腳出現(xiàn)兩個機(jī)器周期以上高電平將是單片機(jī)復(fù)位。</p><p> ALE/PROG:當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:
42、每當(dāng)訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。對FLASH存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會被微弱拉高,單片機(jī)執(zhí)行外部程序時,應(yīng)設(shè)置ALE禁止位無效。</p><p> PSEN:程序儲存允許(PSEN)輸出是外部程序存儲器的讀選
43、通信號[16],當(dāng)AT89S52由外部程序存儲器取指令(或數(shù)據(jù))時,每個機(jī)器周期兩次PSEN有效,即輸出兩個脈沖,在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。</p><p> EA/VPP:外部訪問允許,欲使CPU僅訪問外部程序存儲器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU
44、則執(zhí)行內(nèi)部程序存儲器的指令。FLASH存儲器編程時,該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。</p><p> XTAL1:振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。</p><p> XTAL2:振蕩器反相放大器的輸出端。</p><p><b> 寄存器</b></p>&
45、lt;p> 并不是所有的地址都被定義了。片上沒有定義的地址是不能用的。讀這些地址,一般將得到一個隨機(jī)數(shù)據(jù);寫入的數(shù)據(jù)將會無效。用戶不應(yīng)該給這些未定義的地址寫入數(shù)據(jù)“1”。由于這些寄存器在將來可能被賦予新的功能,復(fù)位后,這些位都為“0”。</p><p> 定時器2寄存器:寄存器T2CON和T2MOD包含定時器2的控制位和狀態(tài)位,寄存器對RCAP2H和RCAP2L是定時器2的捕捉/自動重載寄存器。<
46、/p><p> 中斷寄存器:各中斷允許位在IE寄存器中,六個中斷源的兩個優(yōu)先級也可在IE中設(shè)置。</p><p> T2CON 地址為0C8H 復(fù)位值:0000 0000B位可尋址</p><p> 表1 T2CON:定時器/計(jì)數(shù)器2控制寄存器</p><p><b> 各符號的功能:</b></p>
47、<p> TF2:定時器2 溢出標(biāo)志位。必須軟件清“0”。RCLK=1 或TCLK=1 時,TF2不用置位。</p><p> EXF2:定時器2 外部標(biāo)志位。EXEN2=1 時,T2EX 上的負(fù)跳變而出現(xiàn)捕捉或重載時,EXF2 會被硬件置位。定時器2 打開,EXF2=1 時,將引導(dǎo)CPU執(zhí)行定時器2 中斷程序。EXF2 必須如見清“0”。在向下/向上技術(shù)模式(DCEN=1)下EXF2不能引起中斷
48、。</p><p> RLCLK:串行口接收數(shù)據(jù)時鐘標(biāo)志位。若RCLK=1,串行口將使用定時器2 溢出脈沖作為串行口工作模式1和3的串口接收時鐘;RCLK=0,將使用定時器1計(jì)數(shù)溢出作為串口接收時鐘。</p><p> TCLK:串行口發(fā)送數(shù)據(jù)時鐘標(biāo)志位。若TCLK=1,串行口將使用定時器2 溢出脈沖作為串行口工作模式1和3 的串口發(fā)送時鐘;TCLK=0,將使用定時器1計(jì)數(shù)溢出作為串口
49、發(fā)送時鐘。</p><p> EXEN2:定時器2外部允許標(biāo)志位。當(dāng)EXEN2=1時,如果定時器2沒有用作串行時鐘,T2EX(P1.1)的負(fù)跳變將引起定時器2捕捉和重載。若EXEN2=0,定時器2將視T2EX端的信號無效。</p><p> TR2:開始/停止控制定時器2。TR2=1,定時器2開始工作。</p><p> C/T2:定時器 2 定時/計(jì)數(shù)選擇標(biāo)
50、志位。C/T2 =0,定時;C/T2 =1,外部事件計(jì)數(shù)(下降沿觸發(fā))。</p><p> CP/RL2:捕捉/重載選擇標(biāo)志位。當(dāng)EXEN2=1時,CP/RL2=1,T2EX出現(xiàn)負(fù)脈沖,會引起捕捉操作;當(dāng)定時器2溢出或EXEN2=1時T2EX出現(xiàn)負(fù)跳變,都會出現(xiàn)自動重載操作。CP/RL2=0將引起T2EX的負(fù)脈沖。當(dāng)RCKL=1或TCKL=1時,此標(biāo)志位無效,定時器2溢出時,強(qiáng)制做自動重載操作。</p&g
51、t;<p><b> 存儲器</b></p><p> MCS-51器件有單獨(dú)的程序存儲器和數(shù)據(jù)存儲器。外部程序存儲器和數(shù)據(jù)存儲器都可以64K尋址。</p><p> 程序存儲器:如果EA引腳接地,程序讀取只從外部存儲器開始。對于89S52,如果EA接VCC,程序讀寫先從內(nèi)部存儲器(地址為0000H~1FFFH)開始,接著從外部尋址,尋址地址為:2
52、000H~FFFFH。</p><p> 數(shù)據(jù)存儲器:AT89S52有256字節(jié)片內(nèi)數(shù)據(jù)存儲器。高128 字節(jié)與特殊功能寄存器重疊。也就是說高128字節(jié)與特殊功能寄存器有相同的地址,而物理上是分開的。當(dāng)一條指令訪問高于7FH的地址時,尋址方式?jīng)Q定CPU訪問高128字節(jié)RAM 還是特殊功能寄存器空間。</p><p><b> 片上資源</b></p>
53、<p><b> 看門狗定時器</b></p><p> WDT是一種需要軟件控制的復(fù)位方式。WDT 由13位計(jì)數(shù)器和特殊功能寄存器中的看門狗定時器復(fù)位存儲器(WDTRST)構(gòu)成。WDT在默認(rèn)情況下無法工作;為了激活WDT,用戶必須往WDTRST寄存器(地址:0A6H)中依次寫入01EH和0E1H。當(dāng)WDT激活后,晶振工作,WDT在每個機(jī)器周期都會增加。WDT計(jì)時周期依賴于外
54、部時鐘頻率。除了復(fù)位(硬件復(fù)位或WDT溢出復(fù)位),沒有辦法停止WDT工作。當(dāng)WDT溢出,它將驅(qū)動RSR引腳一個高電平輸出。</p><p> WDT的使用為了激活WDT,用戶必須向WDTRST寄存器(地址為0A6H的SFR)依次寫入01EH和0E1H。當(dāng)WDT激活后,用戶必須向WDTRST寫入01EH和0E1H喂狗來避免WDT溢出。當(dāng)計(jì)數(shù)達(dá)到8191(1FFFH)時,13位計(jì)數(shù)器將會溢出,這將會復(fù)位器件。晶振正
55、常工作、WDT激活后,每一個機(jī)器周期WDT 都會增加。為了復(fù)位WDT,用戶必須向WDTRST 寫入01EH 和0E1H(WDTRST 是只讀寄存器)。WDT計(jì)數(shù)器不能讀或?qū)憽?lt;/p><p> 當(dāng)WDT計(jì)數(shù)器溢出時,將給RST引腳產(chǎn)生一個復(fù)位脈沖輸出[17],這個復(fù)位脈沖持續(xù)96個晶振周期(TOSC),其中TOSC=1/FOSC。為了很好地使用WDT,應(yīng)該在一定時間內(nèi)周期性寫入那部分代碼,以避免WDT復(fù)位。&l
56、t;/p><p> 掉電和空閑方式下的WDT在掉電模式下,晶振停止工作,這意味這WDT也停止了工作。在這種方式下,用戶不必喂狗。有兩種方式可以離開掉電模式:硬件復(fù)位或通過一個激活的外部中斷。通過硬件復(fù)位退出掉電模式后,用戶就應(yīng)該給WDT喂狗,就如同通常AT89S52 復(fù)位一樣。</p><p> 通過中斷退出掉電模式的情形有很大的不同。中斷應(yīng)持續(xù)拉低很長一段時間,使得晶振穩(wěn)定。當(dāng)中斷拉高后
57、,執(zhí)行中斷服務(wù)程序。為了防止WDT在中斷保持低電平的時候復(fù)位器件,WDT 直到中斷拉低后才開始工作。這就意味著WDT應(yīng)該在中斷服務(wù)程序中復(fù)位。</p><p> 為了確保在離開掉電模式最初的幾個狀態(tài)WDT不被溢出,最好在進(jìn)入掉電模式前就復(fù)位WDT。在進(jìn)入待機(jī)模式前,特殊寄存器AUXR的WDIDLE位用來決定WDT是否繼續(xù)計(jì)數(shù)。</p><p> 默認(rèn)狀態(tài)下,在待機(jī)模式下,WDIDLE=
58、0,WDT繼續(xù)計(jì)數(shù)。為了防止WDT在待機(jī)模式下復(fù)位AT89S52,用戶應(yīng)該建立一個定時器,定時離開待機(jī)模式,喂狗,再重新進(jìn)入待機(jī)模式。</p><p><b> 定時器0和定時器1</b></p><p> 在AT89S52中,定時器0和定時器1的操作與AT89C51和AT89C52一樣。</p><p><b> 定時器 2&
59、lt;/b></p><p> 定時器2是一個16位定時/計(jì)數(shù)器,它既可以做定時器,又可以做事件計(jì)數(shù)器。其工作方式由特殊寄存器T2CON中的C/T2位選擇,如表2所示:</p><p> 表2定時器2工作模式</p><p> 定時器2有三種工作模式:捕捉方式、自動重載(向下或向上計(jì)數(shù))和波特率發(fā)生器。如表3所示,工作模式由T2CON中的相關(guān)位選擇。定時
60、器2有2個8位寄存器:TH2和TL2。在定時工作方式中,每個機(jī)器周期,TL2寄存器都會加1。由于一個機(jī)器周期由12個晶振周期構(gòu)成,因此,計(jì)數(shù)頻率就是晶振頻率的1/12。</p><p> 捕捉方式在捕捉模式下,通過T2CON中的EXEN2來選擇兩種方式。如果EXEN2=0,定時器2時一個16位定時/計(jì)數(shù)器,溢出時,對T2CON的TF2標(biāo)志置位,TF2引起中斷。如果EXEN2=1,定時器2做相同的操作。除上述功能
61、外,外部輸入T2EX引腳(P1.1)1至0的下跳變也會使得TH2和TL2中的值分別捕捉到RCAP2H和RCAP2L中。除此之外,T2EX的跳變會引起T2CON中的EXF2置位。像TF2一樣,T2EX也會引起中斷。在計(jì)數(shù)工作方式下,寄存器在相關(guān)外部輸入角T2發(fā)生1至0的下降沿時增加1。在這種方式下,每個機(jī)器周期的S5P2期間采樣外部輸入。一個機(jī)器周期采樣到高電平,而下一個周期采樣到低電平,計(jì)數(shù)器將加1。在檢測到跳變的這個周期的S3P1 期
62、間,新的計(jì)數(shù)值出現(xiàn)在寄存器中。因?yàn)樽R別1-0的跳變需要2個機(jī)器周期(24個晶振周期),所以,最大的計(jì)數(shù)頻率不高于晶振頻率的1/24。為了確保給定的電平在改變前采樣到一次,電平應(yīng)該至少在一個完整的機(jī)器周期內(nèi)保持不變。</p><p> 自動重載當(dāng)定時器2工作于16位自動重載模式,可對其編程實(shí)現(xiàn)向上計(jì)數(shù)或向下計(jì)數(shù)。這一功能可以通過特殊寄存器T2MOD中的DCEN(向下計(jì)數(shù)允許位)來實(shí)現(xiàn)。通過復(fù)位,DCEN被置為0,
63、因此,定時器2 默認(rèn)為向上計(jì)數(shù)。DCEN設(shè)置后,定時器2就可以取決于T2EX向上、向下計(jì)數(shù)。</p><p> DCEN=0時,定時器2自動計(jì)數(shù)。通過T2CON中的EXEN2位可以選擇兩種方式。如果EXEN2=0,定時器2計(jì)數(shù),計(jì)到0FFFFH后置位TF2溢出標(biāo)志。計(jì)數(shù)溢出也使得定時器寄存器重新從RCAP2H和RCAP2L中加載16位值。定時器工作于捕捉模式,RCAP2H和RCAP2L的值可以由軟件預(yù)設(shè)。如果E
64、XEN2=1,計(jì)數(shù)溢出或在外部T2EX(P1.1)引腳上的1到0的下跳變都會觸發(fā)16位重載。這個跳變也置位EXF2中斷標(biāo)志位。T2EX上的一個邏輯0使得定時器2向下計(jì)數(shù)。當(dāng)TH2和TL2分別等于RCAP2H和RCAP2L中的值的時候,計(jì)數(shù)器下溢。計(jì)數(shù)器下溢,置位TF2,并將0FFFFH加載到定時器存儲器中。如圖6所示,置位DCEN,允許定時器2向上或向下計(jì)數(shù)。在這種模式下,T2EX引腳控制著計(jì)數(shù)的方向。T2EX上的一個邏輯1使得定時器2
65、向上計(jì)數(shù)。定時器計(jì)到0FFFFH溢出,并置位TF2。定時器的溢出也使得RCAP2H和RCAP2L中的16位值分別加載到定時器存儲器TH2和TL2中。</p><p> 定時器2上溢或下溢,外部中斷標(biāo)志位EXF2被鎖死。在這種工作模式下,EXF2不能觸發(fā)中斷。</p><p><b> 中斷源</b></p><p> AT89S52 有6
66、個中斷源:兩個外部中斷(INT0 和INT1),三個定時中斷(定時器0、1、2)和一個串行中斷。這些中斷如圖10所示每個中斷源都可以通過置位或清除特殊寄存器IE中的相關(guān)中斷允許控制位[18]分別使得中斷源有效或無效。IE還包括一個中斷允許總控制位EA,它能一次禁止所有中斷。</p><p> 定時器2可以被寄存器T2CON中的TF2和EXF2的或邏輯觸發(fā)。程序進(jìn)入中斷服務(wù)后,這些標(biāo)志位都可以由硬件清0。實(shí)際上,
67、中斷服務(wù)程序必須判定是否是TF2 或EXF2激活中斷,標(biāo)志位也必須由軟件清0。</p><p> 定時器0和定時器1標(biāo)志位TF0和TF1在計(jì)數(shù)溢出的那個周期的S5P2被置位。它們的值一直到下一個周期被電路捕捉下來。然而,定時器2的標(biāo)志位TF2 在計(jì)數(shù)溢出的那個周期的S2P2被置位,在同一個周期被電路捕捉下來。</p><p> 中斷允許控制位=1,允許中斷</p><
68、;p> 中斷允許控制位=0,禁止中斷</p><p> 表3 中斷允許控制寄存器</p><p><b> 2.2.2.鍵盤</b></p><p> 控制模塊是由鍵盤輸入,鍵盤是一組按鍵的集合,它是最常見的單片機(jī)輸入設(shè)備,是一種常開型按鈕開關(guān)。常態(tài)時,按鍵[10]的兩個觸點(diǎn)處于斷開狀態(tài),如圖3所示,鍵盤分為編碼鍵盤和非編碼鍵盤,
69、鍵盤上閉合鍵的識別由專門的硬件譯碼器實(shí)現(xiàn),并產(chǎn)生鍵編號或鍵值的稱為編碼鍵盤,如BCD碼鍵盤、ASCII碼鍵盤等;靠軟件識別的稱為非編碼鍵盤。</p><p> 圖3 常開型按鈕開關(guān)</p><p> 2.2.3時鐘電路模塊</p><p> 時鐘電路在單片機(jī)系統(tǒng)[9]中起著非常重要的作用,是保證系統(tǒng)正常工作的基礎(chǔ)。在一個單片機(jī)應(yīng)用系統(tǒng)中,時鐘是保障系統(tǒng)正常工作
70、的基準(zhǔn)振蕩定時信號,主要由晶振[19]和外圍電路組成,晶振頻率的大小決定了單片機(jī)系統(tǒng)工作的快慢。為達(dá)到振蕩周期是12MHZ的要求,這里要采用12MHZ的晶振,另外有兩個22P的電容,兩晶振引腳分別連到XTAL1和XTAL2振蕩脈沖輸入引腳。具體連接圖如圖4所示:</p><p><b> 圖4 晶振電路</b></p><p> 2.2.4 復(fù)位電路模塊</
71、p><p> 復(fù)位是單片機(jī)[11]的初始化操作,其主要功能是把PC初始化為0000H,使單片微機(jī)從0000H單元開始執(zhí)行程序。除進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序運(yùn)行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,可以按復(fù)位鍵以重新啟動,也可以通過監(jiān)視定時器來強(qiáng)迫復(fù)位。RST引腳是復(fù)位信號的輸入端。復(fù)位電路在這里采用的是上電+按鈕復(fù)位電路[13]形式,具體連接電路如圖5所示:</p><p&g
72、t;<b> 圖5 復(fù)位電路</b></p><p><b> 2.2.5顯示模塊</b></p><p> 本設(shè)計(jì)采用共陰極數(shù)碼[12]顯示器,通常,共陰極接低電平(一般接地),其它管腳接段驅(qū)動電路輸出端。當(dāng)某段驅(qū)動電路的輸出端為高電平時,該端所連接的字符導(dǎo)通并點(diǎn)亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。同樣,要求段驅(qū)動電路能
73、提供額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來確定相應(yīng)的限流電阻。本次設(shè)計(jì)在顯示模塊用到的是一個4位一體和2個兩位一體共陰極數(shù)碼管,共有8個代碼輸入口和8個位選輸入口,采用排阻提供上拉電流數(shù)碼管,以保證有足夠大的電流點(diǎn)亮數(shù)碼管,采用動態(tài)驅(qū)動,使各位數(shù)碼管逐個輪流受控顯示[20],這就是動態(tài)驅(qū)動,由于掃描速度極快,顯示效果與靜態(tài)驅(qū)動相同,其具體圖形如下圖6圖7所示:</p><p><b>
74、圖6 計(jì)時顯示器</b></p><p><b> 圖7 分?jǐn)?shù)顯示器</b></p><p><b> 2.2.6報警模塊</b></p><p> 蜂鳴器通過一NPN三極管[3]進(jìn)行驅(qū)動,如圖8所示,觸發(fā)信號有基極引入。</p><p><b> 圖8 報警電路<
75、;/b></p><p> 2.3總硬件電路設(shè)計(jì)</p><p><b> 圖9 硬件電路設(shè)計(jì)</b></p><p><b> 2.4本章小結(jié)</b></p><p> 本章主要是對本設(shè)計(jì)所采取的設(shè)計(jì)方案和所運(yùn)用的芯片、模塊以及電路設(shè)計(jì)的原理作主要的介紹和說明,包括AT89S52、按
76、鍵、振蕩電路、報警電路、復(fù)位電路以及總電路圖的設(shè)計(jì)。</p><p> AT89S52S是一個低功耗,高性能CMOS8位單片機(jī),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強(qiáng)大,為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。所以在這個芯片上加上按鍵、報警模塊等就把整個設(shè)計(jì)給模塊化,使后面的設(shè)計(jì)更加便捷、清晰。</p>&
77、lt;p><b> 3 軟件設(shè)計(jì)</b></p><p> 在設(shè)計(jì)程序之前,我們首先要對單片機(jī)應(yīng)用系統(tǒng)預(yù)完成的任務(wù)進(jìn)行深入的分析,明確系統(tǒng)的設(shè)計(jì)任務(wù)、功能要求和技術(shù)指標(biāo)。其次,要對系統(tǒng)的硬件資源和工作環(huán)境進(jìn)行分析,這是單片機(jī)應(yīng)用系統(tǒng)程序設(shè)計(jì)的基礎(chǔ)和條件。</p><p> 3.1 軟件總體設(shè)計(jì)方案</p><p> 本次單片機(jī)課程
78、設(shè)計(jì)軟件設(shè)計(jì)部分采用模塊化程序設(shè)計(jì),程序部分由主程序、T0中斷程序、掃描顯示子程序、計(jì)時加(減)1秒的子程序、暫停子程序、快表和回表子程序、延時子程序等組成,其程序流程圖如圖10圖11所示。</p><p> 圖10 主程序流程圖</p><p> 圖11掃描刷新顯示子程序流程圖</p><p><b> 3.2 程序設(shè)計(jì)</b><
79、/p><p> 軟件設(shè)計(jì)部分采用模塊化程序設(shè)計(jì),用C語言[7]編寫。Keil[14]是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會到Keil C51[23]
80、生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。</p><p> 程序部分由主程序、T0中斷程序、掃描顯示子程序、計(jì)時加減1秒的子程序、暫停子程序、快表和回表子程序、延時子程序等組成。具體程序見附錄。</p><p><b> 3.3本章小結(jié)</b></p><p> 本章主要
81、是針對上一章的模塊介紹和電路圖設(shè)計(jì)作了軟件設(shè)計(jì),根據(jù)設(shè)計(jì)任務(wù)、功能要求和技術(shù)指標(biāo)對系統(tǒng)的硬件資源和工作環(huán)境進(jìn)行分析,利用KEIL軟件對系統(tǒng)設(shè)計(jì)進(jìn)行程序編程,包括主程序、T0中斷程序、掃描顯示子程序、計(jì)時加(減)1秒的子程序、暫停子程序、快表和回表子程序、延時子程序等組成。</p><p> 4 PROTEUS仿真</p><p> 4.1 PROTEUS簡介</p>&l
82、t;p> Proteus[4] 是英國Labcenter公司開發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點(diǎn)是: ①實(shí)現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232動態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信
83、號發(fā)生器等。 ②支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:ARM7(LPC21xx)、 8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以及多種外圍芯片。 ③提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時可以觀察各個變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2
84、、MPLAB等軟件。 ④具有強(qiáng)大的原理圖繪制功能??傊?,該軟件是一款集單片機(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大。 </p><p><b> 4.2仿真過程</b></p><p> 接通電源,計(jì)時顯示即開始倒計(jì)時工作,上半場指示燈亮,計(jì)時初始設(shè)計(jì)為2分鐘,如圖12所示,按下加分鍵實(shí)現(xiàn)對甲、乙兩隊(duì)分別加分,每按下一次加1分,如圖13所示.&
85、lt;/p><p><b> 圖12 初始時間</b></p><p><b> 圖13 按鍵加分</b></p><p> 同樣可實(shí)現(xiàn)甲、乙兩隊(duì)的減分如圖14所示,按下暫停/啟動鍵可實(shí)現(xiàn)暫停和啟動。 </p><p><b> 圖14 按鍵減分</b></p>
86、;<p> 上半場結(jié)束后,停止計(jì)時,蜂鳴器報警,報警結(jié)束后按下暫停\啟動按鍵啟動下半場計(jì)時,同時可實(shí)現(xiàn)甲隊(duì)和乙隊(duì)交換分?jǐn)?shù),下半場指示燈亮,如圖15所示。</p><p> 圖15 下半場交換比分</p><p> 當(dāng)下半場也結(jié)束時,上、下半場的指示燈同時亮,蜂鳴器響,如圖16所示。</p><p> 圖 16 全場結(jié)束兩二極管發(fā)光</p&
87、gt;<p><b> 4.3本章小結(jié)</b></p><p> 本章主要是針對前兩章的硬件和軟件的設(shè)計(jì)進(jìn)行仿真,利用Protues軟件繪制電路圖并仿真,計(jì)時顯示即開始倒計(jì)時工作,上半場指示燈亮,計(jì)時初始設(shè)計(jì)為2分鐘,按下加分鍵實(shí)現(xiàn)對甲、乙兩隊(duì)分別加分,每按下一次加1分,同樣也可實(shí)現(xiàn)甲、乙兩隊(duì)的減分,按下暫停/啟動鍵可實(shí)現(xiàn)暫停和啟動。上半場結(jié)束后,停止計(jì)時,蜂鳴器報警,報警
88、結(jié)束后按下暫停\啟動按鍵啟動下半場計(jì)時,同時可實(shí)現(xiàn)甲隊(duì)和乙隊(duì)交換分?jǐn)?shù),下半場指示燈亮,當(dāng)下半場也結(jié)束時,上、下半場的指示燈同時亮,蜂鳴器響,仿真完成。</p><p><b> 結(jié)論</b></p><p> 幾個月以來,通過對本設(shè)計(jì)的研究,我在理論的基礎(chǔ)上更深刻的掌握了單片機(jī)的深層內(nèi)容及實(shí)際生活中的應(yīng)用,也鍛煉了自己動手能力和思維能力,還有在軟件方面的編程能力,
89、讓我受益匪淺,同時也暴露出一些平時學(xué)習(xí)上的問題,讓我深刻反思。這些問題的發(fā)現(xiàn)將為我以后的學(xué)習(xí)和工作找明道路,查漏補(bǔ)缺為進(jìn)一步學(xué)習(xí)作好準(zhǔn)備。</p><p> 本設(shè)計(jì)是基于AT89S52單片機(jī)的籃球計(jì)時計(jì)分器,利用7段共陽極LED作為顯示器件。在此設(shè)計(jì)中共接入了2個四位一體7段共陽極LED顯示器,其中一個四位一體7段共陽極LED顯示器的前2位用于顯示分鐘,后2位用于顯示秒鐘,另一個四位一體7段共陽極LED顯示器的
90、前兩位和后兩位分別用于記錄甲乙隊(duì)的分?jǐn)?shù),每隊(duì)2個LED顯示器顯示范圍可達(dá)到0~99分。賽程計(jì)時采用倒計(jì)時方式,比賽開始時啟動計(jì)時,直至計(jì)時到零為止。</p><p> 通過對本系統(tǒng)的設(shè)計(jì),讓我更熟悉掌握了Keil uVision3, proteus 這些應(yīng)用程序的運(yùn)用,讓我懂得了如何編寫一些簡單的程序,學(xué)會了如何制作單片機(jī)應(yīng)用程序,還有焊接和程序下載,但在中間暴露出很多問題:對平時上課講的理論知識沒有完全掌握消
91、化,到了實(shí)際操作中還得請教同學(xué),在焊接中焊接的基本工夫掌握不到家,手上工夫還是很欠缺的,使得電路板不是很美觀。</p><p> 另外,本設(shè)計(jì)雖然已經(jīng)實(shí)現(xiàn)了時間的倒計(jì)時、回表、快進(jìn),以及兩隊(duì)的加分和減分,但現(xiàn)在籃球比賽的每一次進(jìn)攻都是24秒制的,因此,這一點(diǎn)是一個很大的缺陷,希望在以后對此系統(tǒng)進(jìn)行進(jìn)一步完善。</p><p> 同時,做設(shè)計(jì)的這幾個月翻閱了很多書,也上了很多網(wǎng)站去尋找自
92、己需要的資料。這種尋找有很強(qiáng)的目的性,只是為了自己選定的課題內(nèi)容而查閱,所以除了自己設(shè)計(jì)以外的其他方面幾乎還是一無所知。這讓我深刻的認(rèn)識到了自己專業(yè)知識的貧乏。為我對自己以后生活的規(guī)劃敲響了警鐘。我對單片機(jī)的學(xué)習(xí)不會因?yàn)楸驹O(shè)計(jì)的結(jié)束而結(jié)束,在接觸的眾多資料里,做設(shè)計(jì)只是走馬觀花般的點(diǎn)到,希望以后能夠進(jìn)行更系統(tǒng)的學(xué)習(xí)。</p><p> 這些問題的發(fā)現(xiàn),有助于提高我在以后的工作和學(xué)習(xí)中對此類問題的認(rèn)識,確保不在同
93、一問題上再次犯錯。嚴(yán)謹(jǐn)求實(shí)、踏實(shí)務(wù)實(shí),是我這次設(shè)計(jì)的深刻總結(jié)。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]樓然苗.單片機(jī)課程設(shè)計(jì)指導(dǎo)[M].北京:北京航空航天大學(xué)出版社.2007</p><p> [2]何立民.單片機(jī)實(shí)驗(yàn)與實(shí)踐教程[M].北京:北京航空航天大學(xué)出版社.2004</p><p&
94、gt; [3]童詩白.模擬電子技術(shù)基礎(chǔ)[M].北京:北京高等教育出版社.2001</p><p> [4]代啟化.基于Proteus的電路設(shè)計(jì)與仿真[J].現(xiàn)代電子技術(shù).2006(19)</p><p> [5]張俊謨.單片機(jī)中級教程[M].北京:北京航空航天大學(xué)出版社.1999</p><p> [6]余永權(quán). Flash單片機(jī)原理及應(yīng)用[M].北京:電子
95、工業(yè)出版社.1997</p><p> [7]唐國紅.基于VC++的單片機(jī)編程器軟件的設(shè)計(jì)[J].現(xiàn)代電子技術(shù).2007(08)</p><p> [8]余發(fā)山,單片機(jī)原理及應(yīng)用技術(shù):中國礦業(yè)大學(xué)出社.2003</p><p> [9] 河南理工大學(xué)電氣學(xué)院:單片機(jī)實(shí)驗(yàn)報告指導(dǎo)冊.2008</p><p> [10]劉法治,常用電子器
96、件及典型芯片應(yīng)用技術(shù):機(jī)械工業(yè)出版社.2007</p><p> [11]何立民,MSC--51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì):北京航空航天大學(xué)出版社.1993</p><p> [12]荀殿棟.數(shù)字電路設(shè)計(jì)實(shí)用手冊.北京:電子工業(yè)出版社,2003.</p><p> [13] Vizimuller. RF design guide-systems, circuits
97、, and equations [M]. Boston:Artech House.1995</p><p> [14] Keil Software. The Final World On the 8051[M]. Germany:Keil Elektronik Gmbh and Keil software.1997</p><p> [15]Atmel Microcontroller
98、Handbook.2001</p><p> [16] B.Peter,J.Meehan,D.Miller.Sensor link protocol:linking sensor systems to the digital battlefield.Military Communications Conference,MILCOM 98.Proceedings IEEE,1998:919~923.</p&
99、gt;<p> [17] V.Ajay Kumar.Overcoming data corruption in RS-485 communication.Electromagnetic Interference and Compatibility,1995,vol.3:9~12. [18]Li.Dongsheng.A design of a low cost high precision data acquisiti
100、on system.Intelligent Control and Automation.2002.vol.4:2996~2999. [19]H.Fujita.Environmental sensor.Instrumentation and Measurement Technology Conference,Advanced Technologies in I & M.IEEE,1994:1513~1514. [20]Q
101、ian Dong,Jianying Xie.Field network implementation based on RS-485.Intelligent C</p><p> [22](英)Ian Graham. Object-Oriented Methods: Principles&Practice. Third Edition. Pearson Education. 2003</p>
102、<p> [23]李春葆等.Visual Basic程序設(shè)計(jì).北京:清華大學(xué)出版設(shè).2005</p><p><b> 致謝</b></p><p> 本設(shè)計(jì)在老師的悉心指導(dǎo)和嚴(yán)格要求下業(yè)已完成,從題目選擇到具體的寫作過程,無不凝聚著老師的心血和汗水,在我的畢設(shè)期間,老師為我提供了種種專業(yè)知識上的指導(dǎo)和一些富于創(chuàng)造性的建議,沒有這樣的幫助和關(guān)懷,我
103、不會這么順利的完成任務(wù)。在此我向老師表示深深的感謝和崇高的敬意。您嚴(yán)肅的科學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),深深地感染和激勵著我。從題目的選擇到項(xiàng)目的最終完成,您都始終給予我細(xì)心的指導(dǎo)和不懈的支持。這些天以來,您不僅在學(xué)業(yè)上給我以精心指導(dǎo),同時還在思想、生活上給我以無微不至的關(guān)懷,在此謹(jǐn)向你們致以誠摯的謝意和崇高的敬意。 在此,我還要感謝在一起愉快的度過室友,正是由于你們的幫助和支持,我才能克服一個一個的困難和
104、疑惑,直至本文的順利完成。</p><p> 在論文即將完成之際,從開始進(jìn)入課題到論文的順利完成,有多少可敬的老師、同學(xué)、朋友給了我無言的幫助,在這里請接受我誠摯的謝意!謝謝你們!</p><p><b> 附錄一</b></p><p> #include <REGX51.H> </p><p>
105、; code unsigned seg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};</p><p> int m=2,n=0;//計(jì)時m為分,n為秒</p><p> int x=0,y=0;//甲乙兩隊(duì)得分</p><p> int i=0,j=0,jie=2,zidong=1,buj
106、in=1,zanting=0;</p><p> int chuzanting=0;</p><p> /*************延時********************/</p><p> void delay(int t) </p><p><b> {</b></p&g
107、t;<p> while(t--)</p><p><b> {</b></p><p> unsigned int i;</p><p> for(i=0;i<200;i++);</p><p><b> }</b></p><p><b
108、> }</b></p><p> /**********數(shù)碼管動態(tài)顯示*************/ </p><p> void display(int i,int j,int x,int y) </p><p><b> {</b></p><p> if(jie==1&&
109、;bujin!=2) //中間變量jie==1時,為上半場,對P1賦值</p><p> P1=0xbf; //P1=0xbf, 即P1=1011 1111B,點(diǎn)亮對應(yīng)上半場指示燈</p><p> P2=0xfe; //數(shù)碼管動態(tài)刷新顯示程序 P2=1111 1110,i為分鐘</p><p>
110、 P0=seg[i%100/10]; //刷新顯示時間顯示分鐘十位,調(diào)用延時程序,</p><p> delay(1); //延時數(shù)碼管的點(diǎn)亮</p><p><b> P2=0xff;</b></p><p><b> P0=0;</b></p>&l
111、t;p> P2=0xfd; //同理,動態(tài)刷新時分鐘個位并延時點(diǎn)亮</p><p> P0=seg[i%10];</p><p><b> delay(1);</b></p><p><b> P2=0xff;</b></p><p><b>
112、 P0=0;</b></p><p> P2=0xfb; //同理,動態(tài)刷新時秒鐘十位并延時點(diǎn)亮</p><p> P0=seg[j%100/10];</p><p><b> delay(1);</b></p><p><b> P0=0;</b>
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于51單片機(jī)的籃球比賽計(jì)分計(jì)時器設(shè)計(jì)畢業(yè)論文
- 畢業(yè)設(shè)計(jì)論文--基于單片機(jī)的紅外計(jì)時器
- 基于51單片機(jī)的籃球計(jì)時計(jì)分器畢業(yè)論文
- 基于單片機(jī)的紅外計(jì)時器
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的籃球記分器設(shè)計(jì)
- 基于51單片機(jī)的籃球記分牌設(shè)計(jì)畢業(yè)論文
- 畢業(yè)設(shè)計(jì)---單片機(jī)籃球記分器
- 畢業(yè)設(shè)計(jì)單片機(jī)籃球記分器
- 基于at89s51單片機(jī)籃球比賽計(jì)時器的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---籃球比賽計(jì)分計(jì)時器
- 基于at89s52單片機(jī)的數(shù)字倒計(jì)時器設(shè)計(jì)畢業(yè)論文
- 基于c語言單片機(jī)倒數(shù)計(jì)時器設(shè)計(jì)
- 基于at89s51單片機(jī)籃球比賽計(jì)時器的設(shè)計(jì)
- -基于單片機(jī)的籃球計(jì)時計(jì)分器設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的籃球計(jì)時計(jì)分器設(shè)計(jì)
- 基于單片機(jī)的籃球比賽記分器的設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 籃球計(jì)時器的畢業(yè)的設(shè)計(jì)
- 基于單片機(jī)的籃球計(jì)時計(jì)分器設(shè)計(jì)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-單片機(jī)電秒計(jì)時器
- 基于avr單片機(jī)的電子計(jì)時器軟硬件設(shè)計(jì)
評論
0/150
提交評論