畢業(yè)設(shè)計---基于單片機的測距儀的設(shè)計_第1頁
已閱讀1頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)設(shè)計(論文)</b></p><p>  基于單片機的測距儀的設(shè)計</p><p>  班 級: 自動化0901 </p><p>  學(xué) 號: </p><p>  指 導(dǎo)

2、老 師: 職稱: 講師 </p><p>  2012 年 03 月</p><p><b>  摘 要</b></p><p>  本設(shè)計介紹了基于單片機控制的超聲測距儀的原理:由AT89C51控制定時器產(chǎn)生超聲波脈沖并計時,計算超聲波自發(fā)射至接收的往返時間,從而得到實測距離。并且在數(shù)據(jù)處理中采用了溫度補償

3、的調(diào)整,用四位LED數(shù)碼管切換顯示距離和溫度。</p><p>  整個硬件電路由超聲波發(fā)射電路、超聲波接收電路、電源電路、顯示電路等模塊組成。各探頭的信號經(jīng)單片機綜合分析處理,實現(xiàn)超聲波測距儀的各種功能。在此基礎(chǔ)上設(shè)計了系統(tǒng)的總體方案,最后通過硬件和軟件實現(xiàn)了各個功能模塊。相關(guān)部分附有硬件電路圖、程序流程圖,給出了系統(tǒng)構(gòu)成、電路原理及程序設(shè)計。此系統(tǒng)具有易控制、工作可靠、測距準(zhǔn)確度高、可讀性強和流程清晰等優(yōu)點。

4、實現(xiàn)后的作品可用于需要測量距離參數(shù)的各種應(yīng)用場合。</p><p>  關(guān)鍵詞:AT89C51,超聲波,溫度補償,測距</p><p><b>  ABSTRACT</b></p><p>  The design introduces the principle of the ultrasonic distance measurement i

5、nstrument based on SCMC-controlled: AT89C51 controls timers to produce the ultrasonic wave pulse and time,count the time of ultrasonic wave spontaneous emission to receive round-trip,thus obtains the measured distance.A

6、nd the temperature compensation adjustment is used in the data processing, with four LED nixie tubes display distance or temperature by switching.</p><p>  The entire hardware circuit is composed by ultrason

7、ic transmitter circuit, ultrasonic receiver circuit, the power circuit, display circuit, and other modules. The probe signals are integrated analysised by SCMC to achieve the various functions of ultrasonic distance meas

8、urement instrument. Based on this has designed system's overall concept, final adoption of hardware and software to achieve the various functional modules. The relevant parts have the hardware schematics and process

9、flow chart.It</p><p>  Keywords:AT89C51, Ultrasonic wave, Temperature compensation, Measure distance</p><p><b>  目 錄</b></p><p><b>  第1章 緒論1</b></p>

10、<p>  1.1 課題研究的背景1</p><p>  1.2 課題研究的意義1</p><p>  1.3 論文結(jié)構(gòu)2</p><p>  第2章 超聲波測距原理3</p><p>  2.1 超聲波簡介3</p><p>  2.2 超聲波測距原理3</p>&

11、lt;p>  第3章 方案論證5</p><p>  3.1 設(shè)計思路5</p><p>  3.2 系統(tǒng)結(jié)構(gòu)設(shè)計6</p><p>  第4章 主要元件介紹7</p><p>  4.1 單片機AT89C517</p><p>  4.2 超聲波傳感器T40、R409</p>

12、<p>  4.3 溫度傳感器DS18B2010</p><p>  第5章 硬件電路設(shè)計11</p><p>  5.1 超聲波發(fā)射電路11</p><p>  5.2 超聲波接收電路11</p><p>  5.3 顯示電路12</p><p>  5.4 電源電路13<

13、/p><p>  5.5 復(fù)位電路13</p><p>  第6章 軟件設(shè)計14</p><p>  6.1 主程序流程14</p><p>  6.2 子程序設(shè)計16</p><p>  6.2.1 超聲波發(fā)送子程序及超聲波接收中斷子程序16</p><p>  6.2.2

14、測溫子程序17</p><p>  6.2.3 距離計算子程序18</p><p>  6.2.4 顯示子程序和鍵盤掃描子程序18</p><p>  第7章 軟件調(diào)試及系統(tǒng)仿真19</p><p>  7.1 軟件編譯調(diào)試環(huán)境——Keil19</p><p>  7.2 Keil工程文件的建立、設(shè)

15、置與目標(biāo)文件的獲得19</p><p>  7.2.1 Keil工程的建立19</p><p>  7.2.2 工程的詳細設(shè)置21</p><p>  7.2.3 編譯、連接23</p><p>  7.3 系統(tǒng)仿真環(huán)境——Proteus23</p><p>  7.4 系統(tǒng)仿真24</p&

16、gt;<p>  7.4.1 Proteus工作界面24</p><p>  7.4.2 Proteus原理圖的繪制25</p><p>  7.4.3 仿真25</p><p>  7.5 誤差及特性分析27</p><p><b>  結(jié) 論28</b></p><

17、;p><b>  參考文獻29</b></p><p><b>  致 謝31</b></p><p>  附錄1 整體電路圖32</p><p>  附錄2 程序清單33</p><p>  附錄3 外文復(fù)印件41</p><p>  附錄4 外文

18、譯文44</p><p><b>  實習(xí)報告46</b></p><p><b>  第1章 緒論</b></p><p>  1.1 課題研究的背景</p><p>  人們生活水平的提高,城市發(fā)展建設(shè)加快,城市給排水系統(tǒng)也有較大發(fā)展,其狀況不斷改善。但是,由于歷史原因合成時間住的許多不

19、可預(yù)見因素,城市給排水系統(tǒng),特別是排水系統(tǒng)往往落后于城市建設(shè)。因此,經(jīng)常出現(xiàn)開挖已經(jīng)建設(shè)好的建筑設(shè)施來改造排水系統(tǒng)的現(xiàn)象。城市污水給人們帶來了困擾,因此箱涵的排污疏通對大城市給排水系統(tǒng)污水處理,人們生活舒適顯得非常重要。而設(shè)計研制箱涵排水疏通移動機器人的自動控制系統(tǒng),保證機器人在箱涵中自由排污疏通,是箱涵排污疏通機器人的設(shè)計研制的核心部分??刂葡到y(tǒng)核心部分就是超聲波測距儀的研制。</p><p>  隨著科學(xué)技術(shù)

