2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  數(shù)字電子秒表的設(shè)計與實現(xiàn)</p><p>  系(院)名稱: 國際教育學院 </p><p>  專業(yè)班級: 應用電子專業(yè) </p><p>  學生姓名: </p><p>  指導教師姓名:

2、 </p><p>  指導教師職稱: (高級實驗師) </p><p><b>  2012年 5月</b></p><p><b>  摘  要</b></p><p>  近年來隨著科技的飛速發(fā)展,單片機的應用正在不斷的走向深入。本文闡述了基于單片機的

3、數(shù)字電子秒表設(shè)計。本設(shè)計主要特點是計時精度達到0.001s,解決了傳統(tǒng)的由于計時精度不夠造成的誤差和不公平性,是各種體育競賽的必備設(shè)備之一。另外硬件部分設(shè)置了查看按鍵,可以對秒表上一次計時時間進行保存,供使用者查詢。自首屆現(xiàn)代奧運會在希臘雅典舉辦以來,奧運計時技術(shù)一直在不斷地向前發(fā)展。一百多年過去了,首屆現(xiàn)代奧運會上計時所用的跑表如今換成了一系列高科技計時裝置,如高速數(shù)碼攝像機、電子觸摸墊、紅外光束、無線應答器等等。鑒于當今計時技術(shù)的快

4、速發(fā)展,即便千分之一秒(為眨眼的40倍)的毫微差距,也決定著冠軍的歸屬。在現(xiàn)在的體育競技比賽中,隨著運動員的水平不斷提高,差距也在不斷縮小。有些運動對時間精度的要求也越來越高,有時比賽冠亞軍之間的差距只有幾毫秒,因此就需要高精度的秒表來記錄成績。有關(guān)計時鐘表的發(fā)展歷史,大致可以分為三個演變階段。一、從大型鐘向小型鐘演變。二、從小型鐘向袋表過渡。三、從袋表向腕表發(fā)展。從我國水運儀像臺的發(fā)明到現(xiàn)在各國都在研制的原子鐘這幾百年的鐘表演變過程中

5、,我們可以看到,各個不同時期的科學家和鐘</p><p>  本設(shè)計的數(shù)字電子秒表系統(tǒng)采用AT89C52單片機為中心器件,利用其定時器/計數(shù)器定時和記數(shù)的原理,結(jié)合顯示電路、LED數(shù)碼管以及外部中斷電路來設(shè)計計時器。將軟、硬件有機地結(jié)合起來,使得系統(tǒng)能夠?qū)崿F(xiàn)五位LED顯示,顯示時間為0~99.999秒,計時精度為0.001秒,能正確地進行計時,同時能記錄一次時間,并在下一次計時后對上一次計時時間進行查詢。其中軟件

6、系統(tǒng)采用匯編語言編寫程序,包括顯示程序,定時中斷服務,外部中斷服務程序,延時程序等,并在WAVE中調(diào)試運行,硬件系統(tǒng)利用PROTEUS強大的功能來實現(xiàn),簡單切易于觀察,在仿真中就可以觀察到實際的工作狀態(tài)。 </p><p>  關(guān)鍵字:單片機;數(shù)字電子秒表;仿真 </p><p><b>  Abstract</b></p><p>  Wit

7、h the rapid development of science and technology in recent years, SCM applications are constant-depth manner. In this paper, based on single chip design of digital electronic stopwatch. The main characteristics of this

8、design timing accuracy of 0.001s, to solve the traditional result of a lack accuracy due to timing errors and unfair, and is a variety of sports competitions, one of the essential equipment. In addition the hardware part

9、 of the set View button on the stopwatch can be the last </p><p>  The design of the multi-function stopwatch system uses STC89C52 microcontroller as the central device, and use its timer / counter timing an

10、d the count principles, combined with display circuit, LED digital tube, as well as the external interrupt circuit to design a timer. The software and hardware together organically, allowing the system to achieve two LED

11、 display shows the time from 0 to 99.999 seconds, Timing accuracy of 0.001 seconds, Be able to correctly time at the same time to record a t</p><p>  Keyword:LED display;High-precision stopwatch;STC89C52<

12、/p><p><b>  目 錄</b></p><p><b>  第一章 硬件設(shè)計</b></p><p>  1.1 引言················&

13、#183;·························5</p><p>  1.2 總體方案的設(shè)計·····

14、;···························6</p><p>  1.3 單片機的選擇···

15、3;······························7</p><p>  1.4 系統(tǒng)總電路的設(shè)計&

16、#183;·····························10</p><p>  第二章 軟件設(shè)計 </p

17、><p>  2.1 程序設(shè)計思想································

18、··11</p><p>  2.2 系統(tǒng)資源的分配····························

19、83;···11</p><p>  2.3 主程序設(shè)計···························&#

20、183;········12</p><p>  2.4 中斷程序設(shè)計······················

21、············13</p><p>  第三章 數(shù)字電子秒表的安裝與調(diào)試</p><p>  3.1 軟件的仿真與調(diào)試···········

22、3;··················18</p><p>  3.2 硬件的安裝與調(diào)試············

23、··················18</p><p>  3.3 系統(tǒng)程序的燒錄············

24、83;···················19</p><p>  3.4 數(shù)字電子秒表的調(diào)試··········

25、3;·················19</p><p>  結(jié) 論··············&

26、#183;····························20</p><p>  致 謝 ··

