基于單片機(jī)的紅外避障小車_第1頁(yè)
基于單片機(jī)的紅外避障小車_第2頁(yè)
基于單片機(jī)的紅外避障小車_第3頁(yè)
基于單片機(jī)的紅外避障小車_第4頁(yè)
基于單片機(jī)的紅外避障小車_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、2013屆畢業(yè)設(shè)計(jì)(論文) 題 目: 基于單片機(jī)的紅外避障小車 學(xué) 院: 浦江學(xué)院 專 業(yè): 電子信息工程 班 級(jí): 電子0905 姓 名: 徐博 指導(dǎo)老師: 楊小健 起訖日期: 2012-12-122013-06-10 2013 年 06 月摘要隨著科學(xué)技術(shù)的進(jìn)步,智能化和自動(dòng)化技術(shù)越來(lái)越普及,各種高科技技術(shù)也廣泛應(yīng)用于智能小車河機(jī)器人玩具制造領(lǐng)域,使智能機(jī)器人越來(lái)越多樣化。智能小車是一個(gè)多種高新技術(shù)的集成體,融合了機(jī)械,計(jì)算機(jī)硬件,軟件,電子,人工智能等多種科學(xué)技術(shù)的知識(shí),可以涉及到當(dāng)今許多前言領(lǐng)域的技術(shù)。本設(shè)計(jì)主要由單片機(jī)控制系統(tǒng)模塊、電機(jī)驅(qū)動(dòng)模塊、紅外避障模塊、聲控模塊組成,系統(tǒng)以ST

2、C89C52RC單片機(jī)為核心,通過(guò)避障模塊和聲控模塊接受到的信息來(lái)控制電機(jī)運(yùn)行。系統(tǒng)通過(guò)7節(jié)1.5V干電池通過(guò)降壓電路降成5V穩(wěn)定直流電對(duì)單片機(jī)和發(fā)動(dòng)機(jī)進(jìn)行供電。本文介紹了紅外避障的原理、系統(tǒng)整體設(shè)計(jì)及相關(guān)軟件的介紹。軟件部分采用模塊化設(shè)計(jì)思路,整個(gè)程序包括主程序,電機(jī)驅(qū)動(dòng)程序,信號(hào)檢測(cè)程序,通過(guò)小車運(yùn)行時(shí)檢測(cè)到的運(yùn)行信息來(lái)調(diào)用左轉(zhuǎn)、直行或停止函數(shù)來(lái)控制小車。測(cè)試結(jié)果表明,本文的各項(xiàng)功能基本正常,除發(fā)動(dòng)機(jī)轉(zhuǎn)速不匹配外能實(shí)現(xiàn)本設(shè)計(jì)的所有要求。關(guān)鍵字:STC89C52RC 小車 避障 單片機(jī)1AbstractWith the progress of science and technology,

3、intelligent and automation technology is more and more popular,High-tech technology is also widely used in intelligent car river robot toy manufacturing, intelligent robot is more and more diversified. Intelligent car is a variety of high and new technology integration, integration of mechanical, co

4、mputer hardware, software, electronics, artificial intelligence and so on the many kinds of knowledge, science and technology can be involved in many of today's introduction in the field of technology.This design is mainly composed of single-chip microcomputer control system module, motor drive

5、module, the infrared obstacle avoidance module, voice control module, system with STC89C52RC single-chip microcomputer as the core, through the obstacle avoidance module and voice control module receives information to control the motor running. System by 7 1.5 V dry cell by step-down circuit down i

6、nto a stable dc 5 V for single chip microcomputer and engine power. This paper introduces the principle of infrared obstacle avoidance, the introduction of overall system design and related software. Software part adopts the modular design thinking, the process includes the main program, motor drive

7、r, signal detection procedures, through the car runs the operation of the detected information call to turn left, go straight, or stop function to control the car.Test results show that the various functions of the basic normal, in addition to the engine speed does not match to achieve all the requi

8、rements of the design.Key words: obstacle avoidance SCM STC89C52RC carsI目錄摘要IAbstractII第一章 緒論11.1 課題背景11.2課題研究的目的和意義11.3本設(shè)計(jì)的內(nèi)容及結(jié)構(gòu)2 1.3.1本設(shè)計(jì)的內(nèi)容2 1.3.1本設(shè)計(jì)的結(jié)構(gòu)2第二章 系統(tǒng)硬件選擇12.1 車體結(jié)構(gòu)12.2紅外避障傳感器原則22.3 STC89C52單片機(jī)介紹2第三章 系統(tǒng)硬件設(shè)計(jì)13.1 系統(tǒng)設(shè)計(jì)框圖13.2系統(tǒng)電路設(shè)計(jì)23.3 供電電路23.4 聲音檢測(cè)電路23.5 紅外避障基本原理23.6 電機(jī)驅(qū)動(dòng)電路23.7 單片機(jī)最小系統(tǒng)2第四章 程

9、序設(shè)計(jì)14.1 軟件調(diào)試平臺(tái)14.2程序邏輯流程圖24.3 系統(tǒng)軟件程序2第五章 調(diào)試15.1 Protel99SE簡(jiǎn)介15.2軟件調(diào)試25.3 硬件調(diào)試2 5.3.1聲音檢測(cè)調(diào)試2 5.3.2紅外避障調(diào)試2第六章 總結(jié)與展望1結(jié)論1致謝1參考文獻(xiàn)1附錄1 附錄一 完整電路圖2 附錄二 小車實(shí)物圖2III第一章 緒 論1.1課題背景目前 ,在科技技術(shù)不斷提高、對(duì)自動(dòng)化技術(shù)要求不斷加深的環(huán)境下,智能車輛以及在智能車輛基礎(chǔ)上開發(fā)出來(lái)的產(chǎn)品已成為自動(dòng)化物流運(yùn)輸、柔性生產(chǎn)組織等系統(tǒng)的關(guān)鍵設(shè)備。世界上許多國(guó)家都在積極進(jìn)行智能車輛的研究和開發(fā)設(shè)計(jì)。移動(dòng)機(jī)器人是機(jī)器人學(xué)中的一個(gè)重要分支,出現(xiàn)于20世紀(jì)06年

