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

下載本文檔

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

文檔簡介

1、<p><b>  目錄</b></p><p><b>  目錄1</b></p><p><b>  第1章 緒論2</b></p><p>  1.1機器人研究的意義2</p><p>  1.2目前國內(nèi)外機器人發(fā)展趨勢3</p><

2、p>  1.3能力風(fēng)暴機器人的概述3</p><p>  1.3.1 開設(shè)能力風(fēng)暴機器人教育的意義3</p><p>  1.3.2能力風(fēng)暴機器人的外形與結(jié)構(gòu)4</p><p>  1.3.3 能力風(fēng)暴機器人的計算機硬件8</p><p>  1.3.4能力風(fēng)暴機器人的開發(fā)能力9</p><p>  第

3、2章 超聲波測距擴展卡的設(shè)計10</p><p>  2.1 超聲波測距原理10</p><p>  2.1.1超聲波發(fā)生器10</p><p>  2.1.2壓電式超聲波發(fā)生器原理10</p><p>  2.1.3 超聲波測距原理11</p><p>  2.2課題設(shè)計的任務(wù)要求12</p>

4、<p>  2.2.1設(shè)計的任務(wù)12</p><p>  2.2.2設(shè)計的要求12</p><p>  2.3方案設(shè)計比較12</p><p>  2.3.1方案設(shè)計一12</p><p>  2.3.2方案設(shè)計二16</p><p>  2.3.3 方案比較的結(jié)論19</p>

5、<p>  2.4 系統(tǒng)硬件結(jié)構(gòu)設(shè)計19</p><p>  2.4.1超聲波測距的框圖19</p><p>  2.4.2 51單片機的結(jié)構(gòu)功能特點19</p><p>  2.4.3硬件擴展總線ASBUS22</p><p>  2.5 繪制原理圖和印刷電路板23</p><p>  第3章 超

6、聲波測距卡的軟件調(diào)試25</p><p>  3.1 VJC簡介25</p><p>  3.2 JC語言25</p><p>  3.2.1 JC語言25</p><p>  3.2.2 用JC代碼編寫超聲波數(shù)據(jù)接收程序26</p><p>  3.3 單片機匯編語言調(diào)試26</p><

7、;p>  3.3.1 采用匯編語言的優(yōu)點26</p><p>  3.3.2 程序流程圖27</p><p>  3.3.3 所用的單片機程序29</p><p><b>  第4章 結(jié)論30</b></p><p><b>  謝辭32</b></p><p&g

8、t;<b>  參考文獻(xiàn)33</b></p><p><b>  第1章 緒論</b></p><p>  1.1機器人研究的意義</p><p>  機器人(Robot)是自動執(zhí)行工作的機器裝置。它既可以接受人類指揮,又可以運行預(yù)先編排的程序,也可以根據(jù)以人工智能技術(shù)制定的原則綱領(lǐng)行動。它的任務(wù)是協(xié)助或取代人類工作的工

9、作,例如生產(chǎn)業(yè)、建筑業(yè),或是危險的工作。科學(xué)的進(jìn)步與技術(shù)的創(chuàng)新,為機器人的研究與應(yīng)用開辟了廣闊的思路與空間。自從二十世紀(jì)六十年代初人類創(chuàng)造了第一臺機器人以后,機器人就顯示出它極大的生命力,在短短不到五十年的時間中,機器人的技術(shù)得到迅速的發(fā)展。</p><p>  “機器人產(chǎn)業(yè)在二十一世紀(jì)將成為和汽車、電腦并駕齊驅(qū)的主干產(chǎn)業(yè)?!睆凝嫶蟮墓I(yè)機器人到微觀的納米機器人,從代表尖端技術(shù)的仿人型機器人到孩子們喜愛的寵物機器

10、人,機器人正在日益走近我們的生活,成為人類最親密的伙伴。機器人技術(shù)和產(chǎn)業(yè)化在中國具有一定的現(xiàn)實基礎(chǔ)和廣闊的市場前景。</p><p>  開展機器人研究活動,對加強思想道德教育,提高科學(xué)素養(yǎng),發(fā)展自身潛能,引導(dǎo)更多學(xué)生關(guān)注科技、熱愛科技、走進(jìn)科技具有重大意義。同時有利于積極推進(jìn)基礎(chǔ)教育和高等教育改革,滲透科學(xué)技術(shù)教育,培養(yǎng)學(xué)生的實踐能力和創(chuàng)新精神。</p><p>  “能力風(fēng)暴”(Abi

11、lity Storms)機器人由上海廣茂達(dá)電子信息有限公司開發(fā),呈單片機結(jié)構(gòu),外形酷似宇UFO,是專為個人機器人的需求設(shè)計的,專門面向教育的機器人。它是專門為大學(xué)進(jìn)行課程教學(xué)、工程訓(xùn)練、機器人競賽、科技創(chuàng)新以及研究服務(wù)開發(fā)的新型移動智能機器人。能力風(fēng)暴個人機器人配有5種十幾個傳感器,另外還可以根據(jù)需要擴展其他傳感器,對環(huán)境的感知能力很強。感知環(huán)境的能力是產(chǎn)生智能行為的前提,因此能力風(fēng)暴能產(chǎn)生許多智能性行為。能力風(fēng)暴機器人可用于參加機器人

12、足球比賽,在機器人足球、擂臺賽等對抗激烈的比賽中,機器人只知道對手在附近而無法確定距離遠(yuǎn)近的問題。為此,可設(shè)計超聲測距卡能發(fā)射超聲波并檢測被障礙物反射回來的聲波,測量出兩者的時間差,然后根據(jù)聲音在空氣中傳播的速度,計算出障礙物與機器人之間的距離。在機器人比賽中可對周圍環(huán)境進(jìn)行探測,確定對手所在的方位。</p><p>  1.2目前國內(nèi)外機器人發(fā)展趨勢</p><p>  機器人技術(shù)是涉及

13、機械學(xué)、傳感器技術(shù)、驅(qū)動技術(shù)、控制技術(shù)、通信技術(shù)和計算機技術(shù)的一門綜合性高新技術(shù),既是光機電軟一體化的重要基礎(chǔ),又是光機電軟一體化技術(shù)的典型代表。其產(chǎn)品主要有兩大類,即以日本和瑞典為代表的一系列特定應(yīng)用的機器人,如弧焊、點焊、噴漆裝備、刷膠和建筑等,并形成了龐大的機器人產(chǎn)業(yè)。另一類是以美國、英國為代表的智能機器人開發(fā),由于人工智能和其它智能技術(shù)的發(fā)展遠(yuǎn)落后于人們對它的期望,目前絕大部分研究成果未能走出實驗室。機器人系統(tǒng)集成技術(shù)也是由幾個

14、主要發(fā)達(dá)國家所壟斷。近年來,機器人技術(shù)并未出現(xiàn)突破性進(jìn)展,各國的機器人技術(shù)研究機構(gòu)和制造廠商都繼續(xù)在技術(shù)深化、引進(jìn)新技術(shù)和擴大應(yīng)用領(lǐng)域等方面進(jìn)行探索。</p><p>  1.3能力風(fēng)暴機器人的概述</p><p>  1.3.1 開設(shè)能力風(fēng)暴機器人教育的意義</p><p>  自從20世紀(jì)60年代初世界第一臺機器人誕生以后,機器人技術(shù)得到了迅速地發(fā)展.在21世紀(jì)

