基于單片機的紅外避障小車設計_第1頁
基于單片機的紅外避障小車設計_第2頁
基于單片機的紅外避障小車設計_第3頁
基于單片機的紅外避障小車設計_第4頁
基于單片機的紅外避障小車設計_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

2、tc89c52rc單片機為核心,通過避障模塊和聲控模塊接受到的信息來控制電機運行。系統(tǒng)通過7節(jié)1.5v干電池通過降壓電路降成5v穩(wěn)定直流電對單片機和發(fā)動機進行供電。本文介紹了紅外避障的原理、系統(tǒng)整體設計及相關軟件的介紹。軟件部分采用模塊化設計思路,整個程序包括主程序,電機驅動程序,信號檢測程序,通過小車運行時檢測到的運行信息來調用左轉、直行或停止函數來控制小車。測試結果表明,本文的各項功能基本正常,除發(fā)動機轉速不匹配外能實現本設計的所有要求。關鍵字:stc89c52rc 小車 避障 單片機abstractwith 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 todays introduction in the field of technology.this design is mainly composed of single-chip microcomputer control system module, motor drive modul

5、e, 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 into a

6、 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 driver, si

7、gnal 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 requiremen

8、ts of the design.key words: obstacle avoidance scm stc89c52rc cars目錄摘要iabstractii第一章 緒論11.1 課題背景11.2課題研究的目的和意義11.3本設計的內容及結構2 1.3.1本設計的內容2 1.3.1本設計的結構2第二章 系統(tǒng)硬件選擇12.1 車體結構12.2紅外避障傳感器原則22.3 stc89c52單片機介紹2第三章 系統(tǒng)硬件設計13.1 系統(tǒng)設計框圖13.2系統(tǒng)電路設計23.3 供電電路23.4 聲音檢測電路23.5 紅外避障基本原理23.6 電機驅動電路23.7 單片機最小系統(tǒng)2第四章 程序設計14.

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

10、院(sri)的nils nilssen和charles rosen等人,在1966年至1972年中研制出了取名shakey的自主式移動機器人,目的是將人工智能技術應用在復雜環(huán)境下,完成機器人系統(tǒng)的自主推理、規(guī)劃和控制。從此,移動機器人從無到有,數量不斷增多,智能車輛作為移動機器人的一個重要分支也得到越來越多的關注。智能小車,是一個集環(huán)境感知、規(guī)劃決策,自動行駛等功能于一體的綜合系統(tǒng),它集中地運用了計算機、傳感、信息、通信、導航及白動控制等技術,是典型的高新技術綜合體。智能車輛也叫無人車輛,是一個集環(huán)境感知、規(guī)劃決策和多等級輔助駕駛等功能于一體的綜合系統(tǒng)。它具有道路障礙自動識別、自動報警、自動制

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

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

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

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

15、下的安全監(jiān)測系統(tǒng)。其中包括研究使用遠程、無人的方法來進行實現,如機器人、遠程監(jiān)控等。無線傳輸的發(fā)展使得測量變得相對簡單而且使得處理數據的速度變得很快甚至可以達到實時處理”。該智能小車可以作為機器人的典型代表。它可以分為三大組成部分:傳感器檢測部分、執(zhí)行部分、cpu。機器人要實現自動避障功能,還可以擴展循跡等功能,感知導引線和障礙物??梢詫崿F小車自動識別路線,選擇正確的行進路線,并檢測到障礙物自動躲避。通過構建智能小車系統(tǒng),培養(yǎng)設計并實現自動控制系統(tǒng)的能力。在實踐過程中,熟悉以單片機為核心控制芯片,設計小車的檢測、驅動和顯示等外圍電路,采用智能控制算法實現小車的智能循跡。靈活應用機電等相關學科的

