基于單片機(jī)的紅外測距系統(tǒng)設(shè)計(jì).doc
《基于單片機(jī)的紅外測距系統(tǒng)設(shè)計(jì).doc》由會員分享,可在線閱讀,更多相關(guān)《基于單片機(jī)的紅外測距系統(tǒng)設(shè)計(jì).doc(36頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
保密類別 編號 20100802041 武漢大學(xué)珞珈學(xué)院 畢 業(yè) 論 文 基于單片機(jī)的紅外測距系統(tǒng)設(shè)計(jì) 系 別 電子信息科學(xué)系 專 業(yè) 通信工程 年 級 10級02班 學(xué) 號 20100802041 姓 名 錢源 指導(dǎo)教師 崔黎 武漢大學(xué)珞珈學(xué)院 2014 年5 月22 日 摘 要 現(xiàn)代科學(xué)技術(shù)的發(fā)展,進(jìn)入了很多新領(lǐng)域,而在測距方面先后出現(xiàn)了激光測距、微波雷達(dá)測距、超聲波測距及紅外光測距。為了實(shí)現(xiàn)物體近距離、高精度的無線測量而采用了紅外發(fā)射接收模塊作為距離傳感器,單片機(jī)作為處理器,編寫A/D轉(zhuǎn)換和顯示程序,完成了一套便推式的紅外距離測量系統(tǒng),系統(tǒng)可以高精度的實(shí)時(shí)顯示所測的距離,本系統(tǒng)結(jié)構(gòu)簡單可靠、體積小、測量精度高、方便使用。 紅外測距的探測距離較短,一般在幾十厘米之內(nèi),本文介紹的一種基于AT89C52單片機(jī)設(shè)計(jì)的紅外測距儀,可以測量距離。 首先,在緒論中,介紹了紅外線及紅外傳感器的分類和應(yīng)用、AT89C52單片機(jī)的應(yīng)用與說明以及MCP3001芯片的簡介。其次,闡述了與紅外測距的工作原理基本結(jié)構(gòu),對紅外測距傳感器也做了詳細(xì)說明。再次,介紹了紅外測距的硬件設(shè)計(jì)和軟件設(shè)計(jì)。 在硬件設(shè)計(jì)中,介紹了紅外測距實(shí)現(xiàn)的構(gòu)想,給出紅外測距硬件電路原理圖,并說明了紅外測距傳感器、鍵盤、A/D轉(zhuǎn)換電路、LCD顯示電路工作原理及AT89C52單片機(jī)的管腳分配。在軟件設(shè)計(jì)中,說明了整個(gè)程序流程及各程序設(shè)計(jì)的函數(shù)。最后,是對整個(gè)設(shè)計(jì)的結(jié)論,說明了紅外測距實(shí)現(xiàn)的可行性。 關(guān)鍵詞: 紅外測距 A/D轉(zhuǎn)換 實(shí)時(shí)顯示 紅外線 單片機(jī) 目 錄 第1章 緒論 1 1.1 課題研究的背景和意義 1 1.2 本課題研究的熱點(diǎn)及發(fā)展現(xiàn)狀 2 1.3 本課題研究的目的 2 1.4 本課題研究的內(nèi)容 3 第2章 紅外測距的工作原理與基本結(jié)構(gòu) 4 2.1.方案及設(shè)計(jì)思想: 4 2.2 紅外測距系統(tǒng)的基本結(jié)構(gòu) 5 第3章 紅外測距的硬件設(shè)計(jì) 6 3.1紅外收發(fā)模塊 6 3.2 A/D轉(zhuǎn)換模塊 7 3.3 LCD顯示模塊 11 3.4 AT89C52單片機(jī)概述 12 3.5整個(gè)紅外測距系統(tǒng)顯示 16 第4章 紅外測距的軟件設(shè)計(jì) 18 4.1 程序流程圖 18 第5章 系統(tǒng)軟硬件調(diào)試 20 5.1 硬件調(diào)試 20 5.2 軟件調(diào)試 20 5.3測試結(jié)果繪圖 20 5.4 調(diào)試中遇到的問題 22 結(jié) 論 23 參考文獻(xiàn) 24 附錄 25 后 記 32 第1章 緒論 紅外線(Infrared)是波長介乎微波與可見光之間的電磁波,其波長在760納米(nm)至1毫米(mm)之間,是波長比紅光長的非可見光。所有高于絕對零度(-273.15℃)的物質(zhì)都可以產(chǎn)生紅外線?,F(xiàn)代物理學(xué)稱之為熱射線。醫(yī)用紅外線可分為兩類:近紅外線與遠(yuǎn)紅外線。含熱能,太陽的熱量主要通過紅外線傳到地球。它的波長介于可見光和微波之間,范圍大致在0.75M~1000M的頻譜范圍之內(nèi)。相對應(yīng)的頻率在4~3HZ之間,紅外線可分為三部分,即近紅外線,近紅外線波長范圍為0.77M~3M,中紅外線波長范圍為3M~30M,遠(yuǎn)紅外線波長范圍為30M~1000M。 紅外光具有反射、折射、散射、干涉、吸收等特性。它能全部吸收投射到它表面的紅外輻射的物體稱為黑體;能全部反射的物體稱為鏡體;能部分反射、部分吸收的物體稱為灰體。嚴(yán)格地來講,在自然界中,不存在黑體鏡體和透明體。 1.1 課題研究的背景和意義 紅外線是不可見的光,是電磁波的一種形式,可以用來進(jìn)行距離的測量,其應(yīng)用歷史可以追溯到上世紀(jì)60年代?,F(xiàn)代科學(xué)技術(shù)的發(fā)展進(jìn)入了許多新領(lǐng)域,而在測距方面先后出現(xiàn)了激光測距、微波雷達(dá)測距、超聲波測距及紅外線測距。其中激光測距是靠激光束照射在物體上反射回來的激光束探測物體的距離。由于受惡劣的天氣、污染等因素影響,使反射的激光束在一定功率上探測距離比可能探測的最大距離減少一半左右,損失很大,影響探測的精確度;微波雷達(dá)測距技術(shù)為軍事和某些工業(yè)開發(fā)采用的裝備和振蕩器等電路部分價(jià)格昂貴,現(xiàn)在還沒有開拓民用市場;超聲波測距在國內(nèi)外已有很多人做過研究,由于采用特殊專用組件使其價(jià)格高,難以推廣;紅外線作為一種特殊光波,具有光波的基本物理傳輸特性—反射、折射、散射等,且由于其技術(shù)難度相對不太大,構(gòu)成的測距系統(tǒng)的成本低廉,性能優(yōu)良,便于民用推廣。另外紅外測距的應(yīng)用越來越普遍。在很多領(lǐng)域都可以用到紅外測距儀。紅外測距一般具有精確度和分辨率高、抗干擾能力強(qiáng)、體積小、重量輕等優(yōu)點(diǎn),因而應(yīng)用領(lǐng)域廣、行業(yè)需求眾多,市場需求空間大。 紅外測距的研究就非常有意義。紅外線測距儀指的就是激光紅外線測距儀,紅外測距儀----用調(diào)制的紅外光進(jìn)行精密測距的儀器,測程一般為1-5公里。在100米以內(nèi)則超聲波測距更有優(yōu)勢,但是超聲波測距的距離一般無法測量1米以內(nèi),而紅外測距則可以測出這一段距離,而且有著不錯(cuò)的精度,在本課題中研究的就是這一類情況的紅外線測距。 1.2 本課題研究的熱點(diǎn)及發(fā)展現(xiàn)狀 常見的紅外傳感器可分為熱傳感器和光子傳感器。根據(jù)《國內(nèi)近年來紅外光電測距儀的發(fā)展情況》,由于國家對外開放政策的實(shí)施和測量工作的需要,近年來國內(nèi)一些光學(xué)儀器廠和電子儀器廠分別從瑞典、瑞士和日本等國引進(jìn)幾種紅外測距儀組裝線,組裝測距儀,我國有關(guān)工廠和院校近年來也研制出一些產(chǎn)品。由于微處理機(jī)在國產(chǎn)測距儀上的應(yīng)用,大大縮小儀器的體積,同時(shí)也減少出故障的幾率,使得國產(chǎn)測距儀的性能和質(zhì)量都較過去有很大的提高。在國家“六五”計(jì)劃攻關(guān)中,常州第二電子儀器廠研制的DCHZ型多功能紅外測距儀就是一個(gè)很好的例證。該產(chǎn)品經(jīng)國家測繪局測繪科學(xué)研究所光電測距儀檢測巾心進(jìn)行全面質(zhì)量鑒定后認(rèn)為:該儀器的外型美觀、體積小、重量輕、操作方便、精度高和性能穩(wěn)定,并通過國家有關(guān)部門組織的鑒定。目前已經(jīng)開始小批量試生產(chǎn)。 在進(jìn)行側(cè)距儀研制同時(shí),國家有關(guān)部門也組織大量力量對紅外光電測距儀的檢測方法進(jìn)行研究。 一、熱傳感器 熱傳感器是利用入射紅外輻射引起的傳感器的溫度變化,進(jìn)而使有關(guān)物理參數(shù)發(fā)生相應(yīng)的變化,通過測量有關(guān)物理參數(shù)的變化來確定紅外傳感器所吸收的紅外輻射。 熱探測器的主要優(yōu)點(diǎn)是相應(yīng)波段寬,可以在室溫條件下工作,使用簡單。但是,熱傳感器相應(yīng)時(shí)間較長,靈敏度較低,一般用于低頻調(diào)制的場合。 熱傳感器主要類型有:熱敏傳感器型,熱電偶型,高萊氣動型和熱釋放電型四種類型。 二、光子傳感器 光子傳感器是利用某些半導(dǎo)體材料在入射光照射下,產(chǎn)生光子效應(yīng),使材料電學(xué)性質(zhì)發(fā)生變化。通過測量電學(xué)性質(zhì)的變化,可以知道紅外輻射的強(qiáng)弱。利用光子效應(yīng)所制成的紅外傳感器,統(tǒng)稱光子傳感器。光子傳感器的主要特點(diǎn)是靈敏度高,響應(yīng)速度快,具有較高的響應(yīng)頻率。但由于其一般要在低溫下工作,導(dǎo)致探測波段較窄。 按照光子傳感器的工作原理,一般分為內(nèi)光電和外光電傳感器兩種,后者又可分為光電導(dǎo)傳感器、光生伏特傳感器和光磁電傳感器等三種。 1.3 本課題研究的目的 我們所進(jìn)行的課題便是做一個(gè)簡易的,精確的,近距離的距離檢測儀,這也是對我們所學(xué)知識的一種考驗(yàn)方法,從中我們可以更系統(tǒng)的認(rèn)識單片機(jī),了解AD轉(zhuǎn)換和紅外收發(fā)模塊。 1.4 本課題研究的內(nèi)容 紅外傳感器的測距基本原理為:紅外發(fā)射電路的紅外發(fā)光管發(fā)出紅外光,紅外接收電路的光敏接收管接收發(fā)射光,根據(jù)發(fā)射光的強(qiáng)弱判斷出所測的距離。由于接收管接收的光強(qiáng)度是隨著發(fā)光管與測量物的距離變化而變化的,因而,與測量物的距離近則接收光強(qiáng),距離遠(yuǎn)則接收光弱。 具體方法如圖1所示,紅外模塊發(fā)出并接收到紅外線信號;AD轉(zhuǎn)換模塊將接收到的模擬信號轉(zhuǎn)換成數(shù)字信號再交給單片機(jī), 啟動單片機(jī)中斷程序,此時(shí)單片機(jī)得到數(shù)字信號也就是電壓值,再由軟件進(jìn)行判別、計(jì)算,得出距離數(shù)并送給LED/LCD顯示。 單片機(jī) 紅外模塊 AD模塊 電壓距離公式 顯示模塊 圖1.1 反射能量法原理 第2章 紅外測距的工作原理與基本結(jié)構(gòu) 2.1.方案及設(shè)計(jì)思想: 方案一、時(shí)間差測距法:此方案是將紅外發(fā)射管發(fā)送信號與接收管接收信號時(shí)間差寫入單片機(jī)中,在單片機(jī)中用光傳播距離公式算法將距離計(jì)算出來。原理圖如圖2.1所示。 AT89S52 紅外模塊 時(shí)間差 距離S=c*t 顯示距離 圖2.1 時(shí)間差測距法原理 方案二、反射能量法:此方案是用紅外發(fā)射管發(fā)射信號,然后用紅外接收管接收信號,將接收的信號強(qiáng)度經(jīng)過AD轉(zhuǎn)換,錄入單片機(jī)中顯示出來,并將對應(yīng)的距離記錄下來。完成一段范圍內(nèi)的測量,將所記錄下的數(shù)據(jù)寫入單片機(jī)中,然后便可進(jìn)行測量距離了。原理圖如圖2.2所示。 顯示距離 AT89S52 紅外模塊 實(shí)驗(yàn)資料 圖2.2 反射能量法原理 光的衰減是呈線性關(guān)系的,公式是I’=Ie^(-μd),其中I是光強(qiáng)度,μ是光在介質(zhì)中線性衰減系數(shù),d是光走過的路程,e是自然對數(shù)底數(shù)。ε是光子能量,Iε就是光束的能量。 要求得耗損的能量ΔE,則可通過計(jì)算: ΔE=ΔIε=(I-I’)ε=I[1-e^(-μd)]ε=E[1-e^(-μd)] 其中E是激光能量。不過,10cm的衰減是很弱的,可以忽略。 方案比較:通過以上兩種方案分析,我們可以看到方案一的誤差很大,由于紅外裝置測的距離比較近,而光速很快,因此回饋到單片機(jī)中的時(shí)間很短,單片機(jī)很難測出準(zhǔn)確的時(shí)間并準(zhǔn)確處理,而在一般情況下的光速不太準(zhǔn)確,因此誤差較大,而且根據(jù)距離=光速*時(shí)間,要想測10米時(shí)間至少要精確到0.0000001s,顯然用單片機(jī)是很難做到的。方案二是先將實(shí)驗(yàn)數(shù)據(jù)錄入單片機(jī)中,因此在測量時(shí)存在的誤差就會相對較小,綜合考慮,選擇方案二可行。 2.2 紅外測距系統(tǒng)的基本結(jié)構(gòu) 該系統(tǒng)主要由紅外測距傳感器、A/D轉(zhuǎn)換電路,AT89C52芯片、鍵盤接口電路及LCD顯示電路等組成。其組成框圖如圖2.3所示: 圖2.3 紅外測距系統(tǒng)的基本結(jié)構(gòu) 第3章 紅外測距的硬件設(shè)計(jì) 3.1紅外收發(fā)模塊 紅外發(fā)送管是用于發(fā)送信號,經(jīng)過障礙物將信號反射,紅外接收管接收到反射回來的信號,然后根據(jù)信號強(qiáng)弱將對應(yīng)的電壓值顯示在顯示模塊上,并將此時(shí)的距離記錄下來。然后整改程序,用紅外收發(fā)模塊進(jìn)行測距,就可在顯示模塊上顯示出紅外接收管接收的信號強(qiáng)度對應(yīng)的距離值。 GP2Y0A02YK0F 紅外測距傳感器 20-150cm 圖3.1 紅外傳感器結(jié)構(gòu)圖 圖3.2 protues中紅外傳感器 如圖3.2所示GP2Y0A02YK0F有3個(gè)端口,其中VCC接信號輸入,VO接MCP3001的IN+,GND接地線。GP2Y0A02YK0F測量范圍在20cm-150cm之間,測量誤差小于0.5cm。是一個(gè)距離測量傳感器單元,PSD的集成組合構(gòu)成 (位置敏感探測器),IRED(紅外發(fā)光二極管)和信號原理電路。由于采用三角測量方法,各種物體的反射率,對環(huán)境溫度和工作時(shí)間距離檢測不容易產(chǎn)生影響。 推薦工作條件: 參數(shù) 符號 條件 等級 單位 電源電壓 Vcc 4.5-5.5 V 表3.1 紅外傳感器參數(shù) 絕對最大額定值: 表3.2 紅外傳感器參數(shù) 參數(shù) 符號 等級 單位 電源電壓 Vcc -0.3?+7 V 輸出端電壓 Vo -0.3?+0.3 V 工作溫度 ?OPR -10到+60 ℃ 儲存溫度 ?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)換器,就是把模擬信號直接轉(zhuǎn)換成數(shù)字信號,比如逐次逼近型。間接A/D 轉(zhuǎn)換器是先把模擬量轉(zhuǎn)換成中間量,然后再轉(zhuǎn)換成數(shù)字量,如電壓/時(shí)間轉(zhuǎn)換型,電壓/頻率轉(zhuǎn)換型,電壓/脈寬轉(zhuǎn)換型等。 其中積分型A/D 轉(zhuǎ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)換過程中,必須包括取樣、保持、量化與編碼等路。 取樣與保持 由于取樣的時(shí)間極短,取樣輸出為一串?dāng)鄶嗬m(xù)續(xù)的窄脈沖。要把每個(gè)取樣的窄脈沖信號數(shù)字化,需要一定的時(shí)間。因此在兩次取樣之間,應(yīng)將取樣的模擬信號暫時(shí)儲存直到下個(gè)取樣脈沖到來,我們把這個(gè)動作稱之為保持。 在模擬電路設(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+1–1),當(dāng)輸入電壓U在0~Δ/2之間時(shí),歸入0Δ,當(dāng)U在Δ/2~3/2Δ之間時(shí),就要?dú)w入1Δ。 分辨率 分辨率(Resolution) 指數(shù)字量變化一個(gè)最小量時(shí)模擬信號的變化量,定義為滿刻度與2n的比值。分辨率又稱精度,通常以數(shù)字信號的位數(shù)來表示。位數(shù)越高,分辨率就越高。若小于最小變化量的輸入模擬電壓的任何變化,將不會引起輸出數(shù)字值的變化。 不需要分辨率高的場合,所得到到的就大多是噪聲。 分辨率太低,就會有無法取樣到所需的信號。 轉(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í)間。 從啟動信號開始到轉(zhuǎn)換結(jié)束并得到穩(wěn)定的數(shù)字輸出值為止的時(shí)間間隔。轉(zhuǎn)換時(shí)間越短,轉(zhuǎn)換速度就越快。 精準(zhǔn)度 對于A/D轉(zhuǎn)換器來說,精準(zhǔn)度指的是在輸出端產(chǎn)生所設(shè)定的數(shù)字?jǐn)?shù)值,相對精準(zhǔn)度指的是滿刻度值校準(zhǔn)以后,任意數(shù)字輸出所對應(yīng)的實(shí)際模擬輸入值與理論值之差。 對于線性A/D轉(zhuǎn)換器,其相對精準(zhǔn)度就是它的線性程度。由于電路制作上的影響,會產(chǎn)生像是非線性誤差,或是量化誤差等減低相對精準(zhǔn)度的因素。 MCP3001特性: 10位分辨率 1 LSB DNL(最大值) 1 LSB INL(最大值) 片上采樣和保持電路 SPI 串行接口 單電源供電的電壓范圍:2.7V至5.5V 5V時(shí)的采樣速率為200 ksps 2.7V時(shí)的采樣速率為75 ksps 低功耗CMOS技術(shù) 一5 nA典型待機(jī)電流,2 A(最大值) 一5V時(shí),工作電流的最大值為500 A 8引腳PDIP, SOIL, MSOP和TSSOP封裝 說明: Microchip的MCP3001,是一款具有片上采樣和保持電路的10位逐次逼近型A/D轉(zhuǎn)換器(ADC)。該器件提供一個(gè)偽差分輸入通道:指定差分非線性( DNL) 和積分非線性(INL)的最大值為1 LSB。它使用符合SPI協(xié)議的簡單串行接口與器件通信。當(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紅外測距傳感器的Vo,CLK接單片機(jī)上的P2.2,DO接單片機(jī)上的P2.1,CS接單片機(jī)上的P2.0。 MCP3001具有片上采樣和保持電路的10位逐次逼近型A/D轉(zhuǎn)換器(ADC),逐次逼近型A/D轉(zhuǎn)換器的工作原理是將待換的模擬輸入信號與一個(gè)推測信號進(jìn)行比較,根據(jù)二者大小決定增大還是減小輸入信號,以便向模擬輸入信號逼近。推測信號由D/A轉(zhuǎn)換器輸入的數(shù)字信號就對應(yīng)的時(shí)模擬輸入量的數(shù)字量。這種A/D轉(zhuǎn)換器一般速度很快,但精度不高。A/D轉(zhuǎn)換器的主要性能指標(biāo)中以分辨率和轉(zhuǎn)換速率最為重要,分辨率越高,就能把滿量程里的電平分出更多份數(shù),得到的轉(zhuǎn)換結(jié)果就越精確,得到的數(shù)字信號再用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ī)通過P0口向LCD輸送數(shù)據(jù),顯示測得的距離。值得注意的是,P0口要接上拉電阻來保證對LCD的成功驅(qū)動。 LCD1602已很普遍了,可以很方便地應(yīng)用于市面上大部分的字符型液晶。字符型LCD通常有14條引腳線或l6條引腳線的LCD,多出來的2條線是背光電源線Vcc((15腳)和地線GND(16腳 ),其控制原理與14腳的LCD完全一樣,定義如下表所示: 表3.4 LED引腳功能 引腳號 引腳名 電平 輸入/輸出 作用 1 vss 電源地 2 Vcc 電源(+5v) 3 Vee 對比電壓調(diào)整 4 RS 0/1 輸入 0=輸入指令 1=輸入指令 5 R/W 0/1 輸入 0=向LED寫入指令或數(shù)據(jù) 1=從LED讀取信息 6 E 1, 1→0 輸入 使能信號,1時(shí)讀取信息,1→0(下降沿)執(zhí)行指令 3.4 AT89C52單片機(jī)概述 單片機(jī)是在集成電路芯片上集成各種組件的微型計(jì)算機(jī),這些組件包括中央處理器CPU、數(shù)據(jù)存儲器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ī),使儀器儀表智能化,提高測試的自動化程度和精度,提高計(jì)算機(jī)的運(yùn)算速度,簡化儀器儀表的硬件結(jié)構(gòu),提高其性能價(jià)格比。 AT89C52單片機(jī)的時(shí)鐘信號通常是由兩種方式產(chǎn)生:一是內(nèi)部時(shí)鐘方式,二是外部時(shí)鐘方式。在AT89C52單片機(jī)內(nèi)部有一振蕩電路,只要在單片機(jī)的XTAL1和XTAL2引腳外接晶振,就構(gòu)成了自激振蕩器并在單片機(jī)內(nèi)部產(chǎn)生時(shí)鐘脈沖信號。電容的作用是穩(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án)復(fù)位狀態(tài))。復(fù)位電路通常采用上電自動復(fù)位和按鈕復(fù)位兩種方式。最簡單的上電自動復(fù)位電路中的上電自動復(fù)位是通過外部復(fù)位電路的電容充電來實(shí)現(xiàn)的。只要VCC的上升時(shí)間不超過1ms,就可實(shí)現(xiàn)自動上電復(fù)位。時(shí)鐘頻率用6MHZ時(shí)C取22uF,R取1KΩ。除了上電復(fù)位外,有時(shí)候還需要按鍵手動復(fù)位,本設(shè)計(jì)就是用的按鍵手動復(fù)位。按鍵手動復(fù)位有電平方式和脈沖方式兩種。其中電平復(fù)位是通過RST端經(jīng)過電阻與電源VCC接通來實(shí)現(xiàn)的。最小系統(tǒng)如圖3.6所示。 圖3.6 AT89C52單片機(jī)最小系統(tǒng) AT89C52單片機(jī)的標(biāo)準(zhǔn)功能 AT89C52是美國Atmel公司生產(chǎn)的低電壓、高性能CMOS的 8位單片機(jī),片內(nèi)含8KB的可反復(fù)擦寫的程序內(nèi)存和12B的隨機(jī)存取數(shù)據(jù)存儲器(RAM),器件采用Atmel公司的高密度、非易失性的存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)配置通用8位元中央處理器(CPU)和Flash存儲單元,功能強(qiáng)大的AT89C52單片機(jī)可靈活應(yīng)用于各種控制領(lǐng)域中。 AT89C52的各引腳功能: (1) VCC:電源 (2) GND:地 (3) P0口:P0口是一個(gè)8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個(gè)TTL邏輯電平。對P0端口寫“1”時(shí),引腳用作高阻抗輸入。 (4) P1口:P1 口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P1輸出緩沖器能驅(qū)動4個(gè)TTL 邏輯電平。 表4-1 P1口第二功能 引腳號 第二功能 P1.0 T2(定時(shí)器/計(jì)數(shù)器T2的外部計(jì)數(shù)輸入) ,時(shí)鐘輸出 P1.1 T2EX(定時(shí)器/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號和方向控制) P1.5 MOSI(在系統(tǒng)編程用) P1.6 MISO(在系統(tǒng)編程用) P1.7 SCK(在系統(tǒng)編程用) (5) P2 口:P2 口是一個(gè)具有內(nèi)部上拉電阻的 8 位雙向 I/O 口,P2 輸出緩沖器能驅(qū)動 4個(gè)TTL 邏輯電平。 (6) P3 口:P3 口是一個(gè)具有內(nèi)部上拉電阻8位雙向 I/O口,對 P3 端口寫“1”時(shí),可以作為輸入口使用。P3口可作為AT89C51第二功能使用,如表3.5所示。 表3.5 P3口第二功能 引腳號 第二功能 P3.0 RXD(串行輸入) P3.1 TXD(串行輸出) P3.2 INT0(外部中斷 0) P3.3 INT0(外部中斷 0) P3.4 T0(定時(shí)器0外部輸入) P3.5 T1(定時(shí)器1外部輸入) P3.6 WR(外部數(shù)據(jù)存儲器寫選通) P3.7 RD(外部數(shù)據(jù)存儲器寫選通) (7) RST: 復(fù)位輸入。當(dāng)輸入連續(xù)兩個(gè)機(jī)器周期以上高電平時(shí)為有效,用來完成單片機(jī)單片機(jī)的復(fù)位初始化操作。 (8) ALE/PROG:地址鎖存控制信號(ALE)是訪問外部程序存儲器時(shí),鎖存低 8 位地址的輸出脈沖。在flash編程時(shí),此引腳(PROG)也用作編程輸入脈沖。 (9) PSEN:外部程序存儲器選通信號(PSEN)是外部程序存儲器選通信號。 (10) EA/VPP:訪問外部程序存儲器控制信號 (11) XTAL1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路輸入端。 (12) XTAL2:振蕩器反相放大器輸出端。 3.5整個(gè)紅外測距系統(tǒng)顯示 整個(gè)紅外測距系統(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章 紅外測距的軟件設(shè)計(jì) 4.1 程序流程圖 在整個(gè)系統(tǒng)運(yùn)行過程中。當(dāng)紅外系統(tǒng)被啟動后,首先,對AT89C52單片機(jī)進(jìn)行初始化。然后,當(dāng)AT89C52單片機(jī)接收到紅外接收電路傳輸?shù)碾妷盒盘柡?,?jīng)A/D轉(zhuǎn)換程序,將片外的模擬信號轉(zhuǎn)換為單片機(jī)可識別的數(shù)字信號,并經(jīng)電壓—距離轉(zhuǎn)換子程序,將變化的電壓轉(zhuǎn)換為距離。最后,在動態(tài)掃描LCD顯示器上顯示出來。主程序流程圖如圖4.1所示。 圖4.1 程序流程圖 紅外測距系統(tǒng)軟件設(shè)計(jì)主要由主程序,延時(shí)函數(shù),顯示程序函數(shù)組成。 程序開始, 紅外測距主程序第一步將顯示屏1602初始化,并顯示測量開始,第二步導(dǎo)入延時(shí)程序,并顯示程序,顯示電壓和距離。其次子函數(shù)調(diào)用, 讀MCP3001函數(shù)并轉(zhuǎn)換函數(shù)得出電壓值,再調(diào)用距離計(jì)算函數(shù),得出距離值。此時(shí)主函數(shù)中顯示函數(shù)會將電壓和距離顯示出來,程序就此結(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ù)。 不過完成程序并不是一次就能成功的,首先要先將AD采集程序?qū)懭雴纹瑱C(jī)中,進(jìn)行實(shí)驗(yàn),將固定距離所采集到的信號強(qiáng)度記錄下來,然后將對應(yīng)的數(shù)據(jù)加入程序中,最后通過紅外模塊進(jìn)行測量,便可顯示出對應(yīng)的距離值,主程序是整個(gè)程序的基礎(chǔ),也是核心。此時(shí)距離計(jì)算函數(shù)才算完成,距離計(jì)算函數(shù)實(shí)際就是測量時(shí)得出距離電壓關(guān)系,我們反過來先拿出距離再得出電壓,舉例來說,用卷尺量1米距離,再用紅外測距系統(tǒng)來量1米距離,這時(shí)對應(yīng)1米距離的電壓記下來。根據(jù)這個(gè)方法把其它各個(gè)距離的電壓記下來,把這個(gè)對應(yīng)關(guān)系變成計(jì)算距離的函數(shù),再測距時(shí)就可以根據(jù)這個(gè)函數(shù)來得出距離了。 第5章 系統(tǒng)軟硬件調(diào)試 5.1 硬件調(diào)試 紅外測距儀的制作為了使信號穩(wěn)定,最好給輸入電源加上一個(gè)濾波電路,否則顯示屏上有閃爍,不穩(wěn)定,會增加誤差,但總體來說不影響結(jié)果。在本次設(shè)計(jì)中,主控模塊是非常重要的部分,它不僅是本次設(shè)計(jì)的核心,在本次硬件調(diào)試中也遇到了問題,接上電源的時(shí)候,顯示屏不亮,沒有任何顯示,于是我做了如下的工作: (1)檢查電源是否通電,發(fā)現(xiàn)指示燈亮著; (2)編程使P1為低電平,檢查到P1輸出為低; (3)檢查P0口未接上拉電阻,接上顯示屏發(fā)亮了。 在本次硬件調(diào)試中還遇到了顯示屏出顯示,但顯示有很大問題,調(diào)節(jié)距離后,顯示還是不變,檢查后發(fā)現(xiàn)mcp3001與vcc沒接好,或CS,DO,CLK與單片機(jī)接觸不良。 5.2 軟件調(diào)試 硬件電路制作完成并調(diào)試好后,便可將程序編譯好下載到單片機(jī)試運(yùn)行。根據(jù)所設(shè)計(jì)的電路參數(shù)和程序,測距儀能測的范圍為20cm~150cm,測距儀最大誤差不超過0.5cm。系統(tǒng)調(diào)試完后對各個(gè)距離進(jìn)行多次測量,與預(yù)定值進(jìn)行比較,對測量誤差進(jìn)行多次實(shí)驗(yàn)分析,不斷調(diào)節(jié)器件和修改程序使其達(dá)到實(shí)際使用的測量要求。 為了更方便了解電壓與距離之間的關(guān)系,我將程序做了些許修改,在顯示距離的基礎(chǔ)上再把電壓也顯示出來了,這樣結(jié)果一目了然。因?yàn)殡妷号c距離之間的關(guān)系不是線性關(guān)系,所用用函數(shù)來表示會有誤差,于是我將此函數(shù)修改,重新測量,每個(gè)距離對應(yīng)的電壓記錄下來輸入程序,如此一來,測試更加準(zhǔn)確,誤差更小了。 5.3測試結(jié)果繪圖 圖5.2是紅外距離傳感器GP2Y0A02YK0F電壓距離關(guān)系圖,圖中所測電壓對應(yīng)的不同距離值,圖中橫坐標(biāo)代表距離,縱坐標(biāo)是距離電壓值,單位是cm。從圖中可以看出,電壓與距離并不是線性關(guān)系,而是一條相對平滑的曲線。因此結(jié)果不一定十分準(zhǔn)確,接近此圖即可。最終的紅外測距系統(tǒng)可以實(shí)現(xiàn)20-150cm的近距離測量,測量誤差為0.5cm,可以計(jì)算出被測物體的距離。在測量距離精度方面,還有待于改進(jìn)。 圖5.1 GP2Y0A02YK0F電壓距離關(guān)系圖 表5.1 電壓距離關(guān)系 電壓v 2.89v 1.94v 1.47v 1.18v 0.98 0.85 0.74 0.66 0.60 0.54 0.50 0.46 0.43 0.40 測量距離cm 19 30 41 51 62 72 82 92 102 112 122 131 141 151 實(shí)際距離cm 20 30 40 50 60 70 80 90 100 110 120 130 140 150 5.4 調(diào)試中遇到的問題 在焊接過程中一些地方出現(xiàn)虛焊等接觸不良的問題,導(dǎo)致顯示不穩(wěn)定有閃爍。接線過程中用插針接線容易導(dǎo)致接線松動,沒接到或者接觸不良。 環(huán)境問題 紅外線在空氣介質(zhì)的傳播過程中會有很大的衰減,其衰減遵循指數(shù)規(guī)律。一般情況下能測150cm,但是空氣介質(zhì)發(fā)生改變,如塵埃過多,導(dǎo)致紅外線強(qiáng)度降低,測量發(fā)生誤差,且測量距離變小。 周圍有其他輻射源,并且強(qiáng)度很大時(shí)會影響測量結(jié)果 結(jié) 論 對所設(shè)計(jì)的電路進(jìn)行測量、校準(zhǔn)發(fā)現(xiàn)其測量范圍在20cm—150cm內(nèi)的平面物體做了多次測量發(fā)現(xiàn),其最大誤差為0.5cm,且重復(fù)性好。該測距儀穩(wěn)定性比較高、靈敏度比較高,測量時(shí)在紅外線測距儀周圍沒有其它物體。但是在檢測過程中會有一些不便的地方: 1.測量時(shí)在紅外線測距儀和目標(biāo)物體之間周沒有其它可阻擋的物體,由于是根據(jù)反射能量法,且發(fā)射功率有限,反射回來的紅外線能量容易過低而無法采集,測距儀無法測量150cm外的物體。 2.必須在干凈清新的空氣環(huán)境下測量,空氣中一旦塵埃過多,會對反射紅外線強(qiáng)度有極大的干擾,最終影響計(jì)算距離的值。 3.不能夠?qū)崿F(xiàn)不同溫度下的測距功能。 4.因?yàn)槌暡ㄊ菍⒖諝庾鳛槊浇樗允茈姶鸥蓴_比較大。 紅外線測距儀的原理有兩種:一種是紅外線傳播的時(shí)間來計(jì)算出傳播距離;一種是根據(jù)發(fā)射光的強(qiáng)弱可以判斷所測的距離,由于接收管接收的光強(qiáng)是隨與發(fā)光管的距離變化而變化的,因而,距離近則接收光強(qiáng),距離遠(yuǎn)則接收光弱。 由上述的分析知,如果能夠干凈清新的空氣環(huán)境,穩(wěn)定的溫度下,無其它電磁干擾,阻擋的物體,能夠獲得較高的測量精度。 本電路設(shè)計(jì)由于元器件及其成板誤差,測量最大距離未能達(dá)到設(shè)計(jì)初衷要求,但對測量距離結(jié)果的誤差影響不大,能滿足日常生活、工業(yè)生產(chǎn)的測量要求,因此此設(shè)計(jì)有著很大的意義。同時(shí)通過這個(gè)設(shè)計(jì)能夠提高我對單片機(jī)的認(rèn)識、編程能力和電路設(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-6 [4] 康華光,《電子技術(shù)基礎(chǔ):模擬部分(第五版)》,高等教育出版社,2006 [5] 潘永雄,沙河.電子線路CAD實(shí)用教程[M].西安:西安電子科技大學(xué)出版社:2007. [6] 51單片機(jī)C程序設(shè)計(jì)100例. [7] 康華光主編.電子技術(shù) 基礎(chǔ)[M].第四版.北京:高等教育出版社,1999 [8]《單片機(jī)原理與應(yīng)用》實(shí)驗(yàn).武漢大學(xué)珞珈學(xué)院 [9]《一種紅外線測距技術(shù)的探討》 [10]《紅外測距傳感器的原理與設(shè)計(jì)最終版》 [11] 劉坤,《51單片機(jī)典型應(yīng)用開發(fā)范例大全》 中國鐵道出版社 [12] 彭偉,《單片機(jī)C語言程序設(shè)計(jì)實(shí)訓(xùn)—基于8051+Proteus仿真》電子工業(yè)出版社 [13] 薛小玲、劉志群、賈俊榮編著《單片機(jī)接口模塊應(yīng)用于開發(fā)實(shí)例詳解》 北京航空航天大學(xué)出版社 2010 [14] 譚浩強(qiáng),著《C程序設(shè)計(jì)》(第三版) 清華大學(xué)出版社 2005 [15] 何橋、段清明、邱春玲編著《單片機(jī)原理及應(yīng)用》 中國鐵道出版社 2004 [16] 曲波 肖圣兵 呂建平編著《工業(yè)常用傳感器選型指南》 清華大學(xué)出版社 2002 [17] 陳鴻茂編著《常用電子器件簡明手冊》 中南礦業(yè)大學(xué)出版社 2001 附錄 #include- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 基于 單片機(jī) 紅外 測距 系統(tǒng) 設(shè)計(jì)
鏈接地址:http://appdesigncorp.com/p-6678239.html