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

下載本文檔

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

文檔簡介

1、<p>  基于聲波定位系統(tǒng)的研究畢業(yè)設計論文</p><p><b>  摘 要</b></p><p>  聲波具有指向性強,能量消耗緩慢,傳播距離較遠等優(yōu)點,所以,在利用傳感器技術(shù)和自動控制技術(shù)相結(jié)合的測距方案中,超聲波測距是目前應用最普遍的一種,它廣泛應用于防盜、倒車雷達、水位測量、建筑施工工地以及一些工業(yè)現(xiàn)場。</p><p&g

2、t;  本課題詳細介紹了能良好聲波傳感器的原理和特性,以及Atmel公司的AT89C51單片機的性能和特超慮的問題,給出了以AT89C51單片機為核心的低成本、高精度、微型化數(shù)字顯示超聲波測距儀的硬件電路和軟件設計方法。該系統(tǒng)電路設計合理、工作穩(wěn)定、性點,并在分析了超聲波測距的原理的基礎上,指出了設計測距系統(tǒng)的思路和所需考、檢測速度快、計算簡單、易于做到實時控制,并且在測量精度方面能達到工業(yè)實用的要求。</p><p

3、>  關鍵詞:超聲波;單片機;測距;AT89C51</p><p><b>  Abstract</b></p><p>  Ultrasonic wave has strong pointing to nature, slowly energy consumption, propagating distance ology combine together ,

4、ultrasonic wave finds range to use the most general one at present ,it applies to guard against theft ,move backward the radar ,water level measuring ,building constructiofarther ,so ,in utilizing the scheme of distance

5、 finding that sensor technology automatic control technn site and some industrial scenes extensively</p><p>  This subject h ce and characteristic of one-chip computer AT89C51 of Atmel Company ,and on the ba

6、sis of as introduced principle and characteristic of the ultrasonic sensor in detail ,and the performan analyzing principle that ultrasonic wave finds range ,the systematic thinking and questions needed to consider that

7、have pointed out that designs and finds range ,provide low cost , tal display and software design method taking AT89C51 as the core ,this circuit of system is reasohe hardware circuit</p><p>  Key Words: Ult

8、rasonic wave;One-chip computer;Range finding;AT89C51</p><p><b>  目 錄</b></p><p><b>  第1章 概 述1</b></p><p>  1.1 單片機應用系統(tǒng)概述1</p><p>  1.2 超聲波測距系統(tǒng)

9、的研究背景與意義2</p><p>  第2章 超聲波測距的原理3</p><p>  2.1 超聲波的基本理論3</p><p>  2.2 超聲波測距系統(tǒng)原理4</p><p>  第3章 系統(tǒng)主要硬件設計7</p><p>  3.1 方案論證與比較7</p><p>  3.

10、2 單片機基礎知識11</p><p>  3.3 單片機主機系統(tǒng)電路18</p><p>  3.4 溫度采集DS18B20電路20</p><p>  3.5 LED數(shù)碼管顯示電路21</p><p>  3.6 超聲測距系統(tǒng)軟件實現(xiàn)21</p><p>  第4章 系統(tǒng)軟件設計23</p>

11、<p>  4.1 系統(tǒng)程序的結(jié)構(gòu)23</p><p>  4.2 系統(tǒng)主程序25</p><p>  4.3 40KHZ超聲波發(fā)生及中斷子程序26</p><p>  4.4 DS18B20溫度采集程序27</p><p>  4.5 距離計算程序30</p><p>  4.6 LCD顯示程

12、序31</p><p>  第5章 試驗分析33</p><p>  5.1 實驗測試33</p><p>  5.2 試驗數(shù)據(jù)33</p><p>  5.3 誤差分析33</p><p>  5.4 系統(tǒng)改進34</p><p><b>  總 結(jié)35</b&g

13、t;</p><p><b>  參考文獻36</b></p><p><b>  致 謝37</b></p><p>  附錄1 超聲波測距系統(tǒng)原理圖38</p><p>  附錄2 實驗源程序39</p><p><b>  概 述</b>&

14、lt;/p><p><b>  單片機應用系統(tǒng)概述</b></p><p>  單片機是一個單芯片形態(tài)、面向控制對象的嵌入式應用計算機系統(tǒng)。它的出現(xiàn)及發(fā)展使計算機技術(shù)從通用型數(shù)值計算領域進入到智能化的控制領域。從此,計算機技術(shù)在兩個重要領域——通用計算機領域和嵌入式計算機領域都得到了極其重要的發(fā)展,并正在深深地改變著我們的社會。</p><p> 

15、 嵌入式系統(tǒng)無疑其應用使電子系統(tǒng)的智能化出現(xiàn)了意想不到的效果,常常無需對硬件資源做任何改是當前最熱門、最具有發(fā)展前景的IT應用之一。嵌入式系統(tǒng)的應用可以使傳統(tǒng)的電子系統(tǒng)升級成為智能化的電子產(chǎn)品,使其成為具有“生命”的現(xiàn)代化核心部件,動,只需更新系統(tǒng)軟件就能使系統(tǒng)功能升級?,F(xiàn)代社會中嵌入式系統(tǒng)無處不在,智能系統(tǒng)。嵌入式系統(tǒng)一般應用于對實時響應要求較高的設備中,單片機作為嵌入式系統(tǒng)的早已被應用在國防、國民經(jīng)濟、以及人們?nèi)粘I畹母鱾€領域,主

16、要可以歸納為以下幾個方面。</p><p> ?。?)軍事裝備:各種武器控制(火炮控制、彈道控制、炮彈引信等),坦克、艦船、轟炸等各種電子裝備,雷達、電子對抗、軍事通訊裝備等。</p><p> ?。?)家用電器:各種家電產(chǎn)品,如數(shù)字電視、機頂盒、數(shù)碼相機、VCD、DVD、可視電話、洗衣機、電冰箱、手機、智能玩具等。</p><p> ?。?)工業(yè)控制:各種智能儀器