27、83;····································&

28、#183;··21</p><p>  參考文獻 ·····························

29、;·············21</p><p><b>  第一章 硬件設(shè)計</b></p><p><b>  1.1  引言</b></p><p>  數(shù)字電子秒表具有顯示直

30、觀、讀取方便、精度高等優(yōu)點,在計時中廣泛使用。本設(shè)計用單片機組成數(shù). 在現(xiàn)在的體育競技比賽中,隨著運動員的水平不斷提高,差距也在不斷縮小。有些運動對時間精度的要求也越來越高,有時比賽冠亞軍之間的差距只有幾毫秒,因此就需要高精度的秒表來記錄成績。</p><p>  本設(shè)計利用AT89C52單片機的定時器/計數(shù)器定時和記數(shù)的原理,使其能精確計時。利用中斷系統(tǒng)使其能實現(xiàn)開始暫停的功能。P0口輸出段碼數(shù)據(jù),P2.0-P

31、2.4口作列掃描輸出,P1.1、P3.2、P3.3、P2.5分別接四個按鈕開關(guān),分別實現(xiàn)開始、暫停、清零和查看上次時間的功能。顯示電路由五位共陰極數(shù)碼管組成。</p><p>  初始狀態(tài)下計時器顯示00.000,當按下開始鍵時,外部中斷INT1向CPU發(fā)出中斷請求,CPU轉(zhuǎn)去執(zhí)行外部中斷1服務程序,即開啟定時器T0。計時采用定時器T0中斷完成,定時溢出中斷周期為1ms,當一處中斷后向CPU發(fā)出溢出中斷請求,每發(fā)

32、出一次中斷請求就對毫秒計數(shù)單元進行加一,達到10次就對十毫秒位進行加一,依次類推,直到99.999秒重新復位。在計時過程中,只要按下暫停鍵,外部中斷INT0向CPU發(fā)出中斷請求,CPU轉(zhuǎn)去執(zhí)行外部中斷0服務程序,即關(guān)閉定時器T0,調(diào)用顯示程序,實現(xiàn)暫停功能,同時將此次計時時間存入寄存區(qū)。然后對P1.1進行掃描。當P1.1按下時就跳轉(zhuǎn)回主程序。等待下一次計時開始。</p><p>  在按下暫停鍵時,將此時的計時時

33、間存入中間緩存區(qū),當再次按下開始鍵時,則講中間緩存區(qū)的數(shù)據(jù)轉(zhuǎn)入最終緩存區(qū)。秒表停止后對查看鍵P2.5進行掃描,P2.5按下為低電平時,調(diào)用最終緩存區(qū)的數(shù)據(jù)進行顯示,即顯示上一次計時成績。當P2.5位高電平時,調(diào)用顯示緩存區(qū)的數(shù)據(jù)進行顯示,即顯示當此計時的成績。根據(jù)以上設(shè)計思路從而實現(xiàn)數(shù)字電子秒表的計時和查看上一次計時時間的功能。</p><p>  本文主要內(nèi)容包括三部分:第一部分介紹硬件部分設(shè)計思路及方案;第二

34、部分介紹了軟件部分的設(shè)計思路和設(shè)計;最后一部分則是整個系統(tǒng)的安裝與調(diào)試過程。</p><p>  1.2  總體方案的設(shè)計</p><p>  數(shù)字電子秒表具有顯示直觀、讀取方便、精度高等優(yōu)點,在計時中廣泛使用。本設(shè)計用單片機組成數(shù)字電子秒表,力求結(jié)構(gòu)簡單、精度高為目標。</p><p>  設(shè)計中包括硬件電路的設(shè)計和系統(tǒng)程序的設(shè)計。其硬件電路主要有主控制

35、器,計時與顯示電路和回零、啟動和停表電路等。主控制器采用單片機AT89C52,顯示電路采用共陰極LED數(shù)碼管顯示計時時間。</p><p>  本設(shè)計利用AT89C52單片機的定時器/計數(shù)器定時和記數(shù)的原理,使其能精確計時。利用中斷系統(tǒng)使其能實現(xiàn)開始暫停的功能。P0口輸出段碼數(shù)據(jù),P2.0-P2.4口作列掃描輸出,P1.1、P3.2、P3.3、P2.5口接四個按鈕開關(guān),分別實現(xiàn)開始、暫停、清零和查看上次計時時間功

36、能。電路原理圖設(shè)計最基本的要求是正確性,其次是布局合理,最后在正確性和布局合理的前提下力求美觀。硬件電路圖按照圖1.1進行設(shè)計。</p><p>  圖1.1 數(shù)字秒表硬件電路基本原理圖</p><p>  根據(jù)要求知道秒表設(shè)計主要實現(xiàn)的功能是計時和顯示。因此設(shè)置了四個按鍵和五位數(shù)碼管顯示時間,三個按鍵分別是開始,停止、復位和查看上次計時時間按鍵。利用這四個建來實現(xiàn)秒表的全部功能,而五位數(shù)