10、代。當(dāng)時(shí)斯坦福研究院(SRI)的Nils Nilssen和charles Rosen等人,在1966年至1972年中研制出了取名shakey的自主式移動(dòng)機(jī)器人,目的是將人工智能技術(shù)應(yīng)用在復(fù)雜環(huán)境下,完成機(jī)器人系統(tǒng)的自主推理、規(guī)劃和控制。從此,移動(dòng)機(jī)器人從無(wú)到有,數(shù)量不斷增多,智能車輛作為移動(dòng)機(jī)器人的一個(gè)重要分支也得到越來(lái)越多的關(guān)注。智能小車,是一個(gè)集環(huán)境感知、規(guī)劃決策,自動(dòng)行駛等功能于一體的綜合系統(tǒng),它集中地運(yùn)用了計(jì)算機(jī)、傳感、信息、通信、導(dǎo)航及白動(dòng)控制等技術(shù),是典型的高新技術(shù)綜合體。智能車輛也叫無(wú)人車輛,是一個(gè)集環(huán)境感知、規(guī)劃決策和多等級(jí)輔助駕駛等功能于一體的綜合系統(tǒng)。它具有道路障礙自動(dòng)識(shí)別

11、、自動(dòng)報(bào)警、自動(dòng)制動(dòng)、自動(dòng)保持安全距離、車速和巡航控制等功能。智能車輛的主要特點(diǎn)是在復(fù)雜的道路情況下,能自動(dòng)地操縱和駕駛車輛繞開障礙物并沿著預(yù)定的道路(軌跡)行進(jìn)。智能車輛在原有車輛系統(tǒng)的基礎(chǔ)上增加了一些智能化技術(shù)設(shè)備: (1)計(jì)算機(jī)處理系統(tǒng),主要完成對(duì)來(lái)自攝像機(jī)所獲取的圖像的預(yù)處理、增強(qiáng)、分析、識(shí)別等工作;(2)攝像機(jī),用來(lái)獲得道路圖像信息;(3)傳感器設(shè)備,車速傳感器用來(lái)獲得當(dāng)前車速,障礙物傳感器用來(lái)獲得前方、側(cè)方、后方障礙物等信息。智能車輛技術(shù)按功能可分為三層,即智能感知/預(yù)警系統(tǒng)、車輛駕駛系統(tǒng)和全自動(dòng)操作系統(tǒng)團(tuán)。上一層技術(shù)是下一層技術(shù)的基礎(chǔ)。三個(gè)層次具體如下:(1)智能感知系統(tǒng),利用各

12、種傳感器來(lái)獲得車輛自身、車輛行駛的周圍環(huán)境及駕駛員本身的狀態(tài)信息,必要時(shí)發(fā)出預(yù)警信息。主要包括碰撞預(yù)警系統(tǒng)和駕駛員狀態(tài)監(jiān)控系統(tǒng)。碰撞預(yù)警系統(tǒng)可以給出前方碰撞警告、盲點(diǎn)警告、車道偏離警告、換道/并道警告、十字路口警告、行人檢測(cè)與警告、后方碰撞警告等.駕駛員狀態(tài)監(jiān)控系統(tǒng)包括駕駛員打噸警告系統(tǒng)、駕駛員位置占有狀態(tài)監(jiān)測(cè)系統(tǒng)等。(2)輔助駕駛系統(tǒng),利用智能感知系統(tǒng)的信息進(jìn)行決策規(guī)劃,給駕駛員提出駕駛建議或部分地代替駕駛員進(jìn)行車輛控制操作。主要包括:巡航控制、車輛跟蹤系統(tǒng)、準(zhǔn)確泊車系統(tǒng)及精確機(jī)動(dòng)系統(tǒng)。(3)車輛自動(dòng)駕駛系統(tǒng),這是智能車輛技術(shù)的最高層次,它由車載計(jì)算機(jī)全部自動(dòng)地實(shí)現(xiàn)車輛操作功能。目前,主要發(fā)

13、展用于擁擠交通時(shí)低速自動(dòng)駕駛系統(tǒng)、近距離車輛排隊(duì)駕駛系統(tǒng)等。這種智能小車的主要應(yīng)用領(lǐng)域包括以下幾個(gè)方面:(1)軍事偵察與環(huán)境探測(cè)現(xiàn)代戰(zhàn)爭(zhēng)對(duì)軍事偵察提出了更高的要求,世界各國(guó)普遍重視對(duì)軍事偵察的建設(shè),采取各種有效措施預(yù)防敵方的突然襲擊,并廣泛應(yīng)用先進(jìn)科學(xué)技術(shù),不斷研制多途的偵察器材和探測(cè)設(shè)備,在車上裝備攝像機(jī)、安全激光測(cè)距儀、夜視裝置和衛(wèi)星全球定位儀等設(shè)備,通過(guò)光纜操縱,完成偵察和監(jiān)視敵情、情報(bào)收集、目標(biāo)搜索和自主巡邏等任務(wù),進(jìn)一步擴(kuò)大偵察的范圍,提高偵察的時(shí)效性和準(zhǔn)確性。(2)探測(cè)危險(xiǎn)與排除險(xiǎn)情在戰(zhàn)場(chǎng)上或工程中,常常會(huì)遇到各種各樣的意外。這時(shí),智能化探測(cè)小車就會(huì)發(fā)揮很好的作用。戰(zhàn)場(chǎng)上,可以使用