17、儀表、數(shù)控裝置、可編程控制器、分布式控制系統(tǒng)、工業(yè)機器人、機電一體化設備、汽車電子設備等。</p><p> ?。?)商用設備:各種收款機、POS系統(tǒng)、電子秤、條形碼閱讀器、商務終端、IC卡輸入設備、自動柜員機、防盜系統(tǒng)等。</p><p> ?。?)辦公用品:復印機、打印機、傳真機、掃描儀、手機、個人數(shù)字助理(PDA)、變頻空調(diào)設備、通信終端、程控變換機、網(wǎng)絡設備等。</p>

18、<p> ?。?)醫(yī)療電子設備:各種醫(yī)療電子儀器,如X光機、超聲診斷儀、心臟起搏器、監(jiān)護儀器等,以及輔助診斷系統(tǒng)、專家系統(tǒng)等。</p><p>  單片機應用系統(tǒng)的設開發(fā)環(huán)境、系統(tǒng)可靠性設計、電磁兼容性設計等內(nèi)容。通常開發(fā)一個單片機系統(tǒng)的計包括單片機基本擴展、外圍電路設計和程序設計、單片機應用系統(tǒng)步驟如下:</p><p>  圖 11 設計步驟</p>&l

19、t;p>  超聲波測距系統(tǒng)的研究背景與意義</p><p>  在基于的電極法是采用差位分布電極,通過給電或脈沖來檢測液面,電極長期浸泡于水中或其他液體中,極的加快,城市車輛逐漸增多,因為停車不當而造成的交通事故也越來越多。為了避免此類事故的發(fā)生,一個能夠直觀測出汽車與障礙物之間的距離的裝置就變得十易被腐蝕、電解,失去靈敏性。由于超聲波具有強度大,方向性好等特點,利用超聲波測量距離就可以解決這些問題。隨著人

20、們生活水平的提高,城市發(fā)展建設分重要。它可以及時將車輛與障礙物之間的距離反應出來,給司機以更準確的信息和更多的反應時間,減少事故的發(fā)生。此外,超聲波測量距離技術(shù)還在工業(yè)控制、傳統(tǒng)的測量距離存在不可克服的缺陷。例如,液面測量就是一種距離測量,傳統(tǒng)勘探測量、機器人定位和軍事應用等領域得到了廣泛的應用。</p><p>  超聲波測距電路可以由傳統(tǒng)的模擬或者數(shù)字電路構(gòu)建,但是基于這些傳統(tǒng)電路構(gòu)建的系統(tǒng)往往可靠性過簡單的

21、外圍電路發(fā)生和接收超聲波,單片機通過采樣獲取到超聲波的傳播時間,用軟件來計算出距離,并且可以采集環(huán)境溫度進行測距補償,其測量電路小巧,精度高,反差,調(diào)試困難,可擴展性差,所以基于單片機的超聲波測距系統(tǒng)被廣泛的應用。通映速度快,可靠性好。</p><p><b>  超聲波測距的原理</b></p><p><b>  超聲波的基本理論</b>&l

22、t;/p><p>  超聲波是一門以物理術(shù)在國民經(jīng)濟中,對提高產(chǎn)品質(zhì)量,保障生產(chǎn)安全和設備安全運作,降低生產(chǎn)成本,提高生產(chǎn)效、電子、機械、以及材料科學為基礎的、各行各業(yè)都要使用的通用技術(shù)之一。該技率特別具有潛在能力。因此,我國對超聲波的研究特別活躍。</p><p>  超聲技術(shù)是通過超聲波的產(chǎn)生、傳播以及接收的物理過程完成的。超聲波具有聚束、定向及反變化的功率應用,稱之為射、投射等特性。按超

23、聲波振動輻射大小不同大致可以分為:用超聲波使物體或物性功率超聲;用超聲波獲取信息,稱為檢測超聲。</p><p>  超聲波是聽像處在一種無限的介質(zhì)中,超聲波自由地向外擴散;反之,如果超聲波的波長與相鄰介質(zhì)的覺閾值之外的振動,其頻率范圍在10 Hz到10億KHz,其中通常的頻率大約在10000Hz到300萬Hz之間。超聲波在超聲場(被超聲波充滿的范圍)傳播時,超聲波就尺寸相近,則超聲波受到界面限制不能自由的向外擴

24、散。于是超聲波在傳播過程中有如下的特性和作用:</p><p>  1 超聲波的傳播速度</p><p>  超聲波在介質(zhì)中可以產(chǎn)生三種形式的振蕩波:橫波——質(zhì)點振動方向垂直于傳播方向的波;之間,沿表面?zhèn)鞑サ牟?。橫波只能在固體中傳播,縱波能在固體液體中和氣體中傳播,表面波隨深度的增加其衰減很快。為了測量各種狀態(tài)下的物理量多采用縱波形式的超聲波。超聲縱波——質(zhì)點振動方向與傳播方向一致的波;表

25、面波——質(zhì)點振動介于縱波和橫波波的頻率越高,越與光波某些特性相似。</p><p>  2 超聲波對聲場產(chǎn)生的作用</p><p><b>  (1) 機械作用</b></p><p>  超聲波傳播過程中,會引起介質(zhì)質(zhì)點交替的壓縮與伸張,構(gòu)成了壓力的變化,這種壓力的振動的頻率的平方成正比的質(zhì)點變化將引起機械效應。超聲波引起質(zhì)點的運動,雖然位移

26、和速度不大,但是與超聲波的加速度卻很大。有時足以達到破壞介質(zhì)的程度。</p><p><b>  (2) 空化作用</b></p><p>  在流體動力泡將迅速膨脹,然后突然閉合,在氣泡閉合時產(chǎn)生沖擊波,這種膨脹、閉合、振動等一系列學指出,存在于液體中的微氣泡在聲場的作用下振動,當聲壓達到一定的值時,氣動力學過程稱為空化。</p><p>&

27、lt;b>  (3) 熱學作用</b></p><p>  如果超聲波動,使介質(zhì)產(chǎn)生強烈作用于介質(zhì)時被介質(zhì)所吸收,實際上也就是有能量吸收,同時,由于超聲波的振的高頻振蕩介質(zhì)相互摩擦產(chǎn)生熱熱量,這種能量使介質(zhì)溫度升高。 </p><p><b>  3 超聲波傳感器</b></p><p>  超聲波傳感器主要有電致伸縮和磁