37、碼管則能顯示最多99.999秒的計時。</p><p>  本設(shè)計中,數(shù)碼管顯示的數(shù)據(jù)存放在內(nèi)存單元79H-7DH中。其中79H存放毫秒位數(shù)據(jù),7AH存放十毫秒位數(shù)據(jù),7BH存放百毫秒位數(shù)據(jù),7CH存放秒位數(shù)據(jù),7DH存放十秒位數(shù)據(jù),每一地址單元內(nèi)均為十進制BCD碼。由于采用軟件動態(tài)掃描實現(xiàn)數(shù)據(jù)顯示功能,顯示用十進制BCD碼數(shù)據(jù)的對應段碼存放在ROM表中。顯示時,先取出79H-7dH某一地址中的數(shù)據(jù),然后查得對應

38、的顯示用段碼,并從P0口輸出,P2口將對應的數(shù)碼管選中供電,就能顯示該地址單元的數(shù)據(jù)值。</p><p>  1.3  單片機的選擇</p><p>  本課題在選取單片機時,充分借鑒了許多成形產(chǎn)品使用單片機的經(jīng)驗,并根據(jù)自己的實際情況,選擇了ATMEL公司的AT89S51。</p><p>  ATMEL公司的89系列單片機以其卓越的性能、完善的兼容性、

39、快捷便利的電擦寫操作,低廉的價格、超強的加密功能,完全替代87C51/62和8751/52,低電壓、低電源、低功耗,有DIP、PLCC、QFP封裝,有民用型、工業(yè)級、汽車級、軍品級等多種溫度等級,是當今世界上性能最好、價格最低、最受歡迎的八位單片機。</p><p>  AT89C52P為40 腳雙列直插封裝的8 位通用微處理器,采用工業(yè)標準的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52 相同,其主要用于

40、會聚調(diào)整時的功能控制。功能包括對會聚主IC 內(nèi)部寄存器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,會聚調(diào)整控制,會聚測試圖控制,紅外遙控信號IR的接收解碼及與主板CPU通信等。</p><p><b>  單片機的外部結(jié)構(gòu)</b></p><p>  AT89S52單片機采用40引腳的雙列直插封裝方式。圖1.2為引腳排列圖, 40條引腳說明如下:</p>

41、<p>  外接晶振引腳XTAL1和XTAL2</p><p> ?、? XTAL1內(nèi)部振蕩電路反相放大器的輸入端,是外接晶體的一個引腳。當采用外部振蕩器時,此引腳接地。    </p><p> ?、? XTAL2內(nèi)部振蕩電路反相放大器的輸出端。是外接晶體的另一端。當采用外部振蕩器時,此引腳接外部振蕩源。</p>

42、<p>  控制或與其它電源復用引腳RST/VPD,ALE/,和/Vpp</p><p> ?、? RST/VPD  當振蕩器運行時,在此引腳上出現(xiàn)兩個機器周期的高電平(由低到高跳變),將使單片機復位在Vcc掉電期間,此引腳可接上備用電源,由VPD向內(nèi)部提供備用電源,以保持內(nèi)部RAM中的數(shù)據(jù)。</p><p> ?、? ALE/正常操作時為ALE功能

43、(允許地址鎖存)提供把地址的低字節(jié)鎖存到外部鎖存器,ALE 引腳以不變的頻率(振蕩器頻率的1/6)周期性地發(fā)出正脈沖信號。因此,它可用作對外輸出的時鐘,或用于定時目的。但要注意,每當訪問外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖,ALE 端可以驅(qū)動(吸收或輸出電流)八個LSTTL電路。對于EPROM型單片機,在EPROM編程期間,此引腳接收編程脈沖(功能)</p><p>  圖1.2 單片機引腳圖</p>

44、;<p><b>  。</b></p><p>  輸入/輸出引腳P0.0 - P0.7,P1.0 - P1.7,P2.0 - P2.7,P3.0 - P3.7。</p><p> ?、?#160; P0口(P0.0 - P0.7)是一個8位漏極開路型雙向I/O口,在訪問外部存儲器時,它是分時傳送的低字節(jié)地址和數(shù)據(jù)總線,P0口能以吸收電流的方式驅(qū)動八個

45、LSTTL負載。</p><p> ?、? P1口(P1.0 - P1.7)是一個帶有內(nèi)部提升電阻的8位準雙向I/O口。能驅(qū)動(吸收或輸出電流)四個LSTTL負載。</p><p> ?、? P2口(P2.0 - P2.7)是一個帶有內(nèi)部提升電阻的8位準雙向I/O口,在訪問外部存儲器時,它輸出高8位地址。P2口可以驅(qū)動(吸收或輸出電流)四個LSTTL負載。</p&

46、gt;<p> ?、? P3口(P3.0 - P3.7)是一個帶有內(nèi)部提升電阻的8位準雙向I/O口。能驅(qū)動(吸收或輸出電流)四個LSTTL負載。</p><p>  AT89C52具有以下標準功能:8k字節(jié)Flash,256字節(jié)RAM,32 位I/O口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,AT89C52可降

47、至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復位為止。CPU是單片機的核心部件。它由運算器和控制器等部件組成。</p><p><b>  (1) 運算器</b></p><p>  運算器的功能是

48、進行算術(shù)運算和邏輯運算??梢詫Π胱止?jié)(4位)、單字節(jié)等數(shù)據(jù)進行操作。例如能完成加、減、乘、除、加1、減1、BCD碼十進制調(diào)整、比較等算術(shù)運算和與、或、異或、求補、循環(huán)等邏輯操作,操作結(jié)果的狀態(tài)信息送至狀態(tài)寄存器。</p><p>  89C52運算器還包含有一個布爾處理器,用來處理位操作。它是以進位標志位C為累加器的,可執(zhí)行置位、復位、取反、等于1轉(zhuǎn)移、等于0轉(zhuǎn)移、等于1轉(zhuǎn)移且清0以及進位標志位與其他可尋址的位之