15、,機器人技術(shù)的進(jìn)步將會對科學(xué)與技術(shù)的發(fā)展產(chǎn)生重要影響。</p><p>  高技術(shù)研究發(fā)展計劃("863"計劃)是我國關(guān)于高技術(shù)的中長期研究發(fā)展計劃,智能機器人是自動化領(lǐng)域的主題之一。"863"計劃開始實施以來,在特種機器人,機器人應(yīng)用工程,機器人基礎(chǔ)技術(shù)等方面取得了很大成績,組織和培養(yǎng)了一支數(shù)量可觀的研究開發(fā)隊伍,建立了一批各具特色的研究開發(fā)環(huán)境,"863&qu

16、ot;計劃已成為我國發(fā)展智能機器人技術(shù)的最重要的陣地。</p><p>  我們非常慶幸有這樣一個平臺能使學(xué)生比較全面綜合地了解現(xiàn)代工業(yè)設(shè)計,機械,電子,傳感器,計算機軟件,硬件,人機交互,人工智能等諸多領(lǐng)域的先進(jìn)技術(shù),并親身接觸和體驗現(xiàn)代高新技術(shù),在學(xué)生獲得科技知識和實踐能力的同時,激發(fā)了他們的創(chuàng)新意識和創(chuàng)造發(fā)明的潛能,這個平臺就是------智能機器人。</p><p>  能力風(fēng)暴機

17、器人就是一種非常典型的智能機器人。</p><p>  能力風(fēng)暴機器人AS-UⅡ(以下簡稱:AS-UⅡ)是上海廣茂達(dá)公司生產(chǎn)的專門面向教育的機器人。它融合了現(xiàn)代工業(yè)設(shè)計、機械、電子、傳感器、計算機和人工智能等諸多領(lǐng)域的先進(jìn)技術(shù),學(xué)生可以通過使用能力風(fēng)暴個人機器人接觸到多方面的知識和技術(shù)。它提供了一個接口平臺,可供用戶進(jìn)行擴展,實現(xiàn)二次開發(fā),在軟件,機械,電子等方面均有較強的延拓能力。它采用圖形化交互C語言(簡稱V

18、JC)完成AS-UⅡ的軟件開發(fā),具有基于流程圖的編程語言和交互式C語言(簡稱JC),便于用戶自由發(fā)揮。</p><p>  開展能力風(fēng)暴機器人研究活動,旨在進(jìn)一步加強未成年人思想道德教育,提高廣大青少年的科學(xué)素養(yǎng),發(fā)展自身潛能,引導(dǎo)更多的大中小學(xué)生關(guān)注科技、熱愛科技、走進(jìn)科技,涌現(xiàn)出更多的未來科學(xué)家和未來工程師。在積極推進(jìn)基礎(chǔ)教育和高等教育改革的過程中,滲透科學(xué)技術(shù)教育,努力培養(yǎng)大中小學(xué)學(xué)生的實踐能力和創(chuàng)新精神。

19、</p><p>  1.3.2能力風(fēng)暴機器人的外形與結(jié)構(gòu)</p><p>  (1)能力風(fēng)暴機器人的外形</p><p>  能力風(fēng)暴機器人外形酷似UFO,圖1.1是能力風(fēng)暴機器人的外觀俯視圖。</p><p>  圖1.1 能力風(fēng)暴機器人的外觀俯視圖</p><p> ?。?) 能力風(fēng)暴機器人的結(jié)構(gòu)</p&g

20、t;<p>  AS-UII 是面向教育的新一代智能移動機器人。AS-UII結(jié)構(gòu)參見圖1.2</p><p>  圖1.2 AS-UII的內(nèi)部結(jié)構(gòu)圖</p><p>  AS-UII有一個功能強大的微處理系統(tǒng)和傳感器系統(tǒng),而且它還能擴展聽覺、視覺、和觸覺,成為真正意義上的智能機器人。</p><p>  AS-UII的身體結(jié)構(gòu)主要由控制部分、傳感器部分

21、和執(zhí)行部分三大部分組成。每一部分介紹如下:</p><p><b>  (A)控制部分</b></p><p>  控制部分是AS-UII機器人的核心組成部分,見圖1.3。</p><p>  圖1.3 AS-UII的控制部分</p><p>  從圖中我們可以清楚的看到AS-UII控制部分的主要由以下兩個部分組成:&l

22、t;/p><p><b> ?。╝)主板</b></p><p>  位于AS-UII“心臟”部位的控制部件是AS-UII的大腦——主板,它由很多電子元器件組成,跟人的大腦一樣,主要完成接收信息、處理信息、發(fā)出指令等一系列過程。AS-UII的大腦有記憶功能,這主要由主板上的內(nèi)存來實現(xiàn),至于“大腦”的分析、判斷、決斷功能則由主板上的眾多芯片共同完成。</p>

23、<p><b> ?。╞)控制按鍵</b></p><p>  位于AS-UII背部的控制面板,是AS-UII機器人運行控制部件,具體按鍵分布如下圖所示:</p><p>  圖1.4 控制按鍵部分</p><p><b>  開關(guān)按鈕</b></p><p>  控制AS-UII電源開關(guān)

24、的按鈕,按此按鈕可以打開或關(guān)閉機器人電源。</p><p><b>  “電源”指示燈</b></p><p>  按下AS-UII的開關(guān)后,這個燈會發(fā)綠光,這時就可以與機器人進(jìn)行交流。</p><p><b>  “充電”指示燈</b></p><p>  當(dāng)你給機器人充電時,“充電”指示燈發(fā)紅光

25、。</p><p><b>  “充電口”</b></p><p>  將充電器的相應(yīng)端插入此口,再將另一端插到電源上即可對機器人充電。</p><p><b>  “下載口”</b></p><p>  “充電口”旁邊的“下載口”用于下載程序到機器人主板上,使用時只需將串口連接線的相應(yīng)端插入下載口

26、,另一端與計算機連接好,這樣機器人與計算機就連接起來了。</p><p>  “復(fù)位/ASOS”按鈕</p><p>  這是個復(fù)合按鈕,用于下載操作系統(tǒng)和復(fù)位。當(dāng)串口通信線接插在下載口上時,按擊此按鈕,機器人系統(tǒng)默認(rèn)為此操作為下載操作系統(tǒng);如果你想使用其復(fù)位功能則需要將通信線拔下,按擊此按鈕,機器人系統(tǒng)認(rèn)為此操作為系統(tǒng)復(fù)位。</p><p><b>  

27、“運行”鍵</b></p><p>  打開電源后,按擊“運行”鍵,機器人就可以運行內(nèi)部已存儲的程序,按照“指令”行動。</p><p><b>  “通信”指示燈</b></p><p>  “通信”指示燈位于機器人主板的前方,在給AS-UII下載程序時,這個黃燈會閃爍,這樣就表明下載正常,程序正在進(jìn)入機器人的“大腦”即CPU。&

28、lt;/p><p><b> ?。˙)傳感器部分</b></p><p>  AS-UII機器人的傳感器,如圖1.5所示。主要有以下五種傳感器:碰撞傳感器,紅外傳感器,光敏傳感器,話筒,光電編碼器。</p><p><b>  (C)執(zhí)行部分</b></p><p>  AS-UII機器人的執(zhí)行部分是指

29、機器人執(zhí)行具體功能時所要用到的部件,如圖1.6AS-UII執(zhí)行部分所示。主要有:揚聲器,LCD,主動輪及其驅(qū)動機構(gòu),從動輪,直流電機。</p><p>  圖1.5 AS-UII傳感器部分</p><p>  圖1.6 LCD和AS-UII執(zhí)行部分</p><p>  (D)AS-UII的能源</p><p>  將AS-UII機器人頭朝