28、致伸縮兩類,電致伸縮采用雙壓電陶瓷晶片制成,具有可逆特性。</p><p>  壓電陶瓷壓的大小和方向成正。也就是說,若在壓電晶片兩邊加以頻率為的交流電電壓時,它就會產(chǎn)生同頻率的機械振動,這種機械振動推動空氣的張弛,當落在音頻范圍內(nèi)時便會發(fā)出聲音片具有如下特性:當在其兩端加上大小和方向不斷變化的交流電壓時,就會產(chǎn)生“壓電效應”,使壓電陶瓷也產(chǎn)生機械變形,這種機械變形的大小以及方向與外加電。反之,如果由超聲波機械振

29、動作用于陶瓷片使其發(fā)生微小的形變時,那么壓電晶片也會產(chǎn)生與振動頻率相同的微弱的交流信號。</p><p>  超聲波傳感器結(jié)構(gòu)如下:</p><p>  圖 21元件內(nèi)部結(jié)構(gòu) 圖 22超聲波外部結(jié)構(gòu)</p><p><b>  超聲波測距系統(tǒng)原理</b></p><p>  超聲波測

30、距原理是通過超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時刻的同時開始計時,超聲波在空氣中傳播時碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計時。超聲波在空氣中的傳播速度為v ,而根據(jù)計時器記錄的測出發(fā)射和接收回波的時間差△t ,就可以計算出發(fā)射點距障礙物的距離S ,即: </p><p>  S = v * △t / 2 ① </p><p>  這就是所謂的時間差

31、測距法。</p><p>  由于超聲波也是一種聲波, 其聲速C與溫度有關,表1列出了幾種不同溫度下的聲速。在使用時,如果溫度變化不大, 則可認為聲速是基本不變的。常溫下超聲波的傳播速度是334 米/秒,但其傳播速度V 易受空氣中溫度、濕度、壓強等因素的影響,其中受溫度的影響較大,如溫度每升高1 ℃, 聲速增加約0. 6 米/ 秒。如果測距精度要求很高, 則應通過溫度補償?shù)姆椒右孕Uū鞠到y(tǒng)正是采用了溫度補償?shù)?/p>

32、方法)。已知現(xiàn)場環(huán)境溫度與常溫的差值為△T 時, 超聲波傳播速度V 的計算公式為:</p><p>  V = 331.45 + 0.607△T ②</p><p>  限制該系統(tǒng)的最大可測距離存在四個因素:超聲波的幅度、反射物的質(zhì)地、反射和入射聲波決定最小可測距離。為了增加所測量的覆蓋范圍,減少測量誤差,可采用多個超聲波換能器分之間的夾角以及接收換能器的靈敏度。接收換能器對聲波脈沖

33、的直接接收能力將別作為多路超聲波發(fā)射/接收的設計方法。由于超聲波發(fā)球聲波范圍,其波速c與溫度有關。</p><p>  下圖列出了幾種不同溫度下的波速:</p><p>  表 21 溫度與聲速關系</p><p>  單片機發(fā)出40kHZ的信號,經(jīng)放大后通過超聲波發(fā)射器輸出;超聲波接收器將接收到的超聲波信號經(jīng)放大器放大,用鎖相環(huán)電路進行檢波處理后,啟動單片機中斷

34、程序,測得時間為t,再由軟件進行判別、計算,得出距離數(shù)并送液晶顯示器顯示。</p><p>  超聲波測距原理框圖如圖所示。</p><p>  圖 23超聲波測距儀原理框圖</p><p><b>  系統(tǒng)主要硬件設計</b></p><p><b>  方案論證與比較</b></p>

35、;<p>  超聲波發(fā)射電路:下圖是由非門構(gòu)成的一個振蕩器發(fā)送電路,用非門構(gòu)成的電路簡單,調(diào)試容易。很容易通過軟件控制。圖中把兩個非門的輸出接到一起的目的是為了提高其吸入電流,電路驅(qū)動能力提高。且成本低廉。</p><p>  圖 31 超 聲 波 發(fā) 射 電 路</p><p>  從圖中可知,當輸入的信號為高電平時,上面經(jīng)過兩級反向CSB40T的1引腳為高電平,下面經(jīng)過

36、一級反向后為低電平;當輸入信號為低電平時,正好相反,實現(xiàn)了振蕩的信號驅(qū)動CSB40T,只要控制信號接近40KHz,就能產(chǎn)生超聲波。</p><p>  超聲波發(fā)生器包括超聲波產(chǎn)生電路和超聲波發(fā)射控制電路兩個部分,超聲波探頭(“也稱為超聲波換能器”)的型號選用CSB40T(其中心頻率為40KHz)。可以采用軟件產(chǎn)生40KHz的超聲波信號,通過輸出引腳輸入至驅(qū)動器,經(jīng)過動器驅(qū)動后推動探頭產(chǎn)生超聲波。這種方法的特點是充

37、分利用軟件,靈活性好,但是需要設計一個驅(qū)動電流為100mA以上的驅(qū)動電路。第二種方法是利用超聲波專用發(fā)生電路或通用發(fā)生電路產(chǎn)生超聲波信號,并直接驅(qū)動超聲波換能器產(chǎn)生超聲波。這種方法的特點是無需驅(qū)動電路,但缺乏靈活性。本次我們采用第一種方法產(chǎn)生超聲波,非門可以選用74LS04, 74HC04內(nèi)部集成了六個反向器,同時具有放大的功能。74HC04的管腳如下圖所示。</p><p>  圖 32 74LS04管腳圖&

38、lt;/p><p>  超聲波接收電路:超聲波接收包括接收探頭,信號放大以及波形變換電路三部分,超聲波接,提供系統(tǒng)可靠性,所以我們采用了一種用在彩色電視機上面的一種紅外接收檢波芯片CX20106,由于紅外遙控的中心頻率在38KHz,和超聲波的40KHz很接近,所以可以用來做接收電路。CX20106是日本索尼公司的產(chǎn)品,采用單列8引腳的直插式封收探頭必須與發(fā)送探頭相同的型號,否則可能導致接收效果甚至不能接收。由于超聲波