49、間進行數(shù)據(jù)傳送等位操作,也能使進位標志位與其他可移位尋址的位之間進行邏輯與、或操作[5]。</p><p> ?。?) 程序計數(shù)器PC</p><p>  程序計數(shù)器PC用來存放即將要執(zhí)行的指令地址,共16位,可對64K程序存儲器直接尋址。執(zhí)行指令時,PC內(nèi)容的低8位經(jīng)P0口輸出,高8位經(jīng)P2口輸出。</p><p><b>  (3) 令寄存器</

50、b></p><p>  指令寄存器中存放指令代碼。CPU執(zhí)行指令時,由程序存儲器中讀取的指令代碼送入指令寄存器,經(jīng)譯碼后由定時與控制電路發(fā)出相應的控制信號,完成指令功能。</p><p>  本設(shè)計采用ATMEL的AT89C52微處理器,主要基于以下幾個因素:</p><p>  ①  AT89C52為51內(nèi)核,仿真調(diào)試的軟硬件資源豐富。</

51、p><p> ?、?#160; 性價比高,貨源充足。</p><p>  ③  功耗低,功能強,靈活性高。</p><p> ?、?#160; DIP40封裝,體積小,便于產(chǎn)品小型化。</p><p> ?、?#160; 為EEPROM程序存儲介質(zhì),1000次以上擦寫周期,便于編程調(diào)試。</p><p>  ⑥&

52、#160; 工作電壓范圍寬:2.7V-6V,便于交直流供電。</p><p>  1.4 系統(tǒng)總電路的設(shè)計</p><p>  AT89C52單片機為主電路的核心部分,各個電路均和單片機相連接,由單片機統(tǒng)籌和協(xié)調(diào)各個電路的運行工作。</p><p>  AT89C52單片機提供了XTAL1和XTAL2兩個專用引腳接晶振電路,因此只要將晶振電路接到兩個專用引腳即可為單

53、片機提供時鐘脈沖,但在焊接晶振電路時要盡量使晶振電路靠近單片機,這樣可以為單片機提供穩(wěn)定的始終脈沖。</p><p>  復位電路同晶振電路,單片機設(shè)有一個專用的硬件復位接口,并設(shè)置為高電平有效。</p><p>  顯示電路由五位數(shù)碼管組成,采用動態(tài)顯示方式,因此有8位段控制端和5位位控制端,八位段控制接P0口,P0.0~P0.7分別控制數(shù)碼顯示管的a、b、c、d、e、f、g顯示,AT8

54、9C52的P0口沒有集成上拉電阻,高電平的驅(qū)動能力很弱,所以需要接上拉電阻來提高P0的高電平驅(qū)動能力。</p><p>  按鍵電路與單片機的端口連接可以由用戶自己設(shè)定,本設(shè)計中軟件復位鍵和查看鍵分別接單片機的P1.1和P2.5,均設(shè)為低電平有效。而另外的開始鍵和暫停鍵兩鍵使用了外部中斷,所以需要連接到單片機的特殊接口P3.3和P3.2,這兩個I/O口的第二功能分別為單片機的外部中斷1端口和外部中斷0端口。同樣設(shè)

55、置為位低電平有效。</p><p>  通過以上設(shè)計已經(jīng)將各部分電路與單片機有機的結(jié)合到一起,硬件部分的設(shè)計以大功告成,剩下的部分就是對單片機的編程,使單片機按程序運行,實現(xiàn)數(shù)字電子秒表的全部功能 電路圖如下</p><p><b>  第二章 軟件設(shè)計</b></p><p>  2.1  程序設(shè)計思想</p>&l

56、t;p>  本設(shè)計采用了匯編語言編寫,匯編語言由于采用了助記符號來編寫程序,比用機器語言的二進制代碼編程要方便些,在一定程度上簡化了編程過程。匯編語言的特點是用符號代替了機器指令代碼,而且助記符與指令代碼一一對應,基本保留了機器語言的靈活性。使用匯編語言能面向機器并較好地發(fā)揮機器的特性,得到質(zhì)量較高的程序。</p><p><b>  匯編語言的特點:</b></p>&

57、lt;p>  (1).面向機器的低級語言,通常是為特定的計算機或系列計算機專門設(shè)計的。</p><p>  (2).保持了機器語言的優(yōu)點,具有直接和簡捷的特點。</p><p>  (3).可有效地訪問、控制計算機的各種硬件設(shè)備,如磁盤、存儲器、CPU、I/O端口等。</p><p>  (4).目標代碼簡短,占用內(nèi)存少,執(zhí)行速度快,是高效的程序設(shè)計語言。&l

58、t;/p><p>  (5).經(jīng)常與高級語言配合使用,應用十分廣泛。</p><p>  在程序設(shè)計過程中,為了有效地完成任務,把所要完成的任務精心的分割成若干個相互獨立但相互又仍可有聯(lián)系的任務模塊,這些任務模塊使得任務變得相對單純,對外的數(shù)據(jù)交換相對簡單,容易編寫,容易檢測,容易閱讀和維護。這種程序設(shè)計思想稱為模塊化程序設(shè)計思想。模塊化結(jié)構(gòu)程序的設(shè)計,可以使系統(tǒng)軟件便于調(diào)試與優(yōu)化,也使其他人