30、下翻過來,就能夠看到它的底盤下安裝有一個盒體,這就是電池。見圖1.7 AS-UII的電池。智能機器人的能量就來自于這個電池。</p><p>  圖1.7 AS-UII的電池</p><p>  1.3.3 能力風(fēng)暴機器人的計算機硬件</p><p>  人對周圍環(huán)境的反應(yīng)過程主要是感覺→大腦思考→作出反映,機器人的信息處理流程也是如此。</p>&

31、lt;p>  能力風(fēng)暴通過微控制器(microcontroller)來思維。我們采用的是Motorola公司8位單片機中功能最強、集成功能最全的高檔機種。它的可靠性很高,有程序自下載功能。能力風(fēng)暴連上串口線就可自動下載程序。</p><p>  計算機硬件決定了機器的極限潛能,去開發(fā)這種潛能是軟件的工作。我們?yōu)橛脩籼峁┝私换ナ綀D形化編程C語言—VJC,它使開發(fā)能力風(fēng)暴的高層行為充滿了樂趣。有的低層的驅(qū)動軟件

32、與硬件相關(guān)太緊密或?qū)崟r要求很高,需要用匯編語言來處理。</p><p>  能力風(fēng)暴機器人的系統(tǒng)結(jié)構(gòu)如圖1.8所示。</p><p>  圖1.8 能力風(fēng)暴機器人的系統(tǒng)結(jié)構(gòu)</p><p>  能力風(fēng)暴計算機硬件的設(shè)計策略是盡量選擇功能齊全、可靠、周邊設(shè)備集成度高的微控制器,價格也需控制,能讓中國的學(xué)生以可以承受的價格獲得世界上先進(jìn)的智能機器人計算平臺。Motoro

33、la生產(chǎn)的68HC11,使我們以極少的周邊芯片獲得了齊全的功能,8個模擬口,5個輸入捕捉,3個PWM輸出,16位地址,8位數(shù)據(jù)總線,串口,以及4個通用I/O。</p><p>  1.3.4能力風(fēng)暴機器人的開發(fā)能力</p><p><b>  (1)軟件開發(fā)能力</b></p><p>  標(biāo)準(zhǔn)C語言子集,簡潔的專業(yè)程序員語言支持浮點運算、指針

34、、多維數(shù)組;先進(jìn)的多任務(wù)操作系統(tǒng)ASOS;便于學(xué)習(xí)的圖形化交互式C語言;眾多的驅(qū)動程序和應(yīng)用程序代碼,在高手的基礎(chǔ)上學(xué)習(xí)編程。</p><p>  能力風(fēng)暴機器人AS- UⅡ它采用圖形化交互C 語言( 簡稱VJC)完成AS- UⅡ的軟件開發(fā), 具有基于流程圖的編程語言和交互式C 語言(簡稱JC),便于用戶自由發(fā)揮。</p><p><b>  (2)機械擴展能力</b>

35、;</p><p> ?。敝粒常矀€直流電機;1至4個步進(jìn)電機交流伺服電機;1至32個繼電器、電繼閥、記憶合金;1至32個燈泡、電熱絲、蜂鳴器。擴展實例:滅火風(fēng)扇,機械手臂,裝飾彩燈等。</p><p><b>  (3)電子擴展能力</b></p><p> ?。敝翈装俾罚肝荒M輸入;3至幾十路輸出捕捉;32路數(shù)字式輸出。擴展實例:超聲測距卡,

36、紅外測距卡,6路伺服電機驅(qū)動卡,8路輸入輸出。</p><p>  第2章 超聲波測距擴展卡的設(shè)計</p><p>  2.1 超聲波測距原理</p><p>  2.1.1超聲波發(fā)生器 </p><p>  為了研究和利用超聲波,人們已經(jīng)設(shè)計和制成了許多超聲波發(fā)生器。總體上講,超聲波發(fā)生器可以分為兩大類:一類是用電氣方式產(chǎn)生超聲波,一類是用

37、機械方式產(chǎn)生超聲波。電氣方式包括壓電型、磁致伸縮型和電動型等;機械方式有加爾統(tǒng)笛、液哨和氣流旋笛等。它們所產(chǎn)生的超聲波的頻率、功率和聲波特性各不相同,因而用途也各不相同。目前較為常用的是壓電式超聲波發(fā)生器。 在本次設(shè)計中我們采用市場上較為普遍的型號為TR40-16B的超聲波傳感器。TR40-16B是分體式超聲波傳感器,共分為接收和發(fā)射兩部分。其中,標(biāo)有T的是發(fā)射部分,標(biāo)有R的是接收部分。</p><p>  2.

38、1.2壓電式超聲波發(fā)生器原理 </p><p>  壓電式超聲波發(fā)生器實際上是利用壓電晶體的諧振來工作的。超聲波發(fā)生器內(nèi)部結(jié)構(gòu)有兩個壓電晶片和一個共振板。當(dāng)它的兩極外加脈沖信號,其頻率等于壓電晶片的固有振蕩頻率時,壓電晶片將會發(fā)生共振,并帶動共振板振動,便產(chǎn)生超聲波。反之,如果兩電極間未外加電壓,當(dāng)共振板接收到超聲波時,將壓迫壓電晶片作振動,將機械能轉(zhuǎn)換為電信號,這時它就成為超聲波接收器了。 </p>

39、<p>  若對發(fā)送傳感器內(nèi)諧振頻率為40KHz的壓電陶瓷片(雙晶振子超聲波傳感器)施加40KHz高頻電壓,則壓電陶瓷片就根據(jù)所加高頻電壓極性伸長與縮短,于是發(fā)送40KHz頻率的超聲波,其超聲波以疏密形式傳播(疏密程度可由控制電路調(diào)制),并傳給波接收器。接收器是利用壓力傳感器所采用的壓電效應(yīng)的原理,即在壓電元件上施加壓力,使壓電元件發(fā)生應(yīng)變,則產(chǎn)生一面為“+ ”極,另一面為“-”極的40KHz正弦電壓。因該高頻電壓幅值較小

40、,故必須進(jìn)行放大。 超聲波傳感器使得駕駛員可以安全地倒車,其原理是利用探測倒車路徑上或附近存在的任何障礙物,并及時發(fā)出警告。所設(shè)計的檢測系統(tǒng)可以同時提供聲光并茂的聽覺和視覺警告,其警告表示是探測到了在盲區(qū)內(nèi)障礙物的距離和方向。</p><p>  2.1.3 超聲波測距原理 </p><p>  超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時刻的同時開始計時,超聲波在空氣中傳播,途中碰到障礙物

41、就立即返回來,超聲波接收器收到反射波就立即停止計時。超聲波在空氣中的傳播速度為340m/s,根據(jù)計時器記錄的時間t,就可以計算出發(fā)射點距障礙物的距離(s),即:s=340t/2 。這就是所謂的時間差測距法。 </p><p>  超聲波測距的原理是利用超聲波在空氣中的傳播速度為已知,測量聲波在發(fā)射后遇到障礙物反射回來的時間,根據(jù)發(fā)射和接收的時間差計算出發(fā)射點到障礙物的實際距離。由此可見,超聲波測距原理與雷達(dá)原理是

42、一樣的。</p><p><b>  測距的公式表示為:</b></p><p>  L=C×T(1) </p><p>  式中L為測量的距離長度;C為超聲波在空氣中的傳播速度;T為測量距離傳播的時間差(T為發(fā)射到接收時間數(shù)值的一半)。 </p><p>  超聲波測距主要應(yīng)用于倒車提醒