39、接收探頭的信號非常弱,所以必須用放大器放大,放大后的正弦波不能被微處理器處理,所以必須經(jīng)過波形變換。本次設計為了降低調(diào)試難度,減少成本裝,內(nèi)部包含自動偏置控制電路、前置放大電路、帶通濾波、峰值檢波、積分比較器、斯密特整形輸出電路,配合少量外接元件就可以對38KHz左右的信號的接收與處理,該芯片內(nèi)部。</p><p>  超聲波接收及信號處理電路是此系統(tǒng)設計和調(diào)試的一個難點。超聲波接收器接收反射的超聲波轉(zhuǎn)換為40K

40、Hz毫伏級的電壓信號,需要經(jīng)過放大、處理、用于觸發(fā)單片機中斷INT0。一方面?zhèn)鞲衅鬏敵鲂盘栁⑷?,同時根據(jù)反射條件不同信號大小變化較大,需要放大倍數(shù)大約為100到5000倍,另一方面?zhèn)鞲衅鬏敵鲎杩馆^大,這就需要高輸入阻抗的多級放大電路,這就會引入兩個問題:高輸入阻抗容易接收干擾信號,同時多級放大電路容易自激振蕩。參考各種資料最后選用了SONY公司的專用集成前置放大器CX20106達到了比較好的效果。</p><p>

41、;  CX20106由:前置放大器、限幅放大器、帶通濾波器、檢波器、積分器、整型電路組成。其中的前置放大器具有自動增益控制功能,可以保證在超聲波傳感器接收較遠反射信號輸出微弱電壓時放大器有較高的增益,在近距離輸入信號強時放大器不會過載。其述為: 在接收到與濾波器中心頻率相符的信號時,其輸出腳7腳輸出低電平。芯片中的帶通濾波器帶通濾波器中心頻率可由芯片腳5的外接電阻調(diào)節(jié)。其主要指標:單電源5V供電,電壓增益77 - 79DB , 輸入阻抗

42、27 KΩ , 濾波器中心頻率30 K- 60 KHz。功能可描、積分器等使得它抗干擾能力很強。</p><p>  使用CX20106A集成電路對接收探頭受到的信號進行放大、濾波。其總放大增益80db。CX20106構(gòu)成本次設計接收電路如下圖:</p><p>  圖 33 cx20106接收電路</p><p>  使用CX20106A集成電路對接收探頭受到的

43、信號進行放大、濾波。其總放大增益80db。以下是CX20106A的引腳注釋。1腳:超聲信號輸入端,該腳的輸入阻抗約為40kΩ。2腳:該腳與地實際使用中不必改動,推薦選用參數(shù)為R4=4.7Ω,C4=1μF。3腳:該腳與地之間連接檢之間連接RC串聯(lián)網(wǎng)絡,它們是負反饋串聯(lián)網(wǎng)絡的一個組成部分,改變它們的數(shù)值能改變前置放大器的增益和頻率特性。增大電阻R4或減小C4,將使負反饋量增大,放大倍數(shù)下降,反之則放大倍數(shù)增大。但C4的改變會影響到頻率

44、特性,一般在波電容,電容量大為平均值檢波,瞬間相應靈敏度低;若容量小,則為峰值檢波,瞬間相應靈敏度高,但檢波輸出的脈沖寬度變動大,易造成誤動作,推薦參數(shù)為3.3μf。4腳:接地端。5腳:該腳與電源間接入一個電阻,用以設置帶通濾波器的中心頻率f0,阻值越大,中心頻率越低。例如,取R=200kΩ時,f0≈42kHz,若取R=220kΩ,則中心頻率f0≈38kHz。6腳: 該腳與地之間接一個積分電容,標準值為330pF,如果該電容取得太

45、大,會使探測距離變短。7腳:遙控命令輸出端,它是集電極開路輸出方式,因此該</p><p>  為了使測量更加精準我們直接采用HC-SR04超聲波收發(fā)模塊,它可提供2cm--400cm的非接觸式距離感測功能。測量精度可達到3mm(本作品因測量工具限制,測量精度在10mm)。模塊包括超聲波發(fā)射器、接收器及其控制電路。</p><p><b>  基本工作原理:</b>

46、</p><p>  圖 34 按時打發(fā)打發(fā)</p><p>  采用IO口TRIG觸發(fā)測距,給至少10us的高電平信號。</p><p>  模塊自動發(fā)射8個40khz的方波,并檢測信號是否有返回。</p><p>  有信號返回,通過IO端口ECHO輸出一個高電平,高電平持續(xù)的時間就是超聲波從發(fā)射到接收所用的時間。測量距離=高電平持續(xù)時

47、間*聲速/2。</p><p><b>  如實物圖所示:</b></p><p>  VCC提供5V電壓,GND接地,GRIG觸發(fā)控制信號輸入,ECHO回響信號輸出等四只線。</p><p><b>  表 31電氣參數(shù)</b></p><p>  該模塊只需要提供1個10uS以上的脈沖觸發(fā)信號

48、,其內(nèi)部將發(fā)出8個40KHz周期電平并檢測回波。一旦檢測到有回波信號則輸出回響信號?;仨懶盘柕拿}沖寬度與所測的距離成正比。由此通過發(fā)射信號到收到回響信號時間間隔可以計算得到距離。測距時需注意被測物體面積不少于0.5平方米且平面盡量要平整,否則影響測量的結(jié)果。此外此模塊不宜帶電連接,若要帶電連接,則先讓模塊的GND端先連接,否則會影響模塊的正常工作。</p><p><b>  單片機基礎知識</b

49、></p><p>  單片微型計算機簡稱單片機,特別適用于控制領域,故又稱為微控制器(Microcontroller)。單片微型計算機是微型計算機的一個重要分支,也是一種非?;钴S且頗具生命力的機種。</p><p>  通常,單片機由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計算機的基本功能部件:CPU(Central Processing Unit,中央處理器)、存儲器和I/O接口電路等。

50、因此,單片機只需要與適當?shù)能浖巴獠吭O備相結(jié)合,便可成為一個單片機控制系統(tǒng)。</p><p><b>  單片機的內(nèi)部結(jié)構(gòu)</b></p><p>  單片機內(nèi)部結(jié)構(gòu)如圖3-5所示。</p><p>  圖 35 單片機內(nèi)部結(jié)構(gòu)</p><p>  與單片機相比,微型計算機是一種多片機系統(tǒng)。它是由中央處理器(CPU)芯