20、的快速發(fā)展,超聲波將在傳感器中的應(yīng)用越來越廣。但就目前技術(shù)水平來說,人們可以具體利用的傳感技術(shù)還十分有限,因此,這是一個正在蓬勃發(fā)展而又有無限前景的技術(shù)及產(chǎn)業(yè)領(lǐng)域。展望未來,超聲波傳感器作為一種新型的非常重要有用的工具在各方面都將有很大的發(fā)展空間,它將朝著更加高定位高精度的方向發(fā)展,以滿足日益發(fā)展的社會需求,如聲納的發(fā)展趨勢基本為:研制具有更高定位精度的被動測距聲納,以滿足水中武器實施全隱蔽攻擊的需要;繼續(xù)發(fā)展采用低頻線譜檢測的潛艇拖曳

21、線列陣聲納,實現(xiàn)超遠程的被動探測和識別;研制更適合于淺海工作的潛艇聲納,特別是解決淺海水中目標(biāo)識別問題。毋庸置疑,未來的超聲波傳感器將與自動化智能化接軌,與其他的傳感器集成和融合,形成多傳感器。隨著傳感器的技術(shù)進步,傳感器將從具有單純判斷功能發(fā)展到具有學(xué)習(xí)功能,最終發(fā)展到具有創(chuàng)造力。</p><p>  1.2 課題研究的意義</p><p>  在現(xiàn)實生活中,一些傳統(tǒng)的距離測量方式在某

22、些特殊場合存在不可克服的缺陷,例如,液面測量就是一個距離測量,傳統(tǒng)的電極法是采用差位分布電極,通過給電或脈沖檢測液面,電極長期浸泡在水中或其它液體中,極易被腐蝕、電解,從而失去靈敏性。而利用超聲波測量距離可以很好地解決這一問題。目前市面上常見的超聲波測距系統(tǒng)不僅價格昂貴,體積過大而且精度也不高等種種因素,使得在一些中小規(guī)模的應(yīng)用領(lǐng)域中難以得到廣泛的應(yīng)用。為解決這一系列難題,本文設(shè)計了一款基于AT89C51單片機的低成本、高精度、微型化的

23、超聲波測距儀。</p><p><b>  1.3 論文結(jié)構(gòu)</b></p><p>  論文首先對課題的背景和意義進行闡述,并概述了論文結(jié)構(gòu)。</p><p>  第2章先就超聲波測距的原理進行介紹,并提出了提高測距的精度的方案——溫度補償,且描述了其具體補償方式。</p><p>  第3章針對本文采用的設(shè)計方案進

24、行了可行性的論證,并得出了系統(tǒng)結(jié)構(gòu)框圖。</p><p>  第4章介紹了設(shè)計中需要用到的主要器件,且因其在本設(shè)計的作用不同而詳盡程序亦不同。</p><p>  第5章從整體硬件設(shè)計出發(fā),對各部分電路進行了詳細說明。</p><p>  第6章先給出了軟件設(shè)計的整體流程圖,并且對關(guān)鍵部分軟件設(shè)計做了進一步的解釋。</p><p>  程序編

25、譯及系統(tǒng)仿真也是本文的一個要點,所以特別分出一章來詳細介紹了程序編譯的環(huán)境和編譯的步驟以及仿真的環(huán)境和部分仿真的效果圖。</p><p>  第2章 超聲波測距原理</p><p>  2.1 超聲波簡介</p><p>  我們知道,當(dāng)物體振動時會發(fā)出聲音??茖W(xué)家們將每秒鐘振動的次數(shù)稱為聲音的頻率,它的單位是赫茲。我們?nèi)祟惗淠苈牭降穆暡l率為20~20000

26、赫茲。當(dāng)聲波的振動頻率大于20000赫茲或小于20赫茲時,我們便聽不見了。因此,我們把頻率高于20000赫茲的聲波稱為“超聲波”。通常用于醫(yī)學(xué)診斷的超聲波頻率為1~5兆赫。超聲波具有方向性好,穿透能力強,易于獲得較集中的聲能,在水中傳播距離遠等特點??捎糜跍y距,測速,清洗,焊接,碎石等。在醫(yī)學(xué),軍事,工業(yè),農(nóng)業(yè)上有明顯的作用。</p><p>  理論研究表明,在振幅相同的條件下,一個物體振動的能量與振動頻率成正

27、比,超聲波在介質(zhì)中傳播時,介質(zhì)質(zhì)點振動的頻率很高,因而能量很大。在我國北方干燥的冬季,如果把超聲波通入水罐中,劇烈的振動會使罐中的水破碎成許多小霧滴,再用小風(fēng)扇把霧滴吹入室內(nèi),就可以增加室內(nèi)空氣濕度。這就是超聲波加濕器的原理。對于咽喉炎、氣管炎等疾病,藥品很難血流到打患病的部位。利用加濕器的原理,把藥液霧化,讓病人吸入,能夠療效。利用超聲波巨大的能量還可以使人體內(nèi)的結(jié)石做劇烈的受迫振動而破碎。</p><p> 

28、 2.2 超聲波測距原理</p><p>  超聲波是利用反射的原理測量距離的,被測距離一端為超聲波傳感器,另一端必須有能反射超聲波的物體。測量距離時,將超聲波傳感器對準(zhǔn)反射物發(fā)射超聲波,并開始計時,超聲波在空氣中傳播到達障礙物后被反射回來,傳感器接收到反射脈沖后立即停止計時,然后根據(jù)超聲波的傳播速度和計時時間就能計算出兩端的距離。測量距離D為</p><p><b> ?。?

29、.1)</b></p><p>  式中 c——超聲波的傳播速度;</p><p>  ——超聲波發(fā)射到接收所需時間的一半,也就是單程傳播時間。</p><p>  由上式可風(fēng),距離的測量精度主要取決于計時精度和傳播速度兩方面。計時精度由單片機定時器決定,定時時間為機器周期與計數(shù)次數(shù)的乘積,可選用12MHz的晶振,使機器周期為精確的1µs

30、,不會產(chǎn)生累積誤差,使定時間達到1µs。超聲波的傳播速度c并不是固定不變的,傳播速度受空氣密度、溫度和氣體分子成分的影響,關(guān)系式為</p><p><b> ?。?.2)</b></p><p>  式中 γ——氣體定壓熱容與定容熱容的比值,空氣為1.40。</p><p>  R——氣體普適常數(shù),為8.314kg/mol。<