43、、建筑工地、工業(yè)現(xiàn)場等的距離測量,雖然目前的測距量程上能達(dá)到百米,但測量的精度往往只能達(dá)到厘米數(shù)量級。 </p><p>  由于超聲波易于定向發(fā)射、方向性好、強度易控制、與被測量物體不需要直接接觸的優(yōu)點,是作為液體高度測量的理想手段。在精密的液位測量中需要達(dá)到毫米級的測量精度,但是目前國內(nèi)的超聲波測距專用集成電路都是只有厘米級的測量精度。通過分析超聲波測距誤差產(chǎn)生的原因,提高測量時間差到微秒級,以及用LM92溫

44、度傳感器進(jìn)行聲波傳播速度的補償后,我們設(shè)計的高精度超聲波測距儀能達(dá)到毫米級的測量精度。 </p><p>  超聲波測距誤差分析 </p><p>  根據(jù)超聲波測距公式L=C×T,可知測距的誤差是由超聲波的傳播速度誤差和測量距離傳播的時間誤差引起的。 </p><p><b>  時間誤差</b></p><p&

45、gt;  當(dāng)要求測距誤差小于1mm時,假設(shè)已知超聲波速度C=344m/s (20℃室</p><p>  溫),忽略聲速的傳播誤差。測距誤差s△t<(0.001/344) ≈0.000002907s即2.907ms。 </p><p>  在超聲波的傳播速度是準(zhǔn)確的前提下,測量距離的傳播時間差值精度只要在達(dá)到微秒級,就能保證測距誤差小于1mm的誤差。使用的12MHz晶體作時鐘基準(zhǔn)的8

46、9C51單片機定時器能方便的計數(shù)到1μs的精度,因此系統(tǒng)采用89C51定時器能保證時間誤差在1mm的測量范圍內(nèi)。</p><p>  2.2課題設(shè)計的任務(wù)要求</p><p>  2.2.1設(shè)計的任務(wù)</p><p>  (1)超聲測距卡能發(fā)射超聲波并檢測被障礙物反射回來的聲波,測量出兩者的時間差,然后根據(jù)聲音在空氣中傳播的速度,計算出障礙物與機器人之間的距離。在機

47、器人比賽中可對周圍環(huán)境進(jìn)行探測,確定對手所在的方位。</p><p>  (2)Protel格式的電路原理圖和印刷電路板圖各一張。</p><p>  (3)自制的超聲測距卡一塊。</p><p>  (4)利用VJC1.6編程工具調(diào)試通過。</p><p>  2.2.2設(shè)計的要求</p><p>  (1)可以直接

48、應(yīng)用于機器人足球比賽的超聲測距卡一塊。</p><p>  (2)完整的技術(shù)文檔。</p><p><b>  (3)畢業(yè)論文。</b></p><p><b>  2.3方案設(shè)計比較</b></p><p>  2.3.1方案設(shè)計一</p><p>  本方案以AT89C5

49、1為核心,實現(xiàn)該單片機對外圍電路的適時控制,并提供給外圍電路各種所需要的信號,包括頻率震蕩信號和數(shù)據(jù)處理信號等,大大簡化了外圍電路的設(shè)計難度。并同時更重要的使該設(shè)計方案大大節(jié)省了設(shè)計成本,并且由于是采用軟件編程技術(shù),所以它的移植性好,并在設(shè)計電路使可以將其他功能設(shè)計進(jìn)去。</p><p><b> ?。?)提高設(shè)計精度</b></p><p>  本設(shè)計以單片機為核心

50、的低成本、高精度的超聲波測距系統(tǒng),以提高對時間t的測量精度,以最終達(dá)到提高測距精度的目的。以單片機內(nèi)部計數(shù)器來計數(shù)測量超聲波傳輸時間時,其測量精度受收盤價內(nèi)部參考頻率或主振頻率的限制,若主振頻率為12MHz,則內(nèi)部參考頻率為1MHz,周期為1μs。參考頻率計數(shù)誤差的影響,往往就決定了測試系統(tǒng)的最高分辨力。提高分辨率的唯一方法就是提高計數(shù)參考平率。只有改進(jìn)電路工作原理,才能提高測量精度。本電路直接去自由單片機的主振頻率12MHz,可升高技

51、術(shù)參考頻率,從而可提高超聲波測距系統(tǒng)的測量分辨率。</p><p>  (2)超聲波發(fā)射電路</p><p>  發(fā)射電路如圖2-1所示,主要有頻率產(chǎn)生電路、發(fā)射驅(qū)動電路和升壓電路。</p><p>  圖2-1 超聲波發(fā)射電路</p><p><b>  a.頻率產(chǎn)生電路</b></p><p>

52、;  本設(shè)計用到兩種頻率。一種是超聲波的中心頻率(40KHz);二是是單片機送出來的計數(shù)頻率,根據(jù)超聲波測距精度為1mm,超聲波發(fā)射器的聲波傳播到反射物,再由反射物反射到接收器,所傳播距離為2倍測量距離的計算得出。聲波在標(biāo)準(zhǔn)氣壓下15℃的傳播速度為341m/s,要設(shè)計一個時鐘周期內(nèi)超聲波傳播距離為0.02mm,341/0.02m=17.05×103kHz,故一個時鐘周期內(nèi)所測距離便為0.01m, N個周期所測的距離為N*0.0

53、1m。在軟件編程能保證單片機在啟停時兩個頻率信號同步,就具備了精確計數(shù)的最基本條件。</p><p><b>  b.發(fā)射驅(qū)動電路</b></p><p>  由于單片基P1口最多只有20mA的電流得知,超聲波發(fā)射器的最小驅(qū)動電流比它要高,所以在輸出口加入了一個三級管放大電路,由于工作頻率比較高,所以這里懸著了產(chǎn)用的高頻管9018,這樣能很好的完成超聲波的發(fā)射。<

54、;/p><p><b>  c.升壓電路</b></p><p>  由于TR40-16T發(fā)射超聲波所需要的電壓為12V,故需要一升壓電路,將電壓又5V升到12V,才能滿足電路的需要。這里需要用到芯片LT1073,能很好的將電壓升到12V,提供給傳感器所需要的電壓值。</p><p>  (3)超聲波接收電路</p><p>

55、;  運放LM139的帶寬以及抗干擾能力都比較強,而且還是多個運放集成的芯片,節(jié)省了電路板上的空間,降低了布線的麻煩。在設(shè)計超聲波信號放大電路時,將放大電路設(shè)計成兩級同相交流放大電器,通過參數(shù)設(shè)置,每一級放大接近20倍,這樣經(jīng)過兩級放大后,接收到的超聲波信號就被放大了幾乎400倍,完全能夠被后續(xù)檢測電路檢測到。超聲波放大電路有運算放大器芯片LM139等組成,具體放大電路如圖2-2所示。</p><p>  圖2-

56、2超聲波接收電路</p><p>  接受傳感器TR40-16R獎反射的超聲波轉(zhuǎn)化為電信號后,由放大器放大后再送到由U4A、U4B等(如圖2-3)組成的斯密特整形電路整理成規(guī)范的方脈沖。電R12和電位器R13為同相位端提供直流偏置電位。需要注意的是這兩個直流偏執(zhí)電阻的作用是相當(dāng)?shù)闹匾?,它可以很好的穩(wěn)定運放LM139的直流工作點,不至于使其同相輸入出現(xiàn)浮動狀態(tài),而造成輸入信號不穩(wěn)定。</p><

57、p>  LM139芯片需要+5V到-5V的電壓,而電源電壓不能提供-5V的電壓,需要用到一個變壓電路,在這里我選用了由MAX660組成的變壓電路,輸入+5V,輸出-5V,可以很好的提供給LM139負(fù)5V的電壓,確保了LM139的正常工作,保證信號放大的準(zhǔn)確。</p><p>  圖2-3 私密特整形電路</p><p>  (4)單片機與ASBUS總線的連接電路</p>

