版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 基于單片機(jī)的籃球記分計(jì)時(shí)器的系統(tǒng)設(shè)計(jì)</p><p><b> 學(xué)生姓名: </b></p><p><b> 學(xué)生學(xué)號(hào):</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、論文一并裝訂,作為論文評(píng)分依據(jù)之。</p><p><b> 摘要</b></p><p> 本設(shè)計(jì)是基于單片機(jī)AT89S52的籃球計(jì)分計(jì)時(shí)器,利用七段共陰LED作為顯示器件。在此設(shè)計(jì)中共接入了2個(gè)四位一體7段共陰LED顯示器,1個(gè)四位一體七段共陰LED顯示器,用來記錄賽程時(shí)間,另一個(gè)顯示器的前兩位和后兩位分別記錄兩隊(duì)的分?jǐn)?shù),顯示范圍可達(dá)到0~99分。賽程計(jì)時(shí)采用
4、倒計(jì)時(shí)方式,比賽開始時(shí)啟動(dòng)計(jì)時(shí),當(dāng)記時(shí)為0時(shí),指示燈亮,蜂鳴器響。</p><p> 關(guān)鍵詞:AT89S52 控制電路 報(bào)警電路 數(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背景知識(shí)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簡(jiǎn)介4</p>
10、<p> 2.2.2鍵盤10</p><p> 2.2.3時(shí)鐘電路模塊11</p><p> 2.2.4復(fù)位電路模塊11</p><p> 2.2.5顯示模塊12</p><p> 2.2.6報(bào)警模塊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簡(jiǎn)介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í)代的到來,電子技術(shù)在社會(huì)生活中發(fā)揮著越來越重要的作用,運(yùn)用單片機(jī)知識(shí)設(shè)計(jì)的電
14、子產(chǎn)品成為了社會(huì)生活不可缺少的一部分,特別是在各種競(jìng)技運(yùn)動(dòng)中,計(jì)時(shí)器成為檢驗(yàn)運(yùn)動(dòng)員成績(jī)的一個(gè)重要工具。在許多領(lǐng)域中,計(jì)時(shí)器均得到普遍應(yīng)用,諸如在體育比賽,定時(shí)報(bào)警器、游戲中的倒時(shí)器,交通信號(hào)燈、紅綠燈、行人燈,由此可見計(jì)時(shí)器在現(xiàn)代社會(huì)是何其重要的。</p><p> 單片機(jī)[1],亦稱單片微電腦或單片微型計(jì)算機(jī)。它是把中央處理器(CPU)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、輸入/輸出端口(I/0)
15、等主要計(jì)算機(jī)功能部件都集成在一塊集成電路芯片上的微型計(jì)算機(jī)。</p><p> 本設(shè)計(jì)是單片機(jī)的簡(jiǎn)單應(yīng)用[2],設(shè)計(jì)了基于單片機(jī)的籃球記時(shí)計(jì)分器的系統(tǒng)設(shè)計(jì)。此設(shè)計(jì)功能齊全,包括記時(shí)、計(jì)分系統(tǒng)以及報(bào)警系統(tǒng),是應(yīng)用了七段共陰極數(shù)碼管來顯示。控制系統(tǒng)有啟動(dòng)、暫停、加分、減分以及時(shí)間的快進(jìn)與回表功能,可以方便地實(shí)現(xiàn)藍(lán)去比賽的記時(shí)計(jì)分功能,當(dāng)計(jì)時(shí)遞減到零時(shí),記時(shí)數(shù)碼管會(huì)顯示00,同時(shí)上下半場(chǎng)的二極管發(fā)光、蜂鳴器響。<
16、;/p><p> 本設(shè)計(jì)完成的中途計(jì)時(shí)功能,為了實(shí)現(xiàn)在許多的特定場(chǎng)合進(jìn)行記時(shí)計(jì)分的應(yīng)用做了堅(jiān)實(shí)的基礎(chǔ),在社會(huì)生活中具有廣泛的應(yīng)用價(jià)值。 此計(jì)時(shí)器的設(shè)計(jì)采用模塊化結(jié)構(gòu),主要由以下4個(gè)組成,即最小系統(tǒng)模塊、控制模塊、報(bào)警模塊以及記時(shí)、計(jì)分?jǐn)?shù)碼管顯示模塊。因而采用模塊化的設(shè)計(jì)思想,使設(shè)計(jì)起來更加簡(jiǎn)單、方便、快捷。</p><p><b> 1 緒論</b></p&
17、gt;<p><b> 1.1背景知識(shí)</b></p><p> 體育比賽計(jì)時(shí)計(jì)分系統(tǒng)是對(duì)體育比賽過程中所產(chǎn)生的時(shí)間,比分等數(shù)據(jù)進(jìn)行快速采集記錄,加工處理,傳遞利用的信息系統(tǒng)。根據(jù)不同運(yùn)動(dòng)項(xiàng)目的不同比賽規(guī)則要求,體育比賽的計(jì)時(shí)計(jì)分系統(tǒng)包括測(cè)量類[21],評(píng)分類,命中類,制勝類得分類等多種類型。</p><p> 籃球比賽是根據(jù)運(yùn)動(dòng)隊(duì)在規(guī)定的比賽時(shí)間
18、里得分多少來決定勝負(fù)的,因此,籃球比賽的計(jì)時(shí)計(jì)分系統(tǒng)是一種得分類型的系統(tǒng)。籃球比賽的計(jì)時(shí)計(jì)分系統(tǒng)由計(jì)時(shí)器,計(jì)分器等多種電子設(shè)備組成,同時(shí),根據(jù)目前高水平籃球比賽要求,完善的籃球比賽計(jì)時(shí)計(jì)分系統(tǒng)設(shè)備應(yīng)能夠與現(xiàn)場(chǎng)成績(jī)處理,現(xiàn)場(chǎng)大屏幕,電視轉(zhuǎn)播車等多種設(shè)備相聯(lián),以便實(shí)現(xiàn)高比賽現(xiàn)場(chǎng)感,表演娛樂觀眾等功能目標(biāo)。</p><p> 由于單片機(jī)的集成度高,功能強(qiáng),通用性好,特別是它具有體積小,重量輕,能耗低,價(jià)格便宜,可靠性
19、高,抗干擾能力強(qiáng)和使用方便等獨(dú)特的優(yōu)點(diǎn),使單片機(jī)迅速得到了推廣應(yīng)用,目前已經(jīng)成為測(cè)量控制應(yīng)用系統(tǒng)中的優(yōu)選機(jī)種和新電子產(chǎn)品的關(guān)鍵部位。世界各大電氣廠家,測(cè)控技術(shù)企業(yè),機(jī)電行業(yè),競(jìng)相把單片機(jī)應(yīng)用于產(chǎn)品更新,作為實(shí)現(xiàn)數(shù)字化,智能化的核心部件?;@球計(jì)時(shí)計(jì)分器就是以單片機(jī)為核心的計(jì)時(shí)計(jì)分系統(tǒng),由計(jì)時(shí)器,計(jì)分器,綜合控制器和24秒控制器等組成。</p><p><b> 1.2 設(shè)計(jì)內(nèi)容</b><
20、;/p><p> 本設(shè)計(jì)是基于AT89S52單片機(jī)的籃球計(jì)分計(jì)時(shí)器的設(shè)計(jì),利用7段共陰極LED作為顯示器件。在此設(shè)計(jì)中共接入了2個(gè)四位一體7段共陰極LED顯示器,其中一個(gè)四位一體7段共陰極LED顯示器的前2位用于顯示分鐘,后2位用于顯示秒鐘,另一個(gè)四位一體7段共陰極LED顯示器的前兩位和后兩位分別用于記錄甲乙隊(duì)的分?jǐn)?shù),每隊(duì)2個(gè)LED顯示器顯示范圍可達(dá)到0~99分。賽程計(jì)時(shí)采用倒計(jì)時(shí)方式,比賽開始時(shí)啟動(dòng)計(jì)時(shí),直至計(jì)時(shí)
21、到零為止。</p><p> 其次,為了配合計(jì)時(shí)器和計(jì)分器校正調(diào)整時(shí)間和比分,我們特定在本設(shè)計(jì)中設(shè)立了7個(gè)按鍵,用于設(shè)置,調(diào)整時(shí)間,啟動(dòng),調(diào)整分?jǐn)?shù)和暫停等功能。采用單片機(jī)控制是這個(gè)系統(tǒng)按鍵操作使用簡(jiǎn)潔,LED顯示,安裝方便。</p><p> 1.3設(shè)計(jì)任務(wù)和要求</p><p> 任務(wù): 設(shè)計(jì)一個(gè)用于賽場(chǎng)的籃球計(jì)時(shí)計(jì)分器系統(tǒng)。</p><
22、p> 要求: 1、能記錄整個(gè)賽程的比賽時(shí)間,并能隨時(shí)實(shí)現(xiàn)暫停。 </p><p> 2、能隨時(shí)刷新甲、乙兩隊(duì)在整個(gè)過程中的比分。 </p><p> 3、中場(chǎng)交換比賽場(chǎng)地時(shí),能自動(dòng)交換甲、乙兩隊(duì)比分的位置。
23、 </p><p> 4、比賽中場(chǎng)和結(jié)束時(shí),能發(fā)出報(bào)警聲。</p><p> 5、通過指示燈指示上下半場(chǎng)。</p><p> 6、當(dāng)比賽時(shí)間需要回倒時(shí),能通過按鍵實(shí)現(xiàn)回表。</p><p> 7、加分有誤時(shí)可通過按鍵實(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ì)報(bào)告的方法。此次設(shè)計(jì)很好的將書本上的理論知識(shí)和實(shí)踐有機(jī)的聯(lián)系了起來,是我們對(duì)理論知識(shí)有了更進(jìn)一步的掌握,鍛煉了我們的動(dòng)手能力,同時(shí)也讓我們懂得了理論與實(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ì)時(shí)計(jì)分器系統(tǒng)主要包括單片機(jī)控制系統(tǒng)[5]、計(jì)時(shí)顯示模塊、計(jì)分顯示模塊、定時(shí)報(bào)警,按鍵控制鍵盤模塊。通過這幾個(gè)模塊的協(xié)調(diào)工作就可以完成相應(yīng)的計(jì)時(shí)計(jì)分控制和顯示功能。這四個(gè)模塊的相互連接如圖1所示:</p&
26、gt;<p> 圖1 系統(tǒng)總體方案設(shè)計(jì)</p><p> 本設(shè)計(jì)是基于AT89S52單片機(jī)[6]的籃球計(jì)時(shí)計(jì)分器,利用7段共陰極LED數(shù)碼管作為顯示器。在此設(shè)計(jì)中共接入了2個(gè)四位一體7段共陰極LED顯示器,其中一個(gè)四位一體7段共陰極LED顯示器的前2位用于顯示分鐘,后2位用于顯示秒鐘,另一個(gè)四位一體7段共陰極LED顯示器的前兩位和后兩位分別用于記錄甲乙隊(duì)的分?jǐn)?shù),每隊(duì)2個(gè)LED顯示器顯示范圍可達(dá)到
27、0~99分。賽程計(jì)時(shí)采用倒計(jì)時(shí)方式,比賽開始時(shí)啟動(dòng)計(jì)時(shí),直至計(jì)時(shí)到零為止。</p><p> 2.2 硬件電路系統(tǒng)設(shè)計(jì)</p><p> 2.2.1單片機(jī)AT89S52簡(jiǎn)介</p><p> AT89S52[8]是一個(gè)低功耗,高性能CMOS8位單片機(jī),片內(nèi)含8kBytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flas
28、h只讀程序存儲(chǔ)器,器件采用ATMEL[15]公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S52可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。 AT89S52如圖2所示,具有如下特點(diǎn):40個(gè)引腳,8k Bytes Flash片內(nèi)</p><p> 圖 2
29、 AT89S52單片機(jī)引腳圖</p><p> 程序存儲(chǔ)器256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器.此模塊電路包括時(shí)鐘電路模塊,復(fù)位電路模塊及報(bào)警顯示模塊。 </p><p><b> 主要性能<
30、/b></p><p> 1、與MCS-51單片機(jī)產(chǎn)品兼容;</p><p> 2、8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器;</p><p> 3、1000次擦寫周期;</p><p> 4、全靜態(tài)操作:0Hz-33MHz;</p><p> 5、三級(jí)加密程序存儲(chǔ)器;</p><p&g
31、t; 6、32個(gè)可編程I/O口線;</p><p> 7、三個(gè)16位定時(shí)器/計(jì)數(shù)器;</p><p><b> 8、六個(gè)中斷源;</b></p><p> 9、低功耗空閑和掉電模式;</p><p> 10、掉電后中斷可喚醒;</p><p> 11、看門狗定時(shí)器;</p>
32、<p><b> 引腳說明</b></p><p> AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程AT89S52引腳圖DIP封裝Flash存儲(chǔ)器。使用Atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(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口線,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方
34、式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。</p><p> P0 口:P0口是一個(gè)8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0不具有內(nèi)部上拉電阻。在flash編程時(shí),P0口也用來接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令
35、字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。</p><p> P1 口:P1口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P1輸出緩沖器能驅(qū)動(dòng)4個(gè) TTL邏輯電平。</p><p> 此外,P1.0和P1.1分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和定時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX)。在flash編程和校驗(yàn)時(shí),P1口接收低8位地址字節(jié)。</p><
36、;p><b> 引腳號(hào)第二功能:</b></p><p> P1.0 T2(定時(shí)器/計(jì)數(shù)器T2的外部計(jì)數(shù)輸入),時(shí)鐘輸出</p><p> P1.1 T2EX(定時(shí)器/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號(hào)和方向控制)</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口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O口,P2輸出緩沖器能驅(qū)動(dòng),4個(gè)TTL邏輯電平。對(duì)P2端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如
38、執(zhí)行MOVX @DPTR)時(shí),P2口送出高八位地址。在這種應(yīng)用中,P2口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX @RI)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的內(nèi)容。在flash編程[22]和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。</p><p> P3 口:P3口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P3輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。P3口亦作為AT89S52特殊功能(
39、第二功能)使用,如下表所示。在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。</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(定時(shí)/計(jì)數(shù)器0)</p><p> P3.5 T1(定時(shí)/計(jì)數(shù)器1)</p><p> P3.6 WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)</p><p> P3.7 RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)</p><p> 此外,P3口還接收一些用
41、于FLASH閃存編程和程序校驗(yàn)的控制信號(hào)。</p><p> RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將是單片機(jī)復(fù)位。</p><p> ALE/PROG:當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:
42、每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過一個(gè)ALE脈沖。對(duì)FLASH存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無效。</p><p> PSEN:程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選
43、通信號(hào)[16],當(dāng)AT89S52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖,在此期間,當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器,將跳過兩次PSEN信號(hào)。</p><p> EA/VPP:外部訪問允許,欲使CPU僅訪問外部程序存儲(chǔ)器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU
44、則執(zhí)行內(nèi)部程序存儲(chǔ)器的指令。FLASH存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。</p><p> XTAL1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。</p><p> XTAL2:振蕩器反相放大器的輸出端。</p><p><b> 寄存器</b></p>&
45、lt;p> 并不是所有的地址都被定義了。片上沒有定義的地址是不能用的。讀這些地址,一般將得到一個(gè)隨機(jī)數(shù)據(jù);寫入的數(shù)據(jù)將會(huì)無效。用戶不應(yīng)該給這些未定義的地址寫入數(shù)據(jù)“1”。由于這些寄存器在將來可能被賦予新的功能,復(fù)位后,這些位都為“0”。</p><p> 定時(shí)器2寄存器:寄存器T2CON和T2MOD包含定時(shí)器2的控制位和狀態(tài)位,寄存器對(duì)RCAP2H和RCAP2L是定時(shí)器2的捕捉/自動(dòng)重載寄存器。<
46、/p><p> 中斷寄存器:各中斷允許位在IE寄存器中,六個(gè)中斷源的兩個(gè)優(yōu)先級(jí)也可在IE中設(shè)置。</p><p> T2CON 地址為0C8H 復(fù)位值:0000 0000B位可尋址</p><p> 表1 T2CON:定時(shí)器/計(jì)數(shù)器2控制寄存器</p><p><b> 各符號(hào)的功能:</b></p>
47、<p> TF2:定時(shí)器2 溢出標(biāo)志位。必須軟件清“0”。RCLK=1 或TCLK=1 時(shí),TF2不用置位。</p><p> EXF2:定時(shí)器2 外部標(biāo)志位。EXEN2=1 時(shí),T2EX 上的負(fù)跳變而出現(xiàn)捕捉或重載時(shí),EXF2 會(huì)被硬件置位。定時(shí)器2 打開,EXF2=1 時(shí),將引導(dǎo)CPU執(zhí)行定時(shí)器2 中斷程序。EXF2 必須如見清“0”。在向下/向上技術(shù)模式(DCEN=1)下EXF2不能引起中斷
48、。</p><p> RLCLK:串行口接收數(shù)據(jù)時(shí)鐘標(biāo)志位。若RCLK=1,串行口將使用定時(shí)器2 溢出脈沖作為串行口工作模式1和3的串口接收時(shí)鐘;RCLK=0,將使用定時(shí)器1計(jì)數(shù)溢出作為串口接收時(shí)鐘。</p><p> TCLK:串行口發(fā)送數(shù)據(jù)時(shí)鐘標(biāo)志位。若TCLK=1,串行口將使用定時(shí)器2 溢出脈沖作為串行口工作模式1和3 的串口發(fā)送時(shí)鐘;TCLK=0,將使用定時(shí)器1計(jì)數(shù)溢出作為串口
49、發(fā)送時(shí)鐘。</p><p> EXEN2:定時(shí)器2外部允許標(biāo)志位。當(dāng)EXEN2=1時(shí),如果定時(shí)器2沒有用作串行時(shí)鐘,T2EX(P1.1)的負(fù)跳變將引起定時(shí)器2捕捉和重載。若EXEN2=0,定時(shí)器2將視T2EX端的信號(hào)無效。</p><p> TR2:開始/停止控制定時(shí)器2。TR2=1,定時(shí)器2開始工作。</p><p> C/T2:定時(shí)器 2 定時(shí)/計(jì)數(shù)選擇標(biāo)
50、志位。C/T2 =0,定時(shí);C/T2 =1,外部事件計(jì)數(shù)(下降沿觸發(fā))。</p><p> CP/RL2:捕捉/重載選擇標(biāo)志位。當(dāng)EXEN2=1時(shí),CP/RL2=1,T2EX出現(xiàn)負(fù)脈沖,會(huì)引起捕捉操作;當(dāng)定時(shí)器2溢出或EXEN2=1時(shí)T2EX出現(xiàn)負(fù)跳變,都會(huì)出現(xiàn)自動(dòng)重載操作。CP/RL2=0將引起T2EX的負(fù)脈沖。當(dāng)RCKL=1或TCKL=1時(shí),此標(biāo)志位無效,定時(shí)器2溢出時(shí),強(qiáng)制做自動(dòng)重載操作。</p&g
51、t;<p><b> 存儲(chǔ)器</b></p><p> MCS-51器件有單獨(dú)的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器都可以64K尋址。</p><p> 程序存儲(chǔ)器:如果EA引腳接地,程序讀取只從外部存儲(chǔ)器開始。對(duì)于89S52,如果EA接VCC,程序讀寫先從內(nèi)部存儲(chǔ)器(地址為0000H~1FFFH)開始,接著從外部尋址,尋址地址為:2
52、000H~FFFFH。</p><p> 數(shù)據(jù)存儲(chǔ)器:AT89S52有256字節(jié)片內(nèi)數(shù)據(jù)存儲(chǔ)器。高128 字節(jié)與特殊功能寄存器重疊。也就是說高128字節(jié)與特殊功能寄存器有相同的地址,而物理上是分開的。當(dāng)一條指令訪問高于7FH的地址時(shí),尋址方式?jīng)Q定CPU訪問高128字節(jié)RAM 還是特殊功能寄存器空間。</p><p><b> 片上資源</b></p>
53、<p><b> 看門狗定時(shí)器</b></p><p> WDT是一種需要軟件控制的復(fù)位方式。WDT 由13位計(jì)數(shù)器和特殊功能寄存器中的看門狗定時(shí)器復(fù)位存儲(chǔ)器(WDTRST)構(gòu)成。WDT在默認(rèn)情況下無法工作;為了激活WDT,用戶必須往WDTRST寄存器(地址:0A6H)中依次寫入01EH和0E1H。當(dāng)WDT激活后,晶振工作,WDT在每個(gè)機(jī)器周期都會(huì)增加。WDT計(jì)時(shí)周期依賴于外
54、部時(shí)鐘頻率。除了復(fù)位(硬件復(fù)位或WDT溢出復(fù)位),沒有辦法停止WDT工作。當(dāng)WDT溢出,它將驅(qū)動(dòng)RSR引腳一個(gè)高電平輸出。</p><p> WDT的使用為了激活WDT,用戶必須向WDTRST寄存器(地址為0A6H的SFR)依次寫入01EH和0E1H。當(dāng)WDT激活后,用戶必須向WDTRST寫入01EH和0E1H喂狗來避免WDT溢出。當(dāng)計(jì)數(shù)達(dá)到8191(1FFFH)時(shí),13位計(jì)數(shù)器將會(huì)溢出,這將會(huì)復(fù)位器件。晶振正
55、常工作、WDT激活后,每一個(gè)機(jī)器周期WDT 都會(huì)增加。為了復(fù)位WDT,用戶必須向WDTRST 寫入01EH 和0E1H(WDTRST 是只讀寄存器)。WDT計(jì)數(shù)器不能讀或?qū)憽?lt;/p><p> 當(dāng)WDT計(jì)數(shù)器溢出時(shí),將給RST引腳產(chǎn)生一個(gè)復(fù)位脈沖輸出[17],這個(gè)復(fù)位脈沖持續(xù)96個(gè)晶振周期(TOSC),其中TOSC=1/FOSC。為了很好地使用WDT,應(yīng)該在一定時(shí)間內(nèi)周期性寫入那部分代碼,以避免WDT復(fù)位。&l
56、t;/p><p> 掉電和空閑方式下的WDT在掉電模式下,晶振停止工作,這意味這WDT也停止了工作。在這種方式下,用戶不必喂狗。有兩種方式可以離開掉電模式:硬件復(fù)位或通過一個(gè)激活的外部中斷。通過硬件復(fù)位退出掉電模式后,用戶就應(yīng)該給WDT喂狗,就如同通常AT89S52 復(fù)位一樣。</p><p> 通過中斷退出掉電模式的情形有很大的不同。中斷應(yīng)持續(xù)拉低很長(zhǎng)一段時(shí)間,使得晶振穩(wěn)定。當(dāng)中斷拉高后
57、,執(zhí)行中斷服務(wù)程序。為了防止WDT在中斷保持低電平的時(shí)候復(fù)位器件,WDT 直到中斷拉低后才開始工作。這就意味著WDT應(yīng)該在中斷服務(wù)程序中復(fù)位。</p><p> 為了確保在離開掉電模式最初的幾個(gè)狀態(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)該建立一個(gè)定時(shí)器,定時(shí)離開待機(jī)模式,喂狗,再重新進(jìn)入待機(jī)模式。</p><p><b> 定時(shí)器0和定時(shí)器1</b></p><p> 在AT89S52中,定時(shí)器0和定時(shí)器1的操作與AT89C51和AT89C52一樣。</p><p><b> 定時(shí)器 2&
59、lt;/b></p><p> 定時(shí)器2是一個(gè)16位定時(shí)/計(jì)數(shù)器,它既可以做定時(shí)器,又可以做事件計(jì)數(shù)器。其工作方式由特殊寄存器T2CON中的C/T2位選擇,如表2所示:</p><p> 表2定時(shí)器2工作模式</p><p> 定時(shí)器2有三種工作模式:捕捉方式、自動(dòng)重載(向下或向上計(jì)數(shù))和波特率發(fā)生器。如表3所示,工作模式由T2CON中的相關(guān)位選擇。定時(shí)
60、器2有2個(gè)8位寄存器:TH2和TL2。在定時(shí)工作方式中,每個(gè)機(jī)器周期,TL2寄存器都會(huì)加1。由于一個(gè)機(jī)器周期由12個(gè)晶振周期構(gòu)成,因此,計(jì)數(shù)頻率就是晶振頻率的1/12。</p><p> 捕捉方式在捕捉模式下,通過T2CON中的EXEN2來選擇兩種方式。如果EXEN2=0,定時(shí)器2時(shí)一個(gè)16位定時(shí)/計(jì)數(shù)器,溢出時(shí),對(duì)T2CON的TF2標(biāo)志置位,TF2引起中斷。如果EXEN2=1,定時(shí)器2做相同的操作。除上述功能
61、外,外部輸入T2EX引腳(P1.1)1至0的下跳變也會(huì)使得TH2和TL2中的值分別捕捉到RCAP2H和RCAP2L中。除此之外,T2EX的跳變會(huì)引起T2CON中的EXF2置位。像TF2一樣,T2EX也會(huì)引起中斷。在計(jì)數(shù)工作方式下,寄存器在相關(guān)外部輸入角T2發(fā)生1至0的下降沿時(shí)增加1。在這種方式下,每個(gè)機(jī)器周期的S5P2期間采樣外部輸入。一個(gè)機(jī)器周期采樣到高電平,而下一個(gè)周期采樣到低電平,計(jì)數(shù)器將加1。在檢測(cè)到跳變的這個(gè)周期的S3P1 期
62、間,新的計(jì)數(shù)值出現(xiàn)在寄存器中。因?yàn)樽R(shí)別1-0的跳變需要2個(gè)機(jī)器周期(24個(gè)晶振周期),所以,最大的計(jì)數(shù)頻率不高于晶振頻率的1/24。為了確保給定的電平在改變前采樣到一次,電平應(yīng)該至少在一個(gè)完整的機(jī)器周期內(nèi)保持不變。</p><p> 自動(dòng)重載當(dāng)定時(shí)器2工作于16位自動(dòng)重載模式,可對(duì)其編程實(shí)現(xiàn)向上計(jì)數(shù)或向下計(jì)數(shù)。這一功能可以通過特殊寄存器T2MOD中的DCEN(向下計(jì)數(shù)允許位)來實(shí)現(xiàn)。通過復(fù)位,DCEN被置為0,
63、因此,定時(shí)器2 默認(rèn)為向上計(jì)數(shù)。DCEN設(shè)置后,定時(shí)器2就可以取決于T2EX向上、向下計(jì)數(shù)。</p><p> DCEN=0時(shí),定時(shí)器2自動(dòng)計(jì)數(shù)。通過T2CON中的EXEN2位可以選擇兩種方式。如果EXEN2=0,定時(shí)器2計(jì)數(shù),計(jì)到0FFFFH后置位TF2溢出標(biāo)志。計(jì)數(shù)溢出也使得定時(shí)器寄存器重新從RCAP2H和RCAP2L中加載16位值。定時(shí)器工作于捕捉模式,RCAP2H和RCAP2L的值可以由軟件預(yù)設(shè)。如果E
64、XEN2=1,計(jì)數(shù)溢出或在外部T2EX(P1.1)引腳上的1到0的下跳變都會(huì)觸發(fā)16位重載。這個(gè)跳變也置位EXF2中斷標(biāo)志位。T2EX上的一個(gè)邏輯0使得定時(shí)器2向下計(jì)數(shù)。當(dāng)TH2和TL2分別等于RCAP2H和RCAP2L中的值的時(shí)候,計(jì)數(shù)器下溢。計(jì)數(shù)器下溢,置位TF2,并將0FFFFH加載到定時(shí)器存儲(chǔ)器中。如圖6所示,置位DCEN,允許定時(shí)器2向上或向下計(jì)數(shù)。在這種模式下,T2EX引腳控制著計(jì)數(shù)的方向。T2EX上的一個(gè)邏輯1使得定時(shí)器2
65、向上計(jì)數(shù)。定時(shí)器計(jì)到0FFFFH溢出,并置位TF2。定時(shí)器的溢出也使得RCAP2H和RCAP2L中的16位值分別加載到定時(shí)器存儲(chǔ)器TH2和TL2中。</p><p> 定時(shí)器2上溢或下溢,外部中斷標(biāo)志位EXF2被鎖死。在這種工作模式下,EXF2不能觸發(fā)中斷。</p><p><b> 中斷源</b></p><p> AT89S52 有6
66、個(gè)中斷源:兩個(gè)外部中斷(INT0 和INT1),三個(gè)定時(shí)中斷(定時(shí)器0、1、2)和一個(gè)串行中斷。這些中斷如圖10所示每個(gè)中斷源都可以通過置位或清除特殊寄存器IE中的相關(guān)中斷允許控制位[18]分別使得中斷源有效或無效。IE還包括一個(gè)中斷允許總控制位EA,它能一次禁止所有中斷。</p><p> 定時(shí)器2可以被寄存器T2CON中的TF2和EXF2的或邏輯觸發(fā)。程序進(jìn)入中斷服務(wù)后,這些標(biāo)志位都可以由硬件清0。實(shí)際上,
67、中斷服務(wù)程序必須判定是否是TF2 或EXF2激活中斷,標(biāo)志位也必須由軟件清0。</p><p> 定時(shí)器0和定時(shí)器1標(biāo)志位TF0和TF1在計(jì)數(shù)溢出的那個(gè)周期的S5P2被置位。它們的值一直到下一個(gè)周期被電路捕捉下來。然而,定時(shí)器2的標(biāo)志位TF2 在計(jì)數(shù)溢出的那個(gè)周期的S2P2被置位,在同一個(gè)周期被電路捕捉下來。</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)時(shí),按鍵[10]的兩個(gè)觸點(diǎn)處于斷開狀態(tài),如圖3所示,鍵盤分為編碼鍵盤和非編碼鍵盤,
69、鍵盤上閉合鍵的識(shí)別由專門的硬件譯碼器實(shí)現(xiàn),并產(chǎn)生鍵編號(hào)或鍵值的稱為編碼鍵盤,如BCD碼鍵盤、ASCII碼鍵盤等;靠軟件識(shí)別的稱為非編碼鍵盤。</p><p> 圖3 常開型按鈕開關(guān)</p><p> 2.2.3時(shí)鐘電路模塊</p><p> 時(shí)鐘電路在單片機(jī)系統(tǒng)[9]中起著非常重要的作用,是保證系統(tǒng)正常工作的基礎(chǔ)。在一個(gè)單片機(jī)應(yīng)用系統(tǒng)中,時(shí)鐘是保障系統(tǒng)正常工作
70、的基準(zhǔn)振蕩定時(shí)信號(hào),主要由晶振[19]和外圍電路組成,晶振頻率的大小決定了單片機(jī)系統(tǒng)工作的快慢。為達(dá)到振蕩周期是12MHZ的要求,這里要采用12MHZ的晶振,另外有兩個(gè)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)行出錯(cuò)或操作錯(cuò)誤使系統(tǒng)處于死鎖狀態(tài)時(shí),為擺脫困境,可以按復(fù)位鍵以重新啟動(dòng),也可以通過監(jiān)視定時(shí)器來強(qiáng)迫復(fù)位。RST引腳是復(fù)位信號(hào)的輸入端。復(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)電路輸出端。當(dāng)某段驅(qū)動(dòng)電路的輸出端為高電平時(shí),該端所連接的字符導(dǎo)通并點(diǎn)亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。同樣,要求段驅(qū)動(dòng)電路能
73、提供額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來確定相應(yīng)的限流電阻。本次設(shè)計(jì)在顯示模塊用到的是一個(gè)4位一體和2個(gè)兩位一體共陰極數(shù)碼管,共有8個(gè)代碼輸入口和8個(gè)位選輸入口,采用排阻提供上拉電流數(shù)碼管,以保證有足夠大的電流點(diǎn)亮數(shù)碼管,采用動(dòng)態(tài)驅(qū)動(dòng),使各位數(shù)碼管逐個(gè)輪流受控顯示[20],這就是動(dòng)態(tài)驅(qū)動(dòng),由于掃描速度極快,顯示效果與靜態(tài)驅(qū)動(dòng)相同,其具體圖形如下圖6圖7所示:</p><p><b>
74、圖6 計(jì)時(shí)顯示器</b></p><p><b> 圖7 分?jǐn)?shù)顯示器</b></p><p><b> 2.2.6報(bào)警模塊</b></p><p> 蜂鳴器通過一NPN三極管[3]進(jìn)行驅(qū)動(dòng),如圖8所示,觸發(fā)信號(hào)有基極引入。</p><p><b> 圖8 報(bào)警電路<
75、;/b></p><p> 2.3總硬件電路設(shè)計(jì)</p><p><b> 圖9 硬件電路設(shè)計(jì)</b></p><p><b> 2.4本章小結(jié)</b></p><p> 本章主要是對(duì)本設(shè)計(jì)所采取的設(shè)計(jì)方案和所運(yùn)用的芯片、模塊以及電路設(shè)計(jì)的原理作主要的介紹和說明,包括AT89S52、按
76、鍵、振蕩電路、報(bào)警電路、復(fù)位電路以及總電路圖的設(shè)計(jì)。</p><p> AT89S52S是一個(gè)低功耗,高性能CMOS8位單片機(jī),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)大,為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。所以在這個(gè)芯片上加上按鍵、報(bào)警模塊等就把整個(gè)設(shè)計(jì)給模塊化,使后面的設(shè)計(jì)更加便捷、清晰。</p>&
77、lt;p><b> 3 軟件設(shè)計(jì)</b></p><p> 在設(shè)計(jì)程序之前,我們首先要對(duì)單片機(jī)應(yīng)用系統(tǒng)預(yù)完成的任務(wù)進(jìn)行深入的分析,明確系統(tǒng)的設(shè)計(jì)任務(wù)、功能要求和技術(shù)指標(biāo)。其次,要對(duì)系統(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ì)時(shí)加(減)1秒的子程序、暫停子程序、快表和回表子程序、延時(shí)子程序等組成,其程序流程圖如圖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)勢(shì),因而易學(xué)易用。Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil C51[23]
80、生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語言的優(yōu)勢(shì)。</p><p> 程序部分由主程序、T0中斷程序、掃描顯示子程序、計(jì)時(shí)加減1秒的子程序、暫停子程序、快表和回表子程序、延時(shí)子程序等組成。具體程序見附錄。</p><p><b> 3.3本章小結(jié)</b></p><p> 本章主要
81、是針對(duì)上一章的模塊介紹和電路圖設(shè)計(jì)作了軟件設(shè)計(jì),根據(jù)設(shè)計(jì)任務(wù)、功能要求和技術(shù)指標(biāo)對(duì)系統(tǒng)的硬件資源和工作環(huán)境進(jìn)行分析,利用KEIL軟件對(duì)系統(tǒng)設(shè)計(jì)進(jìn)行程序編程,包括主程序、T0中斷程序、掃描顯示子程序、計(jì)時(shí)加(減)1秒的子程序、暫停子程序、快表和回表子程序、延時(shí)子程序等組成。</p><p> 4 PROTEUS仿真</p><p> 4.1 PROTEUS簡(jiǎn)介</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動(dòng)態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信
83、號(hào)發(fā)生器等。 ②支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:ARM7(LPC21xx)、 8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以及多種外圍芯片。 ③提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2
84、、MPLAB等軟件。 ④具有強(qiáng)大的原理圖繪制功能??傊?,該軟件是一款集單片機(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大。 </p><p><b> 4.2仿真過程</b></p><p> 接通電源,計(jì)時(shí)顯示即開始倒計(jì)時(shí)工作,上半場(chǎng)指示燈亮,計(jì)時(shí)初始設(shè)計(jì)為2分鐘,如圖12所示,按下加分鍵實(shí)現(xiàn)對(duì)甲、乙兩隊(duì)分別加分,每按下一次加1分,如圖13所示.&
85、lt;/p><p><b> 圖12 初始時(shí)間</b></p><p><b> 圖13 按鍵加分</b></p><p> 同樣可實(shí)現(xiàn)甲、乙兩隊(duì)的減分如圖14所示,按下暫停/啟動(dòng)鍵可實(shí)現(xiàn)暫停和啟動(dòng)。 </p><p><b> 圖14 按鍵減分</b></p>
86、;<p> 上半場(chǎng)結(jié)束后,停止計(jì)時(shí),蜂鳴器報(bào)警,報(bào)警結(jié)束后按下暫停\啟動(dòng)按鍵啟動(dòng)下半場(chǎng)計(jì)時(shí),同時(shí)可實(shí)現(xiàn)甲隊(duì)和乙隊(duì)交換分?jǐn)?shù),下半場(chǎng)指示燈亮,如圖15所示。</p><p> 圖15 下半場(chǎng)交換比分</p><p> 當(dāng)下半場(chǎng)也結(jié)束時(shí),上、下半場(chǎng)的指示燈同時(shí)亮,蜂鳴器響,如圖16所示。</p><p> 圖 16 全場(chǎng)結(jié)束兩二極管發(fā)光</p&
87、gt;<p><b> 4.3本章小結(jié)</b></p><p> 本章主要是針對(duì)前兩章的硬件和軟件的設(shè)計(jì)進(jìn)行仿真,利用Protues軟件繪制電路圖并仿真,計(jì)時(shí)顯示即開始倒計(jì)時(shí)工作,上半場(chǎng)指示燈亮,計(jì)時(shí)初始設(shè)計(jì)為2分鐘,按下加分鍵實(shí)現(xiàn)對(duì)甲、乙兩隊(duì)分別加分,每按下一次加1分,同樣也可實(shí)現(xiàn)甲、乙兩隊(duì)的減分,按下暫停/啟動(dòng)鍵可實(shí)現(xiàn)暫停和啟動(dòng)。上半場(chǎng)結(jié)束后,停止計(jì)時(shí),蜂鳴器報(bào)警,報(bào)警
88、結(jié)束后按下暫停\啟動(dòng)按鍵啟動(dòng)下半場(chǎng)計(jì)時(shí),同時(shí)可實(shí)現(xiàn)甲隊(duì)和乙隊(duì)交換分?jǐn)?shù),下半場(chǎng)指示燈亮,當(dāng)下半場(chǎng)也結(jié)束時(shí),上、下半場(chǎng)的指示燈同時(shí)亮,蜂鳴器響,仿真完成。</p><p><b> 結(jié)論</b></p><p> 幾個(gè)月以來,通過對(duì)本設(shè)計(jì)的研究,我在理論的基礎(chǔ)上更深刻的掌握了單片機(jī)的深層內(nèi)容及實(shí)際生活中的應(yīng)用,也鍛煉了自己動(dòng)手能力和思維能力,還有在軟件方面的編程能力,
89、讓我受益匪淺,同時(shí)也暴露出一些平時(shí)學(xué)習(xí)上的問題,讓我深刻反思。這些問題的發(fā)現(xiàn)將為我以后的學(xué)習(xí)和工作找明道路,查漏補(bǔ)缺為進(jìn)一步學(xué)習(xí)作好準(zhǔn)備。</p><p> 本設(shè)計(jì)是基于AT89S52單片機(jī)的籃球計(jì)時(shí)計(jì)分器,利用7段共陽極LED作為顯示器件。在此設(shè)計(jì)中共接入了2個(gè)四位一體7段共陽極LED顯示器,其中一個(gè)四位一體7段共陽極LED顯示器的前2位用于顯示分鐘,后2位用于顯示秒鐘,另一個(gè)四位一體7段共陽極LED顯示器的
90、前兩位和后兩位分別用于記錄甲乙隊(duì)的分?jǐn)?shù),每隊(duì)2個(gè)LED顯示器顯示范圍可達(dá)到0~99分。賽程計(jì)時(shí)采用倒計(jì)時(shí)方式,比賽開始時(shí)啟動(dòng)計(jì)時(shí),直至計(jì)時(shí)到零為止。</p><p> 通過對(duì)本系統(tǒng)的設(shè)計(jì),讓我更熟悉掌握了Keil uVision3, proteus 這些應(yīng)用程序的運(yùn)用,讓我懂得了如何編寫一些簡(jiǎn)單的程序,學(xué)會(huì)了如何制作單片機(jī)應(yīng)用程序,還有焊接和程序下載,但在中間暴露出很多問題:對(duì)平時(shí)上課講的理論知識(shí)沒有完全掌握消
91、化,到了實(shí)際操作中還得請(qǐng)教同學(xué),在焊接中焊接的基本工夫掌握不到家,手上工夫還是很欠缺的,使得電路板不是很美觀。</p><p> 另外,本設(shè)計(jì)雖然已經(jīng)實(shí)現(xiàn)了時(shí)間的倒計(jì)時(shí)、回表、快進(jìn),以及兩隊(duì)的加分和減分,但現(xiàn)在籃球比賽的每一次進(jìn)攻都是24秒制的,因此,這一點(diǎn)是一個(gè)很大的缺陷,希望在以后對(duì)此系統(tǒng)進(jìn)行進(jìn)一步完善。</p><p> 同時(shí),做設(shè)計(jì)的這幾個(gè)月翻閱了很多書,也上了很多網(wǎng)站去尋找自
92、己需要的資料。這種尋找有很強(qiáng)的目的性,只是為了自己選定的課題內(nèi)容而查閱,所以除了自己設(shè)計(jì)以外的其他方面幾乎還是一無所知。這讓我深刻的認(rèn)識(shí)到了自己專業(yè)知識(shí)的貧乏。為我對(duì)自己以后生活的規(guī)劃敲響了警鐘。我對(duì)單片機(jī)的學(xué)習(xí)不會(huì)因?yàn)楸驹O(shè)計(jì)的結(jié)束而結(jié)束,在接觸的眾多資料里,做設(shè)計(jì)只是走馬觀花般的點(diǎn)到,希望以后能夠進(jìn)行更系統(tǒng)的學(xué)習(xí)。</p><p> 這些問題的發(fā)現(xiàn),有助于提高我在以后的工作和學(xué)習(xí)中對(duì)此類問題的認(rèn)識(shí),確保不在同
93、一問題上再次犯錯(cuò)。嚴(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ī)中級(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é)院:?jiǎn)纹瑱C(jī)實(shí)驗(yàn)報(bào)告指導(dǎo)冊(cè).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í)用手冊(cè).北京:電子工業(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è)知識(shí)上的指導(dǎo)和一些富于創(chuàng)造性的建議,沒有這樣的幫助和關(guān)懷,我
103、不會(huì)這么順利的完成任務(wù)。在此我向老師表示深深的感謝和崇高的敬意。您嚴(yán)肅的科學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),深深地感染和激勵(lì)著我。從題目的選擇到項(xiàng)目的最終完成,您都始終給予我細(xì)心的指導(dǎo)和不懈的支持。這些天以來,您不僅在學(xué)業(yè)上給我以精心指導(dǎo),同時(shí)還在思想、生活上給我以無微不至的關(guān)懷,在此謹(jǐn)向你們致以誠摯的謝意和崇高的敬意。 在此,我還要感謝在一起愉快的度過室友,正是由于你們的幫助和支持,我才能克服一個(gè)一個(gè)的困難和
104、疑惑,直至本文的順利完成。</p><p> 在論文即將完成之際,從開始進(jìn)入課題到論文的順利完成,有多少可敬的老師、同學(xué)、朋友給了我無言的幫助,在這里請(qǐng)接受我誠摯的謝意!謝謝你們!</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ì)時(shí)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> /*************延時(shí)********************/</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ù)碼管動(dòng)態(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時(shí),為上半場(chǎng),對(duì)P1賦值</p><p> P1=0xbf; //P1=0xbf, 即P1=1011 1111B,點(diǎn)亮對(duì)應(yīng)上半場(chǎng)指示燈</p><p> P2=0xfe; //數(shù)碼管動(dòng)態(tài)刷新顯示程序 P2=1111 1110,i為分鐘</p><p>
110、 P0=seg[i%100/10]; //刷新顯示時(shí)間顯示分鐘十位,調(diào)用延時(shí)程序,</p><p> delay(1); //延時(shí)數(shù)碼管的點(diǎn)亮</p><p><b> P2=0xff;</b></p><p><b> P0=0;</b></p>&l
111、t;p> P2=0xfd; //同理,動(dòng)態(tài)刷新時(shí)分鐘個(gè)位并延時(shí)點(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; //同理,動(dòng)態(tài)刷新時(shí)秒鐘十位并延時(shí)點(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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于51單片機(jī)的籃球比賽計(jì)分計(jì)時(shí)器設(shè)計(jì)畢業(yè)論文
- 畢業(yè)設(shè)計(jì)論文--基于單片機(jī)的紅外計(jì)時(shí)器
- 基于51單片機(jī)的籃球計(jì)時(shí)計(jì)分器畢業(yè)論文
- 基于單片機(jī)的紅外計(jì)時(shí)器
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的籃球記分器設(shè)計(jì)
- 基于51單片機(jī)的籃球記分牌設(shè)計(jì)畢業(yè)論文
- 畢業(yè)設(shè)計(jì)---單片機(jī)籃球記分器
- 畢業(yè)設(shè)計(jì)單片機(jī)籃球記分器
- 基于at89s51單片機(jī)籃球比賽計(jì)時(shí)器的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---籃球比賽計(jì)分計(jì)時(shí)器
- 基于at89s52單片機(jī)的數(shù)字倒計(jì)時(shí)器設(shè)計(jì)畢業(yè)論文
- 基于c語言單片機(jī)倒數(shù)計(jì)時(shí)器設(shè)計(jì)
- 基于at89s51單片機(jī)籃球比賽計(jì)時(shí)器的設(shè)計(jì)
- -基于單片機(jī)的籃球計(jì)時(shí)計(jì)分器設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的籃球計(jì)時(shí)計(jì)分器設(shè)計(jì)
- 基于單片機(jī)的籃球比賽記分器的設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 籃球計(jì)時(shí)器的畢業(yè)的設(shè)計(jì)
- 基于單片機(jī)的籃球計(jì)時(shí)計(jì)分器設(shè)計(jì)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-單片機(jī)電秒計(jì)時(shí)器
- 基于avr單片機(jī)的電子計(jì)時(shí)器軟硬件設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論