16、理論知識,聯(lián)系實際電路設計的具體實現方法,達到理論與實踐的統(tǒng)一。在此過程中,加深對控制理論的理解和認識。1.3 本設計的內容及結構1.3.1 設計的內容(1) 障礙檢測模塊(2) 電源模塊為5v;(3) 直流電機的驅動模塊電路,及相應的驅動程序;(4) 控速模塊(5) 復位電路模塊(6) 聲控模塊1.3.2 本設計的結構本論文結構如下:第2章 介紹了車體結構和硬件選擇第3章 介紹了系統(tǒng)整體設計及各部分功能第4章 介紹了軟件設計第5章 介紹了開發(fā)調試及效果模擬第6章 總結性描述。主要是畢業(yè)設計的體會及收獲。 第二章 系統(tǒng)硬件選擇2.1車體結構2.1.1車輪選擇小車為三輪結構,車的結構示意圖如圖所

17、示。其中前面兩個車輪由2個發(fā)動機分別控制,通過控制2個發(fā)動機來調節(jié)小車的前進方向。后面一個車輪起到穩(wěn)定小車的作用,同時一個車輪可以更方便的實現小車的轉向。2.1.2電源選擇采用交流電供電的優(yōu)勢是電源驅動能力及電壓穩(wěn)定性好,且負載對電源影響也很小。但由于需要電線對小車供電,極大的影響小車的靈活性及地形的適應能力??紤]到小車需要靈活性好,固采用干電池供電,由于系統(tǒng)耗電量比較大,為保證電壓穩(wěn)定,所以采用7節(jié)1.5v干電池通過降壓電路將成5v直流電對單片機和發(fā)動機供電。2.2紅外避障傳感器e18-d80nk-n這是一種集發(fā)射與接收于一體的光電傳感器,發(fā)射光經過調制后發(fā)出,接收頭對反射光進行解調輸出。有

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

19、e18-d80nk-n實物圖 紅外傳感器e18-d80nk-n內部原理圖電器特性:紅色:vcc;黑色:gnd;黃色:out。 u:5vdc i:100ma sn:3-80cm 尺寸: 直徑:17mm 傳感器長度:45mm 引線長度:45cm機械特性: 顏色:橙黃色 直徑:18mm 長度:45mm 引線長度:18cm注意事項: 在接線的時候,請避免出現電源和地接錯的現象,該操作有可能造成傳感器永久性損壞;信號輸出端請加上拉電阻;為保護動作的可靠和壽命長,請避免有關規(guī)定以外的溫度外界(戶外)條件下,接近傳感器雖為耐水結 構,若裝上罩使用,勿使水和水容性切削油等淋到,則可更好地提高可靠性及壽命。還請

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

21、片機)/3.8v2.0v(3v單片機)3. 工作頻率范圍:040mhz,相當于普通8051的080mhz,實際工作頻率可達48mhz4. 用戶應用程序空間為8k字節(jié)5. 片上集成512字節(jié)ram6. 通用i/o口(32個),復位后為:p1/p2/p3/p4是準雙向口/弱上拉,p0口是漏極開路輸出,作為總線擴展用時,不用加上拉電阻,作為i/o口用時,需加上拉電阻。7. isp(在系統(tǒng)可編程)/iap(在應用可編程),無需專用編程器,無需專用仿真器,可通過串口(rxd/p3.0,txd/p3.1)直接下載用戶程序,數秒即可完成一片8. 具有eeprom功能9. 具有看門狗功能10. 共3個16位定

22、時器/計數器。即定時器t0、t1、t211. 外部中斷4路,下降沿中斷或低電平觸發(fā)電路,power down模式可由外部中斷低電平觸發(fā)中斷方式喚醒12. 通用異步串行口(uart),還可用定時器軟件實現多個uart13. 工作溫度范圍:-40+85(工業(yè)級)/075(商業(yè)級)14. pdip封裝stc89c52rc單片機的工作模式l 掉電模式:典型功耗0.1a,可由外部中斷喚醒,中斷返回后,繼續(xù)執(zhí)行原程序l 空閑模式:典型功耗2mal 正常工作模式:典型功耗4ma7mal 掉電模式可由外部中斷喚醒,適用于水表、氣表等電池供電系統(tǒng)及便攜設備stc89c52rc引腳圖stc89c52rc引腳功能說