59、更好地理解和閱讀系統(tǒng)的程序設(shè)計。因此,本醫(yī)院病床呼叫系統(tǒng)在軟件的設(shè)計上,運用了模塊化程序的結(jié)構(gòu)對軟件進行設(shè)計,使得程序變得更加直觀易懂。程序的主要模塊有:主程序、顯示程序、定時溢出中斷服務程序、外部中斷服務程序。</p><p>  2.2  系統(tǒng)資源的分配</p><p>  本設(shè)計系統(tǒng)所用到的單片機端口數(shù)比較多,所以在這里將對數(shù)字電子秒表的硬件資源的大概分配加以說明。片內(nèi)RA

60、M的分配、各功能鍵的定義以及各端口的分配安排如表2.1所示。</p><p>  表2.1 端口的分配安排表</p><p>  2.3  主程序設(shè)計</p><p>  本系統(tǒng)程序主要模塊由主程序、定時中斷服務程序、外部中斷0服務程序和外部中斷1服務程序組成。其中主程序是整個程序的主體??梢詫Ω鱾€中斷程序進行調(diào)用。協(xié)調(diào)各個子程序之間的聯(lián)系。</p&

61、gt;<p>  系統(tǒng)(上電)復位后,進入主程序,主程序流程圖如圖2.1。首先對系統(tǒng)進行初始化,包括設(shè)置各入口地址、中斷的開啟、對各個數(shù)據(jù)緩存區(qū)清“0”、賦定時器初值,初始化完畢后,就進入數(shù)碼管顯示程序。數(shù)碼管顯示程序?qū)︼@示緩存區(qū)內(nèi)的數(shù)值進行調(diào)用并在數(shù)碼管上進行動態(tài)顯示。顯示一次就對P1.1和P2.5進行一次掃描,查詢復位鍵P1.1是否按下,當復位鍵按下后,程序返回開始,重新對系統(tǒng)進行初始化。當沒有按下復位鍵時,程序則掃描

62、P2.5是否按下,當P2.5沒有按下則返回顯示程,不斷地調(diào)用顯示緩存區(qū)的數(shù)據(jù)進行顯示。使用戶能清楚的看到當前電子秒表所記錄的時間。當查詢到P2.5按下后則跳轉(zhuǎn)到另外一段顯示程序并調(diào)用最紅緩存區(qū)的數(shù)據(jù)進行顯示,此時顯示的時間即為上一次計時的時間。與此同時,在P2.5按下后單片機執(zhí)行顯示程序的同時也在對P2.5進行掃描,當P2.5斷開后立即跳轉(zhuǎn)回之前的顯示程序顯示當前的計時時間。</p><p>  在主程序中還進行

63、了賦寄存區(qū)的初始值、設(shè)置定時器初值以及開啟外部中斷等操作,當定時時間到后就轉(zhuǎn)去執(zhí)行定時中斷程序。當外部中斷有請求則去執(zhí)行外部中斷服務程序。并在執(zhí)行完后返回主程序。</p><p>  圖2.1 主程序流程圖</p><p>  2.4  中斷程序設(shè)計</p><p>  現(xiàn)在方案中采用了三個中斷,外部中斷INT0,INT1和定時中斷T0。CPU在響應中斷時

64、,先處理高級中斷,在處理低級中斷,若有多個同級中斷時,則按自然優(yōu)先順序處理。例如當CPU正在處理一個中斷申請時,有出現(xiàn)了另一個優(yōu)先級比它高的中斷請求,這是,CPU就暫停終止對當前優(yōu)先級較低的中斷源的服務,轉(zhuǎn)去響應優(yōu)先級比它高的中斷請求,并為其服務。待服務結(jié)束,再繼續(xù)執(zhí)行原來較低級的中斷服務程序。而當CPU為級別高的終端服務程序服務時,如果級別低的中斷發(fā)出中斷請求,此時CPU是不會響應的,所以為了避免開始和暫停兩個按鍵中的一個出現(xiàn)沒有響應

65、的情況,在進行程序編輯時要注意對中斷的使用,避免出現(xiàn)中斷的嵌套。,合理分配中斷對本設(shè)計的實現(xiàn)是至關(guān)重要的。</p><p>  另外由于數(shù)字式電子秒表的最小精度位1ms,屬于高精度電子秒表。定時器T0的定時周期也為1ms,為了使電子秒表暫停鍵按下后CPU能馬上去響應中斷程序,必須將暫停的外部中斷級別高于定時計數(shù)器的中斷級別。避免出現(xiàn)CPU執(zhí)行完定時溢出中斷程序后再響應外部中斷程序,影響計時精度。</p>

66、;<p>  AT89C52的自然優(yōu)先級順序排列如下:</p><p>  中斷源                          

67、0;           最高</p><p><b>  外部中斷0</b></p><p>  定時/計數(shù)器0溢出中斷</p><p><b>  外部中斷1</b></p><p>  定時/計

68、數(shù)器1溢出中斷</p><p>  串行口中斷                               

69、;   最低</p><p>  數(shù)字式秒表中的兩個按鍵采用了中斷實現(xiàn)功能。開始采用外部中斷INT0,暫停采用外部中斷INT1。另外程序中還用到了定時/計數(shù)器0溢出中斷進行計時。依據(jù)設(shè)計要求,暫停的外部中斷INT1中斷級別最高,計時的定時/計數(shù)器0溢出中斷次之,開始的外部中斷INT0級別最低。</p><p>  (1)外部中斷0服務程序:</p><

