基于MSP430G2553的超聲波測距_第1頁
基于MSP430G2553的超聲波測距_第2頁
基于MSP430G2553的超聲波測距_第3頁
基于MSP430G2553的超聲波測距_第4頁
基于MSP430G2553的超聲波測距_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、-. z.本科自主創(chuàng)新設計題目: 基于MSP430_launchpad超聲波測距系統姓 名 孫尚威學 院 電子工程學院專 業(yè) 電子信息科學與技術班 級 2013211202學 號 2013210849班內序號 04 指導教師 趙同剛 2015年5月目錄 TOC o 1-3 h z u HYPERLINK l _Toc419702495第1章緒論 PAGEREF _Toc419702495 h 3HYPERLINK l _Toc4197024961.1 工程簡介 PAGEREF _Toc419702496 h 3HYPERLINK l _Toc4197024971.2 工程功能目標 PAGERE

2、F _Toc419702497 h 3HYPERLINK l _Toc419702498第2章超聲波測距原理 PAGEREF _Toc419702498 h 3HYPERLINK l _Toc4197024992.1 超聲波簡介 PAGEREF _Toc419702499 h 3HYPERLINK l _Toc4197025002.2 超聲波測距原理 PAGEREF _Toc419702500 h 4HYPERLINK l _Toc419702501第3章方案論證 PAGEREF _Toc419702501 h 4HYPERLINK l _Toc4197025023.1 設計思路 PAGERE

3、F _Toc419702502 h 4HYPERLINK l _Toc4197025033.2 硬件系統構造設計 PAGEREF _Toc419702503 h 4HYPERLINK l _Toc419702504第4章主要元件介紹 PAGEREF _Toc419702504 h 5HYPERLINK l _Toc4197025054.1 單片機MSP430 launchpad M430G2553 PAGEREF _Toc419702505 h 5HYPERLINK l _Toc4197025064.2 超聲波傳感器HC-SR04 PAGEREF _Toc419702506 h 6HYPERL

4、INK l _Toc4197025074.3 5110LCD液晶顯示屏 PAGEREF _Toc419702507 h 6HYPERLINK l _Toc419702508第5章軟件設計 PAGEREF _Toc419702508 h 7HYPERLINK l _Toc4197025095.1 主程序流程 PAGEREF _Toc419702509 h 7HYPERLINK l _Toc4197025105.2 子程序設計 PAGEREF _Toc419702510 h 8HYPERLINK l _Toc4197025115.2.1 超聲波發(fā)送子程序及超聲波接收中斷子程序 PAGEREF _T

5、oc419702511 h 8HYPERLINK l _Toc4197025125.2.2 距離計算子程序 PAGEREF _Toc419702512 h 8HYPERLINK l _Toc4197025135.2.3 液晶顯示程序 PAGEREF _Toc419702513 h9HYPERLINK l _Toc419702514第6章系統調試及誤差分析 PAGEREF _Toc419702514 h 10HYPERLINK l _Toc4197025156.1 系統焊接 PAGEREF _Toc419702515 h 10HYPERLINK l _Toc4197025166.2 誤差及特性分

6、析 PAGEREF _Toc419702516 h 10HYPERLINK l _Toc419702517附錄一:主要程序 PAGEREF _Toc419702517 h 12第1章 緒論1.1 工程簡介本設計介紹了基于單片機控制的超聲測距儀的原理:由MSP430單片機控制定時器產生超聲波脈沖并計時,計算超聲波自發(fā)射至接收的往返時間,從而得到實測距離。用四位LCD液晶屏顯示距離。整個硬件電路由超聲波發(fā)射模塊、超聲波接收模塊、單片機控制模塊、顯示模塊組成。在此根底上設計了系統的總體方案,最后通過硬件和軟件實現了各個功能模塊。相關局部附有硬件電路圖、程序流程圖,給出了系統構成、電路原理及程序設計。