31、/p><p>  T——氣體勢力學(xué)溫度,與攝氏溫度的關(guān)系是T=273K+t。</p><p>  M——氣體相對分子質(zhì)量,空氣為28.8×10-3kg/mol。</p><p>  c0——0℃時的聲波速度,為331.4m/s。</p><p>  由上式可見,超聲波在空氣中傳播時,受溫度影響最大,由表達式可計算出波速與溫度的關(guān)系,如表

32、2.1所示。溫度越高,傳播速度越快,而且不同溫度下傳播速度差別非常大,例如0℃時的速度為332m/s,30℃時的速度為350m/s,相差18m/s。因此,需要較高的測量精度時,進行溫度補償是最有效的措施。對測量精度要求不高時,可認(rèn)為超聲波在空氣中的傳播速度為340m/s。</p><p>  表2.1 超聲波傳播速度與溫度關(guān)系表</p><p><b>  第3章 方案論證&l

33、t;/b></p><p>  3.1 設(shè)計思路 </p><p>  測量距離方法有很多種,短距離可以用尺,遠距離有激光測距等,超聲波測距適用于高精度中長距離測量。因為超聲波在標(biāo)準(zhǔn)空氣中傳播速度為331.45米/秒,由單片機負(fù)責(zé)計時,單片機使用12.0M晶振,所以此系統(tǒng)測量精度理論上可以達到毫米級。 </p><p>  目前比較普遍的測距的原理:通過發(fā)射

34、具有特征頻率的超聲波對被攝目標(biāo)的探測,通過發(fā)射出特征頻率的超聲波和反射回接受到特征頻率的超聲波所用的時間,換算出距離,如超聲波液位物位傳感器,超聲波探頭,適合需要非接觸測量場合,超聲波測厚,超聲波汽車測距告警裝置等。 </p><p>  由于超聲波指向性強,能量消耗緩慢,在介質(zhì)中傳播距離遠,因而超聲波可以用于距離測量。利用超聲波檢測距離,設(shè)計比較方便,計算處理也較簡單,并且在測量精度方面也能達到要求。由于超聲

35、波易于定向發(fā)射、方向性好、強度易控制、與被測量物體不需要直接接觸的優(yōu)點,是作為液體高度測量的理想手段。在精密的液位測量中需要達到毫米級的測量精度,但是目前國內(nèi)的超聲波測距專用集成電路都是只有厘米級的測量精度。通過分析超聲波測距誤差產(chǎn)生的原因,提高測量時間差到微秒級,以及用溫度傳感器進行聲波傳播速度的補償后,我們設(shè)計的高精度超聲波測距儀能達到毫米級的測量精度。</p><p>  目前超聲波測距已得到廣泛應(yīng)用,國內(nèi)

36、一般使用專用集成電路根據(jù)超聲波測距原理設(shè)計各種測距儀器,但是專用集成電路的成本較高、功能單一。而以單片機為核心的測距儀器可以實現(xiàn)預(yù)置、多端口檢測、顯示、報警等多種功能,并且成本低、精度高、操作簡單、工作穩(wěn)定、可靠。以8051為內(nèi)核的單片機系列,其硬件結(jié)構(gòu)具有功能部件齊全、功能強等特點。尤其值得一提的是,出8位CPU外,還具備一個很強的位處理器,它實際上是一個完整的位微計算機,即包含完整的位CPU,位RAM、ROM(EPROM),位尋址寄

37、存器、I/O口和指令集。所以,8051是雙CPU的單片機。位處理在開關(guān)決策、邏輯電路仿真、過程測控等方面極為有效;而8位處理則在數(shù)據(jù)采集和處理等方面具有明顯長處。</p><p>  根據(jù)設(shè)計要求并綜合各方面因素,可以采用AT89C51單片機作為主控制器,它控制發(fā)射觸發(fā)脈沖的開始時間及脈寬,響應(yīng)回波時刻并測量、計數(shù)發(fā)射至往返的時間差。利用軟件產(chǎn)生超聲波信號,通過輸出引腳輸入至驅(qū)動器,經(jīng)驅(qū)動器驅(qū)動后推動探頭產(chǎn)生超聲

38、波;超聲波信號的接收采用鎖相環(huán)LM567對放大后的信號進行頻率監(jiān)視和控制。一旦探頭接到回波,若接收到的信號頻率等于振蕩器的固有頻率(此頻率主要由RC值決定),則其輸出引腳的電平將從“1”變?yōu)椤?”(此時鎖相環(huán)已進入鎖定狀態(tài)),這種電平變化可以作為單片機對接收探頭的接收情況進行實時監(jiān)控。可對測得數(shù)據(jù)優(yōu)化處理,并采用溫度補償,使測量誤差降到更低限度;AT89C51還控制顯示電路,用動態(tài)掃描法實現(xiàn)LED數(shù)字顯示。</p><

39、;p>  3.2 系統(tǒng)結(jié)構(gòu)設(shè)計</p><p>  超聲波測距儀系統(tǒng)結(jié)構(gòu)如圖3.1所示。它主要由單片機、超聲波發(fā)射及接收電路、超聲波傳感器、溫度傳感器、鍵盤、LED顯示電路及電源電路組成。系統(tǒng)主要功能包括:</p><p>  超聲波的發(fā)射、接收,并根據(jù)計時時間計算測量距離;</p><p>  檢測空氣溫度用于距離計算的補償;</p><

40、;p>  LED顯示器顯示距離、溫度;</p><p>  鍵盤接收用戶命令并處理;</p><p>  當(dāng)系統(tǒng)運行不正常時,用電平式開關(guān)與上電復(fù)位電路復(fù)位。</p><p>  圖3.1 超聲波測距儀系統(tǒng)結(jié)構(gòu)框圖</p><p>  第4章 主要元件介紹</p><p>  4.1 單片機AT89C51

41、</p><p>  單片機即單片微型計算機SCMC(Single Chip MicroComputer)。它把構(gòu)成一臺計算機的主要功能部、器件,如CPU(進行運算、控制)、RAM(數(shù)據(jù)存儲)、ROM(程序存儲)、輸入/輸出設(shè)備(例如:串行口、并行輸出口等)、中斷系統(tǒng)、定時/計數(shù)器等集中在一塊芯CPU(進行運算、控制)、RAM(數(shù)據(jù)存儲)、ROM(程序存儲)、輸入/輸出設(shè)備(例如:串行口、并行輸出口等)制功能,所

