歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

基于單片機(jī)的智能跟蹤小車.doc

  • 資源ID:5381704       資源大?。?span id="1111111" class="font-tahoma">755.76KB        全文頁數(shù):34頁
  • 資源格式: DOC        下載積分:15積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要15積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

基于單片機(jī)的智能跟蹤小車.doc

. 畢 業(yè) 設(shè) 計(jì)( 2016 屆)題 目 基于單片機(jī)的智能跟蹤小車的設(shè)計(jì)以及實(shí)現(xiàn) 學(xué) 院 物理電氣信息學(xué)院 專 業(yè) 電氣工程與自動(dòng)化 年 級(jí) 2012級(jí) 學(xué)生學(xué)號(hào) 12012242019 學(xué)生姓名 段春瑞 指導(dǎo)教師 白 娜 2016年5月12日基于單片機(jī)的智能跟蹤的小車及實(shí)現(xiàn)摘 要 智能車輛作為現(xiàn)代社會(huì)的新產(chǎn)物,并且在智能車輛開發(fā)出來的各種功能如跟蹤、循跡、避障、自動(dòng)停泊等,這些功能讓生產(chǎn)工作,日常生活變得更加智能,自動(dòng)化程度更進(jìn)一步。目前,關(guān)于智能小車的研究越來越成為社會(huì)關(guān)注的焦點(diǎn)。這次的畢業(yè)設(shè)計(jì)是將STC89C52單片機(jī)為核心,由直流電機(jī)作為驅(qū)動(dòng),通過紅外線傳感器來發(fā)出跟蹤信號(hào),來實(shí)現(xiàn)智能小車的跟蹤功能。論文先對(duì)自動(dòng)跟蹤功能做了整體的介紹,然后對(duì)小車的硬件如單片機(jī),傳感器做了介紹。最后在理解硬件的原理的基礎(chǔ)上,使用C語言編程和Keil軟件與燒寫軟件實(shí)現(xiàn)自動(dòng)跟蹤的功能。關(guān)鍵詞:自動(dòng)跟蹤 單片機(jī) 紅外傳感器AbstractIntelligent vehicle as a new product of modern society, and on the basis of intelligent vehicle developed products have become automated logistics transportation,flexible production organization system of key equipment,research and development of intelligent car is becoming the focus of attention.This design is based on STC89C52RC single-chip microcomputer as control core, as by DC motor drive,through infrared sensors to signal tracking,to realize the intelligent car tracing.Paper first made the overall introduction to the automatic tracking function,and then to the car hardware such as single chip microcomputer, sensor is presented.Then on the basis of understanding the principle of hardware,using C language programming and the Keil software and burning software to achieve the function of automatic tracking.Key words:Automatic trackingSingle chip microcomputerInfrared sensor目 錄1. 緒論41.1 課題研究背景41.2 國內(nèi)外發(fā)展?fàn)顩r41.3 智能跟蹤小車的研究目的41.4 課題研究的意義52. 小車的功能以及設(shè)計(jì)62.1 智能跟蹤小車的設(shè)計(jì)要求62.2 小車的主要功能63. 智能跟蹤小車的硬件設(shè)計(jì)83.1 智能跟蹤小車的硬件組成83.2 STC89C52RC單片機(jī)的電路以及引腳介紹83.3電機(jī)驅(qū)動(dòng)模塊103.4傳感器模塊113.5 電源供電系統(tǒng)133.6 LCD1602液晶顯示模塊144. 自動(dòng)跟蹤系統(tǒng)的軟件設(shè)計(jì)154.1 開發(fā)軟件KeiluVision5與STC-ISP的介紹154.2跟蹤系統(tǒng)主程序分析164.3電機(jī)驅(qū)動(dòng)程序174.4紅外傳感器程序184.5 LCD1602液晶顯示程序185.功能測試205.1智能跟蹤小車的功能測試205.2 發(fā)現(xiàn)問題與解決問題的方案206. 結(jié)論和展望216.1 結(jié) 論216.2 展望21參考文獻(xiàn)22謝 辭23附錄一:系統(tǒng)硬件仿真圖24附錄二:紅外遙控程序25附錄三:系統(tǒng)實(shí)物圖32緒論1.1 課題研究背景在當(dāng)今的社會(huì)中,企業(yè)的生產(chǎn)技能逐漸提高,在生產(chǎn)過程中對(duì)于自動(dòng)控制技術(shù)的要求也在逐漸提高,在高自動(dòng)化的生產(chǎn)環(huán)境下,智能車輛的研究與運(yùn)用越來成為工業(yè)生產(chǎn)的重要設(shè)備。許多科研機(jī)構(gòu)都在致力于智能車輛的開發(fā)與應(yīng)用。智能小車是一個(gè)集感應(yīng),控制,輔助駕駛,智能操控于一體的系統(tǒng)。在功能性上它可以自動(dòng)識(shí)別并避開障礙物,自動(dòng)剎車,控制與障礙物或被跟蹤物體的安全距離,測量車速,自動(dòng)停泊等功能。與一般的車輛系統(tǒng)相比智能車輛擁有以下特點(diǎn):1)計(jì)算機(jī)處理系統(tǒng),主要完成對(duì)來自攝像機(jī)所獲取的圖像的預(yù)處理、增強(qiáng)、分析、識(shí)別等工作。2)獲得道路路況信息的攝像設(shè)備。3)傳感器設(shè)備,車速傳感器用來獲得當(dāng)前車速,障礙物傳感器用來獲得前方、側(cè)方、后方障礙物等信息。越來越多的科研項(xiàng)目都在關(guān)注著智能小車的開發(fā)與研究。1.2 國內(nèi)外發(fā)展?fàn)顩r關(guān)于國外的智能小車的研究狀況可以追溯到20世紀(jì)50年代。美國一家電子公司于1954年開發(fā)出了世界上第一臺(tái)無人駕駛的自主引導(dǎo)系統(tǒng)的車輛。雖然這個(gè)系統(tǒng)智能在固定的線路上直線行駛,但是這卻是智能車輛研究的長足的進(jìn)步。隨后,關(guān)于智能車輛的研究成果如雨后春筍般的出現(xiàn)在世人面前。到了1980年左右歐洲以及美國等一些發(fā)達(dá)國家已經(jīng)將智能車輛控制系統(tǒng)投入到高速公路的使用中,智能小車的研究有了其實(shí)際意義。1990年之后美國卡內(nèi)基大學(xué)研究的Navlab系列智能小車在傳感器傳輸速度,圖像處理,以及車輛橫向移動(dòng)等方面都作出了突出的研究成果,這標(biāo)志著智能車輛即將進(jìn)入我們的日常生活之中。國內(nèi)關(guān)于智能小車的研究起步相對(duì)較晚,在借鑒發(fā)達(dá)國家先進(jìn)的研究成果的基礎(chǔ)之后,我國的科研項(xiàng)目致力于對(duì)智能交通系統(tǒng)ITS(Intelligent Transport System)的研究目前我國的交通運(yùn)輸行業(yè)正在向著交通智能化邁進(jìn),相信在不久的將來,我們的出行會(huì)更加安全,快捷,智能。1.3 智能跟蹤小車的研究目的智能小車的一般功能包括自動(dòng)循跡、傳感跟蹤、避障、自動(dòng)停泊等。人們研究智能小車是為了讓其代替人類完成一些危險(xiǎn)的或者十分枯燥的不適宜人類的工作,通過小車的程序化的工作可以節(jié)省物力人力而且可以更高效快捷的完成工作對(duì)實(shí)現(xiàn)工業(yè)系統(tǒng)的自動(dòng)化有一定的幫助。關(guān)于智能自動(dòng)跟蹤小車的研究,它可以幫助工人在工業(yè)工作中取料,運(yùn)料。還可以在機(jī)場幫助下飛機(jī)的旅客運(yùn)送行李,甚至還可以在高爾夫球場扮演“球童”的角色等等??偠灾悄芨櫺≤噷?huì)使我們的生活更加便捷、輕松。1.4 課題研究的意義目前,許多國家的重點(diǎn)大學(xué)的理工學(xué)院都在致力于智能化與自動(dòng)化系統(tǒng)的研究,國內(nèi)外有許許多多關(guān)于智能機(jī)器人的競賽,這其中就包括了智能機(jī)器人,智能小車的設(shè)計(jì)與研究??梢娭悄苘囕v的研究在全球范圍內(nèi)都被人們所關(guān)注著。智能小車作為智能機(jī)器人的典型代表,由傳感、執(zhí)行、控制三大部分組成,本次畢業(yè)設(shè)計(jì)所采用的89C52單片機(jī)控制,紅外傳感,L293芯片控制的直流電機(jī)執(zhí)行運(yùn)動(dòng)模塊都是目前比較先進(jìn)的器件,通過以C語言為基礎(chǔ)的程序編寫可實(shí)現(xiàn)智能跟蹤,智能循跡避障,智能停泊等功能。在生產(chǎn)實(shí)踐當(dāng)中智能小車可以運(yùn)用于工業(yè)生產(chǎn),醫(yī)療考古,生活服務(wù)等多方面,極大的方便了人們的生產(chǎn)生活,使我們的世界更加自動(dòng)化。 該畢業(yè)設(shè)計(jì)對(duì)于畢業(yè)生來說,在硬件的研究與程序的編寫過程中,可以培養(yǎng)其自動(dòng)控制系統(tǒng)的操作能力,熟練掌握STC89C52單片機(jī)的知識(shí),在電路的設(shè)計(jì)過程中對(duì)于電機(jī)學(xué),電路的相關(guān)知識(shí)可以做到溫故而知新。將實(shí)踐與理論統(tǒng)一結(jié)合起來,進(jìn)一步熟悉自動(dòng)控制系統(tǒng)。2. 小車的功能以及設(shè)計(jì)2.1 智能跟蹤小車的設(shè)計(jì)要求該系統(tǒng)以STC89C52單片機(jī)作為系統(tǒng)的核心,通過紅外線傳感器來檢測到被跟蹤對(duì)象所處的位置,將信號(hào)反饋給單片機(jī),單片機(jī)根據(jù)STC軟件下載到其中的程序作出相應(yīng)的反應(yīng),并將指令下達(dá)至電機(jī)驅(qū)動(dòng)模塊然后電機(jī)驅(qū)動(dòng)輪胎作出相應(yīng)的動(dòng)作實(shí)現(xiàn)跟蹤的功能。在下載紅外避障跟蹤程序的hex文件到單片機(jī)之前,應(yīng)當(dāng)做好充分的準(zhǔn)備工作。首先應(yīng)當(dāng)安裝好開發(fā)板的驅(qū)動(dòng)以及STC燒寫軟件,在設(shè)備管理器中查看USB端口的號(hào)碼如COM6。然后安裝KeiluVision4軟件為編程做準(zhǔn)備。最后在使用紅外避障程序之前先將調(diào)用函數(shù)編譯好以備調(diào)用,所用的函數(shù)有小車左轉(zhuǎn)函數(shù)、小車右轉(zhuǎn)函數(shù)、電機(jī)后退函數(shù)、小車前進(jìn)函數(shù)。這樣小車的功能函數(shù)就不會(huì)顯得過于冗長,而且不影響跟蹤功能的實(shí)現(xiàn)。將程序下載到單片機(jī)之后,檢測小車能否按照要求對(duì)目標(biāo)進(jìn)行跟蹤實(shí)現(xiàn)功能,總結(jié)實(shí)驗(yàn)中發(fā)現(xiàn)的不足,進(jìn)行總結(jié)與改進(jìn),盡最大可能滿足畢業(yè)設(shè)計(jì)的要求。2.2 小車的主要功能自動(dòng)跟蹤小車的主要功能有:1、實(shí)現(xiàn)對(duì)指定物體的紅外感應(yīng)跟蹤。2、延時(shí)50msK4確認(rèn)是按下之后,蜂鳴器發(fā)出“滴”聲響,然后啟動(dòng)小車。3、超聲波測距,測量小車與被跟蹤物體之間的距離。4、LCD1602液晶距離顯示:在液晶屏上顯示測得的距離。5、蜂鳴報(bào)警器還可以對(duì)危險(xiǎn)情況進(jìn)行報(bào)警等。對(duì)于智能小車更廣泛的更高級(jí)的功能來說主要有以下幾點(diǎn):(1)智能家居的控制輔助:在家庭中,可以用智能小車進(jìn)行家具、遠(yuǎn)程控制家中的家用電器,控制室溫等等。(2)工程安全檢測與受損評(píng)估:在工程建設(shè)領(lǐng)域,可對(duì)高速公路自動(dòng)跟蹤,進(jìn)行道路質(zhì)量檢測和破壞分析檢測;對(duì)水庫堤壩、海岸護(hù)岸堤、江河大壩進(jìn)行質(zhì)量和安全性檢測。在制造領(lǐng)域,可用于工業(yè)管道中機(jī)械損傷,裂紋等缺陷的探尋,對(duì)輸油和輸氣管線的泄漏和破損點(diǎn)的查找和定位等。(3)探測危險(xiǎn)與排除險(xiǎn)情:在戰(zhàn)場上或工程中,常常會(huì)遇到各種各樣的意外。這時(shí),智能化探測小車就會(huì)發(fā)揮很好的作用。戰(zhàn)場上,可以使用智能車輛掃除路邊炸彈、尋找和銷毀地雷。民用方面,可以探測化學(xué)泄漏物質(zhì),可以進(jìn)行地鐵滅火,以及在強(qiáng)烈地震發(fā)生后到廢墟中尋找被埋人員等。(4)輔助駕駛系統(tǒng):利用智能感知系統(tǒng)的信息進(jìn)行決策規(guī)劃,給駕駛員提出駕駛建議或部分地代替駕駛員進(jìn)行車輛控制操作。主要包括:巡航控制、車輛跟蹤系統(tǒng)、準(zhǔn)確泊車系統(tǒng)及精確機(jī)動(dòng)系統(tǒng)。這些高級(jí)的智能小車的功能讓我們的生活更加的自動(dòng)化,讓人類的工作更為安全。智能跟蹤小車雖然比不上它們的功能強(qiáng)大,但是也為我們的生活提供了便利。如商場里的自動(dòng)追蹤購物車、機(jī)場的自動(dòng)行李運(yùn)輸車等。3. 智能跟蹤小車的硬件設(shè)計(jì)3.1 智能跟蹤小車的硬件組成本次實(shí)驗(yàn)所用到的硬件主要包括:STC89C52RC單片機(jī)、HL-1小車底盤、LCD液晶顯示模塊等。各模塊功能為:(1)單片機(jī)模塊為總控制模塊,控制其他模塊的工作。(2)HL-1小車底盤包括L293D電機(jī)驅(qū)動(dòng)模塊、電源供電系統(tǒng)、紅外線傳感器模塊、超聲波傳感器模塊以及傳感器指示燈。電機(jī)驅(qū)動(dòng)模塊控制小車的運(yùn)動(dòng)狀態(tài),超聲波傳感器模塊負(fù)責(zé)距離的測量,紅外傳感器負(fù)責(zé)光感檢測。3.2 STC89C52RC單片機(jī)的電路以及引腳介紹圖3-1 STC89C52RC引腳圖STC89C52是一種耗能較低,性能很強(qiáng)的單片機(jī)芯片,相比于傳統(tǒng)的單片機(jī)芯片89C52在控制上更加靈活1。STC89C52使用經(jīng)典的MCS-51內(nèi)核,但做了很多的改進(jìn)使得芯片具有傳統(tǒng)51單片機(jī)不具備的功能。其引腳圖如圖3-1所示。STC89C52微處理器的主要功能有:1. 8k可反復(fù)擦寫(大于1000次)FLASH ROM;2. 256x8bit內(nèi)部RAM;3. 工作電壓:5.5V3.3V(5V單片機(jī))/3.8V2.0V(3V單片機(jī));4. 工作頻率范圍:040MHz,相當(dāng)于普通 8051 的 080MHz,實(shí)際工作頻率可達(dá)48MHz;5. 用戶可以獲得8k字節(jié)的應(yīng)用程序空間;6. 時(shí)鐘頻率0-24MHz;7. 89C52擁有三十二個(gè)I/O口并且為雙向,P1P4口為準(zhǔn)雙向口,當(dāng)P0作為h.擴(kuò)展口時(shí),不需要加入上拉電阻;若作為信息傳遞的I/O接口時(shí)需要加入上拉電阻。8. ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器,無需專用仿真器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程序,數(shù)秒即可完成一片;29. EEPROM功能,看門狗功能;10. 有T0、T1、T2、三個(gè)定時(shí)器,定時(shí)器的位數(shù)為16位;11. 有八個(gè)中斷源,其中有兩個(gè)為外部的中斷源;12. 用異步串行口(UART),還可用定時(shí)器軟件實(shí)現(xiàn)多個(gè) UART;13. 工作溫度范圍:-40+85(工業(yè)級(jí))/075(商業(yè)級(jí));PDIP封裝。14. 空閑模式:典型功耗 2mA;15. 正常工作模式:典型功耗4Ma7mA;STC89C52RC單片機(jī)的引腳功能說明:第一類:電源及時(shí)鐘引腳Vcc,Vss,XTAL1,XTAL2;第二類:控制引腳PSEN,ALE/PROG,EA/Vpp,RESET;第三類:P0,P1,P2,P3引腳(輸入輸出端引腳)P0 口是一個(gè)雙功能的八位并行口,字節(jié)地址為80H,位地址為80H87H。端口的各位具有完全相同但又相互獨(dú)立的電路結(jié)構(gòu)。P0口作為雙功能口(地址/數(shù)據(jù)復(fù)用口和通用I/O口),當(dāng)P0口用作地址/數(shù)據(jù)復(fù)用口時(shí),是一個(gè)真正的雙向口,用作與外部儲(chǔ)存器的連接,輸出低八位地址和輸出/輸入8位數(shù)據(jù)。當(dāng)P0口作為通用I/O口時(shí),需要在片外接上拉電阻,此時(shí)端口不存在高阻抗?fàn)顟B(tài),因此是一個(gè)準(zhǔn)雙向口;當(dāng)作為通用的I/O口輸入時(shí),應(yīng)先向端口輸出鎖存器寫入1。P0口可驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載3。P1端口(P1.0P1.7,18引腳):八位,準(zhǔn)雙向I/O口,在內(nèi)部具有自帶的上拉電阻。P1的輸出緩沖器可驅(qū)動(dòng)(吸收或者輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫入“1”時(shí),通過內(nèi)部的上拉電阻把端口拉到高電位,這是可用作輸入口。P1口作輸入口使用時(shí),因?yàn)橛袃?nèi)部上拉電阻,那些被外部拉低的引腳會(huì)輸出一個(gè)電流(I)3。P2端口(P2.0P2.7,2128引腳):P2口是一個(gè)自帶內(nèi)部上拉電阻的8位雙向 I/O 端口當(dāng)單片機(jī)擴(kuò)展外部儲(chǔ)存器及I/O口時(shí),P2口作為高八位地址線總線用,輸出高八位地址,P2口也可以當(dāng)做普通的I/O口使用。當(dāng)作為普通的I/O口輸入時(shí),應(yīng)先向端口輸出鎖存器寫入1;P2口與P0口輸出的低八位地址一起構(gòu)成16位地址,可以尋址64KB的地址空間,在訪問外部程序存儲(chǔ)器和16位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),P2送出高8位地址。在訪問8位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口引腳上的內(nèi)容(就是專用寄存器(SFR)區(qū)中的P2寄存器的內(nèi)容),在整個(gè)訪問期間不會(huì)改變3。P3端口為P3.0至P3.7端口(共八個(gè)引腳),P3端口為雙向的輸入輸出端口,字長為8位,帶有上拉電阻,工作時(shí)應(yīng)當(dāng)將鎖存器置為1。在實(shí)際的工作之中,復(fù)位時(shí)P3端口會(huì)自動(dòng)恢復(fù)到1,可以直接進(jìn)入到第二功能的操作。若不使用第二功能時(shí),則自動(dòng)進(jìn)入第一功能的使用。此外P3端口的緩沖器BUF3,BUF2的輸出端作為第二,第一功能的輸入。3.3電機(jī)驅(qū)動(dòng)模塊本次畢業(yè)設(shè)計(jì)跟蹤小車所用的電機(jī)是L293芯片所驅(qū)動(dòng)的電機(jī)。該芯片的額定電壓高為36伏特,額定電流為1安培左右,有十六個(gè)引腳。驅(qū)動(dòng)器為雙H橋的高電壓,較大電流的全橋驅(qū)動(dòng)器。該芯片可以用來驅(qū)動(dòng)電感負(fù)載例如直流電機(jī),電磁繼電器等。并且此芯片可以用來驅(qū)動(dòng)兩個(gè)直流電機(jī),也就是說一個(gè)芯片就可以控制電機(jī)驅(qū)動(dòng)模塊。直流電機(jī)具有優(yōu)越的調(diào)速性能,高性能可調(diào)速拖動(dòng)都在采用直流電機(jī)。4直流電機(jī)驅(qū)動(dòng)模塊的參數(shù):輸入邏輯電壓:5.0V。輸入電機(jī)電壓:5.0V-36.0V。輸出驅(qū)動(dòng)電流:1000mA。尺寸:長為34毫米 寬為18毫米 高為8毫米 電機(jī)驅(qū)動(dòng)模塊引腳圖如圖3-2所示:圖3-2 電機(jī)驅(qū)動(dòng)模塊引腳圖 驅(qū)動(dòng)模塊的接線方式:P1:控制M1電機(jī)PWM1輸入引腳。D1:控制M1電機(jī)轉(zhuǎn)向輸入引腳。P2:控制M2電機(jī)PWM2輸入引腳。D2:控制M2電機(jī)轉(zhuǎn)向輸入引腳。5V:邏輯電源+5V接口。VC:輸入電機(jī)驅(qū)動(dòng)電壓接口。GND:電源地接口。M1+:M1電機(jī)驅(qū)動(dòng)輸出引腳正極。M1-:M1電機(jī)驅(qū)動(dòng)輸出引腳負(fù)極。M2+:M2電機(jī)驅(qū)動(dòng)輸出引腳正極。M2-:M2電機(jī)驅(qū)動(dòng)輸出引腳負(fù)極。3.4傳感器模塊超聲波測距是利用超聲脈沖回波渡越時(shí)間法來實(shí)現(xiàn)的。若傳感器所發(fā)出的脈沖信號(hào)至接收的時(shí)間為t,傳播速度為c(傳播介質(zhì)為空氣),則可由D=ct/2公式計(jì)算出目標(biāo)物體與傳感器的距離5。這次智能小車畢業(yè)設(shè)計(jì)使用的是HC-SR04超聲波測距模塊。HC-SR04超聲波測距模塊可提供2cm-400cm的非接觸式距離感測功能,測距精度可達(dá)高到3mm;模塊包括超聲波發(fā)射器、接收器與控制電路。其主要的功能有:1、距離的測量,2、溫度的測量,3光感度測量。超聲波傳感器時(shí)序圖如下圖3-3所示所示:圖3-3 超聲波傳感器時(shí)序圖 超聲波傳感器工作原理圖如下圖3-4所示:圖3-4超聲波傳感器工作原理圖該模塊的基本工作原理:1.采用I/O口TRIG觸發(fā)測距,給最少10us 的高電平信號(hào);2.八個(gè)40000Hz的方波由模塊發(fā)送,并且由模塊自動(dòng)檢測是否有信號(hào)的反饋;3.若檢測到返回信號(hào),ECHO可以通過I/O端口輸出高電平信號(hào),此信號(hào)持續(xù)的時(shí)間是超聲波信號(hào)發(fā)出至返回的時(shí)間,所以測試的距離為高電平的時(shí)間乘以聲速除以二(聲音在空氣中的傳播速度為340米每秒)。該模塊的基本電氣參數(shù):表3-1 超聲波模塊電氣參數(shù)表工作電壓工作電流工作頻率最遠(yuǎn)射程測量角度輸入觸發(fā)信號(hào)輸出回響信號(hào)輸出與射程關(guān)系規(guī)格尺寸5V15mA40KHz4m1510s TTL脈沖TTL電平反比45*20*15紅外線傳感器模塊采用的是由RPR220紅外傳感器與LM324芯片配合控制的紅外傳感器模塊,其原理圖如圖3-5所示:圖3-5 紅外傳感器原理圖上圖的紅外避障模塊展示了其基本的工作原理,小車的LM324運(yùn)算放大器是由四個(gè)運(yùn)放器組成的模塊。RPR220發(fā)射的紅外線經(jīng)反射回到接受管經(jīng)放大電路放大后將信號(hào)傳輸給單片機(jī)。反應(yīng)在LED燈上則是左側(cè)有信號(hào)L4亮右側(cè)有信號(hào)L3亮。模塊參數(shù)說明:反射率和物體的面積是影響探測的主要因素,黑色的傳感器探測的距離比較小反之白色的比較大,在探測中面積較小的物體需要的探測距離比較大,反之則小。這就是紅外反射探測的基本原理;傳感器模塊輸出端口OUT 可直接與單片機(jī)I/O 口連接即可,也可以直接驅(qū)動(dòng)一個(gè)5V繼電器。連接方式:VCC-VCC;GND-GND;OUT-I/O;比較器采用LM393,工作穩(wěn)定;采用兩節(jié)3.7V的充電電池作為電源,供電時(shí)流水燈L1為紅色L4為黃色顯示紅外傳感器正常工作;模塊接線說明:Vcc端口與單片機(jī)電源相連(35V;GND接地;OUT小板數(shù)字量輸出接口(0和1)。3.5 電源供電系統(tǒng) 電源供電系統(tǒng)的原理圖如圖3-6所示:圖3-6 電源供電系統(tǒng)原理圖其中除了一些電容,電阻,二極管,電源電機(jī)開關(guān)之外還有Header 4X2的八腳DIP將電源,電機(jī),HL-1電路,以及單片機(jī)電路連接在一起,使通電后電路能夠正常運(yùn)轉(zhuǎn)。3.6 LCD1602液晶顯示模塊1602液晶稱之為字符型液晶,該模塊在液晶屏上顯示數(shù)字、字母、字符,顯示的內(nèi)容由點(diǎn)陣組成。點(diǎn)陣的組成是由五乘以七或者五乘以十一的點(diǎn)陣組成,字符由每一個(gè)點(diǎn)陣所組成,每個(gè)字符之間有一個(gè)點(diǎn)的距離,每一行之間也有一個(gè)點(diǎn)的距離,通過這些距離起到了較好的隔離作用,因?yàn)橛羞@些點(diǎn)距的存在所以點(diǎn)陣不能較好的顯示圖形。但是作為距離測量數(shù)據(jù)的顯示1602已經(jīng)能為其所用了。液晶顯示模塊的引腳圖如圖3-7所示:圖3-7 液晶模塊引腳圖LCD1602模塊引腳及其功能介紹:一號(hào)GND為接地端;二號(hào)VCC接5V電源正極; 三號(hào)VL為對(duì)比度的調(diào)整端口,當(dāng)VL接電源正極時(shí)對(duì)比度最小,反之接GND時(shí)對(duì)比度最大;四號(hào)RS作為寄存器當(dāng)信號(hào)為1時(shí)進(jìn)行數(shù)據(jù)的寄存,當(dāng)信號(hào)為0時(shí)進(jìn)行指令的寄存;五號(hào)RW作為讀寫信號(hào)端口當(dāng)輸入1時(shí)進(jìn)行讀操作,當(dāng)輸入0時(shí)進(jìn)行寫操作;六號(hào)E(或EN)端為使能(enable)端,高電平(1)時(shí)讀取信息,負(fù)跳變時(shí)執(zhí)行指令;七到十四號(hào)D0D7為8位雙向數(shù)據(jù)端。十五、十六號(hào) 為空腳或背燈電源。十五腳為背燈正極,十六為負(fù)極。LCD的基本操作時(shí)序:1、讀狀態(tài):輸入:RS=L, RW=H, E=H 輸出:D0D7=狀態(tài)字;2、寫命令:輸入:RS=L, RW=L, D0D7=指令碼,E=高脈沖 輸出:無;3、讀數(shù)據(jù):輸入:RS=H, RW=H, E=H 輸出:D0D7=數(shù)據(jù);4、寫數(shù)據(jù):輸入:RS=H, RW=L, D0D7=數(shù)據(jù),E=高脈沖 輸出:無。LCD的初始化:1、延時(shí)15ms; 2、寫命令38H(不檢測忙信號(hào));3、延時(shí)5ms;4、寫命令38H(不檢測忙信號(hào));5、延時(shí)5ms;6、寫命令38H(不檢測忙信號(hào));7以后每次命令、讀/寫數(shù)據(jù)操作之前均需要檢測忙信號(hào);8、寫命令38H:顯示模式設(shè)置;9、寫命令08H:顯示關(guān)閉;10、寫命令01H:顯示清屏;11、寫命令06H:顯示光標(biāo)移動(dòng)設(shè)置;12、寫命令0CH:顯示開關(guān)及光標(biāo)設(shè)置。4. 自動(dòng)跟蹤系統(tǒng)的軟件設(shè)計(jì)4.1 開發(fā)軟件KeiluVision5與STC-ISP的介紹本次智能小車的程序開發(fā)是基于C語言的程序編寫,所以采用了KeilC51軟件對(duì)程序進(jìn)行編寫并且用STC-ISP程序燒寫軟件對(duì)單片機(jī)進(jìn)行程序燒錄。Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。6Keil軟件擁有強(qiáng)大的集成調(diào)試功能,其包含C語言編譯器、程序管理庫、連接功能等通過Vision組合在一起。該軟件兼容目前所有的Windows系統(tǒng)。Keil軟件最適用于和C語言配合的編程,其強(qiáng)大的集成環(huán)境與調(diào)試能力都會(huì)讓畢業(yè)設(shè)計(jì)的制作更加快捷。7Keil C51開發(fā)系統(tǒng)基本知識(shí)1.系統(tǒng)概述KeilC51擁有強(qiáng)大的集成功能與豐富的函數(shù)庫,并且與電腦的操作界面完全相同,是目前單片機(jī)程序開發(fā)的主要編程軟件。82.軟件開發(fā)系統(tǒng)的結(jié)構(gòu) KeilC51所包含的Vision是C51關(guān)于Windows系統(tǒng)的開發(fā)環(huán)境,在該開發(fā)環(huán)境之中可以編譯、鏈接、仿真、運(yùn)行目。我們可以在此開發(fā)環(huán)境中生成.c文件用來編寫我們所需要的程序,并且在Options中創(chuàng)建我們所需要燒寫的.hex文件。最后進(jìn)行編譯運(yùn)行仿真,查找錯(cuò)誤。使用獨(dú)立的Keil仿真器時(shí),注意事項(xiàng)*仿真器的標(biāo)準(zhǔn)的晶振為11兆赫茲,但是在實(shí)際操作中可以通過晶振插口換用其他的頻率。*使用仿真器的復(fù)位鍵并不能將目標(biāo)系統(tǒng)進(jìn)行重置,只能復(fù)位仿真器的芯片。* 仿真時(shí)只可以使用內(nèi)部的只讀存儲(chǔ)器(ROM),片外的存儲(chǔ)器無法使用。這是因?yàn)榉抡嫘酒腅A引腳已經(jīng)被置為高電平。KeilC51軟件的優(yōu)點(diǎn):1.Keil C51中的語句所生成的匯編代碼與其他開發(fā)軟件相比較更容易讓人理解。在開發(fā)復(fù)雜的程序過程中更具有“高效代碼”優(yōu)勢。92.C語言功能高、可移植性好,既具有高級(jí)語言的優(yōu)點(diǎn),又具有低級(jí)語言的許多特點(diǎn),因此特別適合于編寫系統(tǒng)軟件。10STC-ISP燒寫軟件介紹:STC_ISP是將Keil軟件編寫好的程序燒寫進(jìn)入單片機(jī)的一款軟件,是專門針對(duì)STC系列的單片機(jī)所設(shè)計(jì)的一款軟件,可下載目前絕大部分系列的STC單片機(jī),因其操作簡單易用,現(xiàn)在已經(jīng)成為主流的燒寫軟件11。該軟件操作界面如下圖4-1所示: 圖4.1STC-ISP軟件界面該軟件的使用方法:第一步:選擇單片機(jī)的型號(hào)(選擇STC89C52)型號(hào)。第二步:在“我的電腦”里的設(shè)備管理器的USB端口查看串口號(hào)。第三步:點(diǎn)擊打開程序文件,將保存好的hex.文件添加到該軟件中。(此時(shí)不需要給單片機(jī)通電。)第四步:點(diǎn)擊下載編程,當(dāng)顯示請給MCU上電時(shí),給單片機(jī)通電。程序就能夠下載到單片機(jī)中。4.2跟蹤系統(tǒng)主程序分析本次設(shè)計(jì)的跟蹤主程序是對(duì)左轉(zhuǎn)函數(shù),右轉(zhuǎn)函數(shù),前進(jìn)函數(shù),以及紅外線傳感函數(shù)的調(diào)用結(jié)合起來實(shí)現(xiàn)小車的跟蹤功能。具體的紅外傳感跟蹤函數(shù)見附錄二。工作流程:初始化后系統(tǒng)判斷K4鍵是否按下,按下后蜂鳴器發(fā)出聲音信號(hào)小車開始工作。程序調(diào)用前進(jìn)函數(shù)小車開始向前走,并且紅外線傳感器開始檢測跟蹤目標(biāo),判斷跟蹤目標(biāo)位置,然后反饋給單片機(jī)后判斷調(diào)用左轉(zhuǎn)或右轉(zhuǎn)函數(shù)來進(jìn)行方向的控制,使小車跟著被跟蹤目標(biāo)的移動(dòng)而移動(dòng),實(shí)現(xiàn)跟蹤功能。程序流程圖如下圖4-2所示:開始初始化 否K4鍵是否按下 是 蜂鳴器發(fā)出信號(hào)小車前進(jìn) 否紅外檢測目標(biāo)是開始跟蹤圖4.2主程序流程圖4.3電機(jī)驅(qū)動(dòng)程序電機(jī)驅(qū)動(dòng)模塊可以實(shí)現(xiàn)小車的5個(gè)運(yùn)動(dòng)狀態(tài),包括小車的停止、前進(jìn)、后退,左轉(zhuǎn),右轉(zhuǎn)。12當(dāng)6個(gè)狀態(tài)引腳IN1,IN2,IN3,IN4,EN1,EN2為邏輯輸入端,當(dāng)接收到高、低電平信號(hào)時(shí),執(zhí)行對(duì)應(yīng)的小車運(yùn)動(dòng)狀態(tài)。IN3高電平時(shí)左電機(jī)正轉(zhuǎn),IN4高電平左電機(jī)反轉(zhuǎn),EN1低電平左電機(jī)停車。IN1高電平右電機(jī)反轉(zhuǎn),IN2高電平右電機(jī)正轉(zhuǎn),EN2右電機(jī)低電平停車。調(diào)用左右轉(zhuǎn)函數(shù)實(shí)現(xiàn)轉(zhuǎn)向13。電機(jī)驅(qū)動(dòng)程序見附錄二。4.4紅外傳感器程序在本次設(shè)計(jì)中,紅外模塊的作用是對(duì)小車的運(yùn)動(dòng)狀態(tài)進(jìn)行控制。安裝在小車車尾左右放置,通過紅外跟蹤模塊對(duì)兩側(cè)的障礙物進(jìn)行探測從而控制小車運(yùn)動(dòng)狀態(tài),同時(shí),蜂鳴器作出報(bào)警相應(yīng)提示,此時(shí)應(yīng)注意車身周圍是否存在障礙物。紅外模塊的功能可以獨(dú)立完成,只需要給此模塊一個(gè)高或低的電平即可。當(dāng)紅外模塊發(fā)射管發(fā)射出的的紅外線被紅外模塊的接收管接收時(shí),此段程序開始執(zhí)行。當(dāng)左右兩側(cè)檢測到障礙物時(shí),蜂鳴器進(jìn)行報(bào)警,小車進(jìn)行停車操作,并打開延時(shí)。延遲過后蜂鳴器關(guān)閉報(bào)警狀態(tài)。紅外傳感器工作流程圖如下圖4-3所示:開始初始化 否紅外檢測被跟蹤物體 是將信號(hào)反饋給單片機(jī)圖4-3紅外傳感器流程圖4.5 LCD1602液晶顯示程序LCD1602液晶顯示程序中初始化程序部分如下所示:void LcdInitiate(void)delay(15);WriteInstruction(0x38);.delay(5);WriteInstruction(0x01);delay(5);以上代碼為使用LCD1206液晶顯示屏之前要對(duì)其進(jìn)行初始化。隨著液晶屏的初始化操作完成以后,就該對(duì)其忙檢測來確定LCD液晶屏當(dāng)前的狀態(tài)。 LCD1602液晶顯示程序中顯示程序見附錄二 程序代碼就是在忙檢測和顯示設(shè)置方面完成的前提下,進(jìn)行數(shù)據(jù)的讀與寫的過程,并且將得到的數(shù)據(jù)顯示在液晶屏上。讓使用者能夠更加直觀的知道所獲得的數(shù)據(jù)14。5.功能測試5.1智能跟蹤小車的功能測試小車在測試之前應(yīng)該先做好充分的準(zhǔn)備工作。首先應(yīng)當(dāng)將HL-1電路板與電池、電機(jī)安裝好并且將紅色的線接在電機(jī)電源上端,黑色的線接在電機(jī)電源下端,(注意:不要將電機(jī)的螺絲擰的太緊,否則電機(jī)會(huì)堵轉(zhuǎn))最后將轉(zhuǎn)向輪,以及輪胎安好。接下來將單片機(jī)模塊與HL-1模塊相連接,按照兩塊板子上對(duì)應(yīng)引腳的指示,用導(dǎo)線將HL-1模塊上的J3、J4、J8、J7、J5與單片機(jī)對(duì)應(yīng)的引腳相連接。最后將超聲波模塊的四個(gè)引腳插入J6區(qū)域,完成組裝。在電腦上安裝Keil軟件的驅(qū)動(dòng),驅(qū)動(dòng)安裝完成后安裝Keil軟件后安裝STC程序燒寫軟件。兩個(gè)軟件安裝完畢之后開始進(jìn)行程序的編寫,編寫完畢并且生成hex.文件之后開始將程序燒寫進(jìn)單片機(jī)。若燒寫成功,則此時(shí)小車以及具備跟蹤的功能。拔下USB傳輸線,按下電源開關(guān),小車則會(huì)按照預(yù)定的程序工作。5.2 發(fā)現(xiàn)問題與解決問題的方案在小車的安裝,編程,燒寫,運(yùn)行中發(fā)現(xiàn)了不少問題,其中比較主要的問題有:1、在燒寫程序時(shí)已經(jīng)編寫好的程序無法寫進(jìn)單片機(jī),單片機(jī)與電腦連接無響應(yīng)。2跟蹤過程中小車無法準(zhǔn)確的跟蹤方向變化太快的被跟蹤物。3小車速度無法控制容易引起碰撞。解決方案:1、使用最新版本的STC燒寫軟件與所購買的單片機(jī)開發(fā)板不兼容,使用低版本的STC燒寫軟件可以將程序錄入單片機(jī)。2、紅外線感應(yīng)容易受日光的影響所以在做跟蹤實(shí)驗(yàn)時(shí)應(yīng)當(dāng)在陰天或者比較陰暗的房間里進(jìn)行。3、將紅外線遙控程序燒寫進(jìn)單片機(jī)可以用遙控器對(duì)小車的運(yùn)動(dòng)狀況進(jìn)行控制。6. 結(jié)論和展望關(guān)于本次智能跟蹤小車的畢業(yè)設(shè)計(jì),在硬件部分我將紅外傳感器模塊,單片機(jī)模塊,電機(jī)驅(qū)動(dòng)模塊,電源供電模塊,用C語言所編寫的程序聯(lián)系起來實(shí)現(xiàn)跟蹤功能。在程序的編寫方面主要運(yùn)用的是if語句來檢測是否給電,小車方向的控制采用的是對(duì)函數(shù)的調(diào)用,通過紅外傳感器對(duì)目標(biāo)的位置的檢測與反饋來調(diào)用相應(yīng)的函數(shù)。(采用Whileif來實(shí)現(xiàn)反饋信號(hào)與調(diào)用函數(shù)的聯(lián)系)。例如,當(dāng)紅外信號(hào)檢測到被跟蹤物體在左側(cè)時(shí)Left=1 Right=0(有信號(hào)時(shí)為1)。調(diào)用左轉(zhuǎn)函數(shù)(小車左電機(jī)不轉(zhuǎn),右電機(jī)轉(zhuǎn)動(dòng))小車向左運(yùn)動(dòng)實(shí)現(xiàn)跟蹤。6.1 結(jié) 論本次畢業(yè)設(shè)計(jì)用到的主要工具是STC89C52RC單片機(jī),關(guān)于單片機(jī)的知識(shí)我們在大四上學(xué)期的的課程中已經(jīng)學(xué)習(xí)過,所以在小車的程序方面學(xué)習(xí)的更加快捷一些。智能小車的設(shè)計(jì)在單片機(jī)的相關(guān)課題中是屬于比較偏向硬件設(shè)計(jì)的,所以有了實(shí)物模型才能更加具體的了解你所做的東西,否則一切都是紙上談兵罷了。智能小車的功能非常的多,主要包括循跡、避障、跟蹤等等在實(shí)際生活中的應(yīng)用在前文中已經(jīng)闡述,我所做的跟蹤功能只不過是其中的一小種,盡管不是什么創(chuàng)新研究,但是這幾個(gè)月的畢業(yè)設(shè)計(jì)的學(xué)習(xí)讓我明白了理論與實(shí)踐結(jié)合的重要性,通過此次設(shè)計(jì),使我把課堂上學(xué)到的C語言知識(shí)、單片機(jī)知識(shí)全部應(yīng)用到實(shí)踐中去,讓理論與實(shí)踐有了完美的結(jié)合,在此結(jié)合的過程中讓自己的知識(shí)得到強(qiáng)化和復(fù)習(xí), 溫故而知新,學(xué)到了不少新的知識(shí)。還對(duì)Keil C51軟件和STC_ISP軟件使用方法得到了加固。并且讓我感覺到自己的知識(shí)面和動(dòng)手能力等多方面都得到了加強(qiáng)。6.2 展望在測試與實(shí)驗(yàn)當(dāng)中我也發(fā)現(xiàn)的小車的一些不足,小車對(duì)被跟蹤物體方向變化不是很敏感,有時(shí)需要物體里小車的傳感器很近才能實(shí)現(xiàn)跟蹤。所以我計(jì)劃在接下來的學(xué)習(xí)之中著力于改進(jìn)小車的紅外檢測模塊,并且對(duì)程序進(jìn)行進(jìn)一步的研究與完善爭取作出更好的智能跟蹤小車。參考文獻(xiàn) 1張?zhí)m紅,鄒華.單片機(jī)原理及應(yīng)用M.北京:機(jī)械工業(yè)出版社,2013.2周堅(jiān).單片機(jī)C語言輕松入門M.北京:北京航空航天大學(xué)出版社,2008.3鄭佩.基于51單片機(jī)智能小車的設(shè)計(jì)與實(shí)現(xiàn)J中國科技博覽20144陳伯時(shí).電力拖動(dòng)自動(dòng)控制系統(tǒng)(第三版)M.北京:機(jī)械工業(yè)出版社,2000年.5劉迎春. 傳感器原理設(shè)計(jì)與應(yīng)用M.長沙:國防科技大學(xué)出版社,1992.6譚浩強(qiáng).C語言程序設(shè)計(jì)(第三版)M.北京:清華大學(xué)出版社,2005.7張旭濤.單片機(jī)原理與應(yīng)用M.北京:北京理工大學(xué)出版社,2007.8高海生.單片機(jī)應(yīng)用技術(shù)大全M.四川:西南科技出版社,2003.9張紅洗.C8051F系列單片機(jī)開發(fā)與C語言編程J電子產(chǎn)品可靠性與C語言編程2011.10徐惠民,安德寧.單片機(jī)微型計(jì)算機(jī)原理及應(yīng)用M.北京:北京郵電大學(xué)出版社,2001.11李廣第.單片機(jī)基礎(chǔ)M.北京:北京航天航空大學(xué)出版社,1999.12陳興文,劉燕.單片機(jī)應(yīng)用系統(tǒng)硬件調(diào)試與技巧J.中國測控網(wǎng).2006.13夏繼強(qiáng).單片機(jī)實(shí)驗(yàn)與實(shí)踐教程M.北京:北京航天航空大學(xué)出版社,2001.14陳享成,耿長青.基于單片機(jī)的LCD顯示終端設(shè)計(jì)J電力自動(dòng)化設(shè)備2007(09).謝 辭 在本次畢業(yè)設(shè)計(jì)中由于本人知識(shí)水平的限制,我在完成畢業(yè)設(shè)計(jì)的時(shí)候遇到了許許多多的困難,但是到最后關(guān)于智能跟蹤小車的實(shí)驗(yàn)設(shè)計(jì)終于順利完成,這其中少不了同學(xué)和指導(dǎo)老師的幫助,是他們的幫助讓我克服了重重困難,解決了許多棘手的問題。其中最應(yīng)當(dāng)感謝的是我的論文導(dǎo)師白娜老師,白老師給了我許多學(xué)習(xí)資料,讓我不僅僅完成了畢業(yè)設(shè)計(jì),還對(duì)單片機(jī)有了系統(tǒng)的了解與學(xué)習(xí),將理論與實(shí)踐結(jié)合起來順利完成了畢業(yè)設(shè)計(jì)。尊敬的老師和同學(xué)們,沒有你們的幫助我的設(shè)計(jì)也不能順利完成,謝謝你們,謝謝!附錄一:系統(tǒng)硬件仿真圖附錄二:紅外遙控程序紅外遙控程序#include<AT89x51.H>#define Left_moto_go P1_2=0,P1_3=1; /左邊電機(jī)向前走#define Left_moto_back P1_2=1,P1_3=0; /左邊電機(jī)向后轉(zhuǎn)#define Left_moto_Stop P1_2=0,P1_3=0; /左邊電機(jī)停轉(zhuǎn)#define Right_moto_go P1_6=1,P1_7=0;/右邊電機(jī)向前走#define Right_moto_back P1_6=0,P1_7=1;/右邊電機(jī)向后走#define Right_moto_Stop P1_6=0,P1_7=0;/右邊電機(jī)停轉(zhuǎn)#define Imax 14000 /此處為晶振為11.0592時(shí)的取值,#define Imin 8000 /如用其它頻率的晶振時(shí),#define Inum1 1450 /要改變相應(yīng)的取值。#define Inum2 700#define Inum3 3000unsigned char f=0;unsigned char Im4=0x00,0x00,0x00,0x00;unsigned char show2=0,0;unsigned long m,Tc;unsigned char IrOK;/*/延時(shí)函數(shù)void delay(unsigned int k)unsigned int x,y;for(x=0;x<k;x+)for(y=0;y<2000;y+);/*/外部中斷解碼程序void intersvr0(void) interrupt 1 using 1Tc=TH0*256+TL0; /提取中斷時(shí)間間隔時(shí)長TH0=0;TL0=0; /定時(shí)中斷重新置零if(Tc>Imin)&&(Tc<Imax)m=0;f=1;return; /找到啟始碼if(f=1)if(Tc>Inum1&&Tc<Inum3)Imm/8=Imm/8>>1|0x80; m+;if(Tc>Inum2&&Tc<Inum1)Imm/8=Imm/8>>1; m+; /取碼if(m=32)m=0;f=0; if(Im2=Im3)IrOK=1;else IrOK=0; /取碼完成后判斷讀碼是否正確/準(zhǔn)備讀下一碼 /*/前速前進(jìn)void run(void)Left_moto_go ; /左電機(jī)往前走Right_moto_go ; /右電機(jī)往前走/前速后退void backrun(void)Left_moto_back ; /左電機(jī)后退Right_moto_back ; /右電機(jī)后退/右轉(zhuǎn)void rightrun(void)Left_moto_go ; /左電機(jī)前進(jìn)Right_moto_Stop ; /右電機(jī)停止/左轉(zhuǎn)void Leftrun(void)Left_moto_Stop ; /左電機(jī)停止Right_moto_go ; /右電機(jī)前進(jìn)/停止void stoprun(void)Left_moto_Stop ; /左電機(jī)停止Right_moto_Stop ; /右電機(jī)停止/*/*-主函數(shù)-*/void main(void)m=0;f=0;IT0=1;EX0=1;TMOD=0x11;TH0=0;TL0=0;TR0=1;EA=1;delay(100);while(1)/*無限循環(huán)*/if(IrOK=1)switch(Im2)case 0x18: run(); /前進(jìn)break;case 0x52: backrun(); /后退break;case 0x08: leftrun(); /左轉(zhuǎn)break;case 0x5A: rightrun(); /右轉(zhuǎn)break;case 0x1C: stoprun(); /停止break;default:break;IrOK=0;附錄二:主程序分析#include<AT89X52.H> /包含51單片機(jī)頭文件,內(nèi)部有各種寄存器定義/主函數(shù)void main(void)unsigned char i;P1=0X00; /關(guān)電車電機(jī)B:for(i=0;i<50;i+) /判斷K4是否按下delay(1);/1ms內(nèi)判斷50次,如果其中有一次被判斷到K4沒按下,便重新檢測if(P3_7!=0)/當(dāng)K4按下時(shí),啟動(dòng)小車前進(jìn).goto B; /跳轉(zhuǎn)到標(biāo)號(hào)B,重新檢測 BUZZ=0;/50次檢測K4確認(rèn)是按下之后,蜂鳴器發(fā)出“滴”聲響,然后啟動(dòng)小車。 delay(50); BUZZ=1;/響50ms后關(guān)閉蜂鳴器TMOD=0X01; TH0= 0XFc; /1ms定時(shí) TL0= 0X18; TR0= 1; ET0= 1;EA = 1; /開總中斷while(1)/無限循環(huán) if(Left_1_led=1&&Right_1_led=1) /有信號(hào)為1 沒有信號(hào)為0run(); /調(diào)用前進(jìn)函數(shù)elseif(Left_1_led=1&&Right_1_led=0)/左邊檢測到紅外信號(hào) leftrun();/調(diào)用小車左轉(zhuǎn)函數(shù)if(Right_1_led=1&&Left_1_led=0)/右邊檢測到紅外信號(hào)rightrun(); /調(diào)用小車右轉(zhuǎn)函數(shù) if(Right_1_led=0&&Left_1_led=0)/兩邊傳感器同時(shí)檢測到紅外run(); /后為程序的注釋/電機(jī)驅(qū)動(dòng)程序:void run(void)IN1=1;IN2=0;IN3=1;IN4=0; EN1=1; EN2=1;/前進(jìn)函數(shù)左轉(zhuǎn)函數(shù):void leftrun(void)IN1=0;IN2=1;IN3=1;IN4=0; EN1=0;EN2=1;右轉(zhuǎn)函數(shù):void rightrun(void)IN1=0;IN2=1;IN3=0;IN4=1; EN1=1;EN2=0;后退函數(shù): void backrun(void) IN1=1; IN2=0;IN3=0;IN4=1; EN2=1; EN1=1;所以跟蹤系統(tǒng)的主函數(shù)包括轉(zhuǎn)向的部分如下所示:/主函數(shù)void main(void)run(); /調(diào)用前進(jìn)函數(shù)前進(jìn)后再進(jìn)入 無限循環(huán) 前進(jìn)再后退運(yùn)動(dòng)delay(100);while(1)/無限循環(huán) run();/調(diào)用前進(jìn)函數(shù)delay(200);backrun(); /調(diào)用后退函數(shù)delay(200); leftrun(); /調(diào)用左轉(zhuǎn)函數(shù)delay(200);rightrun();/調(diào)用右轉(zhuǎn)函數(shù)delay(200);stop(); /調(diào)用停止轉(zhuǎn)動(dòng)函數(shù)液晶顯示程序:void WriteCommandLCM(unsigned char WCLCM,BuysC) if (BuysC) ReadStatusLCM();LCM_Data = WCLCM;LCM_RS = 0;LCM_RW = 0;LCM_E = 0;LCM_E = 0;LCM_E = 1;unsigned char ReadDataLCM(void) LCM_RS = 1; LCM_RW = 1; LCM_E = 0; LCM_E = 0; LCM_E = 1; return(LCM_Data); .附錄三:系統(tǒng)實(shí)物圖系統(tǒng)實(shí)物圖實(shí)物圖精選word范本!

注意事項(xiàng)

本文(基于單片機(jī)的智能跟蹤小車.doc)為本站會(huì)員(鐘***)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!