7、此系統具有易控制、可讀性強和流程清晰等優(yōu)點。但穩(wěn)定性有待提高,后續(xù)有待實現顯示數據實時刷新的功能1.2 工程功能目標采用單片機作為主控制器,可實現低本錢、高精度、微型化測距系統。實現50cm-300cm的根本指標的障礙物距離測試,能夠實現障礙物距離的實時顯示,準確到厘米。當被測距離小于預設報警值是,紅燈亮起,提示距離過近。在測距系統中參加蜂鳴器后可以實現預設的距離報警功能,進一步改良成為智能車倒車報警系統。第2章超聲波測距原理2.1 超聲波簡介我們知道,當物體振動時會發(fā)出聲音。科學家們將每秒鐘振動的次數稱為聲音的頻率,它的單位是赫茲。我們人類耳朵能聽到的聲波頻率為2020000赫茲。當聲波的振

8、動頻率大于20000赫茲或小于20赫茲時,我們便聽不見了。因此,我們把頻率高于20000赫茲的聲波稱為超聲波。通常用于醫(yī)學診斷的超聲波頻率為15兆赫。超聲波具有方向性好,穿透能力強,易于獲得較集中的聲能,在水中傳播距離遠等特點??捎糜跍y距,測速,清洗,焊接,碎石等。在醫(yī)學,軍事,工業(yè),農業(yè)上有明顯的作用。2.2 超聲波測距原理超聲波是利用反射的原理測量距離的,被測距離一端為超聲波傳感器,另一端必須有能反射超聲波的物體。測量距離時,將超聲波傳感器對準反射物發(fā)射超聲波,并開場計時,超聲波在空氣中傳播到達障礙物后被反射回來,傳感器接收到反射脈沖后立即停頓計時,然后根據超聲波的傳播速度和計時時間就能計

9、算出兩端的距離。測量距離D為式中 c超聲波的傳播速度;超聲波發(fā)射到接收所需時間的一半,也就是單程傳播時間。第3章 方案論證3.1 設計思路超聲波測距的原理是利用超聲波在空氣中的傳播速度為,測量聲波在發(fā)射后遇到障礙物反射回來的時間,根據發(fā)射和接收的時間差計算出發(fā)射點到障礙物的實際距離。由于超聲波易于定向發(fā)射、方向性好、強度易控制、與被測量物體不需要直接接觸的優(yōu)點,超聲波測距儀可應用于倒車提醒、建筑工地、工業(yè)現場等的距離測量。本實驗設計并制作了了一款基于單片機的低本錢、高精度、微型化的超聲波測距儀。采用單片機作為主控制器,控制發(fā)射觸發(fā)脈沖的開場時間及脈寬,響應回波時刻并測量、計數發(fā)射至往返的時間差

10、。控制產生超聲波信號,通過輸出引腳輸入至驅動器,經驅動器驅動后推動生超聲波;一旦探頭接到回波,則其輸出引腳的電平將從1變?yōu)?,這種電平變化可以作為單片機對接收探頭的接收情況進展實時監(jiān)控。同時還控制顯示電路,實現數字顯示。3.2 硬件系統構造設計超聲波測距儀系統構造如下列圖所示。它主要由單片機、超聲波發(fā)射及接收模塊、LCD顯示電路及電源電路組成。系統主要功能包括:超聲波的發(fā)射、接收,并根據計時時間計算測量距離;LED顯示器顯示距離;當系統運行不正常時,用復位電路復位第4章 主要元件介紹4.1 單片機MSP430 launchpad M430G2553MSP430 LaunchPad是一款易于使用

11、的閃存編程器和調試工具,它提供了在 MSP430 超值系列器件上進展開發(fā)所需的一切內容。它提供了具有集成仿真功能的 14/20 引腳 DIP 插座目標板,可通過 Spy Bi-Wire2 線 JTAG協議對系統內置的 MSP430 超值系列器件進展快速編程和調試。由于 MSP430 閃存的功耗極低,因此無需外部電源即可在數秒內擦除閃存并對其進展編程。LaunchPad 將 MSP430 器件與 Code poser Studio 版本 4 或 IAR 嵌入式工作平臺等集成軟件環(huán)境相連接。MSP430 超值系列器件上的這些 IDE 是免費且非受限的軟件。LaunchPad 支持所有采用 14 或