70、;p>  外部中斷0服務程序結(jié)合外部P3.2停止鍵實現(xiàn)數(shù)字電子秒表的停止功能,具體流程圖如圖2.2。</p><p>  當按下P3.2停止鍵按下向CPU發(fā)出外部中斷請求,CPU轉(zhuǎn)向外部中斷0服務程序執(zhí)行,停止定時器。另外將當前顯示的時間進行一次存儲,存進中間寄存區(qū)。最后中斷返回。</p><p>  圖2.2 外部中斷0服務程序流程圖</p><p> ?。?/p>

71、2)外部中斷1服務程序</p><p>  當按下P3.3啟動鍵按下向CPU發(fā)出外部中斷請求,CPU轉(zhuǎn)向外部中斷1服務程序執(zhí)行,啟動定時器。另外進行二次存儲,將之前進行一次存儲的數(shù)碼管顯示數(shù)據(jù)存入最終緩存區(qū),避免下次計時暫停時一次存儲將數(shù)據(jù)掩蓋,從而起到保護數(shù)據(jù)的作用。二次存儲后就中斷返回。</p><p>  圖2.3 外部中斷1服務程序流程圖</p><p> 

72、?。?)定時中斷服務程序</p><p>  當定時/計數(shù)器T0器溢出后,向CPU發(fā)出中斷請求信號。CPU跳轉(zhuǎn)到定時中斷程序執(zhí)行,具體流程如圖2.4。定時中斷程序是一個進位程序,主要負責對1ms的加一。1ms位沒有滿十就跳出中斷程序,返回顯示程序。當1ms位滿十后就對1ms位清零,向10ms位加一,同時檢測10ms位是否滿十,沒有滿十就跳出中斷程序,返回顯示程序。如果滿十就向100ms位加一,依次類推,最終達到9

73、9.999秒后歸零,從零開始再次計時。</p><p>  定時/計數(shù)器T0工作在方式0下,TH0和TL0組成一個13位的二進制數(shù)計數(shù)器。單片機開機或復位時,它的值為00H,當T0啟動后,從第一個輸入脈沖開始計時,每來一個脈沖計數(shù)加一,即從0000000000000開始計數(shù)到1111111111111,再計數(shù)一個脈沖時TH0和TL0組成的13位計數(shù)器將會從13個1變成13個0,并產(chǎn)生溢出,溢出位將被送到TF0標志

74、位,通過溢出標志產(chǎn)生溢出中斷請求。顯然,T0定時器在方式0下引起一次中斷所允許計數(shù)的最多脈沖個數(shù)為213 個。</p><p>  但如果定時計數(shù)器如果每次都固定從0開始計數(shù),到計滿后,再向CPU發(fā)出溢出中斷請求信號那是毫無意義的。為了使定時計數(shù)器在規(guī)定的計數(shù)脈沖個數(shù)字之后(此時應小于213  個脈沖),向CPU發(fā)出溢出中斷請求,可采取預先向TH0和TL0中放入一個初值X的方法,使計數(shù)器以X值為起始值開

75、始計數(shù),即X+1,X+2,……直至計數(shù)器計滿,從1全變?yōu)?。設(shè)需要計數(shù)的脈沖個數(shù)為Y,則有:</p><p><b>  X+Y=213  </b></p><p>  在定時方式下:定時時間間隔位t=(213—X)*振蕩周期*12</p><p>  現(xiàn)在本設(shè)計要求1ms實現(xiàn)一次中斷,選擇定時器T0工作在方式0。所以需要根據(jù)以上條件

76、計算出T0的初值。</p><p>  設(shè)T0的初值為X,則</p><p> ?。?13—X)*12/12*106 =1*10-3  </p><p>  轉(zhuǎn)換位十六進制數(shù)X=7192=1110000011000B</p><p>  即TH0=0E0H(取X的高8位)</p><p>  TL0=18H

77、(取X的低5位)</p><p>  由于定時1ms只是一個理想化的時間,其中并沒有考慮到中斷后單片機執(zhí)行語句所花的時間。雖然執(zhí)行語句所花的時間很短只有即微秒,但積少成多,數(shù)字秒表一秒中要溢出中斷1000次,積累起來誤差就能達到毫秒級,這對于精度到達毫秒級的數(shù)字電子秒表來說是很大的誤差。所以要在后期編程時還要將單片機讀程序的時間考慮進去,</p><p>  在對定時器賦初值時將單片機需要

78、執(zhí)行的語句所花的時間加上,這樣就能使數(shù)字電子秒表的誤差達到最小。</p><p>  圖2.4 定時中斷服務程序</p><p>  第三章 數(shù)字秒表的安裝與測試</p><p>  3.1  軟件的仿真與調(diào)試</p><p>  Proteus ISIS的工作界面是一種標準的Windows界面,如圖1.19所示。它包括標題欄、主

79、菜單、狀態(tài)欄、標準工具欄、繪圖工具欄、對象選擇按鈕、預覽對象方位控制按鈕、仿真進程控制按鈕、預覽窗口、對象選擇器窗口、圖形編輯窗口等十幾個工具,方便了使用者的使用。</p><p>  Proteus SISI繪制原理圖的操作與繪制原理圖的操作基本相同,在這里就不再作贅述。下面拿本設(shè)計中的一個仿真例子作簡述說明。運行Proteus SISI后,繪制病床呼叫系統(tǒng)的原理圖。</p><p> 