23、明vcc(40引腳):電源電壓vss(20引腳):接地p0端口(p0.0p0.7,3932引腳):p0口是一個漏極開路的8位雙向i/o口。作為輸出端口,每個引腳能驅動8個ttl負載,對端口p0寫入“1”時,可以作為高阻抗輸入。在訪問外部程序和數據存儲器時,p0口也可以提供低8位地址和8位數據的復用總線。此時,p0口內部上拉電阻有效。在flash rom編程時,p0端口接收指令字節(jié);而在校驗程序時,則輸出指令字節(jié)。驗證時,要求外接上拉電阻。p1端口(p1.0p1.7,18引腳):p1口是一個帶內部上拉電阻的8位雙向i/o口。p1的輸出緩沖器可驅動(吸收或者輸出電流方式)4個ttl輸入。對端口寫入

24、1時,通過內部的上拉電阻把端口拉到高電位,這是可用作輸入口。p1口作輸入口使用時,因為有內部上拉電阻,那些被外部拉低的引腳會輸出一個電流()。p2端口(p2.0p2.7,2128引腳):p2口是一個帶內部上拉電阻的8位雙向i/o端口。p2的輸出緩沖器可以驅動(吸收或輸出電流方式)4個ttl輸入。對端口寫入1時,通過內部的上拉電阻把端口拉到高電平,這時可用作輸入口。p2作為輸入口使用時,因為有內部的上拉電阻,那些被外部信號拉低的引腳會輸出一個電流()。p3端口(p3.0p3.7,1017引腳):p3是一個帶內部上拉電阻的8位雙向i/o端口。p3的輸出緩沖器可驅動(吸收或輸出電流方式)4個ttl輸

25、入。對端口寫入1時,通過內部的上拉電阻把端口拉到高電位,這時可用作輸入口。p3做輸入口使用時,因為有內部的上拉電阻,那些被外部信號拉低的引腳會輸入一個電流()。(29引腳):外部程序存儲器選通信號()是外部程序存儲器選通信號。當at89c51rc從外部程序存儲器執(zhí)行外部代碼時,在每個機器周期被激活兩次,而訪問外部數據存儲器時,將不被激活。/vpp(31引腳):訪問外部程序存儲器控制信號。為使能從0000h到ffffh的外部程序存儲器讀取指令,必須接gnd。注意加密方式1時,將內部鎖定位reset。為了執(zhí)行內部程序指令,應該接vcc。在flash編程期間,也接收12伏vpp電壓。xtal1(19

26、引腳):振蕩器反相放大器和內部時鐘發(fā)生電路的輸入端。xtal2(18引腳):振蕩器反相放大器的輸入端。特殊功能寄存器第三章 系統(tǒng)硬件設計3.1系統(tǒng)設計框圖 圖3-1 系統(tǒng)設計框圖系統(tǒng)設計框圖如上所述,整個系統(tǒng)由單片機最小系統(tǒng),紅外檢測模塊,聲音檢測模塊,電機驅動模塊組成。小車起始時是處于靜止狀態(tài),當檢測到聲音信號時通過聲音檢測模塊傳到單片機p32端,單片機接受到信號后通過程序把p31,p11端狀態(tài)取反,使小車前進。當再次接受到聲音信號時再次取反,小車停止前進。當紅外避障模塊檢測到障礙物時,將一個p33的高電平轉成低電平,單片機額接受到信號后,通過程序將p15,p37端由高電平轉成低電平,從而使

27、小車左轉。小車運行狀態(tài)相關程序如下:/停止/void stop(void)l_l=1;l_r=1;r_l=1;r_r=1;/前進/void forword(void)l_l=1;r_l=1;_nop_();_nop_();l_r=0;r_r=0;/左轉/void turn_left(void)l_l=0;r_r=0;_nop_();_nop_();l_r=1;r_l=1;delay_ms(2400);注: l_l =p15; /左輪驅動口 l_r =p11; /左輪驅動口 r_l =p36; /右輪驅動口 r_r =p37; /右輪驅動口3.2系統(tǒng)電路設計智能小車采用stc89c52rc單片機