12、 20 引腳 DIP 封裝TI 封裝代碼:N的 MSP430G2* 閃存器件。LaunchPad 還采用用于定制工程和應用的板載可編程 LED 和按鈕!10 引腳 PCB 連接器還可用于連接 LaunchPad 和附加器件。實現在采用 14 或 20 引腳 DIP (N) 封裝的所有 MSP430 超值系列器件上的開發(fā)。LaunchPad 的集成仿真器接口將基于閃存的 MSP430 超值系列器件與 PC 相連接,可通過 USB 實現實時系統內編程和調試。4.2 超聲波傳感器HC-SR04接線方式,VCC、trig控制端、 echo接收端、GND模塊工作原理:(1)采用IO觸發(fā)測距,給至少10u

13、s的高電平信號;(2)模塊自動發(fā)送8個40khz的方波,自動檢測是否有信號返回;(3)有信號返回,通過IO輸出一高電平,高電平持續(xù)的時間就是 超聲波從發(fā)射到返回的時間測試距離=(高電平時間*聲速(340M/S)/2; 4.3 5110LCD液晶顯示屏NOKIA公司生產的可用于其5110、6150,6100等系列移動的液晶顯示模塊。該產品除應用于移動外,也可廣泛應用于各類便攜式設備的顯示系統。Nokia5110是一款經典機型,可能由于經典的緣故,舊機器很多,所以很多電子工程師就把舊機器的屏幕拆下來,自己驅動Nokia5110,用于開發(fā)的設備顯示1)性價比高, Nokia5110可以顯示15個漢字

14、,30個字符。2)接口簡單,僅四根I/O線即可驅動,LCD1602需11根I/O線,LCD12864需12根。3)速度快,是LCD12864的20倍,是LCD1602的40倍。4)Nokia5110工作電壓3.3V,正常顯示時工作電流200uA以下,具有掉電模式,適合電池供電的便攜式移動設備第5章 軟件設計5.1 主程序流程系統上電后,首先系統初始化,定時器開場定時,控制超聲波傳感器發(fā)出超聲波,同時使定時器開場定時。當出發(fā)管腳為低電平時接收到回波,立即使定時器停頓工作,保存定時器的計數值。然后根據傳輸時間計算距離計算出距離后調用距離顯示子程序,LCD顯示距離。顯示測量距離定時器停頓,保存定時值

15、發(fā)射超聲波,計時器翻開時鐘配置系統初始化開場顯示測量距離定時器停頓,保存定時值發(fā)射超聲波,計時器翻開時鐘配置系統初始化開場N接收到反射信號接收到反射信號根據時間計算距離根據時間計算距離5.2 子程序設計5.2.1 超聲波發(fā)送子程序及超聲波接收中斷子程序超聲波發(fā)生子程序的作用是通過P2.2端口發(fā)送超聲波脈沖信號頻率約40kHz的方波,脈沖寬度為12s左右,同時把計數器T1翻開進展計時。void send_15us()/超聲波發(fā)送15us的高電平 P2OUT&=BIT0; delay_us(20); P2OUT|=BIT0; delay_us(20); P2OUT&=BIT0; while(1)

16、send_15us(); delay(100); 5.2.2 距離計算子程序當前溫度和超聲波往返時間均測量出來后,用C語言根據公式計算距離來編程是比擬簡單的算法。TIME1 = TA1CCR0; if (TIME1 TIME0) TIME1 = TIME1 - TIME0; else TIME1 = TIME1 + (65535 - TIME0); Distance0 = TIME1*170; Distance_test = (Distance0/10000)-7; ge = Distance_test % 10 + 48; shi = (Distance_test /10) % 10 + 4

17、8; bai = (Distance_test /100) % 10 + 48; qian = (Distance_test /1000) % 10 + 48;5.2.3 液晶顯示程序#define LCD5110_CE_H P1OUT |= 0*80 /5110片選P1.7置位 1#define LCD5110_CE_L P1OUT &= 0*7f /5110片選P1.7復位 0#define LCD5110_DC_H P1OUT |= 0*40 /5110數據命令選擇端P1.6置位 1#define LCD5110_DC_L P1OUT &= 0*bf /5110數據命令選擇端P1.6復位