14、智能車輛掃除路邊炸彈、尋找和銷毀地雷。民用方面,可以探測(cè)化學(xué)泄漏物質(zhì),可以進(jìn)行地鐵滅火,以及在強(qiáng)烈地震發(fā)生后到廢墟中尋找被埋人員等。(3)安全檢測(cè)受損評(píng)估在工程建設(shè)領(lǐng)域,可對(duì)高速公路自動(dòng)巡跡,進(jìn)行道路質(zhì)量檢測(cè)和破壞分析檢測(cè);對(duì)水庫(kù)堤壩、海岸護(hù)岸堤、江河大壩進(jìn)行質(zhì)量和安全性檢測(cè)。在制造領(lǐng)域,可用于工業(yè)管道中機(jī)械損傷,裂紋等缺陷的探尋,對(duì)輸油和輸氣管線的泄漏和破損點(diǎn)的查找和定位等。(4)智能家居在家庭中,可以用智能小車進(jìn)行家具、遠(yuǎn)程控制家中的家用電器,控制室溫等等。對(duì)這種小車的研究,將為未來(lái)環(huán)境探測(cè)術(shù)上的有力支持。1.2課題研究的目的和意義 目前,國(guó)內(nèi)外的許多大學(xué)及研究機(jī)構(gòu)都在積極投入人力、財(cái)力研

15、制開發(fā)針對(duì)特殊條件下的安全監(jiān)測(cè)系統(tǒng)。其中包括研究使用遠(yuǎn)程、無(wú)人的方法來(lái)進(jìn)行實(shí)現(xiàn),如機(jī)器人、遠(yuǎn)程監(jiān)控等。無(wú)線傳輸?shù)陌l(fā)展使得測(cè)量變得相對(duì)簡(jiǎn)單而且使得處理數(shù)據(jù)的速度變得很快甚至可以達(dá)到實(shí)時(shí)處理”。該智能小車可以作為機(jī)器人的典型代表。它可以分為三大組成部分:傳感器檢測(cè)部分、執(zhí)行部分、CPU。機(jī)器人要實(shí)現(xiàn)自動(dòng)避障功能,還可以擴(kuò)展循跡等功能,感知導(dǎo)引線和障礙物。可以實(shí)現(xiàn)小車自動(dòng)識(shí)別路線,選擇正確的行進(jìn)路線,并檢測(cè)到障礙物自動(dòng)躲避。通過(guò)構(gòu)建智能小車系統(tǒng),培養(yǎng)設(shè)計(jì)并實(shí)現(xiàn)自動(dòng)控制系統(tǒng)的能力。在實(shí)踐過(guò)程中,熟悉以單片機(jī)為核心控制芯片,設(shè)計(jì)小車的檢測(cè)、驅(qū)動(dòng)和顯示等外圍電路,采用智能控制算法實(shí)現(xiàn)小車的智能循跡。靈活應(yīng)

16、用機(jī)電等相關(guān)學(xué)科的理論知識(shí),聯(lián)系實(shí)際電路設(shè)計(jì)的具體實(shí)現(xiàn)方法,達(dá)到理論與實(shí)踐的統(tǒng)一。在此過(guò)程中,加深對(duì)控制理論的理解和認(rèn)識(shí)。1.3 本設(shè)計(jì)的內(nèi)容及結(jié)構(gòu)1.3.1 設(shè)計(jì)的內(nèi)容(1) 障礙檢測(cè)模塊(2) 電源模塊為5V;(3) 直流電機(jī)的驅(qū)動(dòng)模塊電路,及相應(yīng)的驅(qū)動(dòng)程序;(4) 控速模塊(5) 復(fù)位電路模塊(6) 聲控模塊1.3.2 本設(shè)計(jì)的結(jié)構(gòu)本論文結(jié)構(gòu)如下:第2章 介紹了車體結(jié)構(gòu)和硬件選擇第3章 介紹了系統(tǒng)整體設(shè)計(jì)及各部分功能第4章 介紹了軟件設(shè)計(jì)第5章 介紹了開發(fā)調(diào)試及效果模擬第6章 總結(jié)性描述。主要是畢業(yè)設(shè)計(jì)的體會(huì)及收獲。 第二章 系統(tǒng)硬件選擇2.1車體結(jié)構(gòu)2.1.1車輪選擇小車為三輪結(jié)構(gòu),車

17、的結(jié)構(gòu)示意圖如圖所示。其中前面兩個(gè)車輪由2個(gè)發(fā)動(dòng)機(jī)分別控制,通過(guò)控制2個(gè)發(fā)動(dòng)機(jī)來(lái)調(diào)節(jié)小車的前進(jìn)方向。后面一個(gè)車輪起到穩(wěn)定小車的作用,同時(shí)一個(gè)車輪可以更方便的實(shí)現(xiàn)小車的轉(zhuǎn)向。2.1.2電源選擇采用交流電供電的優(yōu)勢(shì)是電源驅(qū)動(dòng)能力及電壓穩(wěn)定性好,且負(fù)載對(duì)電源影響也很小。但由于需要電線對(duì)小車供電,極大的影響小車的靈活性及地形的適應(yīng)能力??紤]到小車需要靈活性好,固采用干電池供電,由于系統(tǒng)耗電量比較大,為保證電壓穩(wěn)定,所以采用7節(jié)1.5V干電池通過(guò)降壓電路將成5V直流電對(duì)單片機(jī)和發(fā)動(dòng)機(jī)供電。2.2紅外避障傳感器E18-D80NK-N這是一種集發(fā)射與接收于一體的光電傳感器,發(fā)射光經(jīng)過(guò)調(diào)制后發(fā)出,接收頭對(duì)反射