28、進行智能控制, 開始由手動啟動小車電源, 并復位。當有聲音信號時,根據信號進入相應的行駛狀態(tài),在運動過程中由紅外光電傳感器檢測,遇到障礙時通過單片機控制小車進行轉向,系統(tǒng)功能原理圖如圖所示。圖3-2系統(tǒng)電路設計3.3供電電路考慮到小車是個不斷運動的實驗設備,采用干電池供電??偟墓╇娤到y(tǒng)是有10.5v的大功率電池儲能,經過電壓轉換單元。由一個10.5v轉為5v對控制單元供電。電機驅動和控制電路:通過51單片機,控制端口對直流電機的轉速和轉向來對電機進行控制。 圖3-3電源電路圖3.4聲音檢測電路聲音控制電路是在原基礎上加的一項功能,通過電路去除雜音,對響度較大的聲音進行識別(比如拍手聲)。正常說

29、話聲則被電路濾除,不會產生信息出入。聲音信號通過單片機,經程序使運行狀態(tài)取反,完成小車的運行狀態(tài)切換。 圖3-4 聲音控制電路圖聲音檢測模塊程序如下:void extern_int0(void) interrupt 0 using 0if(int0_flag=0)voice_flag=!voice_flag;/檢測到一次聲音信號,狀態(tài)取反一次int0_flag=1;注:int0_flag初始值為0 當int0_flag的值為1時調用前進程序,為0時調用停止程序。3.5紅外避障基本原理常用的紅外遙控系統(tǒng)一般分發(fā)射和接收兩個部分。發(fā)射部分的主要元件為紅外發(fā)光二極管。它實際上是一只特殊的發(fā)光二極管;

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

31、靈敏度。紅外發(fā)光二極管一般有圓形和方形兩種。由于紅外發(fā)光二極管的發(fā)射功率一般都較小(100mw左右),所以紅外接收二極管接收到的信號比較微弱,因此就要增加高增益放大電路。常用sm0038、bl9149等紅外接收專用放大集成電路。本設計通過e18-d80nk-n傳感器,連接單片機p33端口,當正常運行時輸入高電平,當檢測到障礙時輸入低電平。單片機檢測到低電平時先判斷小車是不是在運行狀態(tài),如果是運行狀態(tài)則通過程序執(zhí)行左轉,由于左轉比較復雜,在這里通過延時函數和左轉函數及停止函數連續(xù)調用,通過多次的測試下完成避障,電路圖如下: 圖3-5 紅外傳感電路 紅外避障模塊程序如下:void extern_i

32、nt1(void) interrupt 2 using 1if(voice_flag=1) /前進狀態(tài)下,檢測到障礙物led=0;stop(); /停止delay_ms(1000);turn_left(); /左轉stop(); /停止delay_ms(1000);else if(voice_flag=0) stop(); /停止注:voice_flag是小車狀態(tài)的表示,1為前進,0為停止,通過聲控模塊控制。這里先要確保voice_flag=1 才可能執(zhí)行左轉程序。led=p00 是小車運行指示燈。3.6電機驅動電路直流電機驅動電路采用如下h型pwh電路,用單片機控制驅動電路,起始時程序初始化

33、給r_l、r_r都輸入高電平,電機不工作。當檢測到聲音信號時r_r端變?yōu)榈碗娖?,發(fā)動機正常工作。采用此電路的優(yōu)點是可以實現轉速和方向的控制,采用pwh進行直流電機調速,其實就是把波形作用于電機驅動電路的使用端。整個電路是由電源模塊單獨供電,通過三級放大電路將單片機信號轉成高電壓,從而使發(fā)動機正常工作。要使電機正常運轉,必須導通對角線上的一對場效應管,根據不同場效應管導通情況,電流可能從左至右或從右至左流過電機,從而控制電機的轉向。 圖3-6 電機驅動電路圖3.7單片機最小系統(tǒng)單片機最小系統(tǒng)由復位電路、晶振電路、數據采集接口和電機控制接口組成,單片機最小系統(tǒng)圖如圖所示。所謂晶振電路即指單片機地時

