freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機的超聲波測距裝置畢業(yè)論文-資料下載頁

2025-08-19 17:50本頁面

【導(dǎo)讀】隨著電子計算機技術(shù)和集成電路芯片的飛速發(fā)展,超聲波測距技術(shù)日漸成熟,并且應(yīng)用廣泛,比如工業(yè)中的液位測量、倒車雷達、機器人避障等方面。波測距結(jié)構(gòu)簡單,其造價較低,適用于工業(yè)領(lǐng)域。因此,超聲波測距方面的研究具。有一定的實際意義。本文詳細介紹了一個基于單片機的超聲波測距裝置。硬件的核心器件是單片機。軟件是基于C語言設(shè)計的,采用模塊化的設(shè)計方法,由主程序、延時子程序、計數(shù)子程序、計算子程序、顯示子程序等模塊組成。范圍是2cm-450cm,精度為1cm,可用于工業(yè)領(lǐng)域中的非接觸式測量。指導(dǎo)下進行的研究工作及取得的成果。和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過的研究成果,了明確的說明并表示了謝意。在不以贏利為目的前提下,學校可以公布論文的部分或全部內(nèi)容。重要貢獻的個人和集體,均已在文中以明確方式標明。本聲明的法律后果由本人承擔。論文被查閱和借閱。本人授權(quán)大學可以將本學位論文的。涉密論文按學校規(guī)定處理。

  