18、光進(jìn)行解調(diào)輸出。有效的避免了可見光的干擾。透鏡的使用,也使得這款傳感器最遠(yuǎn)可以檢測(cè)80厘米距離的問(wèn)題(由于紅外光的特性,不同顏色的物體,能探測(cè)的最大距離也有不同;白色物體最遠(yuǎn),黑色物體最近)。檢測(cè)障礙物的距離可以根據(jù)要求通過(guò)尾部的電位器旋鈕進(jìn)行調(diào)節(jié)。該傳感器具有探測(cè)距離遠(yuǎn)、受可見光干擾小、價(jià)格便宜、易于裝配、使用方便等特點(diǎn),可以廣泛應(yīng)用于機(jī)器人避障、流水線計(jì)件等眾多場(chǎng)合。 該紅外傳感器是個(gè)NPN 型光電開關(guān),其輸出狀態(tài)是0,1,即數(shù)字電路中的高電平和低電平。在檢測(cè)到目標(biāo)是低電平輸出,正常狀態(tài)是高電平輸出,輸出時(shí)外加一個(gè)上拉電阻即可連接到IO口上。其上拉電阻阻值一般在1K 左右。其實(shí)物圖和原理圖

19、如下圖 紅外傳感器E18-D80NK-N實(shí)物圖 紅外傳感器E18-D80NK-N內(nèi)部原理圖電器特性:紅色:VCC;黑色:GND;黃色:OUT。 U:5VDC I:100mA Sn:3-80CM 尺寸: 直徑:17MM 傳感器長(zhǎng)度:45MM 引線長(zhǎng)度:45CM機(jī)械特性: 顏色:橙黃色 直徑:18MM 長(zhǎng)度:45MM 引線長(zhǎng)度:18CM注意事項(xiàng): 在接線的時(shí)候,請(qǐng)避免出現(xiàn)電源和地接錯(cuò)的現(xiàn)象,該操作有可能造成傳感器永久性損壞;信號(hào)輸出端請(qǐng)加上拉電阻;為保護(hù)動(dòng)作的可靠和壽命長(zhǎng),請(qǐng)避免有關(guān)規(guī)定以外的溫度外界(戶外)條件下,接近傳感器雖為耐水結(jié) 構(gòu),若裝上罩使用,勿使水和水容性切削油等淋到,則可更好地提高

20、可靠性及壽命。還請(qǐng)避免在有化學(xué)藥劑,特別是在強(qiáng)堿、酸、硝酸、銘酸、熱濃硫酸等氣候中使用。我將它與單片機(jī)的P33口連接。正常小車行走時(shí)傳感器給單片機(jī)輸送的是高電平當(dāng)遇到障礙物時(shí),傳感器則給單片機(jī)一個(gè)低電平,傳感器給其原理圖如下: 圖2-2 避障傳感電路2.3 STC89C52RC單片機(jī)介紹STC89C52RC單片機(jī)是宏晶科技推出的新一代高速/低功耗/超強(qiáng)抗干擾的單片機(jī),指令代碼完全兼容傳統(tǒng)8051單片機(jī),12時(shí)鐘/機(jī)器周期和6時(shí)鐘/機(jī)器周期可以任意選擇。主要特性如下:1. 增強(qiáng)型8051單片機(jī),6時(shí)鐘/機(jī)器周期和12時(shí)鐘/機(jī)器周期可以任意選擇,指令代碼完全兼容傳統(tǒng)8051.2. 工作電壓:5.5

21、V3.3V(5V單片機(jī))/3.8V2.0V(3V單片機(jī))3. 工作頻率范圍:040MHz,相當(dāng)于普通8051的080MHz,實(shí)際工作頻率可達(dá)48MHz4. 用戶應(yīng)用程序空間為8K字節(jié)5. 片上集成512字節(jié)RAM6. 通用I/O口(32個(gè)),復(fù)位后為:P1/P2/P3/P4是準(zhǔn)雙向口/弱上拉,P0口是漏極開路輸出,作為總線擴(kuò)展用時(shí),不用加上拉電阻,作為I/O口用時(shí),需加上拉電阻。7. ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無(wú)需專用編程器,無(wú)需專用仿真器,可通過(guò)串口(RxD/P3.0,TxD/P3.1)直接下載用戶程序,數(shù)秒即可完成一片8. 具有EEPROM功能9. 具有看門狗功能10

22、. 共3個(gè)16位定時(shí)器/計(jì)數(shù)器。即定時(shí)器T0、T1、T211. 外部中斷4路,下降沿中斷或低電平觸發(fā)電路,Power Down模式可由外部中斷低電平觸發(fā)中斷方式喚醒12. 通用異步串行口(UART),還可用定時(shí)器軟件實(shí)現(xiàn)多個(gè)UART13. 工作溫度范圍:-40+85(工業(yè)級(jí))/075(商業(yè)級(jí))14. PDIP封裝STC89C52RC單片機(jī)的工作模式l 掉電模式:典型功耗<0.1A,可由外部中斷喚醒,中斷返回后,繼續(xù)執(zhí)行原程序l 空閑模式:典型功耗2mAl 正常工作模式:典型功耗4Ma7mAl 掉電模式可由外部中斷喚醒,適用于水表、氣表等電池供電系統(tǒng)及便攜設(shè)備STC89C52RC引腳圖ST