34、鐘電路。該電路通常有內部時鐘電路和外部時鐘電路。一般選用前者。單片機芯片內部有一個反相放大器構成的振蕩器。反相放大器的輸入端xtal1,輸出端為xtal2,把xtal1和xtal2與外部石英晶振及兩個電容連接起來可構成一個石英晶體振蕩如圖3-4所示。時鐘發(fā)生器是一個2分頻電路。它把晶體振蕩的頻率2分頻后供給內其他電路。一般電容c1和c2起到穩(wěn)定振蕩頻率,快速起振的作用,本電路通過晶振提高了12mhz的頻率。單片機復位時reset需要保持96個晶振周期的高電平(即需八個機器周期)。復位以后p0-p3口輸出高電平,堆棧指針sp指向07h,其他特殊功能寄存器和程序設計數器pc清零。 本設計為上電復位

35、電路, 圖3-7 單片機電路第四章 程序設計4.1 軟件調試平臺keil for c51是美國keil software公司出品的c語言軟件開發(fā)系統(tǒng),與匯編相比,c語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。keil c51軟件提供豐富的庫函數和功能強大的集成開發(fā)調試工具,全windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到keil for c51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現高級語言的優(yōu)勢。下面詳細介紹keil for c51開發(fā)系統(tǒng)各部分功能和使用。c51開發(fā)中除必要的硬件外,

36、同樣離不開軟件,我們寫的源程序要變?yōu)閏51可以執(zhí)行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。隨著c51開發(fā)技術的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機的開發(fā)軟件也在不斷發(fā)展,keil軟件除了致力于單片機的編程開發(fā)平臺外,還針對目前最流行c51開發(fā)項目出品了keil for 51軟件平臺以及支持在線調試的串口燒寫。從近年來各仿真機廠商紛紛宣布全面支持keil即可看出。keil提供了包括c編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uvision2)將這些部份組合在一起。如圖4-

37、1所示。圖4-1 keil for 51 開發(fā)平臺截圖4.2程序邏輯流程圖開始初始化否是否檢測到聲音信號是否小車是否在運行是開始運行停止運行否是否檢測到紅外信號否小車是否在運行是左轉圖4-2 程序邏輯流程圖4.3系統(tǒng)軟件程序#include#include#define uint unsigned int#define uchar unsigned charsbit eye =p10; /紅外傳感器輸入口sbit l_l =p15; /左輪驅動口sbit l_r =p11; /左輪驅動口sbit r_l =p36; /右輪驅動口sbit r_r =p37; /右輪驅動口sbit voice =

38、p32; /聲音檢測sbit led =p00; /小車運行指示燈uchar voice_flag=0;uchar int0_flag=0;uchar int0count=0;/延時函數/void delay_ms(unsigned int x) unsigned int j; unsigned char i; for(j=0;jx;j+) /voice_time=0;for(i=0;i=40) /500usx40=20ms 聲音檢測消抖/int0count=0;/int0_flag=0;/if(voice_flag=1)led=0;forword();/前進else if(voice_fla

39、g=0)stop(); /停止led=1; void extern_int0(void) interrupt 0 using 0if(int0_flag=0)voice_flag=!voice_flag;/檢測到一次聲音信號,狀態(tài)取反一次int0_flag=1;void extern_int1(void) interrupt 2 using 1if(voice_flag=1) /前進狀態(tài)下,檢測到障礙物led=0;stop(); /停止delay_ms(1000);turn_left(); /左轉stop(); /停止delay_ms(1000);else if(voice_flag=0) s

40、top(); /停止void time0(void) interrupt 1 using 2uchar i;th0=0xfe; /500us 斷點 (1)tl0=0x0b; /設定時值int0count+;if(voice_flag=1)&(int0count%2=0)for(i=0;i3;i+) /右輪停轉 用于修正兩電機速度不匹配問題r_l=0;r_l=1;if(voice_flag=1)&(int0count%10=0)for(i=0;i100) /500usx100=50msint0count=0;int0_flag=0;第5章 調試5.1 protel99se簡介protel99se