42、以又稱為微控制器MCU(Microcontroller Unit)。相對于普通微機,單片機的體積要小得多,一般嵌入到其他儀器設(shè)備里,實現(xiàn)自動檢測與控制,因此也稱為嵌入式微控制器EMCU(Embedded Microcontroller Unit)。</p><p>  本設(shè)計的MCU采用的是DIP(Dual In-line Package塑料雙列直插式)封裝的AT89C51高性能8位單片機。AT89C51是一個低

43、電壓,高性能CMOS 8位單片機,片內(nèi)含4k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和128 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,內(nèi)置功能強大的微型計算機的AT89C51提供了高性價比的解決方案。</p><p>  AT89C51是一個低功耗高性能單片機,40個引腳,

44、32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,AT89C51可以按照常規(guī)方法進行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。其引腳圖如右圖4.1。</p><p>  AT89C51的引腳功能有: 圖4.1 AT89C5

45、1的引腳圖</p><p><b>  1) 主電源引腳</b></p><p>  VSS——第20腳,電路接地電平。</p><p>  VCC——第40腳,正常運行和編程校驗+5V電源。</p><p><b>  2) 時鐘源</b></p><p>  XTAL1—

46、—第19腳,一般外接晶振的一個引腳,它是片內(nèi)反相放大器的輸入端口。當(dāng)直接采用外部信號時,此引腳應(yīng)接地。</p><p>  XTAL1——第18腳,接外部晶振的另一個引腳,它是片內(nèi)反相放大器的輸出端口。當(dāng)采用外部振蕩信號源泉時,此引腳為外部振蕩信號的輸入端口,與信號源相連接。</p><p>  3) 控制、選通或復(fù)用</p><p>  RST/VPD——第9腳,

47、RESET復(fù)位信號輸入端口。當(dāng)單片機正常工作時,由該引腳輸入脈寬為2個以上機器周期的高電平復(fù)位信號到單片機。在VCC掉電期間,此引腳(即VPD)可接通備用電源,以保持片內(nèi)RAM信息不受破壞。</p><p>  ——第30腳,輸出允許地址鎖存信號。當(dāng)單片機訪問外部存儲器時,ALE信號的負(fù)跳變將P0口上的低8位地址送入鎖存器。在非訪問外部存儲器期間,ALE仍以1/6振蕩頻率固定不變地輸出,因此它可對個輸出或用于定時

48、目的。要注意的是:每當(dāng)訪問外部存儲器時將跳過一個ALE脈沖。為第二功能,當(dāng)對片內(nèi)程序存儲器編程寫入時,此引腳作為編程脈沖輸入端。</p><p>  ——第29腳,訪問外部程序存儲器選能信,低電平有效。當(dāng)AT89C51由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次有效,即輸出兩個脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,這兩次有效的 信號不出現(xiàn)。</p><p>  :外部訪問允許。欲使

49、CPU公訪問外部程序存儲器(地址0000H-FFFFH),端必須保持低電平(接地)。需注意的是:如果加密位LBI被編程,復(fù)位時內(nèi)部會鎖存端狀態(tài)。Flash存儲器編程時,該引腳加上+12V的編程允許電源VPP,當(dāng)然這必須是該器件是使用12V編程電壓VPP。</p><p>  4) 多功能I/O端口</p><p>  P0口——第32~39腳,8位漏極開路雙向I/O端口。作為輸出口用時,每

50、位能吸收電流的方式驅(qū)動8個TTL邏輯門電路,對端口寫“1”可作為高阻抗輸入端用。在訪問數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。</p><p>  P1口——第1~8腳,具有內(nèi)部上拉電路的8位準(zhǔn)雙向I/O端口。在對片內(nèi)程序存儲器(EPROM型)進行程序編程和校驗時,用做低8位地址總線。</p><p>  P2口——第21~28腳,具有內(nèi)部

51、上拉電路的8位準(zhǔn)雙向I/O端口。當(dāng)單片機訪問存儲器時,用做高8位地址總線;在對片內(nèi)程序存儲器(EPROM型)進行程序編程和校驗時,亦用做高8位地址總線。</p><p>  P3口——第10~17腳,具有內(nèi)部上拉電路的8位準(zhǔn)雙向I/O端口。它還提供特殊的第二變異功能。它的每一位均可獨立定義為第一功能的I/O口或第二變異功能。第二變異功能的具體含義如表4.2:</p><p>  表4.2

52、 P3口的第二變異功能</p><p>  4.2 超聲波傳感器T40、R40</p><p>  超聲波是指頻率高于20kHz的機械波。超聲波在恒定環(huán)境條件下的傳播速度不變。超聲波傳感器主要材料有壓電晶體(電致伸縮)及鎳鐵鋁合金(磁致伸縮)兩類。電致伸縮的材料有鋯鈦酸鉛(PZT)等。壓電晶體組成的超聲波傳感器是一種可逆?zhèn)鞲衅?,它可以將電能轉(zhuǎn)變成機械振蕩而產(chǎn)生超聲波,同時它接收到超聲波時

53、,也能轉(zhuǎn)變成電能,所以它可以分成接收器和發(fā)送器。超聲波傳感器由兩個壓電晶片和一個共振板組成,當(dāng)壓電晶片的兩極加上頻率等于其固有諧振頻率的脈沖信號時,壓電晶片產(chǎn)生共振,并帶動共振板產(chǎn)生振動,同時帶動壓電晶片也一起振動,將機械能轉(zhuǎn)換為電能,稱為超聲波接收器。超聲波傳感器利用壓電效應(yīng)進行電能和超聲波機械能的相互轉(zhuǎn)換,也稱為超聲波換能器。超聲波發(fā)射換能器與接收換能器在結(jié)構(gòu)上稍有不同,使用時應(yīng)分清器件上的標(biāo)志,但外觀基本一致。有的超聲波傳感器既作

54、發(fā)送,也能作接收。這里僅介紹小型超聲波傳感器,其結(jié)構(gòu)如圖1所示,發(fā)送與接收略有差別,它適用于在空氣中傳播,工 圖4.2 T40、R40外觀 作頻率一般為23-25KHZ及40-45KHZ。這類傳感器適用于測距、遙控、防盜等用途。該種有T/R-</p><p>  4.3 溫度傳感器DS18B20</p><p>  溫度傳感器主要由熱敏元件組成。熱敏元件品種教