58、<p>  單片機與ASBUS連接時需要用到鎖存器74HC373,將單片機處理得到的最后數(shù)據(jù)鎖存在74HC373中,當(dāng)ASBUS用到所需要的數(shù)據(jù)時,由IO0-IO3四個輸出口中的一個發(fā)射信號,這四個輸出口外部分別接了跳線,這樣,當(dāng)同時用到IO口時,通過跳線選擇,避免了接收信號時得到錯誤的數(shù)據(jù)。具體接線如圖2-4所示:</p><p>  圖2-4 單片機與ASBUS的接線電路</p>&

59、lt;p> ?。?)方案設(shè)計的優(yōu)缺點</p><p>  優(yōu)點:本設(shè)計方案原理圖簡單,芯片較少,因此擴展卡成本低、制作相對簡單;另外,由單片機直接發(fā)出控制信號控制,不占用存儲空間,且所用硬件擴展總線端口較少,不影響擴展其它硬件;無需多加定時器產(chǎn)生40KHz的振蕩頻率。</p><p>  缺點:溫度對測量的結(jié)果影響很大,在一定程度上限制了超聲波測距的精度。另外,系統(tǒng)測試精度和分辨力還

60、與超聲波換能器的靈敏度及方向角度和風(fēng)速有關(guān)系。還有一種誤差時觸發(fā)誤差,觸發(fā)誤差由于被測信號經(jīng)過放大、整形,噪聲信號、干擾信號的摻入,使觸發(fā)的時間可能提前或滯后,給測量結(jié)果帶來了隨機誤差,該誤差與信號的觸發(fā)波形有很大的關(guān)系。在本電路中給測量結(jié)果帶來誤差是量化誤差,這也是不可避免的。 </p><p>  2.3.2方案設(shè)計二</p><p>  該方案主要包括:溫度檢測電路,超聲波發(fā)射及控制

61、電路,超聲波接受及信號處理電路,微處理電路及其輔助電路,以及RS-232通信接口電路等5部分,其框圖如圖2-5:</p><p>  圖2-5超聲波測距的系統(tǒng)框圖</p><p> ?。?)超聲波發(fā)射器的設(shè)計</p><p>  超聲波接收器包括超聲波產(chǎn)生電路和超聲波發(fā)射控制電路兩部分,超聲波探頭的型號選用CSB40T??刹捎密浖l(fā)生法和硬件方法產(chǎn)生超聲波。前者利用

62、軟件產(chǎn)生4DkHZ的超聲波信號,通過輸出引腳輸人至驅(qū)動器,經(jīng)驅(qū)動器驅(qū)動后推動探頭產(chǎn)生超聲波。在本設(shè)計中采用的就是這種方法產(chǎn)生超聲波,具體設(shè)計圖如圖2-6所示。</p><p>  圖2-6超聲波發(fā)射機控制電路</p><p>  由上圖可知,40KHz的超聲波信號是利用555定時器及電路振蕩產(chǎn)生的。其振蕩頻率計算公式如下式:</p><p><b>  (

63、2)</b></p><p>  (2)超聲波接收器的設(shè)計</p><p>  超聲波接受器包括接受探頭、信號放大電路及波形變換電路三部分。超聲波探頭設(shè)計中采用CSB40R。電路如圖2-7所示。</p><p>  圖2-7 超聲波接受電路</p><p>  超聲波在空氣中傳播時,其能量的衰減程度與距離成正比,即距離愈近,信號越

64、強,距離越遠(yuǎn)信號越弱,通常在1mV-1V之間。在實驗中發(fā)現(xiàn),距離較近時,兩級放大的增益已能輸出足夠強的信號了,第三級有可能出現(xiàn)信號飽和,但距離較遠(yuǎn)時,必須采用三級放大。合理調(diào)節(jié)電位器R27,選擇比較基準(zhǔn)電壓,可是測量更加精確和穩(wěn)定。</p><p>  (3)溫度測量電路的設(shè)計</p><p>  溫度測量電路基于DS18B20一線式數(shù)字溫度傳感器,電路非常簡潔,具體電路如圖2-8所示。&

65、lt;/p><p>  圖2-8 溫度測量電路</p><p> ?。?)基于P89LPC932的主機電路設(shè)計</p><p>  主機電路的設(shè)計關(guān)鍵是P89LPC932微處理器及其輔助電路的設(shè)計。在P89LPC932內(nèi)部具有8KB的Flash程序存儲器、256B+512B的數(shù)據(jù)存儲器,關(guān)于P89LPC932的其他特性及應(yīng)用開發(fā)特點可參閱參考資料。從哦那個設(shè)計要求出發(fā),

66、充分利用其內(nèi)部的復(fù)位監(jiān)視電路、時鐘電路和看門狗等其他功能部件,可以簡化電路的復(fù)雜程度,提高電路的可嵌入性。PHILIPS P89LPC932E的工作電壓為+3.3V,應(yīng)該說是微處理器的發(fā)展方向?;旌舷到y(tǒng)的接樓設(shè)計,可簡要歸納如下幾點:</p><p>  (a)處理高于P89LPC932工作電壓的最好方案是采用開漏輸出模式,通過外部電阻可將電平拉高到5.5V,而只有漏電流流人P89LPC932的輸出端口;<

67、;/p><p>  (b)用3V器件的輸出完全可驅(qū)動5VTTL的輸出端;</p><p>  (c)一般情況下,5VTTL器件可以驅(qū)動3VTTL輸人,原因是典型雙極晶體管的輸出并不能達(dá)到電源電壓的幅度,典型值約為3.6V。這樣不會引起SV電源的電流流向3V電源。</p><p><b> ?。?)方案的優(yōu)缺點</b></p><

68、p>  優(yōu)點:加入了溫度測量電路,能夠很好的解決由于溫度變化而引起的測量誤差;考慮到距離較遠(yuǎn)時,用三級放大,可以使測量更加精確穩(wěn)定;用555定時器,超聲波的頻率可調(diào),能調(diào)節(jié)頻率可使在工作時減少外界的干擾。</p><p>  缺點:元器件太多,對于在70×80的板子上把元器件放開并且布線,這是件很麻煩的事情;風(fēng)暴機器人在比賽時,是在一個封閉的環(huán)境下進(jìn)行的,無需考慮溫度的變化;555定時器將簡單的事

69、情復(fù)雜化,單片機可以很好的完成輸出40KHz的脈沖,而且是元器件減少,降低了布線的麻煩; P89LPC932的工作電壓為3.3V,而ASBUS提供的電壓為5V,還要用變壓電路得到3.3V的電壓,又給設(shè)計帶來了一定的負(fù)擔(dān)。</p><p>  2.3.3 方案比較的結(jié)論</p><p>  經(jīng)過研究比較決定,采用方案一。</p><p>  2.4 系統(tǒng)硬件結(jié)構(gòu)設(shè)計&

70、lt;/p><p>  2.4.1超聲波測距的框圖</p><p>  單片機發(fā)出40kHZ的信號,經(jīng)放大后通過超聲波發(fā)射器輸出;超聲波接收器將接收到的超聲波信號經(jīng)放大器放大,用鎖相環(huán)電路進(jìn)行檢波處理后,啟動單片機中斷程序,測得時間為t,再由軟件進(jìn)行判別、計算,得出距離數(shù);再經(jīng)過BUS直接讀取測量得到的值即可。如圖2-9:</p><p>  圖2-9 超聲波測距的框圖

71、</p><p>  2.4.2 51單片機的結(jié)構(gòu)功能特點</p><p> ?。?)51單片機的功能特點</p><p>  5l系列單片機中典型芯片(AT89C51)采用40引腳雙列直插封裝(DIP)形式,內(nèi)部由CPU,4kB的ROM,256 B的RAM,2個16b的定時/計數(shù)器TO和T1,4個8 b的工/O端I:IP0,P1,P2,P3,一個全雙功串行通信口等