51、片、ROM芯片、控制總線CB)連成一體的完整計算機系統(tǒng)。其中,中央處理器(CPU)的字長長,功能強大;ROMRAM芯片和I/O接口芯片等通過印刷電路板上總線(地址總線AB、數(shù)據(jù)總線DB和和RAM的容量很大;I/O接口的功能也大,這是單片機無法比擬的。因此,單片機在結(jié)構(gòu)上與微型計算機十分相似,是一種集微型計算機主要功能部件于同一塊芯片上的微型計算機,并由此而得名。</p><p>  由圖3-5可見,中央處理器(C

52、PU)是通過內(nèi)部總線與ROM、RAM、I/O接口以及定時器/計數(shù)器相連的,這個結(jié)構(gòu)并不復雜,但并不好理解。為此,在分析單片機工作原理前,先對圖3-5中各部件作一基本介紹是十分必要的。</p><p><b>  1.存儲器</b></p><p>  在單片機內(nèi)部,ROM和RAM存儲器是分開制造的。通常,ROM存儲器容量較大,RAM存儲器的容量較小,這是單片機用于控制

53、的一大特點。</p><p><b>  (1)ROM </b></p><p>  ROM(Read中,根據(jù)片內(nèi)ROM的結(jié)構(gòu),單片機又可分為無ROM型、ROM型和EPROM(Erasable ProgrammOnly Memory,只讀存儲器)一般為1~32K字節(jié),用于存放應用程序,故又稱為程序存儲器。由于單片機主要在控制系統(tǒng)中使用,因此一旦該系統(tǒng)研制成功,其硬件

54、和應用程序均已定型。為了提高系統(tǒng)的可靠性,應用程序通常固化在片內(nèi)ROMable Read Only Memory,可擦除可編程只讀存儲器)型三類。近年來,又出現(xiàn)了EEPROM(Electrically Erasable Programmable Read Only Memory,電擦除可編程只讀存儲器)和Flash型ROM存儲器。</p><p>  無ROM型單片機特點是片內(nèi)不集成ROM存儲器,故應用程序必須固

55、化到外接的ROM存儲器芯片中,才能構(gòu)成有完整功能的單片機應用系統(tǒng)。ROM型單片機內(nèi)部,其程序存儲片機內(nèi)部的程序存儲器是采用特殊FAMOS管構(gòu)成的,程序一旦寫入,也可以通過特殊手段加以器是采用掩膜工藝制成的,程序一旦固化進去便永遠不能修改。EPROM型單修改。因此,EPROM型單片機是深受研制人員歡迎的。 </p><p><b>  (2)RAM</b></p><p&g

56、t;  通常,單片機片內(nèi)RAM(Random Access Memory,隨機存取存儲器)容量為</p><p>  64~256字節(jié),最多可達48K字節(jié)。RAM主要用來存放實時數(shù)據(jù)或作為通用寄存器、數(shù)據(jù)堆棧和數(shù)據(jù)緩沖器之用。</p><p>  2.中央處理器(CPU)</p><p>  中央處理器的內(nèi)部結(jié)構(gòu)極其復雜,要像電子線路那樣畫出它的全部電路原理圖來加以

57、分析介紹是根本不可能的。下面簡單概述一下幾個主要部分的工作原理。</p><p><b>  (1)運算器</b></p><p>  運算器用于對二進制數(shù)進行算術(shù)運算和邏輯操作;其操作順序在控制器控制下進行。運算器由算術(shù)邏輯單元ALU、累加器A、通用寄存器R0、暫存器TMP和狀態(tài)寄存器PSW等五部分組成。</p><p>  累加器A(hme

58、tic and Logical Unit,算術(shù)邏輯單元)主要由加法器、移位電路和判斷電路等組成,用于對累加器A和暫存Accumulator)是一個具有輸入/輸出能力的移位寄存器,由8個觸發(fā)器組成。TR(Temporary Register,暫存器)也是一個8位寄存器,用于暫存另一操作數(shù)。ALU(Arit器TMP中兩個操作數(shù)進行四則運算和邏輯操作。PSW(Program Status Word,程序狀態(tài)字)也由8位觸發(fā)器組成,用于存放AL

59、U操作過程中形成的狀態(tài)。</p><p><b>  (2)控制器</b></p><p>  控制器是發(fā)布操作命令的機構(gòu),是計算機的指揮中心,相當于人腦的神經(jīng)中樞??刂破饔芍噶畈考r序部件和微操作控制部件等三部分組成。</p><p>  指令部件鐘系統(tǒng)和脈沖分配器組成,用于產(chǎn)生微操作控制部件所需的定時脈沖信號。微操作控制部件可以為ID是一

60、種能對指令進行分析、處理和產(chǎn)生控制信號的邏輯部件,也是控制器的核心。指令是一種能供機器執(zhí)行的控制代碼,有操作碼和地址碼兩部分。時序部件由時(Instruction Decoder,指令譯碼器)輸出信號配上節(jié)拍電位和節(jié)拍脈沖,也可與外部進來的控制信號組合,共同形成相應的微操作控制序列,以完成規(guī)定的操作。</p><p><b>  3.內(nèi)部總線</b></p><p>

61、  單片機內(nèi)部總線是CPU連接片內(nèi)各主要部件的紐帶,是各類信息傳送的公共通道。內(nèi)部總線主要由三種不同性質(zhì)的連線組成,它們是地址線、數(shù)據(jù)線和控制線/狀態(tài)線。</p><p>  地址線主要用來傳送存儲器所需要的地址碼或外部設備的設備號,通常由CPU發(fā)出并被存儲器或I/O接口電路所接收。數(shù)據(jù)線用來傳送CPU寫入存儲器或經(jīng)I/O接口送到輸據(jù)線通常是出設備的數(shù)據(jù),也可以傳送從存儲器或輸入設備經(jīng)I/O接口讀入的數(shù)據(jù)。因此,

62、數(shù)雙向信號線??刂?狀態(tài)線有兩類:一類是CPU發(fā)出的控制命令,如讀命令、寫命令、中斷響應等;另一類是存儲器或外設的狀態(tài)信息,如外設的中斷請求、存儲器忙和系統(tǒng)復位信號等。</p><p>  4.I/O接口和特殊功能部件</p><p>  I/O接口電路據(jù)(8位機)變成串行數(shù)據(jù)向外傳送,也可以串行接收外部送來的數(shù)據(jù)并把它們變成并行數(shù)據(jù)送給有串行和并行兩種。串行I/O用于串行通信,它可以把單

63、片機內(nèi)部的并行8位數(shù)CPU處理。并行I/O口電路可以使單片機和存儲器或外設之間并行地傳送8位數(shù)據(jù)(8位機)。 </p><p>  單片機的基本工作原理</p><p>  單片機是通過執(zhí)行程序來工作的,機器執(zhí)行不同程序就能完成不同的運算任務。因此,單片機執(zhí)行程序的過程實際上也體現(xiàn)了單片機的基本工作原理。為此,先從指令程序談起。</p><p>  1.單片機的指令

64、系統(tǒng)和程序編制</p><p>  前面已經(jīng)介紹,指令是一種可以供機器執(zhí)行的控制代碼,故它又稱為指令碼(Instruction Code)。指令碼由操作碼(Operation Code)和地址碼(Address Code)構(gòu)成:操作碼用于指示機器執(zhí)行何種操作;地址碼用于指示參加操作的數(shù)在哪里。</p><p>  指令碼的二進制形式既不便于記憶,又不便于書寫,故人們通常采用助記符形式來表示

65、,表3-2所列。</p><p>  表3-2 指令的三種形式</p><p>  指令的集合或指令的全體稱為“指令系統(tǒng)”(Instruction System)。微處理器類型不同,它的指令系統(tǒng)也不一樣。所謂程序就是采用指令系統(tǒng)中的指令根據(jù)題目要求排列起來的有序指令的集合。</p><p>  程序的編制稱為“程序設計”。通常,設計人員采用指令的匯編符(即助記符)形

66、式編程,這種程序設計稱為“匯編語言程序設計”。顯然,設計人員如果不熟悉機器的指令系統(tǒng)是無法編出優(yōu)質(zhì)高效的程序的。</p><p>  2.單片機執(zhí)行程序的過程</p><p>  為了弄清單片機的工作原理,現(xiàn)以如下的Y=5+10求和程序來說明單片機的工作過程。</p><p>  7405HMOVA,#05H;A←05H</p><p&g

67、t;  240AHADDA,#0AH;A←5+10</p><p>  80FEHSJMP$;停機</p><p>  該程序由三條指令組成,每條指令均為雙字節(jié)指令(即第一字節(jié)為操作碼,第二字節(jié)為地址碼)。第一條指令的含義是把05H傳送到累加器A中;第二條指令是加法指令,它把累加器A中的5和立即數(shù)10相加,結(jié)果保留到累加器A中;第三條是停機指令,機器執(zhí)行后處于動態(tài)停機狀態(tài)。

68、</p><p>  單片機AT89C51的特性</p><p>  AT89C系列單片機是Atmel公司生產(chǎn)的一款標準型單片機。其中數(shù)字9表示內(nèi)含F(xiàn)lash存儲器,C表示CMOS工藝。其管腳圖如圖3-6所示。</p><p>  圖3-6 AT89C單片機管腳圖</p><p>  AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器

69、(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS 8位微處理器,俗稱單片機。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATM

70、EL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。</p><p><b>  1.主要特性:</b></p><p>  ·與MCS-51 兼容 </p><p>  ·4K字節(jié)可編程閃爍存儲器 </p><

71、p>  壽命:100寫/擦循環(huán)</p><p>  數(shù)據(jù)保留時間:10年</p><p>  ·全靜態(tài)工作:0Hz-24Hz</p><p>  ·三級程序存儲器鎖定</p><p>  ·128×8位內(nèi)部RAM</p><p>  ·32可編程I/O線</

72、p><p>  ·兩個16位定時器/計數(shù)器</p><p><b>  ·5個中斷源 </b></p><p><b>  ·可編程串行通道</b></p><p>  ·低功耗的閑置和掉電模式</p><p>  ·片內(nèi)振蕩器和

73、時鐘電路 </p><p><b>  2.管腳說明:</b></p><p><b>  VCC:供電電壓。</b></p><p><b>  GND:接地。</b></p><p>  P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳

74、第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。</p><p>  P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于

75、內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 </p><p>  P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給

76、出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。</p><p>  P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流,這是由于上拉的緣故。</p&g

77、t;<p>  P3口也可作為AT89C51的一些特殊功能口,如下所示:</p><p>  P3.0 RXD(串行輸入口)</p><p>  P3.1 TXD(串行輸出口)</p><p>  P3.2 /INT0(外部中斷0)</p><p>  P3.3 /INT1(外部中斷1)</p><p>

78、  P3.4 T0(記時器0外部輸入)</p><p>  P3.5 T1(記時器1外部輸入)</p><p>  P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)</p><p>  P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)</p><p>  P3口同時為閃爍編程和編程校驗接收一些控制信號。</p><p>  RST:復