55、多,市場上銷售的有雙金屬片、銅熱電阻、鉑熱電阻、熱電偶及半導(dǎo)體熱敏電阻等。以半導(dǎo)體熱敏電阻為探測元件的溫度傳感器應(yīng)用廣泛,這是因為在元件允許工作條件范圍內(nèi),半導(dǎo)體熱敏電阻器具有體積小、靈敏度高、精度高的特點,而且制造工藝簡單、價格低廉。半導(dǎo)體熱敏電阻按溫度特性熱敏電阻可分為正溫度系數(shù)熱敏電阻(電阻隨溫度上升而增加)和負(fù)溫度系數(shù)熱敏電阻(電阻隨溫度上升而下降)。</p><p>  本設(shè)計采用的是美國Dallas

56、半導(dǎo)體公司的不銹鋼封裝的DS18B20數(shù)字溫度傳感器。DS18B20是采用專門設(shè)計的不銹鋼外殼,僅有0.2mm的壁厚,具有很小的蓄熱量,采用導(dǎo)熱性高的密封膠,保證了溫度傳感器的高靈敏性,極小的溫度延遲。DS18B20支持“一線總線”接口(1-Wire),測量溫度范圍為 -55°C~+125°C,在-10~+85°C范圍內(nèi),精度為±0.5°C?,F(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大

57、提高了系統(tǒng)的抗干擾性。</p><p>  DS18B20采用3腳PR-35封裝(圖4.4): </p><p>  DS18B20數(shù)字化溫度傳感器的主要性能如下:</p><p>  適用電壓為3V~5V;</p><p>  9~12位分辨率可調(diào),對應(yīng)的可編程溫度分別為0.5℃、0.25℃、0.125℃、0.062

58、5℃;</p><p>  TO-92、SOIC及CSP封裝可選;</p><p>  測溫范圍:-55℃~125℃;</p><p>  精度:-10℃~85℃范圍內(nèi)±0.5℃;</p><p>  無需外部元件,獨特的一線接口,電源和信號復(fù)合在一起;</p><p>  每個芯片唯一編碼,支持聯(lián)網(wǎng)尋址,零

59、功耗等待。</p><p>  圖4.4 PR-35封裝圖</p><p>  第5章 硬件電路設(shè)計</p><p>  5.1 超聲波發(fā)射電路</p><p>  超聲波發(fā)射電路原理圖如圖5.1所示。發(fā)射電路主要由反相器74LS04和超聲波發(fā)射換能器T40構(gòu)成,單片機P1.0端口輸出的40kHz的方波信號一路經(jīng)一級反向器后送到超聲波換

60、能器的一個電極,另一路經(jīng)兩級反向器后送到超聲波換能器的另一個電極,用這種推換形式將方波信號加到超聲波換能器的兩端,可以提高超聲波的發(fā)射強度。輸出端采用兩個反向器并聯(lián),用以提高驅(qū)動能力。上位電阻R1、R2一方面可以提高反向器74LS04輸出高電平的驅(qū)動能力,另一方面可以增加超聲波換能器的阻尼效果,縮短其自由振蕩時間。</p><p>  圖5.1 超聲波發(fā)射電路原理圖</p><p>  

61、5.2 超聲波接收電路</p><p>  超聲波接收電路由超聲波傳感器、兩級放大電路和鎖相環(huán)電路組成。超聲波傳感器接收到的反射波信號非常微弱,兩級放大電路用于對傳感器接收到的信號進行放大。鎖相環(huán)電路接收到頻率符合要求的信號后向單片機發(fā)出中斷請求。鎖相環(huán)LM567內(nèi)部壓控振蕩器的中心頻率為,鎖定帶寬與C3有關(guān)。由于發(fā)送的超聲波頻率為40kHz,幫調(diào)整相關(guān)元件使鎖相環(huán)的中心頻率為40kHz,只響應(yīng)該頻率的信號,避

62、免了其他頻率信號的干擾。</p><p>  當(dāng)超聲波傳感器接收到超聲波信號后,送入兩級放大器放大,放大后的信號進入鎖相環(huán)檢波,如果頻率為40kHz,則從8腳發(fā)出低電平中斷請求信號送單片機P3.3端,單片機檢測到低電平后停止定時器的工作。超聲波接收電路如圖5.2所示。</p><p>  圖5.2 超聲波接收電路</p><p><b>  5.3 顯

63、示電路</b></p><p>  顯示電路如圖5.3,四位LED組成動態(tài)掃描電路,由AT89C51的P0口輸出。動態(tài)掃描時,由P2口控制LED的當(dāng)前顯示位。當(dāng)距離測量結(jié)束并調(diào)用顯示程序,就會顯示距離大小,顯示兩位小數(shù)。當(dāng)按下按鍵k2時,將會顯示溫度值,延時5s后恢復(fù)顯示距離值。</p><p>  圖5.3 顯示電路</p><p><b>

64、;  5.4 電源電路</b></p><p>  電源電路如圖5.4所示。為方便起見,本設(shè)計采用的是9V電池供電,直流電送入三端穩(wěn)壓器LM7805穩(wěn)壓,輸出+5V穩(wěn)恒直流電,作為電路的電源。LED是電源指示燈,通電后發(fā)光。</p><p>  圖5.4 電源電路</p><p><b>  5.5 復(fù)位電路</b></

65、p><p>  AT89C51復(fù)位有一個專用的外部引腳RESET,外部可通過此引腳輸入一個正脈沖使單片機復(fù)位。所謂復(fù)位,就是強制單片機系統(tǒng)恢復(fù)到確定的初始狀態(tài),并使系統(tǒng)重新從初始狀態(tài)開始工作。本設(shè)計采用的是電平式開關(guān)與上電復(fù)位電路,為了能使運行中的系統(tǒng),經(jīng)人工干預(yù),強制系統(tǒng)進行復(fù)位。其電路圖如5.4所示:</p><p>  圖5.4 復(fù)位電路</p><p><

66、;b>  第6章 軟件設(shè)計</b></p><p>  6.1 主程序流程</p><p>  我們知道C語言程序有利于實現(xiàn)較復(fù)雜的算法,匯編語言程序則具有較高的效率且容易精細計算程序運行的時間,而超聲波測距儀的程序既有較復(fù)雜的計算(計算距離時),又要求精細計算程序運行時間(超聲波測距時),所以控制程序可采用C語言和匯編語言混合編程。</p><p

67、>  因為本設(shè)計對時間要求精度較高的部分全部由單片機內(nèi)部的定時器完成,而雖然溫度傳感器的讀寫對時間精度要求也高,但經(jīng)詳細計算所得出的C程序已被廣泛應(yīng)用,故直接借用已有程序也能作到對溫度的準(zhǔn)確讀取,所心本設(shè)計全部使用C語言編程,這樣能使設(shè)計中所用到的公式能方便快捷的體現(xiàn)和實現(xiàn),又縮短了論文的篇幅。</p><p>  軟件采用模塊化設(shè)計方法,由主程序、超聲波發(fā)生子程序、超聲波接收中斷子程序、溫度測量子程序、距

68、離計算子程序、顯示子程序、鍵盤掃描處理程序等模塊組成。</p><p>  圖6.1為主程序流程圖。</p><p>  系統(tǒng)上電后,首先系統(tǒng)初始化,不斷掃描按鍵k1,若按鍵k1按下,則開始測量空氣溫度,然后將P1.0置位,使定時器T0開始定時,控制超聲波傳感器發(fā)出超聲波,同時使定時器T1開始定時。CPU循環(huán)檢測P3.3引腳,當(dāng)P3.3為低電平時接收到回波,立即使T1停止工作,保存定時器的

69、計數(shù)值。</p><p>  然后根據(jù)溫度和傳輸時間計算距離,溫度補償措施使測量精度有了明顯提高,計算出距離后調(diào)用距離顯示子程序,LED顯示距離。</p><p>  最后檢測按鍵k2,若k2閉合,則調(diào)用溫度顯示子程序,LED顯示溫度(溫度并非測量距離時用于補償?shù)臏囟?,而是?dāng)前溫度)5s后恢復(fù)顯示本次測量距離;若按鍵k2沒有閉合,則顯示器恒定顯示最新一次的測量結(jié)果;若要進行下一次測量,則先