72、組成。特別是該系列單片機片內(nèi)的Flash可編程、可擦除只讀存儲器(E~PROM),使其在實際中有著十分廣泛的用途,在便攜式、省電及特殊信息保存的儀器和系統(tǒng)中更為有用。該系列單片機引腳與封裝如圖2-10所示。</p><p>  5l系列單片機提供以下功能:4 kB存儲器;256 BRAM;32條工/O線;2個16b定時/計數(shù)器;5個2級中斷源;1個全雙向的串行口以及時鐘電路。</p><p&g

73、t;  空閑方式:CPU停止工作,而讓RAM、定時/計數(shù)器、串行口和中斷系統(tǒng)繼續(xù)工作。</p><p>  掉電方式:保存RAM的內(nèi)容,振蕩器停振,禁止芯片所有的其他功能直到下一次硬件復(fù)位。</p><p>  圖2-10 51系列單片機封裝圖</p><p>  5l系列單片機為許多控制提供了高度靈活和低成本的解決辦法。充分利用他的片內(nèi)資源,即可在較少外圍電路的情

74、況下構(gòu)成功能完善的超聲波測距系統(tǒng)。</p><p> ?。?)51單片機的引腳介紹</p><p>  以下只對在本設(shè)計當(dāng)中就用到的引腳作簡要介紹:</p><p>  RST/VPD(9腳)復(fù)位信號:</p><p>  時釧電路工作后芯片內(nèi)部進(jìn)行初始復(fù)位,復(fù)位后P0-P3口輸出高電平,初值07H寫入堆棧指針SP,清0程序計數(shù)器PC和其他特

75、殊功能寄存器。</p><p>  EA/Vpp(31引腳)片外程序存儲器地址選擇信號:</p><p>  若EA接地,則不使用內(nèi)部程序存儲器,不管地址大小,取指時總是訪問外部程序存儲器。本超聲波測距擴展卡并不需要外部存儲器,故該引腳直接接高電平。</p><p>  AT89C51的I/O口:</p><p>  AT89C51單片機有4

76、個雙向位I/O口P0-P3,P0為三態(tài)雙向口,負(fù)載能力為8個LSTTL門電路,P1-P3為準(zhǔn)雙向口,負(fù)載能力為4個LSTTL門電路。</p><p>  P3口作第二功能口使用時實際上際上是系統(tǒng)具有控制功能的控制線。此時相就的口線必須</p><p> ?。?)51單片機的定時計數(shù)系統(tǒng)</p><p>  一般單片機內(nèi)部都設(shè)有定時計數(shù)器,因為有的測控系統(tǒng)是按時間間隔

77、定時控制的,如定時對物理過程的采樣等。雖然可以通過延時程序?qū)崿F(xiàn)定時,但這會降低CPU的工作效率。如果能利用一個可編程的實時時鐘獲得延時定時,就可以提高CPU的工作效率。另外,也有一些測控系統(tǒng)是根據(jù)外部信號的計數(shù)結(jié)果來實現(xiàn)控制的。必須對外部隨機事件進(jìn)行計數(shù)。因此,單片機內(nèi)部一般都設(shè)置可編程的定時計數(shù)器,以簡化系統(tǒng)設(shè)計,提高系統(tǒng)功能。</p><p>  AT89C51內(nèi)部有兩個定時計數(shù)器,分別稱為定時計數(shù)器0和定時

78、計數(shù)器1簡稱T0、T1,它們都具備定時計數(shù)功能,有4種工作方式可以選擇。</p><p>  在超聲波測距擴展卡的設(shè)計中我們需要定時計數(shù)器的定時功能,定時功能的工作方式是對芯片內(nèi)的機器周期計數(shù),或者說計數(shù)脈沖來自芯片內(nèi)部,每來一個機器周期,計數(shù)器加1,直到計數(shù)器滿,再來一個機器周期,定時計數(shù)器全部回0,這就是溢出。每個機器周期的時固定(振為12MHz,機器周期為1μs,晶振為6MHz,機器周期為2μs)。<

79、/p><p>  與定時計數(shù)器有關(guān)的控制寄存器共有4個,分別是TCON,TMOD,IE,IP特殊功能寄存器。</p><p>  根據(jù)TMOD寄存器中的M1和M0位的設(shè)定,定時計數(shù)器可選擇4種不同的工作方式。根據(jù)超聲測距的要求我們選擇工作方式1。</p><p>  方式1是16位計數(shù)結(jié)構(gòu),定時器計數(shù)器由TH的全部高8位和TL的全部低8位組成。</p>&

80、lt;p> ?。?)51單片機的中斷系統(tǒng)</p><p>  計算機工作時由于系統(tǒng)內(nèi)外某種原因而發(fā)生的隨機事件,計算機必須盡可能快終止正在運行的原程序,轉(zhuǎn)向相應(yīng)的處理程序為其服務(wù),待處理完畢,再返回去執(zhí)行被中止的原程序,這個過程就是中斷。 引起中斷的設(shè)備或原因稱為中斷源。一個計算機系統(tǒng)的中斷源會有多個,用來管理這些中斷的邏輯稱為中斷系統(tǒng)。</p><p><b>  采用中

81、斷的優(yōu)點有:</b></p><p><b>  分時操作;</b></p><p><b>  實時處理;</b></p><p><b>  故障處理;</b></p><p>  AT89C51單片機中有5個中斷源,外部有兩個中斷請求輸入,INT0,INT1。

82、內(nèi)部有3個中斷請求。定時計數(shù)器T0,T1和片內(nèi)串行口。當(dāng)系統(tǒng)產(chǎn)生中斷請求時,5個中斷源中的請求標(biāo)志根子別由特殊功能寄存器TCON和SCON的相位來鎖存。</p><p>  2.4.3硬件擴展總線ASBUS</p><p>  能力風(fēng)暴控制板設(shè)計了ASBUS總線見(圖2-11),簡單類似于ISA和PCI總線。采用堆疊式的ASBUS擴展卡可以方便擴展控制板的功能, 它分為ASBUSA和ASB

83、USB兩部分。機器人主板上ASBUSA和ASBUSB插槽用于插各種功能的擴展卡。</p><p>  ASBUSA和ASBUSB引腳圖和各部分功能如下所示:</p><p>  圖2-11 ASBUS信號線</p><p>  ASBUSA和ASBUSB分別有14個信號線。各信號線功能如下:</p><p>  PCO-PC7:數(shù)據(jù)總線<

84、;/p><p>  /RESET:復(fù)位信號</p><p>  /IRQ:外部中斷輸入腳</p><p>  VCC:+5V電源(負(fù)載不要超過300MA),可用于擴展卡的電源輸入端。</p><p>  Vmotor:電機電壓,也即電池電壓,可接較大負(fù)載。</p><p><b>  GND:地</b>

85、;</p><p>  IS0-IS3:輸入選擇線0-3</p><p>  OS0-0S3:輸出選擇線0-3</p><p>  PA1-PA2:輸入捕捉口,可用來擴展數(shù)字或脈沖輸入的傳感器。</p><p>  PA3:輸出比較口,已被喇叭、DC3,servo使用,</p><p>  PE5-PE7:模擬輸入口,

86、 可用來擴展溫度傳感器、力傳感器等模擬量輸入傳感器。</p><p>  2.5 繪制原理圖和印刷電路板</p><p>  在EDA ( Electronic Design Automation) 工具中 ,Protel 系列軟件一直是比較常用的。Protel99SE是應(yīng)用于Windows9X/2000/NT操作系統(tǒng)下的EDA設(shè)計軟件,采用設(shè)計庫管理模式,可以進(jìn)行聯(lián)網(wǎng)設(shè)計,具有很強的,數(shù)