79、位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。</p><p>  ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止AL

80、E的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p>  /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。</p><p>  /EA/VPP:

81、當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p>  XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。</p><p>  XTAL2:來自反向振蕩器的輸出。

82、</p><p><b>  3.振蕩器特性:</b></p><p>  XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。</p>

83、;<p><b>  4.芯片擦除:</b></p><p>  整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復編程以前,該操作必須被執(zhí)行。</p><p>  此外,AT89C51設有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支

84、持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復位為止。</p><p><b>  單片機主機系統(tǒng)電路</b></p><p><b>  復位電路</b></p><p>  單

85、片機在RESET端加一個大于20ms正脈沖即可實現(xiàn)復位,上電復位和按鈕組合的復位電路如下:</p><p>  圖 37 蜂鳴器電路</p><p>  在系統(tǒng)上電的瞬間,RST與電源電壓同電位,隨著電容的電壓逐漸上升,RST電位下降,于是在RST形成一個正脈沖。只要該脈沖足夠?qū)捑涂梢詫崿F(xiàn)復位,即ms。一般取R1,C22uF。</p><p>  當人按下按鈕S1

86、時,使電容C1通過R1迅速放電,待S1彈起后,C再次充電,實現(xiàn)手動復位。R1一般取200。</p><p><b>  時鐘電路</b></p><p>  當使用單片機的內(nèi)部時鐘電路時,單片機的XATL1和XATL2用來接石英晶體和微調(diào)電容,如圖所示,晶體一般可以選擇3M~24M,電容選擇30pF左右。我們選擇晶振為12MHz,電容33pF。</p>