41、14是澳大利亞proteltechnology公司推出的一個全32位的電路板設計軟件。protel99se是應用于windows9x/2000/nt操作系統(tǒng)下的eda設計軟件,采用設計庫管理模式,可以進行聯(lián)網設計,具有很強的數據交換能力和開放性及3d模擬功能,可以完成電路原理圖設計,印制電路板設計和可編程邏輯器件設計等工作,可以設計32個信號層,16個電源-地層和16個機加工層。protel99se按照系統(tǒng)功能來劃分,protel99se主要包含以下倆大部分和6個功能模塊。 1. 電路工程設計部分(1)電路原理設計部分(advanced schematic 99):電路原理圖設計部分包括電路圖

42、編輯器(簡稱sch編輯器)、電路圖零件庫編輯器(簡稱schlib編輯器)和各種文本編輯器。本系統(tǒng)的主要功能是:繪制、修改和編輯電路原理圖;更新和修改電路圖零件庫;查看和編輯有關電路圖和零件庫的各種報表。 (2)印刷電路板設計系統(tǒng)(advanced pcb 99):印刷電路板設計系統(tǒng)包括印刷電路板編輯器(簡稱pcb編輯器)、零件封裝編輯器(簡稱pcblib編輯器)和電路板組件管理器。本系統(tǒng)的主要功能是:繪制、修改和編輯電路板;更新和修改零件封裝;管理電路板組件。(3)自動布線系統(tǒng)(advanced route 99):本系統(tǒng)包含一個基于形狀(shape-based)的無柵格自動布線器,用于印刷電

43、路板的自動布線,以實現pcb設計的自動化。2. 電路仿真與pld部分(1)電路模擬仿真系統(tǒng)(advanced sim 99):電路模擬仿真系統(tǒng)包含一個數字/模擬信號仿真器,可提供連續(xù)的數字信號和模擬信號,以便對電路原理圖進行信號模擬仿真,從而驗證其正確性和可行性。 (2)可編程邏輯設計系統(tǒng)(advanced pld 99):可編程邏輯設計系統(tǒng)包含一個有語法功能的文本編輯器和一個波形編輯器(waveform)。本系統(tǒng)的主要功能是;對邏輯電路進行分析、綜合;觀察信號的波形。利用pld系統(tǒng)可以最大限度的精簡邏輯部件,使數字電路設計達到最簡化。 (3)高級信號完整性分析系統(tǒng)(advanced inte

44、grity 99):信號完整性分析系統(tǒng)提供了一個精確的信號完整性模擬器,可用來分析pcb設計、檢查電路設計參數、實驗超調量、阻抗和信號諧波要求等。5.2 軟件調試本設計采用的是c語言的編程方式,根據設計要求編寫程序,并在keil uvision3軟件中進行程序編寫的調試。 經過初步的分析設計后,在制作硬件電路的同時,調試也在穿插進行。這樣有利于問題的分析和解決,不會造成問題的積累,而且不會因為一個小問題而進行整體電路的檢查,從而可以節(jié)約大量的調試時間。5.3 硬件調試5.3.1聲音檢測調試測試方法:將小車放在空曠平地,打開小車電源,不斷拍手并觀看小車運行狀態(tài)。測試結果:每次拍手小車均能狀態(tài)取反

45、,聲音檢測功能正常。測試效果圖請看附錄二。5.3.2 小車正常運行調試 測試方法:將小車放在空曠平地,打開小車電源,拍一次手使小車進入運行狀態(tài),觀看小車運行路線。 測試結果:小車在正常運行時發(fā)動機轉速不匹配,走出了曲線,通過在軟件程序里加入一些修正轉速的小程序還是無法修正轉速,固智能暫時放棄修正轉速。5.3.2 紅外避障調試 測試方法:將小車放在宿舍內,打開小車電源,拍一下手讓小車運行,在小車前放各種障礙物,觀看小車運行狀態(tài)。 測試結果:大多數情況下小車均能檢測到障礙物并實現避障,但遇到黑色物體時無法檢測到,因為黑色物體能很好的吸收紅外線,所以無法檢測到,紅外避障功能基本能實現。 測試效果圖請