23、C89C52RC引腳功能說(shuō)明VCC(40引腳):電源電壓VSS(20引腳):接地P0端口(P0.0P0.7,3932引腳):P0口是一個(gè)漏極開路的8位雙向I/O口。作為輸出端口,每個(gè)引腳能驅(qū)動(dòng)8個(gè)TTL負(fù)載,對(duì)端口P0寫入“1”時(shí),可以作為高阻抗輸入。在訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也可以提供低8位地址和8位數(shù)據(jù)的復(fù)用總線。此時(shí),P0口內(nèi)部上拉電阻有效。在Flash ROM編程時(shí),P0端口接收指令字節(jié);而在校驗(yàn)程序時(shí),則輸出指令字節(jié)。驗(yàn)證時(shí),要求外接上拉電阻。P1端口(P1.0P1.7,18引腳):P1口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口。P1的輸出緩沖器可驅(qū)動(dòng)(吸收或者輸出電流方式)

24、4個(gè)TTL輸入。對(duì)端口寫入1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這是可用作輸入口。P1口作輸入口使用時(shí),因?yàn)橛袃?nèi)部上拉電阻,那些被外部拉低的引腳會(huì)輸出一個(gè)電流()。P2端口(P2.0P2.7,2128引腳):P2口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O端口。P2的輸出緩沖器可以驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫入1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,這時(shí)可用作輸入口。P2作為輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流()。P3端口(P3.0P3.7,1017引腳):P3是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O端口。P3的輸出緩沖器可驅(qū)動(dòng)(吸收或

25、輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫入1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。P3做輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸入一個(gè)電流()。(29引腳):外部程序存儲(chǔ)器選通信號(hào)()是外部程序存儲(chǔ)器選通信號(hào)。當(dāng)AT89C51RC從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),在每個(gè)機(jī)器周期被激活兩次,而訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),將不被激活。/VPP(31引腳):訪問(wèn)外部程序存儲(chǔ)器控制信號(hào)。為使能從0000H到FFFFH的外部程序存儲(chǔ)器讀取指令,必須接GND。注意加密方式1時(shí),將內(nèi)部鎖定位RESET。為了執(zhí)行內(nèi)部程序指令,應(yīng)該接VCC。在Flash編程期間,也接收12伏V

26、PP電壓。XTAL1(19引腳):振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。XTAL2(18引腳):振蕩器反相放大器的輸入端。特殊功能寄存器第三章 系統(tǒng)硬件設(shè)計(jì)3.1系統(tǒng)設(shè)計(jì)框圖 圖3-1 系統(tǒng)設(shè)計(jì)框圖系統(tǒng)設(shè)計(jì)框圖如上所述,整個(gè)系統(tǒng)由單片機(jī)最小系統(tǒng),紅外檢測(cè)模塊,聲音檢測(cè)模塊,電機(jī)驅(qū)動(dòng)模塊組成。小車起始時(shí)是處于靜止?fàn)顟B(tài),當(dāng)檢測(cè)到聲音信號(hào)時(shí)通過(guò)聲音檢測(cè)模塊傳到單片機(jī)P32端,單片機(jī)接受到信號(hào)后通過(guò)程序把P31,P11端狀態(tài)取反,使小車前進(jìn)。當(dāng)再次接受到聲音信號(hào)時(shí)再次取反,小車停止前進(jìn)。當(dāng)紅外避障模塊檢測(cè)到障礙物時(shí),將一個(gè)P33的高電平轉(zhuǎn)成低電平,單片機(jī)額接受到信號(hào)后,通過(guò)程序?qū)15,P37端

27、由高電平轉(zhuǎn)成低電平,從而使小車左轉(zhuǎn)。小車運(yùn)行狀態(tài)相關(guān)程序如下:/停止/void Stop(void)L_L=1;L_R=1;R_L=1;R_R=1;/前進(jìn)/void Forword(void)L_L=1;R_L=1;_nop_();_nop_();L_R=0;R_R=0;/左轉(zhuǎn)/void Turn_Left(void)L_L=0;R_R=0;_nop_();_nop_();L_R=1;R_L=1;delay_ms(2400);注: L_L =P15; /左輪驅(qū)動(dòng)口 L_R =P11; /左輪驅(qū)動(dòng)口 R_L =P36; /右輪驅(qū)動(dòng)口 R_R =P37; /右輪驅(qū)動(dòng)口3.2系統(tǒng)電路設(shè)計(jì)智能小車采用

28、STC89C52RC單片機(jī)進(jìn)行智能控制, 開始由手動(dòng)啟動(dòng)小車電源, 并復(fù)位。當(dāng)有聲音信號(hào)時(shí),根據(jù)信號(hào)進(jìn)入相應(yīng)的行駛狀態(tài),在運(yùn)動(dòng)過(guò)程中由紅外光電傳感器檢測(cè),遇到障礙時(shí)通過(guò)單片機(jī)控制小車進(jìn)行轉(zhuǎn)向,系統(tǒng)功能原理圖如圖所示。圖3-2系統(tǒng)電路設(shè)計(jì)3.3供電電路考慮到小車是個(gè)不斷運(yùn)動(dòng)的實(shí)驗(yàn)設(shè)備,采用干電池供電??偟墓╇娤到y(tǒng)是有10.5V的大功率電池儲(chǔ)能,經(jīng)過(guò)電壓轉(zhuǎn)換單元。由一個(gè)10.5V轉(zhuǎn)為5V對(duì)控制單元供電。電機(jī)驅(qū)動(dòng)和控制電路:通過(guò)51單片機(jī),控制端口對(duì)直流電機(jī)的轉(zhuǎn)速和轉(zhuǎn)向來(lái)對(duì)電機(jī)進(jìn)行控制。 圖3-3電源電路圖3.4聲音檢測(cè)電路聲音控制電路是在原基礎(chǔ)上加的一項(xiàng)功能,通過(guò)電路去除雜音,對(duì)響度較大的聲音進(jìn)行