87、<p>  圖 38 時鐘電路</p><p><b>  按鍵電路</b></p><p>  我們通過P1.0來啟動測量,程序中通過查詢P1.0的電平來檢測是否按鍵被按下,電路原理如下:</p><p>  當按下按鍵時P1.0為低電平,單片機通過 查詢到低電平開始測量距離,當松開按鍵,P1.0即為高電平。在軟件中通過軟件延時來

88、消除按鍵的機械抖動。</p><p>  圖 39 按鍵電路</p><p><b>  蜂鳴器電路</b></p><p>  本次設計通過一只蜂鳴器來提示用戶按鍵按下了,現(xiàn)在單片機開始了測距。蜂鳴器時一塊壓電晶片,在其兩端加上3~5V的直流電壓,就能產(chǎn)生3KHz的蜂鳴聲。電路如下圖 </p><p>  

89、通過單片機軟件產(chǎn)生3KHz的信號從P2.1口送到三極管的基極,控制著電壓加到蜂鳴器上,驅(qū)動蜂鳴器發(fā)出聲音。 </p><p>  圖 310 蜂鳴器電路</p><p>  溫度采集DS18B20電路</p><p>  波的速度變化為0.6m/s??梢姕囟葘β曀儆绊懞艽?,測量時必須進行溫度補償。常用的溫度補償方法有:熱敏電阻、鉑電阻、熱電偶以及溫度傳感

90、器補償。</p><p>  使用傳統(tǒng)的溫度傳感器,硬件電路復雜,而且輸出為電壓或是電流值,需要進行周D轉(zhuǎn)換。使用傳統(tǒng)的溫度傳感器,硬件電路復雜,而且輸出為電壓或電流值,</p><p>  需要進行川D轉(zhuǎn)換。DS18B20溫度傳感器是美國DALLAS半導體公司推出的一種改進型智能溫度傳感器l2v,測溫范圍為55~125℃,最大分辨率可達0.0625℃。</p><p&

91、gt;  物理學告訴我們,超聲波在空氣中的傳播速度為:V=334.1+0.61*T,由此可見,超聲波的速度和溫度密切關系,即溫度每增加1°C,超聲波速度約增加0.61m/s,本次我們考慮溫度補償,以使我們的設計更加精確,溫度的采集通常使用DS18B20一線式數(shù)字溫度傳感器,電路非常簡潔,具體電路圖如下圖所示。DS18B20是美國DALLS公司推出的DS1820的替代產(chǎn)品,具有9、10、11、12位的轉(zhuǎn)換精度,未編程時默認的精度

92、是12位,測量精度一般為0.5°C,軟件處理后可以達到0.1°C,溫度輸出以16位符號擴展的二進制數(shù)形式提供,低位在先,以0.0625°C/LSB形式表達。其中高五位為擴展符號位。轉(zhuǎn)換周期與轉(zhuǎn)換精度有關,9位轉(zhuǎn)換精度時,最大轉(zhuǎn)換時間為93.7 ms,12位轉(zhuǎn)換精度時,最大轉(zhuǎn)換時間為750ms。DS18B20引腳判斷方法是:字面朝人,從左到右依次是1 (GND)、2(輸入/輸出)、3(VDD)。圖中的R13為

93、上拉電阻,阻值選5K左右。</p><p>  圖 311 一線式數(shù)字溫度傳感器</p><p>  LED數(shù)碼管顯示電路</p><p>  顯示電路采用簡單實用的4位共陽LED數(shù)碼管動態(tài)顯示,段碼用PNP三極管驅(qū)動。對于動態(tài)顯示,一般將所有位的段選線的同名端聯(lián)在一起,由一個8位刀O口控制,形成段選線的多位復用。而各位的公共陽極或公共陰極則分別由相應的UO口線

94、控制,實現(xiàn)各位形成段的分時選通,即同一時刻只有被選通位才能顯示相應的字符,而其他所有位都是熄滅的。由于人眼有視覺暫留現(xiàn)象,只要每位顯示間隔足夠短,則會造成多位同時點亮的假象。這就需要單片機不斷地對顯示進行控制,犧牲單片機的CPU時間來換取元件的減少以及顯示功耗的降低。</p><p>  超聲測距系統(tǒng)軟件實現(xiàn)</p><p>  單片機和其開發(fā)應用系統(tǒng)具有語言簡潔、可移植性好、表達能力強、

95、表達方式靈活、可進行結(jié)構(gòu)化設計、可以直接控制計算機硬件、生成代碼質(zhì)量高、使用方便等優(yōu)點。本超聲測距系統(tǒng)就是用八T89551單片機開發(fā)設計的。它采用模塊化設計,由主程序、超聲波發(fā)生子程序、超聲波接收中斷程序、測溫子程序及顯示子程序組成[21]。LED(Light-Emitting Diode,發(fā)光二極管)有七段和八段之分,也有共陰和共陽兩種。LED數(shù)碼管結(jié)構(gòu)簡單,價格便宜。圖1-7示出了八段LED數(shù)碼顯示管的結(jié)構(gòu)和原理圖。圖3-12(a)

96、為八段共陰數(shù)碼顯示管結(jié)構(gòu)圖,圖3-12(b)是它的原理圖,圖3-12(c)為八段共陽LED顯示管原理圖。八段LED顯示管由八只發(fā)光二極管組成,編號是a、b、c、d、e、f、g和SP,分別與同名管腳相連。七段LED顯示管比八段LED少一只發(fā)光二極管SP,其他與八段相同。</p><p>  圖 312 八段LED數(shù)碼顯示管原理和結(jié)構(gòu)</p><p>  單片機對LED管的顯示可以分為靜態(tài)和