70、要按下k3重新開始,再按下按鍵k1才執(zhí)行新一次測量。由于不需輸入數(shù)據(jù),鍵盤只設(shè)置了3個按鍵,用于開始測量距離并顯示溫度功能設(shè)置等。</p><p>  6.2 子程序設(shè)計</p><p>  6.2.1 超聲波發(fā)送子程序及超聲波接收中斷子程序</p><p>  超聲波發(fā)生子程序的作用是通過P1.0端口發(fā)送左右超聲波脈沖信號(頻率約40kHz的方波),脈沖寬度為

71、12μs左右,同時把計數(shù)器T1打開進行計時,定時器T1工作在方式0。</p><p>  超聲波測距儀主程序利用外中斷1檢測返回超聲波信號,一旦接收到返回超聲波信號(即引腳出現(xiàn)低電平),立即進入中斷程序。進入中斷后就立即關(guān)閉計時器T1停止計時,并將測距成功標(biāo)志字賦值1。如果當(dāng)計時器溢出時還未檢測到超聲波返回信號,則定時器T1溢出中斷將外中斷1關(guān)閉,并將測距成功標(biāo)志字賦值0表示此次測距不成功。</p>

72、<p>  T0中斷服務(wù)程序如下:</p><p>  sbit send=P1^0;</p><p>  void timer0(void)interrupt 1 </p><p>  { send=!send;</p><p><b>  TH0=0x1f;</b></p><p&

73、gt;<b>  TL0=0xf4;</b></p><p><b>  }</b></p><p>  超聲波接收(外部中斷1)程序:</p><p>  void int1(void)interrupt 2 </p><p>  { if(TH1!=0x00&&TH0!=0x0

74、0)</p><p><b>  { b=1;</b></p><p><b>  TR1=0;</b></p><p><b>  TR0=0;</b></p><p>  t=TH1*256+TL1;</p><p>  t=t/1000000;

75、</p><p><b>  TH0=0x1f;</b></p><p><b>  TL0=0xf4;</b></p><p><b>  TH1=0x00;</b></p><p><b>  TL1=0x00;</b></p><

76、p><b>  }</b></p><p><b>  else </b></p><p><b>  { b=0;</b></p><p><b>  TR1=0;</b></p><p><b>  TR0=0;</b>

77、</p><p><b>  TH0=0x1f;</b></p><p><b>  TL0=0xf4;</b></p><p><b>  TH1=0x00;</b></p><p><b>  TL1=0x00;</b></p><

78、p><b>  } }</b></p><p>  6.2.2 測溫子程序</p><p>  測溫的主要器件是DS18B20,現(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,DS18B20中有兩個存測得的溫度值的兩個8位存貯器RAM,用11位存貯溫度值,最高位(5位)為符號位。對應(yīng)的溫度計算:當(dāng)符號位S=0時,直接將二進制位轉(zhuǎn)換為十進制;當(dāng)S=1時,先將補碼變

79、換為原碼,再計算十進制值。圖6.2為DS18B20的溫度存儲方式: </p><p>  bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0</p><p>  bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8<

80、/p><p>  圖6.2 DS18B20的溫度存儲方式</p><p>  負(fù)溫度時S=1,正溫度時S=0。因此我們只需要逐位讀出它的溫度就可以了。讀出一個字節(jié)C代碼如下: </p><p>  uchar readbyte(void) //直接讀一字節(jié)程序</p><p>  { uchar i,k;</p>

81、<p><b>  i=8;</b></p><p><b>  k=0;</b></p><p>  while(i--)</p><p>  {tem_in=1;</p><p>  delay_us(1);</p><p><b>  tem_i

82、n=0;</b></p><p><b>  k=k>>1;</b></p><p><b>  tem_in=1;</b></p><p><b>  NOP;</b></p><p>  if(tem_in)k |= 0x80; //tem

83、_in為1時,則該位也為1</p><p>  delay_us(4); </p><p><b>  }</b></p><p>  return(k);</p><p><b>  }</b></p><p>  6.2.3 距離計算子程序</p><

84、;p>  當(dāng)前溫度和超聲波往返時間均測量出來后,用C語言根據(jù)公式計算距離來編程是比較簡單的算法。</p><p>  根據(jù)測量距離,而其中,故可簡化為:,其實現(xiàn)程序算法如下:</p><p>  #include<math.h></p><p>  void distance(void)</p><p><b> 