29、識(shí)別(比如拍手聲)。正常說(shuō)話聲則被電路濾除,不會(huì)產(chǎn)生信息出入。聲音信號(hào)通過(guò)單片機(jī),經(jīng)程序使運(yùn)行狀態(tài)取反,完成小車的運(yùn)行狀態(tài)切換。 圖3-4 聲音控制電路圖聲音檢測(cè)模塊程序如下:void Extern_Int0(void) interrupt 0 using 0if(Int0_flag=0)voice_flag=!voice_flag;/檢測(cè)到一次聲音信號(hào),狀態(tài)取反一次Int0_flag=1;注:Int0_flag初始值為0 當(dāng)Int0_flag的值為1時(shí)調(diào)用前進(jìn)程序,為0時(shí)調(diào)用停止程序。3.5紅外避障基本原理常用的紅外遙控系統(tǒng)一般分發(fā)射和接收兩個(gè)部分。發(fā)射部分的主要元件為紅外發(fā)光二極管。它實(shí)際

30、上是一只特殊的發(fā)光二極管;由于其內(nèi)部材料不同于普通發(fā)光二極管,因而在其兩端施加一定電壓時(shí),它便發(fā)出的是紅外線而不是可見光。目前大量的使用的紅外發(fā)光二極管發(fā)出的紅外線波長(zhǎng)為940mm左右,外形與普通5發(fā)光二極管相同,只是顏色不同。紅外發(fā)光二極管一般有黑色、深藍(lán)、透明三種顏色。判斷紅外發(fā)光二極管好壞的辦法與判斷普通二極管一樣;用萬(wàn)用表電阻擋量一下紅外發(fā)光二極管的正、反向電阻即可。紅外發(fā)光二極管的發(fā)光效率要用專門的儀器才能精確測(cè)定,而業(yè)余條件下只能用拉鋸法來(lái)粗略判判定。接收部分的紅外接收管是一種光敏二極管。在實(shí)際應(yīng)用中要給紅外接收二極管加反向偏壓,它才能正常工作,亦即紅外接收二極管在電路中應(yīng)用時(shí)是反

31、向運(yùn)用,這樣才能獲得較高的靈敏度。紅外發(fā)光二極管一般有圓形和方形兩種。由于紅外發(fā)光二極管的發(fā)射功率一般都較?。?00mW左右),所以紅外接收二極管接收到的信號(hào)比較微弱,因此就要增加高增益放大電路。常用SM0038、BL9149等紅外接收專用放大集成電路。本設(shè)計(jì)通過(guò)E18-D80NK-N傳感器,連接單片機(jī)P33端口,當(dāng)正常運(yùn)行時(shí)輸入高電平,當(dāng)檢測(cè)到障礙時(shí)輸入低電平。單片機(jī)檢測(cè)到低電平時(shí)先判斷小車是不是在運(yùn)行狀態(tài),如果是運(yùn)行狀態(tài)則通過(guò)程序執(zhí)行左轉(zhuǎn),由于左轉(zhuǎn)比較復(fù)雜,在這里通過(guò)延時(shí)函數(shù)和左轉(zhuǎn)函數(shù)及停止函數(shù)連續(xù)調(diào)用,通過(guò)多次的測(cè)試下完成避障,電路圖如下: 圖3-5 紅外傳感電路 紅外避障模塊程序如下:

32、void Extern_Int1(void) interrupt 2 using 1if(voice_flag=1) /前進(jìn)狀態(tài)下,檢測(cè)到障礙物L(fēng)ED=0;Stop(); /停止delay_ms(1000);Turn_Left(); /左轉(zhuǎn)Stop(); /停止delay_ms(1000);else if(voice_flag=0) Stop(); /停止注:voice_flag是小車狀態(tài)的表示,1為前進(jìn),0為停止,通過(guò)聲控模塊控制。這里先要確保voice_flag=1 才可能執(zhí)行左轉(zhuǎn)程序。LED=P00 是小車運(yùn)行指示燈。3.6電機(jī)驅(qū)動(dòng)電路直流電機(jī)驅(qū)動(dòng)電路采用如下H型PWH電路,用單片機(jī)控制

33、驅(qū)動(dòng)電路,起始時(shí)程序初始化給R_L、R_R都輸入高電平,電機(jī)不工作。當(dāng)檢測(cè)到聲音信號(hào)時(shí)R_R端變?yōu)榈碗娖?,發(fā)動(dòng)機(jī)正常工作。采用此電路的優(yōu)點(diǎn)是可以實(shí)現(xiàn)轉(zhuǎn)速和方向的控制,采用PWH進(jìn)行直流電機(jī)調(diào)速,其實(shí)就是把波形作用于電機(jī)驅(qū)動(dòng)電路的使用端。整個(gè)電路是由電源模塊單獨(dú)供電,通過(guò)三級(jí)放大電路將單片機(jī)信號(hào)轉(zhuǎn)成高電壓,從而使發(fā)動(dòng)機(jī)正常工作。要使電機(jī)正常運(yùn)轉(zhuǎn),必須導(dǎo)通對(duì)角線上的一對(duì)場(chǎng)效應(yīng)管,根據(jù)不同場(chǎng)效應(yīng)管導(dǎo)通情況,電流可能從左至右或從右至左流過(guò)電機(jī),從而控制電機(jī)的轉(zhuǎn)向。 圖3-6 電機(jī)驅(qū)動(dòng)電路圖3.7單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)由復(fù)位電路、晶振電路、數(shù)據(jù)采集接口和電機(jī)控制接口組成,單片機(jī)最小系統(tǒng)圖如圖所示。