97、動態(tài)兩種。靜態(tài)顯示的特點是各LED管能穩(wěn)定地同時顯示各自字形;動態(tài)顯示是指各LED輪流地一遍一遍顯示各自字符,人們由于視覺器官惰性,從而看到的是各LED似乎在同時顯示不同字形。</p><p>  為了減少硬件開銷,提高系統(tǒng)可靠性并降低成本,單片機控制系統(tǒng)通常采用動態(tài)掃描顯示。但是由于本系統(tǒng)所用的單片機引腳少,剩余引腳很多,而且也只需顯示三位字符,所以,采用了靜態(tài)的顯示方式,且采用了軟件譯碼,這樣單片機引腳輸出可

98、直接接到LED顯示管上。這樣省去了外部復雜的譯碼電路。</p><p><b>  系統(tǒng)軟件設計</b></p><p><b>  系統(tǒng)程序的結(jié)構(gòu)</b></p><p>  本系統(tǒng)采用模塊化設計,由主程序、發(fā)射子程序、接收子程序、定時子程序、顯示子程序等模塊組成。該系統(tǒng)的主程序處于鍵控循環(huán)工作方式,當按下測量鍵時,主程

99、序開始調(diào)用發(fā)射子程序、查詢接收子程序、定時子程序,并把測量結(jié)果用顯示子程序在數(shù)碼顯示器上顯示出來。</p><p>  (1)DS18B20溫度傳感器接口模塊,分為初始化程序、寫入命令以及讀取子程序等部分;</p><p>  (2)基于LED數(shù)碼管的顯示模塊,分為數(shù)碼管段選和位選。</p><p>  (3)溫度補償與距離計算模塊、分為超聲波發(fā)送控制程序、接收處理

100、程序、溫度補償子程序等;</p><p>  (4)本次設計使用C語言編寫程序,C語言相比匯編有許多的優(yōu)勢;編譯器使用Keil進行程序編譯,Keil功能強大使用方便。</p><p>  主程序,分為系統(tǒng)初始化、按鍵處理以及各個子程序的調(diào)度管理等部分。如下圖所示描述了各個模塊的關系:</p><p><b>  N</b></p>

101、<p><b>  Y</b></p><p><b>  圖 41 流程圖</b></p><p><b>  系統(tǒng)主程序</b></p><p>  主程序首先是對系統(tǒng)環(huán)境初始化,設置定時器T0工作模式為16位定時計數(shù)器模式,置位總中斷允許位EA并給顯示端口PO和PZ清O。然后調(diào)用超

102、聲波發(fā)生子程序控制發(fā)射電路送出一組超聲波脈沖,發(fā)射后等待1ms打開外部中斷刀呵TO。當主程序檢測到接收成功的標志位后,將計數(shù)器TO中的數(shù)與溫度補償后的聲速按距離計算公式,即可得被測物體與測距器之間的距離。測出距離后結(jié)果將以十進制BCD碼方式送往LED顯示,然后再發(fā)超聲波脈沖重復測量過程。等待1ms的原因是,超聲波發(fā)射探頭發(fā)射的超聲波一般都會存在余波干擾,有部分聲波會直接傳到接收探頭,經(jīng)接收電路放大后,系統(tǒng)就會把它誤認為是檢測的回波信號,

103、發(fā)射后等待1ms可以避免檢測到余波信號,當然這也會導致測量盲區(qū)的存在。</p><p>  本設計主程序的思想如下:</p><p>  (1)溫度為兩位顯示,距離為四位顯示單位為mm;</p><p>  (2)溫度每隔900ms采樣一次,DS18B20在12位精度下轉(zhuǎn)換周期為750ms ,故900ms滿足該速度要求;超聲波每隔60ms發(fā)送一次。</p>

104、;<p>  (3)系統(tǒng)采用AT89S51的內(nèi)時鐘:12MHz;</p><p>  (4)超聲波發(fā)送一定時間后才開始啟動檢測,避免直達信號造成誤判。所以系統(tǒng)最小測量約為1CM;</p><p><b>  系統(tǒng)主程序如下:</b></p><p>  void main( void )</p><p&g

105、t;  { TMOD=0x11; //設T0為方式1,GATE=1;</p><p><b>  TH0=0;</b></p><p>  TL0=0; </p><p>  TH1=0xf8; //2MS定時</p><p><b>  TL1=0x30;</

106、b></p><p>  ET0=1; //允許T0中斷</p><p>  ET1=1; //允許T1中斷</p><p>  TR1=1; //開啟定時器</p><p>  EA=1; //開啟總中斷</p><p><b>  while(1

107、)</b></p><p>  { while(!RX);//當RX為零時等待</p><p>  TR0=1; //開啟計數(shù)</p><p>  while(RX);//當RX為1計數(shù)并等待</p><p>  TR0=0;//關閉計數(shù)</p><p>  Conut();

108、 //計算}}</p><p>  40KHZ超聲波發(fā)生及中斷子程序</p><p>  在系統(tǒng)中,AT89551對發(fā)射的控制就是對40kHz方波產(chǎn)生電路的控制。超聲波發(fā)生子程序的作用是通過Pl.0端口發(fā)送一組超聲波脈沖序列(頻率約40kHz的方波),脈沖寬度為12群:左右,在程序中用定時器的自動重裝載方式實現(xiàn),脈沖發(fā)射同時把計數(shù)器T0打開進行計時,等待回波反射到接收探頭。超聲

109、波發(fā)生子程序較簡單,但要求程序運行時間準確,C語言程序如下:</p><p>  void zd3() interrupt 3 //T1中斷用來掃描數(shù)碼管和計800MS啟動模塊</p><p>  { TH1=0xf8;</p><p><b>  TL1=0x30;</b></p><p>  Displa

110、y();</p><p><b>  timer++;</b></p><p>  if(timer>=400)</p><p><b>  {timer=0;</b></p><p>  TX=1; //800MS 啟動一次模塊</p>&

111、lt;p><b>  _nop_(); </b></p><p><b>  _nop_(); </b></p><p><b>  _nop_(); </b></p><p><b>  _nop_(); </b></p><p><b>

112、;  _nop_(); </b></p><p><b>  _nop_(); </b></p><p><b>  _nop_(); </b></p><p><b>  _nop_(); </b></p><p><b>  _nop_(); <

溫馨提示

  • 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

提交評論