85、 {</b></p><p>  double radical,dist,t;</p><p>  radical=sqrt(1+(temnum+273)/273);</p><p>  dist=165.7*t*radical;</p><p>  return(dist);</p><p><b&

86、gt;  }</b></p><p>  6.2.4 顯示子程序和鍵盤掃描子程序</p><p>  顯示電路由四位LED組成動態(tài)掃描電路,編程非常簡單。又雖然本設(shè)計共有四個按鍵,k0控制電源輸入,不需軟件編程;而k3為手動復(fù)位按鍵,亦不需軟件編程;只有k1 、k2分別測距開始按鍵和距離與溫度切換顯示按鍵,級易實現(xiàn)。所以不贅述顯示子程序和鍵盤掃描子程序,詳情可見附

87、錄二。</p><p>  第7章 軟件調(diào)試及系統(tǒng)仿真</p><p>  7.1 軟件編譯調(diào)試環(huán)境——Keil</p><p>  單片機開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)镃PU可以執(zhí)行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。機器匯編是通過匯編軟件將源程序變?yōu)闄C器碼,用于MCS-51

88、單片機的匯編軟件有早期的A51,隨著單片機開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開發(fā)MCS-51系列單片機的軟件,這從近年來各仿真機廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。掌握這一軟件的使用對于使用51系列

89、單片機的愛好者來說是十分必要的,如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調(diào)試工具也會事半功倍。</p><p>  7.2 Keil工程文件的建立、設(shè)置與目標(biāo)文件的獲得</p><p>  7.2.1 Keil工程的建立</p><p>  首先啟動Keil軟件的集成開發(fā)環(huán)境

90、,如果已正確安裝了該軟件,可以從桌面上直接雙擊uVision的圖標(biāo)以啟動該軟件。uVison啟動后,程序窗口的左邊有一個工程管理窗口,該窗口有3個標(biāo)簽,分別是Files、Regs、和Books,這三個標(biāo)簽頁分別顯示當(dāng)前項目的文件結(jié)構(gòu)、CPU的寄存器及部份特殊功能寄存器的值(調(diào)試時才出現(xiàn))和所選CPU的附加說明文件,如果是第一次啟動Keil,那么這三個標(biāo)簽頁全是空的。</p><p><b>  1) 源

91、文件的建立</b></p><p>  使用菜單“File->New”或者點擊工具欄的新建文件按鈕,即可在項目窗口的右側(cè)打開一個新的文本編緝窗口,在該窗口中輸入?yún)R編語言或C語言源程序,然后保存該文件,注意必須加上擴展名(匯編語言源程序一般用asm或a51為擴展名,而C語言源程序一般用c 為擴展名),這里假定將文件保存為exam1.asm。需要說明的是,源文件就是一般的文本文件,不一定使

92、用Keil軟件編寫,可以使用任意文本編緝器編寫,而且,Keil的編緝器對漢字的支持不好,建議使用UltraEdit之類的編緝軟件進行源程序的輸入。</p><p><b>  2) 建立工程文件</b></p><p>  在項目開發(fā)中,并不是僅有一個源程序就行了,還要為這個項目選擇CPU(Keil支持?jǐn)?shù)百種CPU,而這些CPU的特性并不完全相同),確定編譯、匯編、連

93、接的參數(shù),指定調(diào)試的方式,有一些項目還會有多個文件組成等,為管理和使用方便,Keil使用工程(Project)這一概念,將這些參數(shù)設(shè)置和所需的所有文件都加在一個工程中,只能對工程而不能對單一的源程序進行編譯(匯編)和連接等操作。點擊“Project->New Project…”菜單,出現(xiàn)一個對話框,要求給將要建立的工程起一個名字,可以在編緝框中輸入一個名字(設(shè)為exam1),不需要擴展名。點擊“保存”按鈕,出現(xiàn)第二個對話框,如圖7

94、.1所示,這個對話框要求選擇目標(biāo)CPU,Keil支持的CPU很多,我們選擇Atmel公司的89C51芯片。點擊ATMEL前面的“+”號,展開該層,點擊其中的89C51,然后再點擊“確定”按鈕,回到主界面,此時,在工程窗口的文件頁中,出現(xiàn)了“Target1”,前面有“+”號,點擊“+”號展開,可以看到下一層的“Source Group1”,這時的工程還是一個空的工程,里面什么文件也沒有,需要手動把剛才編寫好的源程序加入</p>

95、<p>  7.2.2 工程的詳細設(shè)置</p><p>  工程建立好以后,還要對工程進行進一步的設(shè)置,以滿足要求。</p><p>  首先點擊左邊Project窗口的Target 1,然后使用菜單“Project->Option for target‘target1’”即出現(xiàn)對工程設(shè)置的對話框,這個對話框可謂非常復(fù)雜,共有8個頁面,要全部搞清可不容易,好在絕大部份

96、設(shè)置項取默認(rèn)值就行了。</p><p>  設(shè)置對話框中的Target頁面,如圖7.3所示,Xtal后面的數(shù)值是晶振頻率值,默認(rèn)值是所選目標(biāo)CPU的最高可用頻率值,對于我們所選的AT89C51而言是24M,該數(shù)值與最終產(chǎn)生的目標(biāo)代碼無關(guān),僅用于軟件模擬調(diào)試時顯示程序執(zhí)行時間。正確設(shè)置該數(shù)值可使顯示時間與實際所用時間一致,一般將其設(shè)置成與你的硬件所用晶振頻率相同,如果沒必要了解程序執(zhí)行的時間,也可以不設(shè),這里設(shè)置為

97、12。Memory Model用于設(shè)置RAM使用情況,有三個選擇項,Small是所有變量都在單片機的內(nèi)部RAM中;Compact是可以使用一頁外部擴展RAM,而Larget則是可以使用全部外部的擴展RAM。Code Model用于設(shè)置ROM空間的使用,同樣也有三個選擇項,即Small模式,只用低于2K的程序空間;Compact模式,單個函數(shù)的代碼量不能超過2K,整個程序可以使用64K程序空間;Large模式,可用全部64K空間。Use

98、on-chip ROM選擇項,確認(rèn)是否僅使用片內(nèi)ROM(注意:選中該項并不會影響最終生成的目標(biāo)代碼量);Operating項是操作系統(tǒng)選擇,Keil提供了兩種操作系統(tǒng):Rtx tiny和R</p><p>  設(shè)置對話框中的OutPut頁面,如圖7.4所示,這里面也有多個選擇項,其中Creat Hex file用于生成可執(zhí)行代碼文件(可以用編程器寫入單片機芯片的HEX格式文件,文件的擴展名為.HEX),默認(rèn)情況下