80、 首先打開已經(jīng)畫好的DSN文件,雙擊圖中的AT89S52芯片,就彈出一個窗口,在Program File項中通過路徑選擇在WAVE中生成的HEX文件,雙擊選中后確定,這樣仿真圖中的AT89S52芯片就已經(jīng)讀取了本設(shè)計中的HEX文件。單擊“三角形按鈕”進行仿真。通過對仿真結(jié)果的觀察來對程序進行修改,最終使程序到達設(shè)計要求。</p><p>  3.2  硬件的安裝與調(diào)試</p><p&

81、gt;  按照之前設(shè)計好的數(shù)字電子秒表原理圖,詳細計算系統(tǒng)中各個元件的參數(shù),選擇相應器件,制作實際電路板。由于考慮到萬能板大小的問題及元件之間連線的方便,在焊接元器件前必須考慮元件的布局然后進行實際操作。</p><p>  制作好的電路板可以用萬用表(200歐姆檔)的紅、黑表筆測試電路板的每條走線,當其電阻非常小時,證明走線沒有斷開,當其電阻很大時,證明該條走線斷了,應該重新走線,使電路板在電氣上得到正確地連接

82、。選用萬用表的20K歐姆檔,檢測電路中是否存在短路。因為系統(tǒng)采用的是共陰極數(shù)碼管作為顯示電路,必須確保數(shù)碼管的公共端接的是低電平。</p><p> ?。?)晶振電路的測試</p><p>  在單片機正常運行的必要條件是單片機系統(tǒng)的時鐘穩(wěn)定正常。實際中,因為各種原因?qū)е孪到y(tǒng)時鐘不正常而出現(xiàn)系統(tǒng)無法正常運行的情況時有,因此系統(tǒng)時鐘是否振是通電檢查的首要環(huán)節(jié)。在系統(tǒng)通電的狀況下,用萬用表的直

83、流電壓檔(20V),分別測量XTAL1和XTAL2引腳的電壓,看是否正常,在調(diào)試過程中,測得電壓XTAL1引腳應為2.05V,XTAT2應為2.15V。</p><p> ?。?)復位電路的測試</p><p>  復位不正常也會導致系統(tǒng)不能工作。如果復位引腳始終為高電平,系統(tǒng)將始終處于復位狀態(tài);如果始終為低電平,不能產(chǎn)生復位所需的高電平信號脈沖,則系統(tǒng)也可能無法正常工作。單片機正常工作時

84、,RST復位引腳應為0V,按下復位按鍵時,復位引腳為高電平5V左右。</p><p> ?。?)顯示電路的測試</p><p>  顯示電路是數(shù)字電子秒表正常運行最直觀的觀察窗口,我們可以通過觀察顯示電路的顯示結(jié)果觀察系統(tǒng)能否正常運行。當顯示電路按照電路圖焊接好后,用萬用表的測二極管檔位,將黑表筆接共陰數(shù)碼管的公共段,然后將紅表筆接數(shù)碼管的各段,當數(shù)碼管的段能正常顯示,說明各點焊接正常。

85、</p><p>  3.3  系統(tǒng)程序的燒錄</p><p>  在軟件調(diào)試中,使用當今流行的功能強大且普遍的WAVE 6000軟件\進行軟件編譯與調(diào)試,使用Microcontroller ISP Software及其配套的單片機對程序進行燒錄。軟件調(diào)試的流程是這樣的:先分別對主要的功能程序模塊進行模擬仿真調(diào)試;然后再將各程序模塊組織起來進行統(tǒng)調(diào)</p><

86、p>  軟件的燒錄:第一步:安裝并運行Microcontroller ISP Software軟件;第二步:點擊Options欄的select device選項;這時出現(xiàn)一個對話窗口,如圖3.1所示,按圖選擇后,點擊OK按鍵,如出現(xiàn)圖3.2所示窗口,則說明電腦與開發(fā)板沒連接好或單片機沒插好等,需重裝檢查硬件連接,如果沒有出現(xiàn)則說明初始化成功。</p><p>  第三步:點擊File欄的Load Buffe

87、r選項打開已經(jīng)編譯好的HEX文件。點擊載入,出現(xiàn)如圖3.4.a對話框點確定后,再點擊圖3.3中的“A”字圖標,出現(xiàn)如圖3.4.b對話框,完成后,按軟件默認選項,點擊“OK”-“OK”―“OK”燒錄完成;否則重新檢查硬件連接后再重新燒錄</p><p>  3.4  數(shù)字電子秒表的精度調(diào)試</p><p>  將數(shù)字電子秒表的程序編譯后燒錄進單片機,并將單片機插入系統(tǒng)并保證其能正常

88、運行。在進行精度測試之前的編程過程中,我們知道了單片機在進行定時中斷時需要執(zhí)行語句,而執(zhí)行這些語句是需要占用CPU時間的,從而影響單片機定時的精確性,最終會導致數(shù)字電子秒表的計時誤差,為了減小這種計時誤差,我們之前在編程時已經(jīng)將單片機一秒鐘內(nèi)執(zhí)行程序的時間計算在內(nèi),并將定時器的初值做出了適當調(diào)整。爭取最大限度的減小數(shù)字電子秒表的計時誤差。</p><p><b>  結(jié) 論</b></