46、看附錄二。第六章 總結與展望結 論歷經幾個月的畢業(yè)設計,從最初的資料查找、方案設計,經過最基本的電路設計、調試過程,再到軟件設計、測試,我學習了單片機系統(tǒng)設計的整個過程。從傳感器信號的處理,到單片機接收并處理信號,再到輸出信號至外部系統(tǒng),通過該作品的設計制作,使我更好的了解了各類傳感器,掌握了光電三極管的使用,并熟悉了單片機的中斷和定時器的控制,程序中對各種任務的合理安排,使整體系統(tǒng)能夠更好的協(xié)同工作,增強了自己的動手能力,更好的熟悉的了解了一個單片機系統(tǒng)的開發(fā)過程。 測試結果表明,本系統(tǒng)實現了設計任務要求,小車采集紅外傳感器信號探測障礙物,聲音檢測模塊探測信號,并根據單片機控制模塊的分析結果

47、決策和控制下一步的運動形式?;緦崿F了智能避障小車的要求。本設計使用模塊化的設計方法。各個功能在硬件和軟件的設計上都實現了模塊化,但是本設計還存在這一些不足:小車的直線運行時2個發(fā)動機轉速不匹配。通過這次畢業(yè)設計,使我深刻的理解到學好專業(yè)知識的重要性,也理解了為什么要理論結合實際,同時也是我對大學四年學習成果的一個綜合檢驗。這幾個月的設計是我對過去所學知識的提高和擴充,為今后的發(fā)搶占打下了良好的基礎。 致謝歷時幾個月的畢業(yè)設計已經告一段落。經過自己不斷的努力以及楊老師的耐心指導和熱情幫助,本設計已經基本完成。在這段時間里,楊老師嚴謹的治學態(tài)度和熱忱的工作作風令我十分欽佩,他的指導使我對整個畢業(yè)

48、設計的思路有了總體的把握,并耐心的幫我解決了許多實際問題,使我有了很大收獲,本論文也是在楊老師的指導下修改完成的。在此,我要對他表示由衷的感謝,同時也感謝在整個畢業(yè)設計中所有幫助過我的人。 通過這次畢業(yè)設計,我深刻地認識到了學好專業(yè)知識的重要性,也理解了理論聯(lián)系實際的含義,并且檢驗了大學四年的學習成果。這幾個月的設計是對過去所學知識的系統(tǒng)提高和擴充過程,為今后的發(fā)展打下了良好的基礎。雖然在這次設計中對于知識的運用和銜接還不夠熟練,但是我將在以后的工作和學習中繼續(xù)努力、不斷完善。由于自身水平有限,設計中一定存在很多不足之處,敬請各位老師批評指正。參考文獻1郭惠,吳迅.單片機c語言程序設計完全自學

49、手冊m.電子工業(yè)出版社,2008.10:1-200.2王東鋒,王會良,董冠強. 單片機c語言應用100例m. 電子工業(yè)出版社,2009.3:145-300.3韓毅,楊天. 基于hcs12單片機的智能尋跡模型車的設計與實現j.學術期刊,2008,29(18):1535-1955.4 王曉明. 電動機的單片機控制j. 學術期刊,2002,13(15):1322-1755.5 鮑小南.單片機基礎. 浙江大學出版社 2002.9 6 徐麗香.模擬電子技術. 電子工業(yè)出版社2007.12 7 徐麗香.黎旺星.數字電子技術. 電子工業(yè)出版社2006.9 8 譚浩強.c語言程序設計.2版.北京清華大學出版社2008.11 9 王靜霞.單片機應用技術(c語言版) 北京:電子工業(yè)出版社2009.5 10 馮柏群祁和義.檢測與傳感技術.北京人民郵電出版社2008.4. 11 王東鋒王會良董冠強單片機c語言應用100例m 北京電子工業(yè)出版社2009. 12 顧濱趙偉軍protel99se實用教程北京人民郵電出版社2008.6 附錄employment tribunals sort out di

溫馨提示

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

評論

0/150

提交評論