87、據(jù)交換能力和開放性及3D模擬功能,是一個32位的設(shè)計軟件,可以完成電路原理圖設(shè)計,印制電路板設(shè)計和可編程邏輯器件設(shè)計等工作,可以設(shè)計32個信號層,16個電源--地層和16個機加工層。Protel 99 SE(Second Edition)在原理圖設(shè)計和電路仿真方面增加了許多小的功能,而其最主要的改進(jìn)體現(xiàn)在電路板設(shè)計系統(tǒng)方面。Protel99 SE共分5個模 塊,分別是原理圖設(shè)計、PCB設(shè)計(包含信號完整性分析)、自動布線器、原理圖混合信

88、號仿真、PLD設(shè)計。</p><p>  在本次設(shè)計中,即使用了Protel99 SE軟件。下面簡述產(chǎn)生PCB的步驟:</p><p> ?。?)新建一SCH文件,繪制整個電機控制電路的電路原理圖</p><p> ?。?)另新建一SCH文件,繪制用于產(chǎn)生網(wǎng)絡(luò)表的擴展卡原理圖</p><p> ?。?)在擴展卡原理圖中定義元件的封裝</

89、p><p><b>  (4)產(chǎn)生網(wǎng)絡(luò)表</b></p><p> ?。?)新建一PCB文件,繪制出電路板邊框,裝載元件封裝庫并加載網(wǎng)絡(luò)表,各元件封裝圖便會出現(xiàn)在該界面上。元件排列雜亂無章,且各元件之間用飛線連接。</p><p> ?。?)手動調(diào)整元件的布局,使各元件擺放盡量整齊美觀。</p><p> ?。?)進(jìn)行布線,

90、由于設(shè)計并不復(fù)雜,元件較少,可使用自動布線。</p><p> ?。?)對文字、個別元件、走線做些調(diào)整以及敷銅。</p><p> ?。?)檢查核對網(wǎng)絡(luò)。</p><p>  下圖為最終繪制成的PCB圖:</p><p>  圖2-12 超聲波測距的PCB圖</p><p>  第3章 超聲波測距卡的軟件調(diào)試</

91、p><p><b>  3.1 VJC簡介</b></p><p>  圖形化交互式C語言(簡稱VJC)是用于能力風(fēng)暴智能機器人系列產(chǎn)品的軟件開發(fā)系統(tǒng),具有基于流程圖的編程語言和交互式C 語言(簡稱JC)。VJC 為開發(fā)智能機器人項目、程序與算法、教學(xué)等提供了簡單而又功能強大的平臺,是全球開創(chuàng)性的具有自主知識產(chǎn)權(quán)的產(chǎn)品。</p><p>  在 V

92、JC 中,不僅可以用直觀的流程圖編程,也可以用JC 語言編寫更高級的機器人程序。</p><p>  VJC 操作簡便,有活潑明快的圖案和簡短的文字說明。讀者可以使用形象化的模塊,由頂向下搭建流程圖,搭建流程圖的同時,動態(tài)生成無語法錯誤的JC 代碼。流程圖搭建完畢,程序就已經(jīng)編寫完成,可以立即下載到機器人中運行。</p><p><b>  3.2 JC語言</b>&

93、lt;/p><p>  3.2.1 JC語言</p><p>  交互式C語言(簡稱JC)是用于能力風(fēng)暴智能機器人的專用開發(fā)語言。</p><p>  JC由兩部分組成:編譯環(huán)境和能力風(fēng)暴操作系統(tǒng)ASOS。JC實現(xiàn)了標(biāo)準(zhǔn)C語言的一個子集,它包括控制語句(for,while,if else)、局部變量和全局變量、數(shù)組、指針、16位和32位整數(shù)以及32位浮點數(shù)。</p

94、><p>  JC不直接編譯生成針對特定處理器的機器代碼,而是先編譯生成基于堆棧虛擬機的偽代碼。然后這種偽代碼由能力風(fēng)暴操作系統(tǒng)解釋執(zhí)行。JC這種不尋常的編譯方式有以下優(yōu)點:</p><p>  (1)解釋執(zhí)行:允許檢查運行錯誤。例如:JC在運行時,數(shù)組下標(biāo)的檢查。</p><p>  (2)代碼更精簡:偽代碼比機器代碼更簡短。</p><p>

95、  (3)多任務(wù):由于偽代碼是完全基于堆棧的,進(jìn)程狀態(tài)完全由它的堆棧和程序計數(shù)器所決定。因此只需要裝載新的堆棧指針和程序計數(shù)器就可以方便地實現(xiàn)任務(wù)切換。任務(wù)切換由操作系統(tǒng)處理,而不是編譯器。</p><p>  JC與標(biāo)準(zhǔn)C對比有以下特點:</p><p>  JC語言是建立在ANSIC標(biāo)準(zhǔn)上的。但是它們有些重要的區(qū)別。</p><p>  許多區(qū)別是因為JC比標(biāo)準(zhǔn)

96、C更“安全”。例如,JC在運行時要檢查數(shù)組下標(biāo),所以數(shù)組不能被變?yōu)橹羔?,也不可以進(jìn)行指針運算。</p><p>  另一些區(qū)別是由于JC的運行時間更短更高效。 </p><p>  3.2.2 用JC代碼編寫超聲波數(shù)據(jù)接收程序</p><p>  由于VJC中沒有合適的超聲測距的模塊庫,所以我們只能用JC代碼來編程,編制的程序見附錄。</p><

97、p>  將該軟件下載到能力風(fēng)暴機器人上,并接好超聲波測距卡,運行程序,即可實現(xiàn)超聲波測距功能。</p><p>  3.3 單片機匯編語言調(diào)試</p><p>  由于計算機的CPU只能認(rèn)識和識別二進(jìn)制代友,所以又稱為機器碼。一種計算機有幾十種甚至上百種指令,若都是用二進(jìn)制碼表示,是很困難的,二進(jìn)制代碼,如果用十六進(jìn)制書寫,是很方便的,所以通常用十六進(jìn)制代碼表示指令碼,但是仍解決不了

98、記憶問題和閱讀問題。</p><p>  為了記憶和閱讀方便,制造廠家對指令系統(tǒng)中每一條指令都給出了符號作指令助記符,這就容易記憶,容易理解,清晰可讀。</p><p>  3.3.1 采用匯編語言的優(yōu)點</p><p>  匯編語言與高級語言相比具有以下優(yōu)點:</p><p> ?。?)占用的內(nèi)存單元和使用的CPU資源少;</p>

99、;<p> ?。?)程序簡短,執(zhí)行速度快;</p><p> ?。?)可直接調(diào)動計算機的全部資源,并可有效地利用計算機的專有特性;</p><p> ?。?)能準(zhǔn)確地掌握指令的執(zhí)行時間,適用于實時控制制系統(tǒng)。</p><p>  根據(jù)以上匯編語言的特點,決定用匯編語言來編寫單片機程序。</p><p>  3.3.2 程序流程圖

100、</p><p>  軟件分為兩部分,主程序和中斷服務(wù)程序,如圖所示。主程序完成初始化工作、超聲波發(fā)射和接收順序的控制。中斷子程序主要完成數(shù)據(jù)的采集與處理,如圖3-1。</p><p>  在程序設(shè)計過程中,一些問題必須考慮在內(nèi)。</p><p>  首先是超聲波發(fā)出之后有一段盲區(qū),這是因為在超聲波發(fā)出之后的一段時間內(nèi),超聲波可能直接傳到了超聲波接收傳感器,若在這段