99、該項未被選中,如果要寫片做硬件實驗,就必須選中該項,在此特別提醒注意。選中Debug information將會產(chǎn)生調(diào)試信息,這些信息用于調(diào)試,如果需要對程序進行調(diào)試,應(yīng)當(dāng)選中該項。Browse information是產(chǎn)生瀏覽信息,該信息可以用菜單view->Browse來查看,這里取默認(rèn)值。按鈕“Select Folder for objects”是用來選擇最終的目標(biāo)文件所在的文件夾,默認(rèn)是與工程文件在同一個文件夾中。Name

100、 of Executable用于指定最終生成的目標(biāo)文件的名字,默認(rèn)與工程的名字相同,這兩項一般不需要更改。</p><p>  工程設(shè)置對話框中的其它各頁面與C51編譯選項、A51的匯編選項、BL51連接器的連接選項等用法有關(guān),這里均取默認(rèn)值,不作任何修改。以下僅對一些有關(guān)頁面中常用的選項作一個簡單介紹。</p><p>  Listing標(biāo)簽頁用于調(diào)整生成的列表文件選項。在匯編或編譯完成

101、后將產(chǎn)生(*.lst)的列表文件,在連接完成后也將產(chǎn)生(*.m51)的列表文件,該頁用于對列表文件的內(nèi)容和形式進行細致的調(diào)節(jié),其中比較常用的選項是“C Compile Listing”下的“Assamble Code”項,選中該項可以在列表文件中生成C語言源程序所對應(yīng)的匯編代碼。</p><p>  C51標(biāo)簽頁用于對Keil的C51編譯器的編譯過程進行控制,其中比較常用的是“CodeOptimization”組

102、,如圖7.5所示,該組中Level是優(yōu)化等級,C51在對源程序進行編譯時,可以對代碼多至9級優(yōu)化,默認(rèn)使用第8級,一般不必修改,如果在編譯中出現(xiàn)一些問題,可以降低優(yōu)化級別試一試。Emphasis是選擇編譯優(yōu)先方式,第一項是代碼量優(yōu)化(最終生成的代碼量?。坏诙検撬俣葍?yōu)先(最終生成的代碼速度快);第三項是缺省。默認(rèn)的是速度優(yōu)先,可根據(jù)需要更改。設(shè)置完成后按確認(rèn)返回主界面,工程文件建立、設(shè)置完畢。</p><p>

103、  7.2.3 編譯、連接</p><p>  在設(shè)置好工程后,即可進行編譯、連接。選擇菜單Project->Build target,對當(dāng)前工程進行連接,如果當(dāng)前文件已修改,軟件會先對該文件進行編譯,然后再連接以產(chǎn)生目標(biāo)代碼;如果選擇Rebuild All target files將會對當(dāng)前工程中的所有文件重新進行編譯然后再連接,確保最終生產(chǎn)的目標(biāo)代碼是最新的,而Translate….項則僅對該文件進行

104、編譯,不進行連接。以上操作也可以通過工具欄按鈕直接進行。圖7.6是有關(guān)編譯、設(shè)置的工具欄按鈕,從左到右分別是:編譯、編譯連接、全部重建、停止編譯和對工程進行設(shè)置。編譯過程中的信息將出現(xiàn)在輸出窗口中的Build頁中,如果源程序中有語法錯誤,會有錯誤報告出現(xiàn),雙擊該行,可以定位到出錯的位置,對源程序反復(fù)修改之后,最終會得到如圖7.7所示的結(jié)果,提示獲得了名為exam1.hex的文件,該文件即可被編程器讀入并寫到芯片中,同時還產(chǎn)生了一些其它相

105、關(guān)的文件,可被用于Keil的仿真與調(diào)試,這時可以進入下一步調(diào)試的工作。</p><p>  7.3 系統(tǒng)仿真環(huán)境——Proteus</p><p>  Proteus ISIS是英國Labcenter公司開發(fā)的電路分析與實物仿真軟件。它運行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件具有如下特點:①實現(xiàn)了單片機仿真和SPICE電路仿真相結(jié)合。具有

106、模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、RS232動態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。②支持主流單片機系統(tǒng)的仿真。目前支持的單片機類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。③提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點等調(diào)

107、試功能,同時可以觀察各個變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2等軟件。④具有強大的原理圖繪制功能??傊?,該軟件是一款集單片機和SPICE分析于一身的仿真軟件,功能極其強大。本章介紹Proteus ISIS軟件的工作環(huán)境</p><p><b>  7.4 系統(tǒng)仿真</b></p&g

108、t;<p>  7.4.1 Proteus工作界面</p><p>  Proteus ISIS的工作界面是一種標(biāo)準(zhǔn)的Windows界面,如圖7.8所示。包括:標(biāo)題欄、主菜單、標(biāo)準(zhǔn)工具欄、繪圖工具欄、狀態(tài)欄、對象選擇按鈕、預(yù)覽對象方位控制按鈕、仿真進程控制按鈕、預(yù)覽窗口、對象選擇器窗口、圖形編輯窗口。</p><p>  7.4.2 Proteus原理圖的繪制</p

109、><p>  Proteus中原理圖繪制比較簡單,具體可參見其幫助,暫不贅述。</p><p><b>  7.4.3 仿真</b></p><p>  由于Proteus里沒有超聲波傳感器,也沒有能夠完全代替它功能元件,所以本設(shè)計只敘述其能仿真出來一部分。</p><p><b>  源程序的錄入</b&

110、gt;</p><p>  先右擊AT89C51,再左擊AT89C51,會出現(xiàn)如圖7.9所示的對話框,點擊,選擇所需要的HEX文件。然后單擊OK。</p><p><b>  仿真的實現(xiàn)</b></p><p>  一切準(zhǔn)備就緒后,點擊,就開始仿真了。</p><p>  圖7.10為本設(shè)計的系統(tǒng)仿真原理圖。 </

111、p><p>  7.5 誤差及特性分析</p><p>  雖說在仿真時溫度傳感器DS18B20是可視調(diào)節(jié),且全為整數(shù),但LED顯示時當(dāng)溫度達到一定范圍便會出現(xiàn)小數(shù)誤差。例如當(dāng)DS18B20顯示是28℃時,而LED顯示是28.4℃;而當(dāng)DS18B20顯示是25℃時,而LED顯示仍是25℃;而仿真表明隨著溫度的升高其誤差大小也并不一致,且全都控制在1℃以內(nèi)。說明這并不是固有誤差,很難避免,可以

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論