18、 0#define LCD5110_DIN_H P1OUT |= 0*20 /5110數據輸入端P1.5置位 1#define LCD5110_DIN_L P1OUT &= 0*df /5110數據輸入端P1.5復位 0#define LCD5110_CLK_H P1OUT |= 0*10 /5110數據命令選擇端P1.4置位 1#define LCD5110_CLK_L P1OUT &= 0*ef /5110數據命令選擇端P1.4復位 0#define LCD5110_BL_H P2OUT |= 0*02 /5110背光控制端P2.1置位 1#define LCD5110_BL_L P2OU

19、T &= 0*fd /5110背光控制端P2.1復位 0#define LCD5110_RST_H P2OUT |= 0*01 /5110背光控制端P2.0置位 1#define LCD5110_RST_L P2OUT &=0*fe /5110背光控制端P2.0復位 0#define LCD_CMD 0*00 /八位0#define LCD_DATA 0*ff /八位1e*tern void DELAYms(unsigned int time); /延時ms函數e*tern void LCD5110_SET_*Y(char *, char y); /寫坐標函數e*tern void LCD51

20、10_Init(void); /屏幕初始化e*tern void LCD5110_Clear(unsigned char L); /去除指定行e*tern void LCD5110_Clear_All(void); /去除全屏e*tern void Write_Char(char c); /寫一個ASCII字符e*tern void Write_String(const char *p); /寫字符串第6章 系統調試及誤差分析6.1 系統焊接以萬用板做載板,將LCD顯示模塊,單片機控制模塊以及超聲波發(fā)射接收模塊組合在一起。用杜邦線連接各模塊的管腳。6.2 誤差及特性分析根據超聲波的特性,距離測

21、量時必須滿足條件:被測目標必須垂直于超聲波測距儀。被測目標外表必須平坦。測量時在超聲波測距儀周圍沒有其他可反射超聲波的物體。因此在測量過程中稍不小心就會接收不到超聲波,而導致沒有測量結果。由于超聲波的往返時間由單片機msp430的定時器T1來記,定時器T1工作在方式1,其最大定時時間為65.536ms,可得出最大的測量距離在10m以內。且因為發(fā)射功率有限,測距儀也無法測量10m外的物體。在實際的測試中3m之內有較高的測量精度。由于程序設計的問題,在移動測距裝置的過程中,LCD液晶屏上顯示的數據無法實時刷新,需要在測試時按下復位按鍵實現距離數據的刷新。附錄一:主要程序#include#inclu

22、deheader.hchar flag_time = 0;long TIME0 = 0, TIME1 = 0;long Distance_test = 0;long Distance0 = 0;char ge,shi,bai,qian;/時鐘初始化void CLK_Init(void) if (CALBC1_1MHZ =0*FF | CALDCO_1MHZ = 0*FF) while(1); BCSCTL1 = CALBC1_1MHZ; DCOCTL = CALDCO_1MHZ;/端口初始化void GPIO_Init(void)P1DIR |= BIT4+BIT5+BIT6+BIT7;P2D

23、IR |= BIT0+BIT1;P2DIR &=BIT3; /P2.3作為捕獲輸入P2SEL |= BIT3; /主功能模塊觸發(fā)P2DIR |= BIT2; /P2.2作為觸發(fā)端,設為輸出 P2OUT &= BIT2; /P2.2輸出低電平P1REN |=BIT3 ; /啟用P1.3內部上下拉電阻P1OUT |=BIT3 ; /設置為上拉電阻P1IES |BIT3; /P1.3為下降沿觸發(fā)中斷P1IE |BIT3; /P1.3中斷允許/定時器TIME1_A3初始化函數void TIME1_A3_Init(void)TA1CTL |= TASSEL1 + MC_2; /SMCLK作為時鐘源,連續(xù)計數模式TA1CCTL0 |= CM_3 + CCIS_1 + SCS + CAP + CCIE; /上升沿與下降沿都捕獲,輸入源為CCI0B,同步捕獲模式,使能中斷TA1CCR0=0; const char table1=DISTANCE:; const char table2=CM(+-)1CM;/主函數int main(void) WDTCTL = WDTPW + WDTHOLD; /關閉看門狗定時器 CLK_Init(); GPIO_Init(); TIME1_A3_Init(); LCD5110_Init(); LCD

溫馨提示

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

評論

0/150

提交評論