34、所謂晶振電路即指單片機(jī)地時(shí)鐘電路。該電路通常有內(nèi)部時(shí)鐘電路和外部時(shí)鐘電路。一般選用前者。單片機(jī)芯片內(nèi)部有一個(gè)反相放大器構(gòu)成的振蕩器。反相放大器的輸入端XTAL1,輸出端為XTAL2,把XTAL1和XTAL2與外部石英晶振及兩個(gè)電容連接起來(lái)可構(gòu)成一個(gè)石英晶體振蕩如圖3-4所示。時(shí)鐘發(fā)生器是一個(gè)2分頻電路。它把晶體振蕩的頻率2分頻后供給內(nèi)其他電路。一般電容C1和C2起到穩(wěn)定振蕩頻率,快速起振的作用,本電路通過(guò)晶振提高了12MHZ的頻率。單片機(jī)復(fù)位時(shí)RESET需要保持96個(gè)晶振周期的高電平(即需八個(gè)機(jī)器周期)。復(fù)位以后P0-P3口輸出高電平,堆棧指針SP指向07H,其他特殊功能寄存器和程序設(shè)計(jì)數(shù)器P

35、C清零。 本設(shè)計(jì)為上電復(fù)位電路, 圖3-7 單片機(jī)電路第四章 程序設(shè)計(jì)4.1 軟件調(diào)試平臺(tái)Keil for C51是美國(guó)Keil Software公司出品的C語(yǔ)言軟件開發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。Keil C51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil for C51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。下面詳細(xì)介紹Keil for C51開發(fā)系統(tǒng)各部分功能和使用。C

36、51開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的源程序要變?yōu)镃51可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。隨著C51開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,Keil軟件除了致力于單片機(jī)的編程開發(fā)平臺(tái)外,還針對(duì)目前最流行C51開發(fā)項(xiàng)目出品了Keil for 51軟件平臺(tái)以及支持在線調(diào)試的串口燒寫。從近年來(lái)各仿真機(jī)廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過(guò)一個(gè)集成開發(fā)環(huán)境(uVision2)將這

37、些部份組合在一起。如圖4-1所示。圖4-1 Keil for 51 開發(fā)平臺(tái)截圖4.2程序邏輯流程圖開始初始化否是否檢測(cè)到聲音信號(hào)是否小車是否在運(yùn)行是開始運(yùn)行停止運(yùn)行否是否檢測(cè)到紅外信號(hào)否小車是否在運(yùn)行是左轉(zhuǎn)圖4-2 程序邏輯流程圖4.3系統(tǒng)軟件程序#include<reg51.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned charsbit EYE =P10; /紅外傳感器輸入口sbit L_L =P15; /左輪驅(qū)動(dòng)口sbit L_R =P11; /左輪驅(qū)動(dòng)口sbit R_L

38、=P36; /右輪驅(qū)動(dòng)口sbit R_R =P37; /右輪驅(qū)動(dòng)口sbit VOICE =P32; /聲音檢測(cè)sbit LED =P00; /小車運(yùn)行指示燈uchar voice_flag=0;uchar Int0_flag=0;uchar Int0count=0;/延時(shí)函數(shù)/void delay_ms(unsigned int x) unsigned int j; unsigned char i; for(j=0;j<x;j+) /voice_time=0;for(i=0;i<120;i+); /IO口初始化/void IO_Init(void)L_L=1;L_R=1;R_L=1

39、;R_R=1;/外中斷INT0,INT1,配置/void Interrupt_Init(void)EX0=1;/INT0中斷允許IT0=1;/INT0下降沿觸發(fā)EX1=1;/INT1中斷允許IT1=0;/INT1低電平觸發(fā)EA=1;/開總中斷/定時(shí)器T0初始化/void T0_Init(void)EA =1; /允許CPU中斷ET0 = 1; /定時(shí)器0中斷打開TMOD =0x1; /設(shè)定時(shí)器0為方式1TH0= 0xFE; TL0= 0x0B; /設(shè)定時(shí)值為500 usTR0 = 1; /開始定時(shí)/停止/void Stop(void)L_L=1;L_R=1;R_L=1;R_R=1;/前進(jìn)/vo

40、id Forword(void)L_L=1;R_L=1;_nop_();_nop_();L_R=0;R_R=0;/左轉(zhuǎn)/void Turn_Left(void)L_L=0;R_R=0;_nop_();_nop_();L_R=1;R_L=1;delay_ms(2400);void main(void)IO_Init(); /IO口初始化Interrupt_Init(); /外中斷配置T0_Init(); /T0中斷配置while(1)/if(Int0count>=40) /500usx40=20ms 聲音檢測(cè)消抖/Int0count=0;/Int0_flag=0;/if(voice_fla

41、g=1)LED=0;Forword();/前進(jìn)else if(voice_flag=0)Stop(); /停止LED=1; void Extern_Int0(void) interrupt 0 using 0if(Int0_flag=0)voice_flag=!voice_flag;/檢測(cè)到一次聲音信號(hào),狀態(tài)取反一次Int0_flag=1;void Extern_Int1(void) interrupt 2 using 1if(voice_flag=1) /前進(jìn)狀態(tài)下,檢測(cè)到障礙物L(fēng)ED=0;Stop(); /停止delay_ms(1000);Turn_Left(); /左轉(zhuǎn)Stop(); /

42、停止delay_ms(1000);else if(voice_flag=0) Stop(); /停止void Time0(void) interrupt 1 using 2uchar i;TH0=0xFE; /500US 斷點(diǎn) (1)TL0=0x0B; /設(shè)定時(shí)值Int0count+;if(voice_flag=1)&&(Int0count%2=0)for(i=0;i<3;i+) /右輪停轉(zhuǎn) 用于修正兩電機(jī)速度不匹配問(wèn)題R_L=0;R_L=1;if(voice_flag=1)&&(Int0count%10=0)for(i=0;i<6;i+) /左輪停

