基于單片機(jī)的紅外測(cè)距系統(tǒng)設(shè)計(jì).doc
《基于單片機(jī)的紅外測(cè)距系統(tǒng)設(shè)計(jì).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于單片機(jī)的紅外測(cè)距系統(tǒng)設(shè)計(jì).doc(36頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
保密類別 編號(hào) 20100802041武漢大學(xué)珞珈學(xué)院畢 業(yè) 論 文基于單片機(jī)的紅外測(cè)距系統(tǒng)設(shè)計(jì)系 別 電子信息科學(xué)系 專 業(yè) 通信工程 年 級(jí) 10級(jí)02班 學(xué) 號(hào) 20100802041姓 名 錢源 指導(dǎo)教師 崔黎 武漢大學(xué)珞珈學(xué)院2014 年5 月22 日摘要現(xiàn)代科學(xué)技術(shù)的發(fā)展,進(jìn)入了很多新領(lǐng)域,而在測(cè)距方面先后出現(xiàn)了激光測(cè)距、微波雷達(dá)測(cè)距、超聲波測(cè)距及紅外光測(cè)距。為了實(shí)現(xiàn)物體近距離、高精度的無(wú)線測(cè)量而采用了紅外發(fā)射接收模塊作為距離傳感器,單片機(jī)作為處理器,編寫A/D轉(zhuǎn)換和顯示程序,完成了一套便推式的紅外距離測(cè)量系統(tǒng),系統(tǒng)可以高精度的實(shí)時(shí)顯示所測(cè)的距離,本系統(tǒng)結(jié)構(gòu)簡(jiǎn)單可靠、體積小、測(cè)量精度高、方便使用。紅外測(cè)距的探測(cè)距離較短,一般在幾十厘米之內(nèi),本文介紹的一種基于AT89C52單片機(jī)設(shè)計(jì)的紅外測(cè)距儀,可以測(cè)量距離。首先,在緒論中,介紹了紅外線及紅外傳感器的分類和應(yīng)用、AT89C52單片機(jī)的應(yīng)用與說(shuō)明以及MCP3001芯片的簡(jiǎn)介。其次,闡述了與紅外測(cè)距的工作原理基本結(jié)構(gòu),對(duì)紅外測(cè)距傳感器也做了詳細(xì)說(shuō)明。再次,介紹了紅外測(cè)距的硬件設(shè)計(jì)和軟件設(shè)計(jì)。 在硬件設(shè)計(jì)中,介紹了紅外測(cè)距實(shí)現(xiàn)的構(gòu)想,給出紅外測(cè)距硬件電路原理圖,并說(shuō)明了紅外測(cè)距傳感器、鍵盤、A/D轉(zhuǎn)換電路、LCD顯示電路工作原理及AT89C52單片機(jī)的管腳分配。在軟件設(shè)計(jì)中,說(shuō)明了整個(gè)程序流程及各程序設(shè)計(jì)的函數(shù)。最后,是對(duì)整個(gè)設(shè)計(jì)的結(jié)論,說(shuō)明了紅外測(cè)距實(shí)現(xiàn)的可行性。關(guān)鍵詞: 紅外測(cè)距 A/D轉(zhuǎn)換 實(shí)時(shí)顯示 紅外線 單片機(jī) 目 錄第1章 緒論11.1 課題研究的背景和意義11.2 本課題研究的熱點(diǎn)及發(fā)展現(xiàn)狀21.3 本課題研究的目的21.4 本課題研究的內(nèi)容3第2章 紅外測(cè)距的工作原理與基本結(jié)構(gòu)42.1.方案及設(shè)計(jì)思想:42.2 紅外測(cè)距系統(tǒng)的基本結(jié)構(gòu)5第3章 紅外測(cè)距的硬件設(shè)計(jì)63.1紅外收發(fā)模塊63.2 A/D轉(zhuǎn)換模塊73.3 LCD顯示模塊113.4 AT89C52單片機(jī)概述123.5整個(gè)紅外測(cè)距系統(tǒng)顯示16第4章 紅外測(cè)距的軟件設(shè)計(jì)184.1 程序流程圖18第5章 系統(tǒng)軟硬件調(diào)試205.1 硬件調(diào)試205.2 軟件調(diào)試205.3測(cè)試結(jié)果繪圖205.4 調(diào)試中遇到的問(wèn)題22結(jié) 論23參考文獻(xiàn)24附錄25后 記32第1章 緒論紅外線(Infrared)是波長(zhǎng)介乎微波與可見(jiàn)光之間的電磁波,其波長(zhǎng)在760納米(nm)至1毫米(mm)之間,是波長(zhǎng)比紅光長(zhǎng)的非可見(jiàn)光。所有高于絕對(duì)零度(-273.15)的物質(zhì)都可以產(chǎn)生紅外線。現(xiàn)代物理學(xué)稱之為熱射線。醫(yī)用紅外線可分為兩類:近紅外線與遠(yuǎn)紅外線。含熱能,太陽(yáng)的熱量主要通過(guò)紅外線傳到地球。它的波長(zhǎng)介于可見(jiàn)光和微波之間,范圍大致在0.75M1000M的頻譜范圍之內(nèi)。相對(duì)應(yīng)的頻率在43HZ之間,紅外線可分為三部分,即近紅外線,近紅外線波長(zhǎng)范圍為0.77M3M,中紅外線波長(zhǎng)范圍為3M30M,遠(yuǎn)紅外線波長(zhǎng)范圍為30M1000M。紅外光具有反射、折射、散射、干涉、吸收等特性。它能全部吸收投射到它表面的紅外輻射的物體稱為黑體;能全部反射的物體稱為鏡體;能部分反射、部分吸收的物體稱為灰體。嚴(yán)格地來(lái)講,在自然界中,不存在黑體鏡體和透明體。1.1 課題研究的背景和意義紅外線是不可見(jiàn)的光,是電磁波的一種形式,可以用來(lái)進(jìn)行距離的測(cè)量,其應(yīng)用歷史可以追溯到上世紀(jì)60年代?,F(xiàn)代科學(xué)技術(shù)的發(fā)展進(jìn)入了許多新領(lǐng)域,而在測(cè)距方面先后出現(xiàn)了激光測(cè)距、微波雷達(dá)測(cè)距、超聲波測(cè)距及紅外線測(cè)距。其中激光測(cè)距是靠激光束照射在物體上反射回來(lái)的激光束探測(cè)物體的距離。由于受惡劣的天氣、污染等因素影響,使反射的激光束在一定功率上探測(cè)距離比可能探測(cè)的最大距離減少一半左右,損失很大,影響探測(cè)的精確度;微波雷達(dá)測(cè)距技術(shù)為軍事和某些工業(yè)開發(fā)采用的裝備和振蕩器等電路部分價(jià)格昂貴,現(xiàn)在還沒(méi)有開拓民用市場(chǎng);超聲波測(cè)距在國(guó)內(nèi)外已有很多人做過(guò)研究,由于采用特殊專用組件使其價(jià)格高,難以推廣;紅外線作為一種特殊光波,具有光波的基本物理傳輸特性反射、折射、散射等,且由于其技術(shù)難度相對(duì)不太大,構(gòu)成的測(cè)距系統(tǒng)的成本低廉,性能優(yōu)良,便于民用推廣。另外紅外測(cè)距的應(yīng)用越來(lái)越普遍。在很多領(lǐng)域都可以用到紅外測(cè)距儀。紅外測(cè)距一般具有精確度和分辨率高、抗干擾能力強(qiáng)、體積小、重量輕等優(yōu)點(diǎn),因而應(yīng)用領(lǐng)域廣、行業(yè)需求眾多,市場(chǎng)需求空間大。紅外測(cè)距的研究就非常有意義。紅外線測(cè)距儀指的就是激光紅外線測(cè)距儀,紅外測(cè)距儀-用調(diào)制的紅外光進(jìn)行精密測(cè)距的儀器,測(cè)程一般為1-5公里。在100米以內(nèi)則超聲波測(cè)距更有優(yōu)勢(shì),但是超聲波測(cè)距的距離一般無(wú)法測(cè)量1米以內(nèi),而紅外測(cè)距則可以測(cè)出這一段距離,而且有著不錯(cuò)的精度,在本課題中研究的就是這一類情況的紅外線測(cè)距。1.2 本課題研究的熱點(diǎn)及發(fā)展現(xiàn)狀常見(jiàn)的紅外傳感器可分為熱傳感器和光子傳感器。根據(jù)國(guó)內(nèi)近年來(lái)紅外光電測(cè)距儀的發(fā)展情況,由于國(guó)家對(duì)外開放政策的實(shí)施和測(cè)量工作的需要,近年來(lái)國(guó)內(nèi)一些光學(xué)儀器廠和電子儀器廠分別從瑞典、瑞士和日本等國(guó)引進(jìn)幾種紅外測(cè)距儀組裝線,組裝測(cè)距儀,我國(guó)有關(guān)工廠和院校近年來(lái)也研制出一些產(chǎn)品。由于微處理機(jī)在國(guó)產(chǎn)測(cè)距儀上的應(yīng)用,大大縮小儀器的體積,同時(shí)也減少出故障的幾率,使得國(guó)產(chǎn)測(cè)距儀的性能和質(zhì)量都較過(guò)去有很大的提高。在國(guó)家“六五”計(jì)劃攻關(guān)中,常州第二電子儀器廠研制的DCHZ型多功能紅外測(cè)距儀就是一個(gè)很好的例證。該產(chǎn)品經(jīng)國(guó)家測(cè)繪局測(cè)繪科學(xué)研究所光電測(cè)距儀檢測(cè)巾心進(jìn)行全面質(zhì)量鑒定后認(rèn)為:該儀器的外型美觀、體積小、重量輕、操作方便、精度高和性能穩(wěn)定,并通過(guò)國(guó)家有關(guān)部門組織的鑒定。目前已經(jīng)開始小批量試生產(chǎn)。 在進(jìn)行側(cè)距儀研制同時(shí),國(guó)家有關(guān)部門也組織大量力量對(duì)紅外光電測(cè)距儀的檢測(cè)方法進(jìn)行研究。一、熱傳感器熱傳感器是利用入射紅外輻射引起的傳感器的溫度變化,進(jìn)而使有關(guān)物理參數(shù)發(fā)生相應(yīng)的變化,通過(guò)測(cè)量有關(guān)物理參數(shù)的變化來(lái)確定紅外傳感器所吸收的紅外輻射。熱探測(cè)器的主要優(yōu)點(diǎn)是相應(yīng)波段寬,可以在室溫條件下工作,使用簡(jiǎn)單。但是,熱傳感器相應(yīng)時(shí)間較長(zhǎng),靈敏度較低,一般用于低頻調(diào)制的場(chǎng)合。熱傳感器主要類型有:熱敏傳感器型,熱電偶型,高萊氣動(dòng)型和熱釋放電型四種類型。二、光子傳感器光子傳感器是利用某些半導(dǎo)體材料在入射光照射下,產(chǎn)生光子效應(yīng),使材料電學(xué)性質(zhì)發(fā)生變化。通過(guò)測(cè)量電學(xué)性質(zhì)的變化,可以知道紅外輻射的強(qiáng)弱。利用光子效應(yīng)所制成的紅外傳感器,統(tǒng)稱光子傳感器。光子傳感器的主要特點(diǎn)是靈敏度高,響應(yīng)速度快,具有較高的響應(yīng)頻率。但由于其一般要在低溫下工作,導(dǎo)致探測(cè)波段較窄。按照光子傳感器的工作原理,一般分為內(nèi)光電和外光電傳感器兩種,后者又可分為光電導(dǎo)傳感器、光生伏特傳感器和光磁電傳感器等三種。1.3 本課題研究的目的我們所進(jìn)行的課題便是做一個(gè)簡(jiǎn)易的,精確的,近距離的距離檢測(cè)儀,這也是對(duì)我們所學(xué)知識(shí)的一種考驗(yàn)方法,從中我們可以更系統(tǒng)的認(rèn)識(shí)單片機(jī),了解AD轉(zhuǎn)換和紅外收發(fā)模塊。1.4 本課題研究的內(nèi)容紅外傳感器的測(cè)距基本原理為:紅外發(fā)射電路的紅外發(fā)光管發(fā)出紅外光,紅外接收電路的光敏接收管接收發(fā)射光,根據(jù)發(fā)射光的強(qiáng)弱判斷出所測(cè)的距離。由于接收管接收的光強(qiáng)度是隨著發(fā)光管與測(cè)量物的距離變化而變化的,因而,與測(cè)量物的距離近則接收光強(qiáng),距離遠(yuǎn)則接收光弱。具體方法如圖1所示,紅外模塊發(fā)出并接收到紅外線信號(hào);AD轉(zhuǎn)換模塊將接收到的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)再交給單片機(jī), 啟動(dòng)單片機(jī)中斷程序,此時(shí)單片機(jī)得到數(shù)字信號(hào)也就是電壓值,再由軟件進(jìn)行判別、計(jì)算,得出距離數(shù)并送給LED/LCD顯示。 單片機(jī)紅外模塊AD模塊電壓距離公式 顯示模塊圖1.1 反射能量法原理第2章 紅外測(cè)距的工作原理與基本結(jié)構(gòu)2.1.方案及設(shè)計(jì)思想:方案一、時(shí)間差測(cè)距法:此方案是將紅外發(fā)射管發(fā)送信號(hào)與接收管接收信號(hào)時(shí)間差寫入單片機(jī)中,在單片機(jī)中用光傳播距離公式算法將距離計(jì)算出來(lái)。原理圖如圖2.1所示。 AT89S52紅外模塊時(shí)間差距離S=c*t顯示距離 圖2.1 時(shí)間差測(cè)距法原理方案二、反射能量法:此方案是用紅外發(fā)射管發(fā)射信號(hào),然后用紅外接收管接收信號(hào),將接收的信號(hào)強(qiáng)度經(jīng)過(guò)AD轉(zhuǎn)換,錄入單片機(jī)中顯示出來(lái),并將對(duì)應(yīng)的距離記錄下來(lái)。完成一段范圍內(nèi)的測(cè)量,將所記錄下的數(shù)據(jù)寫入單片機(jī)中,然后便可進(jìn)行測(cè)量距離了。原理圖如圖2.2所示。 顯示距離AT89S52 紅外模塊 實(shí)驗(yàn)資料 圖2.2 反射能量法原理光的衰減是呈線性關(guān)系的,公式是I=Ie(-d),其中I是光強(qiáng)度,是光在介質(zhì)中線性衰減系數(shù),d是光走過(guò)的路程,e是自然對(duì)數(shù)底數(shù)。是光子能量,I就是光束的能量。要求得耗損的能量E,則可通過(guò)計(jì)算:E=I=(I-I)=I1-e(-d)=E1-e(-d)其中E是激光能量。不過(guò),10cm的衰減是很弱的,可以忽略。方案比較:通過(guò)以上兩種方案分析,我們可以看到方案一的誤差很大,由于紅外裝置測(cè)的距離比較近,而光速很快,因此回饋到單片機(jī)中的時(shí)間很短,單片機(jī)很難測(cè)出準(zhǔn)確的時(shí)間并準(zhǔn)確處理,而在一般情況下的光速不太準(zhǔn)確,因此誤差較大,而且根據(jù)距離=光速*時(shí)間,要想測(cè)10米時(shí)間至少要精確到0.0000001s,顯然用單片機(jī)是很難做到的。方案二是先將實(shí)驗(yàn)數(shù)據(jù)錄入單片機(jī)中,因此在測(cè)量時(shí)存在的誤差就會(huì)相對(duì)較小,綜合考慮,選擇方案二可行。2.2 紅外測(cè)距系統(tǒng)的基本結(jié)構(gòu)該系統(tǒng)主要由紅外測(cè)距傳感器、A/D轉(zhuǎn)換電路,AT89C52芯片、鍵盤接口電路及LCD顯示電路等組成。其組成框圖如圖2.3所示:圖2.3 紅外測(cè)距系統(tǒng)的基本結(jié)構(gòu)第3章 紅外測(cè)距的硬件設(shè)計(jì)3.1紅外收發(fā)模塊紅外發(fā)送管是用于發(fā)送信號(hào),經(jīng)過(guò)障礙物將信號(hào)反射,紅外接收管接收到反射回來(lái)的信號(hào),然后根據(jù)信號(hào)強(qiáng)弱將對(duì)應(yīng)的電壓值顯示在顯示模塊上,并將此時(shí)的距離記錄下來(lái)。然后整改程序,用紅外收發(fā)模塊進(jìn)行測(cè)距,就可在顯示模塊上顯示出紅外接收管接收的信號(hào)強(qiáng)度對(duì)應(yīng)的距離值。GP2Y0A02YK0F 紅外測(cè)距傳感器 20-150cm 圖3.1 紅外傳感器結(jié)構(gòu)圖 圖3.2 protues中紅外傳感器如圖3.2所示GP2Y0A02YK0F有3個(gè)端口,其中VCC接信號(hào)輸入,VO接MCP3001的IN+,GND接地線。GP2Y0A02YK0F測(cè)量范圍在20cm-150cm之間,測(cè)量誤差小于0.5cm。是一個(gè)距離測(cè)量傳感器單元,PSD的集成組合構(gòu)成 (位置敏感探測(cè)器),IRED(紅外發(fā)光二極管)和信號(hào)原理電路。由于采用三角測(cè)量方法,各種物體的反射率,對(duì)環(huán)境溫度和工作時(shí)間距離檢測(cè)不容易產(chǎn)生影響。推薦工作條件:參數(shù)符號(hào)條件等級(jí)單位電源電壓Vcc4.5-5.5V表3.1 紅外傳感器參數(shù)絕對(duì)最大額定值:表3.2 紅外傳感器參數(shù)參數(shù)符號(hào)等級(jí)單位電源電壓Vcc-0.3+7V輸出端電壓Vo-0.3+0.3V工作溫度OPR-10到+60儲(chǔ)存溫度STG-40到+70 3.2 A/D轉(zhuǎn)換模塊A/D 轉(zhuǎn)換器按照轉(zhuǎn)換的原理可分為直接A/D 轉(zhuǎn)換器和間接A/D 轉(zhuǎn)換器兩種類型。直接A/D 轉(zhuǎn)換器,就是把模擬信號(hào)直接轉(zhuǎn)換成數(shù)字信號(hào),比如逐次逼近型。間接A/D 轉(zhuǎn)換器是先把模擬量轉(zhuǎn)換成中間量,然后再轉(zhuǎn)換成數(shù)字量,如電壓/時(shí)間轉(zhuǎn)換型,電壓/頻率轉(zhuǎn)換型,電壓/脈寬轉(zhuǎn)換型等。 其中積分型A/D 轉(zhuǎn)換器的電路簡(jiǎn)單,抗干擾的能力強(qiáng),而且能做到高分辨率,但是轉(zhuǎn)換速度較慢。 有些轉(zhuǎn)換器還將多路開關(guān)、基準(zhǔn)電壓源、時(shí)鐘電路、譯碼器和轉(zhuǎn)換電路集成在一個(gè)芯片內(nèi),已經(jīng)遠(yuǎn)超出了單純A/D 轉(zhuǎn)換功能,使用十分方便。A/D 轉(zhuǎn)換器轉(zhuǎn)換原理: 一個(gè)完整的A/D轉(zhuǎn)換過(guò)程中,必須包括取樣、保持、量化與編碼等路。 取樣與保持由于取樣的時(shí)間極短,取樣輸出為一串?dāng)鄶嗬m(xù)續(xù)的窄脈沖。要把每個(gè)取樣的窄脈沖信號(hào)數(shù)字化,需要一定的時(shí)間。因此在兩次取樣之間,應(yīng)將取樣的模擬信號(hào)暫時(shí)儲(chǔ)存直到下個(gè)取樣脈沖到來(lái),我們把這個(gè)動(dòng)作稱之為保持。在模擬電路設(shè)計(jì)中,需要增加一個(gè)取樣-保持電路。為了保證正確轉(zhuǎn)換,模擬電路要保留著還未轉(zhuǎn)換的數(shù)據(jù)。量化與編碼量化與編碼電路是A/D轉(zhuǎn)換器的核心組成部分,量化方法:先取最小量化單位=U/2n,當(dāng)輸入模擬電壓U在0之間時(shí),則歸入0,當(dāng)U在2之間時(shí),則歸入1。如果量化單位=2U/(2 n+11),當(dāng)輸入電壓U在0/2之間時(shí),歸入0,當(dāng)U在/23/2之間時(shí),就要?dú)w入1。分辨率分辨率(Resolution) 指數(shù)字量變化一個(gè)最小量時(shí)模擬信號(hào)的變化量,定義為滿刻度與2n的比值。分辨率又稱精度,通常以數(shù)字信號(hào)的位數(shù)來(lái)表示。位數(shù)越高,分辨率就越高。若小于最小變化量的輸入模擬電壓的任何變化,將不會(huì)引起輸出數(shù)字值的變化。不需要分辨率高的場(chǎng)合,所得到到的就大多是噪聲。分辨率太低,就會(huì)有無(wú)法取樣到所需的信號(hào)。 轉(zhuǎn)換速率 轉(zhuǎn)換速率(Conversion Rate)是指完成一次從模擬轉(zhuǎn)換到數(shù)字的AD轉(zhuǎn)換所需的時(shí)間的倒數(shù)。為了保證轉(zhuǎn)換的正確完成,采樣速率(Sample Rate)必須小于或等于轉(zhuǎn)換速率。轉(zhuǎn)換時(shí)間轉(zhuǎn)換時(shí)間是指A/D轉(zhuǎn)換器完成一次A/D轉(zhuǎn)換所需的時(shí)間。從啟動(dòng)信號(hào)開始到轉(zhuǎn)換結(jié)束并得到穩(wěn)定的數(shù)字輸出值為止的時(shí)間間隔。轉(zhuǎn)換時(shí)間越短,轉(zhuǎn)換速度就越快。精準(zhǔn)度對(duì)于A/D轉(zhuǎn)換器來(lái)說(shuō),精準(zhǔn)度指的是在輸出端產(chǎn)生所設(shè)定的數(shù)字?jǐn)?shù)值,相對(duì)精準(zhǔn)度指的是滿刻度值校準(zhǔn)以后,任意數(shù)字輸出所對(duì)應(yīng)的實(shí)際模擬輸入值與理論值之差。對(duì)于線性A/D轉(zhuǎn)換器,其相對(duì)精準(zhǔn)度就是它的線性程度。由于電路制作上的影響,會(huì)產(chǎn)生像是非線性誤差,或是量化誤差等減低相對(duì)精準(zhǔn)度的因素。MCP3001特性:10位分辨率1 LSB DNL(最大值)1 LSB INL(最大值)片上采樣和保持電路SPI 串行接口單電源供電的電壓范圍:2.7V至5.5V5V時(shí)的采樣速率為200 ksps2.7V時(shí)的采樣速率為75 ksps低功耗CMOS技術(shù)一5 nA典型待機(jī)電流,2 A(最大值)一5V時(shí),工作電流的最大值為500 A8引腳PDIP, SOIL, MSOP和TSSOP封裝說(shuō)明:Microchip的MCP3001,是一款具有片上采樣和保持電路的10位逐次逼近型A/D轉(zhuǎn)換器(ADC)。該器件提供一個(gè)偽差分輸入通道:指定差分非線性( DNL) 和積分非線性(INL)的最大值為1 LSB。它使用符合SPI協(xié)議的簡(jiǎn)單串行接口與器件通信。當(dāng)時(shí)鐘速率為2.8 MHz時(shí),該器件的采樣速率最大數(shù)值可為200 ksps。MCP3001器件的工作電壓范圍很寬,為2.7V一5.5V 。低電流設(shè)計(jì)允許器件在典型待機(jī)電流為5 nA和典型工作電流為400A條件下工作。該器件以8引腳PDIP, MSOP, TSSOP和150 mil SOIL封裝形式提供。圖3.3 MCP3001引腳圖 圖3.4 protues中MCP3001接線圖表3.3 MCP3001引腳 名稱功能2.7至5.5V電源地線IN+正模擬輸入IN-負(fù)模擬輸入CLK串行時(shí)鐘串行數(shù)據(jù)輸入CS/SHDN片選輸入/關(guān)閉基準(zhǔn)電壓輸入如圖3.4所示,mcp3001的VREF接vcc,IN+接GP2Y0A02YK0F紅外測(cè)距傳感器的Vo,CLK接單片機(jī)上的P2.2,DO接單片機(jī)上的P2.1,CS接單片機(jī)上的P2.0。MCP3001具有片上采樣和保持電路的10位逐次逼近型A/D轉(zhuǎn)換器(ADC),逐次逼近型A/D轉(zhuǎn)換器的工作原理是將待換的模擬輸入信號(hào)與一個(gè)推測(cè)信號(hào)進(jìn)行比較,根據(jù)二者大小決定增大還是減小輸入信號(hào),以便向模擬輸入信號(hào)逼近。推測(cè)信號(hào)由D/A轉(zhuǎn)換器輸入的數(shù)字信號(hào)就對(duì)應(yīng)的時(shí)模擬輸入量的數(shù)字量。這種A/D轉(zhuǎn)換器一般速度很快,但精度不高。A/D轉(zhuǎn)換器的主要性能指標(biāo)中以分辨率和轉(zhuǎn)換速率最為重要,分辨率越高,就能把滿量程里的電平分出更多份數(shù),得到的轉(zhuǎn)換結(jié)果就越精確,得到的數(shù)字信號(hào)再用DAC轉(zhuǎn)換回去就越接近原輸入的模擬值(10位ADC能分辨2的10次方)。MCP3001分辨率:10位ADC能分辨出滿刻度的1/1024.MCP3001轉(zhuǎn)換速率:速度很快。由上可知,MCP3001的性能相比其他ADC要好很多。3.3 LCD顯示模塊 圖3.5 protues中LCD顯示模塊LCD與單片機(jī)的接口電路如圖3.5所示,單片機(jī)P0分別接D1-D7,同時(shí)接上排阻,而在排阻另一端接上vcc。單片機(jī)上的P2.5接E,P2.6接RW,P2.7接RS,單片機(jī)通過(guò)P0口向LCD輸送數(shù)據(jù),顯示測(cè)得的距離。值得注意的是,P0口要接上拉電阻來(lái)保證對(duì)LCD的成功驅(qū)動(dòng)。LCD1602已很普遍了,可以很方便地應(yīng)用于市面上大部分的字符型液晶。字符型LCD通常有14條引腳線或l6條引腳線的LCD,多出來(lái)的2條線是背光電源線Vcc((15腳)和地線GND(16腳 ),其控制原理與14腳的LCD完全一樣,定義如下表所示:表3.4 LED引腳功能引腳號(hào)引腳名電平輸入/輸出作用1vss電源地2Vcc電源(+5v)3Vee對(duì)比電壓調(diào)整4RS0/1輸入0=輸入指令1=輸入指令5R/W0/1輸入0=向LED寫入指令或數(shù)據(jù)1=從LED讀取信息6E1, 10輸入使能信號(hào),1時(shí)讀取信息,10(下降沿)執(zhí)行指令3.4 AT89C52單片機(jī)概述單片機(jī)是在集成電路芯片上集成各種組件的微型計(jì)算機(jī),這些組件包括中央處理器CPU、數(shù)據(jù)存儲(chǔ)器RAM、程序內(nèi)存ROM、定時(shí)/計(jì)數(shù)器、中斷系統(tǒng)、時(shí)鐘部件的集成和I/O接口等電路。由于單片機(jī)具有體積小、價(jià)格低、可靠性高、開發(fā)應(yīng)用方便等特點(diǎn),因此在現(xiàn)代電子技術(shù)和工業(yè)領(lǐng)域中應(yīng)用較為廣泛,在智能儀表中單片機(jī)是應(yīng)用最多、最活躍的領(lǐng)域之一。在控制領(lǐng)域中,現(xiàn)如今人們更注意計(jì)算機(jī)的底成本、小體積、運(yùn)行的可靠性和控制的靈活性。在各類儀器、儀表中引入單片機(jī),使儀器儀表智能化,提高測(cè)試的自動(dòng)化程度和精度,提高計(jì)算機(jī)的運(yùn)算速度,簡(jiǎn)化儀器儀表的硬件結(jié)構(gòu),提高其性能價(jià)格比。AT89C52單片機(jī)的時(shí)鐘信號(hào)通常是由兩種方式產(chǎn)生:一是內(nèi)部時(shí)鐘方式,二是外部時(shí)鐘方式。在AT89C52單片機(jī)內(nèi)部有一振蕩電路,只要在單片機(jī)的XTAL1和XTAL2引腳外接晶振,就構(gòu)成了自激振蕩器并在單片機(jī)內(nèi)部產(chǎn)生時(shí)鐘脈沖信號(hào)。電容的作用是穩(wěn)定頻率和快速起振,電容值在5-30pF之間,典型值為30pF。晶振CYS的振蕩頻率范圍在1.2-12MHz間選擇,典型值為12MHz和11.0592MHz。當(dāng)在AT89C21單片機(jī)的RST引腳引入高電平并保持2個(gè)機(jī)器周期的時(shí)候,單片機(jī)內(nèi)部就執(zhí)行復(fù)位操作(若該引腳持續(xù)保持高電平,單片機(jī)就會(huì)處于循環(huán)復(fù)位狀態(tài))。復(fù)位電路通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式。最簡(jiǎn)單的上電自動(dòng)復(fù)位電路中的上電自動(dòng)復(fù)位是通過(guò)外部復(fù)位電路的電容充電來(lái)實(shí)現(xiàn)的。只要VCC的上升時(shí)間不超過(guò)1ms,就可實(shí)現(xiàn)自動(dòng)上電復(fù)位。時(shí)鐘頻率用6MHZ時(shí)C取22uF,R取1K。除了上電復(fù)位外,有時(shí)候還需要按鍵手動(dòng)復(fù)位,本設(shè)計(jì)就是用的按鍵手動(dòng)復(fù)位。按鍵手動(dòng)復(fù)位有電平方式和脈沖方式兩種。其中電平復(fù)位是通過(guò)RST端經(jīng)過(guò)電阻與電源VCC接通來(lái)實(shí)現(xiàn)的。最小系統(tǒng)如圖3.6所示。圖3.6 AT89C52單片機(jī)最小系統(tǒng)AT89C52單片機(jī)的標(biāo)準(zhǔn)功能AT89C52是美國(guó)Atmel公司生產(chǎn)的低電壓、高性能CMOS的 8位單片機(jī),片內(nèi)含8KB的可反復(fù)擦寫的程序內(nèi)存和12B的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用Atmel公司的高密度、非易失性的存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)配置通用8位元中央處理器(CPU)和Flash存儲(chǔ)單元,功能強(qiáng)大的AT89C52單片機(jī)可靈活應(yīng)用于各種控制領(lǐng)域中。AT89C52的各引腳功能:(1) VCC:電源 (2) GND:地 (3) P0口:P0口是一個(gè)8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫“1”時(shí),引腳用作高阻抗輸入。 (4) P1口:P1 口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P1輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL 邏輯電平。表4-1 P1口第二功能引腳號(hào)第二功能P1.0T2(定時(shí)器/計(jì)數(shù)器T2的外部計(jì)數(shù)輸入) ,時(shí)鐘輸出P1.1T2EX(定時(shí)器/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號(hào)和方向控制)P1.5MOSI(在系統(tǒng)編程用)P1.6MISO(在系統(tǒng)編程用)P1.7SCK(在系統(tǒng)編程用) (5) P2 口:P2 口是一個(gè)具有內(nèi)部上拉電阻的 8 位雙向 I/O 口,P2 輸出緩沖器能驅(qū)動(dòng) 4個(gè)TTL 邏輯電平。 (6) P3 口:P3 口是一個(gè)具有內(nèi)部上拉電阻8位雙向 I/O口,對(duì) P3 端口寫“1”時(shí),可以作為輸入口使用。P3口可作為AT89C51第二功能使用,如表3.5所示。 表3.5 P3口第二功能引腳號(hào)第二功能P3.0RXD(串行輸入)P3.1TXD(串行輸出)P3.2INT0(外部中斷 0)P3.3INT0(外部中斷 0)P3.4T0(定時(shí)器0外部輸入)P3.5T1(定時(shí)器1外部輸入)P3.6WR(外部數(shù)據(jù)存儲(chǔ)器寫選通) P3.7RD(外部數(shù)據(jù)存儲(chǔ)器寫選通)(7) RST: 復(fù)位輸入。當(dāng)輸入連續(xù)兩個(gè)機(jī)器周期以上高電平時(shí)為有效,用來(lái)完成單片機(jī)單片機(jī)的復(fù)位初始化操作。(8) ALE/PROG:地址鎖存控制信號(hào)(ALE)是訪問(wèn)外部程序存儲(chǔ)器時(shí),鎖存低 8 位地址的輸出脈沖。在flash編程時(shí),此引腳(PROG)也用作編程輸入脈沖。 (9) PSEN:外部程序存儲(chǔ)器選通信號(hào)(PSEN)是外部程序存儲(chǔ)器選通信號(hào)。 (10) EA/VPP:訪問(wèn)外部程序存儲(chǔ)器控制信號(hào)(11) XTAL1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路輸入端。 (12) XTAL2:振蕩器反相放大器輸出端。3.5整個(gè)紅外測(cè)距系統(tǒng)顯示整個(gè)紅外測(cè)距系統(tǒng)由AT89C52芯片、紅外距離傳感器、復(fù)位電路、時(shí)鐘電路、A/D轉(zhuǎn)換電路與LCD顯示器構(gòu)成。硬件結(jié)構(gòu)電路圖如圖3.7所示:圖3.7 protues中整體系統(tǒng)單片機(jī)AT89C52左端分別接了時(shí)鐘電路和復(fù)位電路,這是單片機(jī)最小的系統(tǒng)。XTAL1和XTAL2串連一個(gè)晶振,并且分別接上一個(gè)20p的電容,兩個(gè)電容另一端都接地,構(gòu)成時(shí)鐘電路。RST同時(shí)接上100p電容,4腳按鍵,1k電阻,4腳按鍵另一端接上一個(gè)1k電阻再與100p電容并聯(lián)接VCC,1k電阻另一端則接地,構(gòu)成復(fù)位電路。單片機(jī)AT89C52右端P0端同時(shí)接LED的D1-D7端口和排阻,P2.0接CLK,P2.1接DO,P2.2接CS,P2.5接E,P2.6接RW,P2.7接RS。MCP3001的VREF接vcc,IN+接紅外距離傳感器的Vo。第4章 紅外測(cè)距的軟件設(shè)計(jì)4.1 程序流程圖在整個(gè)系統(tǒng)運(yùn)行過(guò)程中。當(dāng)紅外系統(tǒng)被啟動(dòng)后,首先,對(duì)AT89C52單片機(jī)進(jìn)行初始化。然后,當(dāng)AT89C52單片機(jī)接收到紅外接收電路傳輸?shù)碾妷盒盘?hào)后,經(jīng)A/D轉(zhuǎn)換程序,將片外的模擬信號(hào)轉(zhuǎn)換為單片機(jī)可識(shí)別的數(shù)字信號(hào),并經(jīng)電壓距離轉(zhuǎn)換子程序,將變化的電壓轉(zhuǎn)換為距離。最后,在動(dòng)態(tài)掃描LCD顯示器上顯示出來(lái)。主程序流程圖如圖4.1所示。 圖4.1 程序流程圖紅外測(cè)距系統(tǒng)軟件設(shè)計(jì)主要由主程序,延時(shí)函數(shù),顯示程序函數(shù)組成。程序開始, 紅外測(cè)距主程序第一步將顯示屏1602初始化,并顯示測(cè)量開始,第二步導(dǎo)入延時(shí)程序,并顯示程序,顯示電壓和距離。其次子函數(shù)調(diào)用, 讀MCP3001函數(shù)并轉(zhuǎn)換函數(shù)得出電壓值,再調(diào)用距離計(jì)算函數(shù),得出距離值。此時(shí)主函數(shù)中顯示函數(shù)會(huì)將電壓和距離顯示出來(lái),程序就此結(jié)束。此程序中多次使用調(diào)用子函數(shù),讀MCP3001函數(shù),距離計(jì)算函數(shù),算術(shù)平均濾波程序構(gòu)成AD值的采集和計(jì)算;LCD忙標(biāo)志判斷函數(shù),寫數(shù)據(jù)子函數(shù),寫命令子函數(shù),顯示數(shù)據(jù)調(diào)整函數(shù),字符串顯示函數(shù),顯示子函數(shù)構(gòu)成顯示函數(shù);1602初始化函數(shù),LCD清屏函數(shù)則構(gòu)成清屏函數(shù)。不過(guò)完成程序并不是一次就能成功的,首先要先將AD采集程序?qū)懭雴纹瑱C(jī)中,進(jìn)行實(shí)驗(yàn),將固定距離所采集到的信號(hào)強(qiáng)度記錄下來(lái),然后將對(duì)應(yīng)的數(shù)據(jù)加入程序中,最后通過(guò)紅外模塊進(jìn)行測(cè)量,便可顯示出對(duì)應(yīng)的距離值,主程序是整個(gè)程序的基礎(chǔ),也是核心。此時(shí)距離計(jì)算函數(shù)才算完成,距離計(jì)算函數(shù)實(shí)際就是測(cè)量時(shí)得出距離電壓關(guān)系,我們反過(guò)來(lái)先拿出距離再得出電壓,舉例來(lái)說(shuō),用卷尺量1米距離,再用紅外測(cè)距系統(tǒng)來(lái)量1米距離,這時(shí)對(duì)應(yīng)1米距離的電壓記下來(lái)。根據(jù)這個(gè)方法把其它各個(gè)距離的電壓記下來(lái),把這個(gè)對(duì)應(yīng)關(guān)系變成計(jì)算距離的函數(shù),再測(cè)距時(shí)就可以根據(jù)這個(gè)函數(shù)來(lái)得出距離了。第5章 系統(tǒng)軟硬件調(diào)試5.1 硬件調(diào)試紅外測(cè)距儀的制作為了使信號(hào)穩(wěn)定,最好給輸入電源加上一個(gè)濾波電路,否則顯示屏上有閃爍,不穩(wěn)定,會(huì)增加誤差,但總體來(lái)說(shuō)不影響結(jié)果。在本次設(shè)計(jì)中,主控模塊是非常重要的部分,它不僅是本次設(shè)計(jì)的核心,在本次硬件調(diào)試中也遇到了問(wèn)題,接上電源的時(shí)候,顯示屏不亮,沒(méi)有任何顯示,于是我做了如下的工作:(1)檢查電源是否通電,發(fā)現(xiàn)指示燈亮著;(2)編程使P1為低電平,檢查到P1輸出為低;(3)檢查P0口未接上拉電阻,接上顯示屏發(fā)亮了。在本次硬件調(diào)試中還遇到了顯示屏出顯示,但顯示有很大問(wèn)題,調(diào)節(jié)距離后,顯示還是不變,檢查后發(fā)現(xiàn)mcp3001與vcc沒(méi)接好,或CS,DO,CLK與單片機(jī)接觸不良。5.2 軟件調(diào)試硬件電路制作完成并調(diào)試好后,便可將程序編譯好下載到單片機(jī)試運(yùn)行。根據(jù)所設(shè)計(jì)的電路參數(shù)和程序,測(cè)距儀能測(cè)的范圍為20cm150cm,測(cè)距儀最大誤差不超過(guò)0.5cm。系統(tǒng)調(diào)試完后對(duì)各個(gè)距離進(jìn)行多次測(cè)量,與預(yù)定值進(jìn)行比較,對(duì)測(cè)量誤差進(jìn)行多次實(shí)驗(yàn)分析,不斷調(diào)節(jié)器件和修改程序使其達(dá)到實(shí)際使用的測(cè)量要求。為了更方便了解電壓與距離之間的關(guān)系,我將程序做了些許修改,在顯示距離的基礎(chǔ)上再把電壓也顯示出來(lái)了,這樣結(jié)果一目了然。因?yàn)殡妷号c距離之間的關(guān)系不是線性關(guān)系,所用用函數(shù)來(lái)表示會(huì)有誤差,于是我將此函數(shù)修改,重新測(cè)量,每個(gè)距離對(duì)應(yīng)的電壓記錄下來(lái)輸入程序,如此一來(lái),測(cè)試更加準(zhǔn)確,誤差更小了。5.3測(cè)試結(jié)果繪圖圖5.2是紅外距離傳感器GP2Y0A02YK0F電壓距離關(guān)系圖,圖中所測(cè)電壓對(duì)應(yīng)的不同距離值,圖中橫坐標(biāo)代表距離,縱坐標(biāo)是距離電壓值,單位是cm。從圖中可以看出,電壓與距離并不是線性關(guān)系,而是一條相對(duì)平滑的曲線。因此結(jié)果不一定十分準(zhǔn)確,接近此圖即可。最終的紅外測(cè)距系統(tǒng)可以實(shí)現(xiàn)20-150cm的近距離測(cè)量,測(cè)量誤差為0.5cm,可以計(jì)算出被測(cè)物體的距離。在測(cè)量距離精度方面,還有待于改進(jìn)。 圖5.1 GP2Y0A02YK0F電壓距離關(guān)系圖表5.1 電壓距離關(guān)系電壓v2.89v1.94v1.47v1.18v0.980.850.740.660.600.540.500.460.430.40測(cè)量距離cm1930415162728292102112122131141151實(shí)際距離cm20304050607080901001101201301401505.4 調(diào)試中遇到的問(wèn)題在焊接過(guò)程中一些地方出現(xiàn)虛焊等接觸不良的問(wèn)題,導(dǎo)致顯示不穩(wěn)定有閃爍。接線過(guò)程中用插針接線容易導(dǎo)致接線松動(dòng),沒(méi)接到或者接觸不良。環(huán)境問(wèn)題紅外線在空氣介質(zhì)的傳播過(guò)程中會(huì)有很大的衰減,其衰減遵循指數(shù)規(guī)律。一般情況下能測(cè)150cm,但是空氣介質(zhì)發(fā)生改變,如塵埃過(guò)多,導(dǎo)致紅外線強(qiáng)度降低,測(cè)量發(fā)生誤差,且測(cè)量距離變小。周圍有其他輻射源,并且強(qiáng)度很大時(shí)會(huì)影響測(cè)量結(jié)果結(jié) 論對(duì)所設(shè)計(jì)的電路進(jìn)行測(cè)量、校準(zhǔn)發(fā)現(xiàn)其測(cè)量范圍在20cm150cm內(nèi)的平面物體做了多次測(cè)量發(fā)現(xiàn),其最大誤差為0.5cm,且重復(fù)性好。該測(cè)距儀穩(wěn)定性比較高、靈敏度比較高,測(cè)量時(shí)在紅外線測(cè)距儀周圍沒(méi)有其它物體。但是在檢測(cè)過(guò)程中會(huì)有一些不便的地方: 1.測(cè)量時(shí)在紅外線測(cè)距儀和目標(biāo)物體之間周沒(méi)有其它可阻擋的物體,由于是根據(jù)反射能量法,且發(fā)射功率有限,反射回來(lái)的紅外線能量容易過(guò)低而無(wú)法采集,測(cè)距儀無(wú)法測(cè)量150cm外的物體。2.必須在干凈清新的空氣環(huán)境下測(cè)量,空氣中一旦塵埃過(guò)多,會(huì)對(duì)反射紅外線強(qiáng)度有極大的干擾,最終影響計(jì)算距離的值。3.不能夠?qū)崿F(xiàn)不同溫度下的測(cè)距功能。4.因?yàn)槌暡ㄊ菍⒖諝庾鳛槊浇樗允茈姶鸥蓴_比較大。紅外線測(cè)距儀的原理有兩種:一種是紅外線傳播的時(shí)間來(lái)計(jì)算出傳播距離;一種是根據(jù)發(fā)射光的強(qiáng)弱可以判斷所測(cè)的距離,由于接收管接收的光強(qiáng)是隨與發(fā)光管的距離變化而變化的,因而,距離近則接收光強(qiáng),距離遠(yuǎn)則接收光弱。由上述的分析知,如果能夠干凈清新的空氣環(huán)境,穩(wěn)定的溫度下,無(wú)其它電磁干擾,阻擋的物體,能夠獲得較高的測(cè)量精度。本電路設(shè)計(jì)由于元器件及其成板誤差,測(cè)量最大距離未能達(dá)到設(shè)計(jì)初衷要求,但對(duì)測(cè)量距離結(jié)果的誤差影響不大,能滿足日常生活、工業(yè)生產(chǎn)的測(cè)量要求,因此此設(shè)計(jì)有著很大的意義。同時(shí)通過(guò)這個(gè)設(shè)計(jì)能夠提高我對(duì)單片機(jī)的認(rèn)識(shí)、編程能力和電路設(shè)計(jì)能力。參考文獻(xiàn)1 張明峰,PIC單片機(jī)入門與實(shí)戰(zhàn),北京航空航天大學(xué)出版社2 竇振中,PIC單片機(jī)應(yīng)用設(shè)計(jì)與實(shí)例,北京航空航天大學(xué)出版社3 謝自美,電子線路綜合設(shè)計(jì),華中科技大學(xué)出版社,2006-64 康華光,電子技術(shù)基礎(chǔ):模擬部分(第五版),高等教育出版社,20065 潘永雄,沙河電子線路CAD實(shí)用教程M西安:西安電子科技大學(xué)出版社:20076 51單片機(jī)C程序設(shè)計(jì)100例7 康華光主編電子技術(shù) 基礎(chǔ)M第四版北京:高等教育出版社,19998單片機(jī)原理與應(yīng)用實(shí)驗(yàn)武漢大學(xué)珞珈學(xué)院 9一種紅外線測(cè)距技術(shù)的探討10紅外測(cè)距傳感器的原理與設(shè)計(jì)最終版11 劉坤,51單片機(jī)典型應(yīng)用開發(fā)范例大全 中國(guó)鐵道出版社 12 彭偉,單片機(jī)C語(yǔ)言程序設(shè)計(jì)實(shí)訓(xùn)基于8051+Proteus仿真電子工業(yè)出版社13 薛小玲、劉志群、賈俊榮編著單片機(jī)接口模塊應(yīng)用于開發(fā)實(shí)例詳解 北京航空航天大學(xué)出版社 201014 譚浩強(qiáng),著C程序設(shè)計(jì)(第三版) 清華大學(xué)出版社 200515 何橋、段清明、邱春玲編著單片機(jī)原理及應(yīng)用 中國(guó)鐵道出版社 200416 曲波 肖圣兵 呂建平編著工業(yè)常用傳感器選型指南 清華大學(xué)出版社 200217 陳鴻茂編著常用電子器件簡(jiǎn)明手冊(cè) 中南礦業(yè)大學(xué)出版社 2001附錄 #include #include #define uchar unsigned char#define uint unsigned int#define ulong unsigned longsbit RS=P20; /LCD命令/數(shù)據(jù)端sbit RW=P21; /LCD讀/寫端sbit LCDE=P22; /LCD使能端sbit MCP_CS=P23;/MCP3001與AT89S52的管腳接線定義sbit MCP_DO=P24;sbit MCP_CLK=P25;uint measure;uchar flag; /Busy標(biāo)志uchar code dis=Measure Start;/顯示uchar code dis1 = V= . V,L= CM;uchar code dis2 = 0123456789.;/顯示代碼uchar code dis3=Out Measure!;/顯示uchar dis_buf8;/顯示緩沖區(qū)void L_delay(void);/短延時(shí)void delay_ms(uint n);/延時(shí)函數(shù)uint read_MCP(void);/讀MCP3001void init_1602(void);/1602初始化函數(shù)void busy(void);/LCD忙標(biāo)志判斷函數(shù)void dat_wrt(uchar dat);/寫數(shù)據(jù)子函數(shù)void cmd_wrt(uchar cmd);/寫命令子函數(shù)uint distance(void);/距離計(jì)算函數(shù)void lcd_start(uchar start);/設(shè)定顯示位置函數(shù)void LCD_Clear(void);/LCD清屏函數(shù)uchar dat_adj(uint dat1);/顯示數(shù)據(jù)調(diào)整函數(shù)void print(uchar *str);/字符串顯示函數(shù)void disp(uint dat);/顯示子函數(shù)uint average(void);/算術(shù)平均濾波程序/*主函數(shù)*/main()init_1602();print(dis);/顯示測(cè)量開始delay_ms(1000);while(1)measure=distance();disp(measure);/顯示高度delay_ms(100);/*延時(shí)函數(shù)*/void delay_ms(uint n) uint j; while(n-) for(j=0;j125;j+); /*短延時(shí)*/void L_delay(void)uchar i;for(i=0;i5;i+)_nop_();/*讀MCP3001函數(shù)*/uint read_MCP(void)/ read_MCP 采集的數(shù)據(jù)并轉(zhuǎn)換后的值 /uchar i;uint temp=0;MCP_CS=1;L_delay();MCP_CS=0;/CS置低,開始采樣數(shù)據(jù)for(i=0;i13;i+)/讀轉(zhuǎn)換的10位數(shù)據(jù)MCP_CLK=0;L_delay();MCP_CLK=1;temp60)&(temp1960)/在正常測(cè)量范圍?temp1=13569/(temp1+7)-4;/轉(zhuǎn)換測(cè)量數(shù)據(jù)elsetemp1=0x00ff;/超出測(cè)量范圍,返回錯(cuò)誤標(biāo)志return(temp1);/*算術(shù)平均濾波程序*/uint average(void)uchar i;uint av_dat; /av_dat 平均數(shù)據(jù)/ulong ave=0;for(i=0;i10;i+)/連續(xù)讀取10個(gè)數(shù)據(jù)值ave+=read_MCP();/讀轉(zhuǎn)換數(shù)據(jù)L_delay();av_dat=(uint)(ave/10);/求平均值return(av_dat);/*1602初始化函數(shù)*/void init_1602(void) cmd_wrt(0x01);/清屏 cmd_wrt(0x0c);/開顯示,不顯示游標(biāo),不閃爍 cmd_wrt(0x06);/完成一個(gè)字符碼傳送后,光標(biāo)左移,顯示不發(fā)生移位元 cmd_wrt(0x38);/162顯示,57點(diǎn)陣,8位數(shù)據(jù)接口/*設(shè)定顯示位置函數(shù)*/void lcd_start(uchar start) cmd_wrt(start|0x80);/*LCD清屏函數(shù)*/void LCD_Clear(void)cmd_wrt(0x01);/寫入清屏指令delay_ms(1);/*顯示數(shù)據(jù)調(diào)整函數(shù)*/ uchar dat_adj(uint dat1) /dat1 L距離/ uchar i=0;uint date;date=average()/2;dis_buf0=(uchar)(dat1/100);/百位dis_buf1=(uchar)(dat1%100/10);/十位dis_buf2=(uchar)(dat1%100%10);/個(gè)位dis_buf3= date/100 ;dis_buf4=date%100/10;dis_buf5= date%100%10;if(dis_buf0=0)i=1;return(i);/*字符串顯示函數(shù)*/void print(uchar *str)while(*str!=0)/直到字符串結(jié)束dat_wrt(*str); str+;/指向下一個(gè)字符/*顯示子函數(shù)*/void disp(uint dat)uchar temp,j;if(dat!=0x00ff)temp=dat_adj(dat);LCD_Clear();lcd_start(0x40);print(dis1);lcd_start(0x42);dat_wrt(dis2dis_buf3); print(.); for(j=4;j6;j+) dat_wrt(dis2dis_bufj);/顯示文字lcd_start(0x4B+temp); /確定顯示起始位置for(j=temp;j3;j+)/寫顯示數(shù)據(jù)dat_wrt(dis2dis_bufj);elseLCD_Clear();lcd_start(0x42+temp);/確定顯示起始位置print(dis3); 后 記在這次論文設(shè)計(jì)中我明白了理論和實(shí)際之間有著巨大的差距,理論成立但畢竟只是原理上,一旦做起來(lái)就會(huì)發(fā)現(xiàn)現(xiàn)實(shí)中有著各種各樣的因素影響著你,只看理論是不會(huì)發(fā)現(xiàn)這些的,只有實(shí)踐中你才會(huì)發(fā)現(xiàn)自己的不足。比如這次紅外測(cè)距中,時(shí)間差距法原理上沒(méi)問(wèn)題,但是實(shí)際上它是用來(lái)測(cè)幾千米的大概距離,要測(cè)幾十厘米到幾米就不行,時(shí)間精確度要求太高,用單片機(jī)根本做不出來(lái),至少普通同學(xué)肯定做不出來(lái)。而反射能量法看似不常用,但這種情況卻非常合適。這次論文設(shè)計(jì)中我明白了這個(gè)道理,合適的才是最好的。本論文的順利完成離不開各位老師、同學(xué)和朋友的關(guān)心與幫助。再次感謝我的指導(dǎo)老師崔黎老師,感謝在武漢大學(xué)珞珈學(xué)院求學(xué)期間給予我許多有益教誨的老師們。你們嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、不染俗流的學(xué)者風(fēng)骨、誨人不倦的師長(zhǎng)風(fēng)范為我樹立了做人、做事、做學(xué)問(wèn)的楷模。豐富多彩的校園生活也即將在我的腦海里留下美好的記憶,我深深感謝所有關(guān)心、愛(ài)護(hù)、教育和幫助過(guò)我的每一個(gè)人,謝謝你們一直都在。武漢大學(xué)珞珈學(xué)院本科畢業(yè)論文(設(shè)計(jì))原創(chuàng)性聲明本人鄭重聲明: 1、所呈交的畢業(yè)論文(設(shè)計(jì)),是本人在導(dǎo)師的指導(dǎo)下,獨(dú)立進(jìn)行研究工作所取得的成果。2、除文中已經(jīng)注明引用的內(nèi)容外,本論文(設(shè)計(jì))不含任何其它個(gè)人或集體已經(jīng)發(fā)表或撰寫過(guò)的作品或成果。3、對(duì)本論文(設(shè)計(jì))的研究做出重要貢獻(xiàn)的個(gè)人和集體,均已在論文(設(shè)計(jì))中以明確方式標(biāo)明。本聲明的法律結(jié)果由本人承擔(dān)。論文作者簽名: 年 月 日- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 基于 單片機(jī) 紅外 測(cè)距 系統(tǒng) 設(shè)計(jì)
鏈接地址:http://m.appdesigncorp.com/p-6678239.html