89、p><p>  本設(shè)計的數(shù)字電子秒表是由AT89S52單片機、共陰數(shù)碼顯示管、控制按鍵、三極管等器件構(gòu)成的,設(shè)有五位計時顯示,開始、暫停、復位、查看按鍵以及一個系統(tǒng)整機復位按鈕。計時精度能到達1ms,能調(diào)看上一次計時時間,設(shè)計精簡,使用簡單易懂。系統(tǒng)設(shè)計合理,線路簡單、功能先進,性能穩(wěn)定,程序精簡。并給出了詳細的電路設(shè)計方法。本系統(tǒng)是以單片機為核心,僅單片機方面知識是不夠的,還應根據(jù)具體硬件結(jié)構(gòu),以及針對具體應用對象

90、特點的軟件結(jié)合,以作完善。所以采用匯編語言來進行軟件設(shè)計,利用匯編語言面向機器并能較好的發(fā)揮機器的特性,得到較高的程序,同時匯編語言目標代碼簡短,占用內(nèi)存少,執(zhí)行速度快,能提高秒表的精度。</p><p>  本系統(tǒng)主要由3章組成,第一章中,主要是硬件組成部分和其實現(xiàn)的功能,在本此實驗中各部分都實現(xiàn)了其功能。在第二章中,主要介紹的是軟件實現(xiàn)過程的框圖。在第三章中,主要是對硬件和軟件的調(diào)試,最終保證了系統(tǒng)的正常運行

91、。</p><p>  通過畢業(yè)設(shè)計,復習鞏固我們以前所學習的數(shù)字、模擬電子技術(shù)、單片機原理及接口等課程知識,加深對各門課程及相互關(guān)系的理解,并成功使用了Wave、Protel 99se和Proteus ISIS三款電子軟件,使理論知識系統(tǒng)化、實用化,系統(tǒng)地掌握微機應用系統(tǒng)的一般設(shè)計方法,培養(yǎng)較強的編程能力、開發(fā)能力。同時,在畢業(yè)設(shè)計的過程中,我也發(fā)現(xiàn)了本系統(tǒng)的許多不足和可以改進的地方。但因時間緊迫等原因沒能改進

92、。本設(shè)計的數(shù)字電子秒表缺少對多次計時時間進行記錄的功能。應給在單片機的內(nèi)部存儲區(qū)多設(shè)置一些存儲空間,用來存儲多次計時時間。并在程序中編入對多次計時時間的調(diào)用顯示。電子秒表是一種較先進的電子計時器,目前國產(chǎn)的電子秒表一般都是利用石英振蕩器的振蕩頻率作為時間基準,采用6位液晶數(shù)字顯示時間。電子秒表的使用功能比機械秒表要多。通過對先進電子秒表的查閱,我發(fā)現(xiàn)設(shè)計的電子秒表還不具備防水,充電等功能。 </p><p>  

93、雖然存在不足,但本設(shè)計開發(fā)的數(shù)字電子秒表仍具有它的實用性。</p><p><b>  致 謝</b></p><p>  我這次畢業(yè)設(shè)計是在xx老師的精心指導下完成的,xx老師為我對本文的完成提供了良好的設(shè)施和環(huán)境,從論文的選定到實驗研究,從資料收集到方案確定,xx老師都給了我大量的中肯的建議和意見,我的每步工作都凝聚了xx老師的辛勤汗水。同時,xx老師的嚴謹?shù)闹螌W

94、態(tài)度和忘我的工作精神以及高尚的師德給我留下了深深的影響,這將激勵我更好地完成今后的學習和工作。借此機會對xx老師的精心教育和指導表示忠心的感謝;也借此機會,感謝大學四年來辛勤教育指導我的各科任老師。我也很感謝論文答辯的各位評委老師,感謝他們在百忙之中抽出時間幫我們答辯。還要感謝班里的同學對我不懈的支持與幫助。</p><p>  通過這次設(shè)計,我學到了很多知識,同時也認識到在團隊工作中需要有合作精神,我想這會為今

95、后自己踏上工作崗位、更好地融入新的團隊打下良好的基礎(chǔ)。</p><p><b>  參考文獻</b></p><p>  [1]  鄭毛祥.單片機應用基礎(chǔ).人民郵電出版社,2006.6:21-42</p><p>  [2]  李鄧化,彭書華,許曉飛.智能檢測技術(shù)及儀表.科學出版社,2007:194-201</p>

96、;<p>  [3]  戴佳. 單片機C51語言應用程序設(shè)計. 電子工業(yè)出版社,  2006.7:168-169</p><p>  [4]  朱民雄.計算機語言技術(shù). 北京航空航天大學出版社,2002.1:103-105</p><p>  [5]  李鴻.  單片機原理及應用. 湖南大學出版社. 2004:8:72-73&

97、lt;/p><p>  [6]  劉建清. 單片機技術(shù). 國防工業(yè)出版社, 2006.8: 104-105 </p><p>  [7]  楊寧,胡學軍.單片機與控制技術(shù).北京航空航天大學出版社,2005-03:306-322</p><p>  [8]  馬忠梅等.單片機C語言應用程序設(shè)計.北京航空航天大學出版社,1997:201-211

溫馨提示

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

評論

0/150

提交評論