43、轉(zhuǎn) 用于修正兩電機(jī)速度不匹配問(wèn)題L_L=0;L_L=1;if(Int0count>100) /500usx100=50msInt0count=0;Int0_flag=0;第5章 調(diào)試5.1 Protel99SE簡(jiǎn)介Protel99SE14是澳大利亞ProtelTechnology公司推出的一個(gè)全32位的電路板設(shè)計(jì)軟件。Protel99SE是應(yīng)用于Windows9X/2000/NT操作系統(tǒng)下的EDA設(shè)計(jì)軟件,采用設(shè)計(jì)庫(kù)管理模式,可以進(jìn)行聯(lián)網(wǎng)設(shè)計(jì),具有很強(qiáng)的數(shù)據(jù)交換能力和開放性及3D模擬功能,可以完成電路原理圖設(shè)計(jì),印制電路板設(shè)計(jì)和可編程邏輯器件設(shè)計(jì)等工作,可以設(shè)計(jì)32個(gè)信號(hào)層,16個(gè)電源-

44、地層和16個(gè)機(jī)加工層。Protel99SE按照系統(tǒng)功能來(lái)劃分,Protel99se主要包含以下倆大部分和6個(gè)功能模塊。 1. 電路工程設(shè)計(jì)部分(1)電路原理設(shè)計(jì)部分(Advanced Schematic 99):電路原理圖設(shè)計(jì)部分包括電路圖編輯器(簡(jiǎn)稱SCH編輯器)、電路圖零件庫(kù)編輯器(簡(jiǎn)稱Schlib編輯器)和各種文本編輯器。本系統(tǒng)的主要功能是:繪制、修改和編輯電路原理圖;更新和修改電路圖零件庫(kù);查看和編輯有關(guān)電路圖和零件庫(kù)的各種報(bào)表。 (2)印刷電路板設(shè)計(jì)系統(tǒng)(Advanced PCB 99):印刷電路板設(shè)計(jì)系統(tǒng)包括印刷電路板編輯器(簡(jiǎn)稱PCB編輯器)、零件封裝編輯器(簡(jiǎn)稱PCBLib編輯

45、器)和電路板組件管理器。本系統(tǒng)的主要功能是:繪制、修改和編輯電路板;更新和修改零件封裝;管理電路板組件。(3)自動(dòng)布線系統(tǒng)(Advanced Route 99):本系統(tǒng)包含一個(gè)基于形狀(Shape-based)的無(wú)柵格自動(dòng)布線器,用于印刷電路板的自動(dòng)布線,以實(shí)現(xiàn)PCB設(shè)計(jì)的自動(dòng)化。2. 電路仿真與PLD部分(1)電路模擬仿真系統(tǒng)(Advanced SIM 99):電路模擬仿真系統(tǒng)包含一個(gè)數(shù)字/模擬信號(hào)仿真器,可提供連續(xù)的數(shù)字信號(hào)和模擬信號(hào),以便對(duì)電路原理圖進(jìn)行信號(hào)模擬仿真,從而驗(yàn)證其正確性和可行性。 (2)可編程邏輯設(shè)計(jì)系統(tǒng)(Advanced PLD 99):可編程邏輯設(shè)計(jì)系統(tǒng)包含一個(gè)有語(yǔ)法功

46、能的文本編輯器和一個(gè)波形編輯器(Waveform)。本系統(tǒng)的主要功能是;對(duì)邏輯電路進(jìn)行分析、綜合;觀察信號(hào)的波形。利用PLD系統(tǒng)可以最大限度的精簡(jiǎn)邏輯部件,使數(shù)字電路設(shè)計(jì)達(dá)到最簡(jiǎn)化。 (3)高級(jí)信號(hào)完整性分析系統(tǒng)(Advanced Integrity 99):信號(hào)完整性分析系統(tǒng)提供了一個(gè)精確的信號(hào)完整性模擬器,可用來(lái)分析PCB設(shè)計(jì)、檢查電路設(shè)計(jì)參數(shù)、實(shí)驗(yàn)超調(diào)量、阻抗和信號(hào)諧波要求等。5.2 軟件調(diào)試本設(shè)計(jì)采用的是C語(yǔ)言的編程方式,根據(jù)設(shè)計(jì)要求編寫程序,并在Keil uVision3軟件中進(jìn)行程序編寫的調(diào)試。 經(jīng)過(guò)初步的分析設(shè)計(jì)后,在制作硬件電路的同時(shí),調(diào)試也在穿插進(jìn)行。這樣有利于問(wèn)題的分析和解決,不會(huì)造成問(wèn)題的積累,而且不會(huì)因?yàn)橐粋€(gè)小問(wèn)題而進(jìn)行整體電路的檢查,從而可以節(jié)約大量的調(diào)試時(shí)間。5.3 硬件調(diào)試5.3.1聲音檢測(cè)調(diào)試測(cè)試方法:將小車放在空曠平地,打開小車電源,不斷拍手并觀看小車運(yùn)行狀態(tài)。測(cè)試結(jié)果:每次拍手小車均能狀態(tài)取反,聲音檢測(cè)功能正常。測(cè)試效果圖請(qǐng)看附錄二。5.3.2 小車正常運(yùn)行調(diào)試 測(cè)試方法:將小車放在空曠平地,打開小車電源,拍一次手使小車進(jìn)入運(yùn)行狀態(tài),觀看小車運(yùn)行路線。 測(cè)試結(jié)果:小車在正常運(yùn)行時(shí)發(fā)動(dòng)機(jī)轉(zhuǎn)速不匹配,走

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論