101、時間內(nèi)接收超聲波回波信號,會造成測距錯誤,因此必須設(shè)計一段延時程序,在發(fā)出超聲波之后的一段時間內(nèi)不能接收超聲波反射信號。</p><p>  在中斷響應(yīng)過程中,本方案采用了限幅濾過程,增強系統(tǒng)的抗干擾能力。在能力風(fēng)暴機器人比賽中,多個機器人若都發(fā)射40KHz的超聲波的話,可能會造成互相串?dāng)_。如果采用限幅濾波子程序,將誤差較大的測量結(jié)果除去,則會起到良好的抗干擾效果。</p><p>  本

102、方案設(shè)計的最大測量距離是5m。定時計數(shù)器的最大計數(shù)值是72E3H。結(jié)果為15位,因此選用定時計數(shù)器的工作方式1(16位定時計數(shù)器)。由于向ASBUS發(fā)送的數(shù)據(jù)為八位,因此我們需要將所測數(shù)據(jù)左移1位,將測量結(jié)果的高八位放入一個單元中以傳送到ASBUS上。</p><p>  在主程序最后的延時等待程序當(dāng)中,我們設(shè)特殊功能寄存器中的F0為標(biāo)志位為1,若檢測到F0為1,則程序一直等待,若外部有INT0中斷信號,則進(jìn)入中

103、斷子程序,在中斷子程序中將F0設(shè)為0,在中斷子程序結(jié)束后,系統(tǒng)檢測到F0為1,則跳轉(zhuǎn)到測距過程開始。</p><p>  程序中設(shè)置R7的意義在于檢測是否是第一次執(zhí)行中斷程序。在中斷程序當(dāng)中包含濾波過程,濾波原理是將上次測量值存入30H中,最新測量值存入31H單元中,將兩單元中的數(shù)值相減,若差值的絕對值過大,則認(rèn)為測量結(jié)果出錯,并將上次的測量值(30H單元中的數(shù))作為本次測量值送到P2口。若是第一次測量,則30H

104、單元中并無測量值,必須把第一次測量值送入31H單元的同時送入30H當(dāng)中。</p><p><b>  圖3-1程序流程圖</b></p><p>  3.3.3 所用的單片機程序</p><p><b> ?。?)主程序</b></p><p>  該主程序主要用來實現(xiàn)在P1.0口輸出40KHz的脈

105、沖,來實現(xiàn)超聲波的發(fā)射,具體程序見附錄。</p><p>  將該程序直接寫入單片機,實現(xiàn)輸出超聲波的發(fā)射所用到的40KHz的脈沖。</p><p><b> ?。?)中斷程序</b></p><p>  中斷程序的作用是,通過INT0口實現(xiàn)對超聲波脈沖的接受,在內(nèi)部并將發(fā)射和接受之間的時間計算出,進(jìn)而計算出對手離自己的距離,將結(jié)果送到P2口輸

106、出。等待ASBUS的信號,將結(jié)果輸送給ASBUS。見附錄。</p><p><b>  第4章 結(jié)論</b></p><p>  能力風(fēng)暴機器人上的超聲波測距擴展卡的設(shè)計內(nèi)容至此基本結(jié)束。能力風(fēng)暴智能機器人是上?!皬V茂達(dá)”公司開發(fā)的一款基于Motorola單片機應(yīng)用技術(shù)的專門面向教育的機器人。它的強大的擴展功能為我們提供了廣闊的思維空間,我們可以充分發(fā)揮想象力和創(chuàng)造力

107、來進(jìn)行擴展卡的設(shè)計。</p><p>  要設(shè)計一塊超聲波測距擴展卡,首先應(yīng)對能力風(fēng)暴機器人有一個全面的了解,了解它的身體結(jié)構(gòu)及各部分的功能;其次,要仔細(xì)研究它的工作原理和單片機控制原理,為設(shè)計擴展卡打好理論基礎(chǔ);再次,要充分運用各種渠道廣泛搜集資料,對各種方案進(jìn)行比較、篩選,確定最佳方案;最后,運用Protel99 SE軟件繪出電路原理圖并生成PCB板。</p><p>  總體來說,超

108、聲波測距擴展卡的設(shè)計對單片機和各種電子元器件的知識要求較高,只有掌握了這些知識,設(shè)計起來才會得心應(yīng)手。</p><p>  由于時間和其它客觀上的原因,此次設(shè)計沒有做出實物。但是對設(shè)計有一個很好的理論基礎(chǔ)。設(shè)計的最終結(jié)果是使超聲波測距儀能夠產(chǎn)生超聲波,實現(xiàn)超聲波的發(fā)送與接收,從而實現(xiàn)利用超聲波方法測量物體間的距離。以數(shù)字的形式顯示測量距離。</p><p>  超聲波測距的原理是利用超聲波

109、的發(fā)射和接收,根據(jù)超聲波傳播的時間來計算出傳播距離。實用的測距方法有兩種,一種是在被測距離的兩端,一端發(fā)射,另一端接收的直接波方式,適用于身高計;一種是發(fā)射波被物體反射回來后接收的反射波方式,適用于測距儀。此次設(shè)計采用反射波方式。</p><p>  超聲波測距儀硬件電路的設(shè)計主要包括單片機系統(tǒng)、超聲波發(fā)射電路和超聲波檢測接收電路三部分。單片機采用AT89C51或其兼容系列。采用12MHz高精度的晶振,以獲得較穩(wěn)

110、定時鐘頻率,減小測量誤差。單片機用P1.0端口輸出555定時器所需的電平信號,利用外中斷0口監(jiān)測超聲波接收電路輸出的返回信號。</p><p>  超聲波測距儀的軟件設(shè)計主要由超聲波發(fā)生、超聲波接收中斷及濾波程序組成。超聲波測距儀主程序利用外中斷0檢測返回超聲波信號,一旦接收到返回超聲波信號(即INT0引腳出現(xiàn)低電平),立即進(jìn)入中斷程序。進(jìn)入中斷后就立即關(guān)閉計時器T0停止計時,并將測距時間送入工作寄存器區(qū)等待處理

111、。如果當(dāng)計時器溢出時還未檢測到超聲波返回信號,則定時器T0溢出,單片機重新測距。超聲波測距的算法設(shè)計原理為超聲波發(fā)生器T在某一時刻發(fā)出一個超聲波信號,當(dāng)這個超聲波遇到被測物體后反射回來,就被超聲波接收器R所接收到。這樣只要計算出從發(fā)出超聲波信號到接收到返回信號所用的時間,就可算出超聲波發(fā)生器與反射物體的距離。在啟動發(fā)射電路的同時啟動單片機內(nèi)部的定時器T0,利用定時器的計數(shù)功能記錄超聲波發(fā)射的時間和收到反射波的時間。當(dāng)收到超聲波反射波時,

112、接收電路輸出端產(chǎn)生一個負(fù)跳變,在INT0端產(chǎn)生一個中斷請求信號,單片機響應(yīng)外部中斷請求,執(zhí)行外部中斷服務(wù)子程序,讀取時間差,計算距離。</p><p>  在元件及調(diào)制方面,由于采用的電路使用了很多集成電路。外圍元件不是很多,所以調(diào)試應(yīng)該不會太難。一般只要電路焊接無誤,稍加調(diào)試應(yīng)該會正常工作。電路中除集成電路外,對各電子元件也無特別要求。根據(jù)測量范圍要求不同,可適當(dāng)調(diào)整接收放大電路部分的可變電阻的大小,以獲得合適

溫馨提示

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

評論

0/150

提交評論