【正文】 序,并經(jīng)過計算子程序進行計算,計算出超聲波模塊到被測物體之間 的距離;此后,主程序調(diào)用顯示子程序進行顯示。當一次發(fā)射、接收、顯示的過程完成后,按下 key2 之后,進入下一次測距。如果由于被測物體過遠,超出量程,則顯示“ ERROR”,按下 key2 之后重新回到主程序進入新一輪測距。主程序 流程圖如圖 41 所示 : 洛陽師范學院 2020 屆本科生畢業(yè)設(shè)計 22 圖 41 主程序流程圖 開始 系統(tǒng)初始化,配置顯示模塊、定時器等 掃描是否有按鍵按下 Y 超聲波發(fā)送 8個 40KHZ方波,并等待回波 接收到回波, 1 Y 開計數(shù)器 T0, T0開始計數(shù) 標志位 0,停止計數(shù),關(guān)計數(shù)器 T0 調(diào)用時間 /距離轉(zhuǎn)換計算子程序 調(diào)用顯示子程序,顯示距離 N 調(diào)用顯示子程序,顯示“ ERROR” Y N 距離小于 450cm N Startflag置 1,單片機開始發(fā)送觸發(fā)信號 是否為 key1按下 Y N 關(guān)閉測距 基于單片機的超聲波測距裝置 23 子程序流程 單片機的程序編寫,一般使用匯編語言和 C 語言,但是由于我本身對匯編語言的學習還不夠成熟,因此此次設(shè)計我選用的是 C 語言編寫程序。 C 語言同時結(jié)合了高級語言和匯編語言的功能,使用者便于學習,且語法簡單、運算符豐富、功 能強大,同時還可以進行模塊結(jié)構(gòu)化的編程,方便程序編寫。系統(tǒng)總的程序代碼詳見附件。 延時子程序 在主程序之前,先定義一個延時子程序,在主程序之中,要用到延時的話,就可以給延時子程序賦值,直接得到延時。延時子程序的程序代碼如下: void delay(uchar z) { uchar x,y。 for(x=z。x0。x) for(y=110。y0。y)。 } 這個延時子程序延時了 1ms,調(diào)用的過程中,延時時間 =賦值 1ms。但是本設(shè)計中在發(fā)射 20us 的觸發(fā)信號時,也用到了延 時,把 tring 置 1,延時 20us,得到 20us 的高電平觸發(fā)信號,這個延時的代碼如下: void delay_20us() { uchar bt 。 for(bt=0。bt100。bt++)。 } T0 計數(shù)子程序 在主程序之前,對定時器 T0 進行初始化,初始化的程序如下: void timer0 init(void) { TH0=0。 TL0=0。 TMOD=0X01。 TR0=0。 ET0=0。 EA=0。 洛陽師范學院 2020 屆本科生畢業(yè)設(shè)計 24 } 在這個初始化子程序中,定時器 T0 工作在工作方式 1,初始 化中對 TR0 設(shè)置為 0,需要計數(shù)時,把 TR0 置 1,定時器 T0 就開始計數(shù),計數(shù)完畢后, TR0 再置 0,即關(guān)閉定時器 T0。 時間 /距離轉(zhuǎn)換計算子程序 設(shè)計中定時器 T0 記錄的是高電平的持續(xù)時間,要測量出距離,只有進行時間 /距離轉(zhuǎn)換的計算程序,程序代碼如下 : void convert(void) { dat=TH0。 dat=dat8。 dat=dat+TL0。 dat=dat/58。 } 因為定時器 T0 工作在工作方式 1,是 16 位計數(shù)器,所以定義的 dat 也應(yīng)該是 16 位的,這樣就把 T0 的高低八 位分別傳給了 dat,然后利用公式:厘米 =us/58,就可以把 us的時間轉(zhuǎn)化為 cm的距離。 顯示子程序 把時間轉(zhuǎn)化為距離之后,最重要的就是顯示出距離,超聲波的最大測量距離為 450cm,所以分別設(shè)計顯示百位,十位和個位,顯示子程序的程序代碼如下: void lcdinit() { lcd_write(0x38)。//顯示模式設(shè)置 lcd_write(0x0c)。//光標設(shè)置 lcd_write(0x06)。 lcd_write(0x01)。//清屏 lcd_write(0x80)。 } void lcd(uchar add,uint dat) { lcd_write(0x80+add)。 lcd_writedat(0x30+dat/100)。 //顯示百位 基于單片機的超聲波測距裝置 25 lcd_writedat(0x30+dat%100/10)。//dat%100=45。//顯示十位 lcd_writedat(0x30+dat%10)。 //顯示個位 } 在 LCD1602 顯示之前,先要對 1602 進行初始化設(shè)置,包括顯示模式設(shè)置、光標設(shè)置及清屏的信息的設(shè)置,根據(jù) 1602 的工作原理 , 00111000( 0x38)是顯示模式設(shè)置;光標設(shè)置中 0x0c 是打開 1602 但是不顯示光標, 0x06 是設(shè)置當讀或?qū)懸粋€字符后地址指針加一,且光標加一;清屏后不顯示任何信息。然后經(jīng)過時間 /距離轉(zhuǎn)化計算子程序之后,顯示距離的百位十位個位。 洛陽師范學院 2020 屆本科生畢業(yè)設(shè)計 26 第 5 章 編譯和調(diào)試 要使測距裝置正常運行,不僅需要軟件的編譯和調(diào)試,還需 進行硬件的調(diào)試,包括電路板的焊接和電路的調(diào)試。 根據(jù)測距裝置的硬件原理圖,進行線路板的焊接,由于線路板上的元器件比較多,焊接完成后,一旦出現(xiàn)由于焊接 錯誤的故障, 很難找到 故障點 , 因此焊接及其焊接的順序十分重要, 順序是 功能部件的焊接 調(diào)試 另一功能部件的焊接,這樣才容易找到問題 。如果 調(diào)試 時 出現(xiàn)問題,應(yīng)該檢查線路板上各引腳連接 是否正確,用萬用表檢查是否有虛焊、引腳短路的現(xiàn)象等。 單片機的硬件調(diào)試和軟件調(diào)試是分不開的,許多的硬件錯誤是在軟件調(diào)試中被發(fā)現(xiàn)的和糾正的,但通常是先排除明顯的硬件故障以后,再和軟件結(jié)合起來調(diào)試以進一步排除故障。編寫的軟件程序需要進行編譯,沒有錯誤的話, 把可執(zhí)行文件寫入單片機,進行調(diào)試,才能保證硬件和軟件都正確,進而 使系統(tǒng)正常運行 。 編譯程序 , 選用的是 keil 的編譯環(huán)境, keil C 編譯器是為單片機 8051 微控制器的軟件開發(fā)提供的 C 語言環(huán)境編譯,同時還保留了匯編代碼高效、快速的特點,方便使用。在 keil 編譯器中為目標文件“新建工程” ,之后會讓用戶選擇使用的單片機型號, 選擇的是 Atmel 的 AT89C51;然后為目標文件設(shè)置 屬性,把晶振改為 使用的 12MHZ,同時要產(chǎn)生 .hex 文件;然后新建文件,寫進 程序,并同時以后綴為 .c 保存,添加這個文件到工程;keil 工作的界面如圖 51 所示: 圖 51 keil 編譯器的工作界面 基于單片機的超聲波測距裝置 27 最后點擊頁面左 上角的編譯按鈕,就會出現(xiàn)編譯結(jié)果,編譯的結(jié)果就是為了產(chǎn)生 .hex文件,以便 用燒寫器寫 進單片機 中。編譯成功的結(jié)果如圖 52 所示: 圖 52 編譯結(jié)果圖 選用 superpro 的燒寫器燒寫程序, 燒寫程序 步驟如下: 1. 如上 所述 進行編譯,程序編譯之后生成 .hex 文件。 2. 建立編程 器和 PC 機正確連接,將 AT89C51 的單片機放入編程器的插座中。顯示結(jié)果如圖 53 所示: 3. 通過“器件”選擇器件型號,然后點擊“文件”→裝入文件→選擇文件即 →打開 文件。 4. 在寫入 程序前需要對單片機芯片進行擦除,點擊“ Erase”進行擦除,擦除完畢后→點擊“ Program”進行寫入,燒寫完成后→點擊“ Verify”進行驗證,成功寫入后將單片機芯片從編程器的插座上取下,即可插入電路板上使用。 5. 電路板上電,如果顯示正常數(shù)據(jù),表明電路運行正確。 圖 53 SUPERPRO 編程器 洛陽師范學院 2020 屆本科生畢業(yè)設(shè)計 28 第 6 章 工作總結(jié)和展望 該設(shè)計的超聲波測距裝置,可以實現(xiàn)一定距離范圍內(nèi)的非直接接觸測距,以 AT89C51為核心,結(jié)合超聲波模塊和顯示模塊,最終可以測量 2cm— 450cm 的范圍之 內(nèi)的距離,設(shè)計了兩個按鍵,按下 key1 就開始測量距離,按下 key2 就停止測量距離,在這兩個按鍵的控制下可以實現(xiàn)測距的開和關(guān)。并且可以在顯示器件上直接顯示距離 L= CM,如果超出本次測量的最大量程,就在顯示器件上顯示“ error”的錯誤提示信息,此時就必須選擇離被測物體更近一些測量,或者按下 key2 鍵之后,停止測量距離。 本設(shè)計可以應(yīng)用在某些特殊的場合,如工業(yè)控制,液位檢測,特別是現(xiàn)在比較先進的機器人設(shè)計,要想實現(xiàn)機器人的行動自如,是必須要實時測量機器人距離周圍物體的距離,而液位檢測中,由于環(huán)境的不允許,不可 能實現(xiàn)人為的監(jiān)測液位,這些控制中都需要一個非直接接觸的超聲波測距裝置,用來實時監(jiān)測距離,而且這是一個較小模塊設(shè)計,可以與其他的大型設(shè)計兼容,只作為其他大型設(shè)計的測距部分,使用的當下比較流行和廣泛使用的單片機 AT89C51,可以很好的和其他設(shè)計兼容,因此應(yīng)用前景比較廣泛。 該設(shè)計在設(shè)計和實現(xiàn)過程中遇到了很多的困難和難以解決的問題,比如單片機模塊、超聲波模塊和顯示模塊的同步問題,還有 1602 的顯示問題等,但是遇到問題,通過到圖書館借閱相關(guān)書籍、到電子閱覽室查閱資料、向老師同學請教以及到網(wǎng)上查閱相關(guān)資料等各種途徑 ,這些問題都得到了很好的解決。對自身來說,不僅在查閱資料的同時擴大了視野增長了見識,更重要的是學到了更多的知識,而且在眾多的難題面前百折不撓,鍛煉了意志力。總體來說,收獲了太多的東西,懂得了設(shè)計的艱辛與不易,更提高了自己各個方面的解決問題的能力和人際交往辦事能力。 但是由于時間及實驗的可行性等原因,本設(shè)計還存在很多沒有實現(xiàn)的功能和很多的缺點: 1. 本設(shè)計的精確度還不夠高,可以實現(xiàn)的測量量程還不夠大。 2. 設(shè)計的過程中沒有考慮超聲波模塊的溫度補償及錯誤報警等設(shè)計。 總之,要繼續(xù)努力的改進與添加設(shè)計,以實現(xiàn) 更多更完善的功能,使設(shè)計可以符合更多人、更多場合的使用。 基于單片機的超聲波測距裝置 29 參考文獻 [1] 張毅剛等 .單片機原理及接口技術(shù) [M].人民郵電出版社, 2020 [2] 周明德 .單片機原理與技術(shù) [M].人民郵電出版社, 2020 [3] 賴麒文 .8051 單片機 C 語言徹底應(yīng)用 [M].科學出版社, 2020 [4] 張濤等 .快學易用 Protel 99[M].北京郵電出版社, 2020 [5] 譚浩強 .C 語言程序設(shè)計 [M].清華大學出版社, 2020 [6] 張謙琳 .超聲波檢測原理和方法 [M].中國科技大學出版社, 1993 [7] 戴先中 .微機硬件應(yīng)用實踐 — 原理與接口 [M].東南大學出版社, 1999 [8] 夏繼強 .單片機實驗與實踐教程 [M].北京航空航天大學出版社, 2020 [9] 李廣第 .單片機基礎(chǔ) [M].北京航空航天大學出版社, 1999 [10] 彭為 .單片機典型系統(tǒng)設(shè)計實例精講 [M].電子工業(yè)出版社, 2020 [11] 王東峰 .單片機 C 語言應(yīng)用 100 例 [M].電子工業(yè)出版社, 2020 [12] 鐘富昭 .8051 單片機典型模塊設(shè) 計與應(yīng)用 [M].人民郵電出版社, 2020 [13] 馬忠梅 .單 片機 C 語言應(yīng)用程 序設(shè)計 [M].北京航空航天大學出版社, 2020 [14] 李東升 .protel 99SE 電路設(shè) 計教程 [M].電子工業(yè)出版社, 2020 [15] 超聲波模塊 HYSRF05 使用手冊說明書 洛陽師范學院 2020 屆本科生畢業(yè)設(shè)計 30 致 謝 從選題到開題報告、撰寫論文等整個畢業(yè)設(shè) 計中,首先感謝 老師對我的指導(dǎo)和幫助,指導(dǎo)確定畢業(yè)設(shè)計的步驟;在設(shè)計過程中,不厭其煩的找我了解進度并且指出設(shè)計的缺點和不足,督促我的設(shè)計完成。從老師身上我學到了很多東西,比如作為老師對待學術(shù)知識的嚴謹態(tài)度和對待學生的不厭其煩的諄諄教誨,這些都在潛移默化中影響了我,對于我以后走上教師的工作崗 位的工作也有很大的幫助,使我受益匪淺。 此外,在整個設(shè)計的過程中,還要感謝周圍同學對我的幫助,幫助我解決了很多設(shè)計中的難題和給我解答了很多的疑問,在此對大家一并表示感謝,謝謝大家對我的無私幫助。 基于單片機的超聲波測距裝置 31 附件 系統(tǒng)的程序代碼如下: include typedef unsigned char uchar。 typedef unsigned int uint。 sbit tring=P1^0。 sbit echo=P1^2。 sbit lcden=P3^4。 sbit lcdrs=P3^5。 sbit lcdwr=P3^6。 sbit key1=P1^1。//開測距 sbi
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1