




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、唐 山 學 院畢 業 設 計設計題目:超聲測距單片機控制系統設計機電工程系09測控1班 系 別:_ 班 級:_姓 名:_指 導 教 師:_2013年5月30 日超聲測距單片機控制系統設計摘要隨著社會經濟的發展交通運輸業日益興旺,汽車的數量大幅攀升,交通事故頻發,針對這種情況,設計一種響應快,可靠性高且較為經濟的汽車防撞預警系統勢在必行,超聲波測距法是最常見的一種距離測距方法,本文介紹的就是利用超聲波測距法設計的一種倒車防撞報警系統??刂葡到y核心部分就是超聲波測距儀和語音播報模塊。本次設計所采用的單片機是STC89C52,它的CPU是8位的,具有體積小,精度高,價格便宜的優點。超聲測距模塊采用的
2、是HC_SR04,語音播報模塊采用的是ISD1820。整個電路采用模塊化設計,由主程序模塊,顯示模塊,語音播報模塊,超聲波測距模塊,延時模塊等組成。由單片機提供10us以上的TTL電平觸發超聲波測距模塊,由單片機計算超聲波從發射到接收的時間差,從而計算出距離值,根據單片機設定的報警范圍決定是顯示距離還是進行相應的語音播報。最后通過硬件和軟件設計實現了各個模塊的功能。相關部分附有硬件電路圖、程序流程圖。最終結果表明,此設計能很好地完成汽車倒車預警的任務,并能正常顯示距離和進行相應的語音提示,能較好地運用到實際生活當中。關鍵詞:超聲波傳感器;單片機;安全預警系統 唐 山 學 院 畢 業 設 計De
3、sign of Ultrasonic Range Control System based on Single-chip Microcomputer AbstractAs social and economic development of the transport industry booming, the number of cars rose sharply,and frequent traffic accidents happened.For this situation, designing a fast response, high reliability and more ec
4、onomical vehicle collision avoidance warning system is imperative , ultrasonic ranging method is the most common form of distance ranging method. The thesis designs a reversing collision alarm system based on an ultrasonic distance measurement method. Control system consists of the ultrasonic range
5、finder and voice broadcast module.Micro-controller STC89C52 is used in the design , it is an 8-bit CPU, with small size, high accuracy, low price advantages. Ultrasonic Ranging Module uses HC_SR04 and voice broadcast module uses ISD1820. The entire circuit is modular in design, containing the main p
6、rogram module, display module, voice broadcast module, ultrasonic ranging module, the delay module and other components. The micro-controller provides more than 10us TTL level to trigger ultrasonic ranging module.The time difference from the transmitter to the receiver is calculated by the micro-con
7、troller and then micro-controller calculates the distance value. Whether display or voice broadcast is according to alarm range set by the chip. Finally,we achieve the function of each module by the design of hardware and software.The relevant part is accompanied by the hardware circuit and program
8、flowchart.Final results show that this design can well accomplish the task of vehicle reversing warning, and can properly display the distance.The design can be well applied to real life with achieving the corresponding voice prompts.Key Word: ultrasonic sensor; single-chip microcomputer; safety ear
9、ly warning system 目錄1 緒論11.1論文研究目的及意義11.2國內外研究發展情況11.3論文研究內容32 控制系統主要硬件的介紹42.1單片機STC89C52選型42.1.1 STC89C52簡介42.1.2 STC89C52引腳介紹52.2 超聲波測距模塊選型72.2.1 HC-SR04介紹72.2.2 超聲測距模塊構成102.3顯示器件的選型112.3.1數碼管的選型122.4 ISD1820語音芯片介紹14 2.4.1管腳排列圖14 2.4.2 芯片錄音時間介紹142.4.3 實物圖及使用說明153 硬件電路設計173.1單片機最小系統設計173.2超聲波測距顯示電路
10、系統設計183.3 超聲波系統設計193.4 語音系統設計204 系統軟件部分設計214.1 預警系統主體部分流程圖214.2主程序及啟動超聲測距部分234.2.1 主程序的初始化234.2.2 啟動超聲測距模塊及調用計算244.3 延時子程序244.4 數碼管掃描顯示程序244.5 中斷子程序254.5.1 定時器T0計數溢出程序設計254.5.2 定時器T1中斷掃描和啟動模塊254.6 距離計算和語音報警子程序265 實物性能測試285.1 單片機測試285.2 程序調試286 編程和下載軟件的介紹296.1 Keil的簡介296.2 Altium Designer 9.0的簡介366.3
11、 STC_ISP_V480的簡介407 結論42謝辭43參考文獻43附錄1 源程序45附錄2 電氣原理圖481 緒論1.1論文研究目的及意義汽車倒車系統即俗稱的倒車雷達,是輔助泊車裝置。在各種汽車倒車的時候,通過超聲測距的原理,當遇到障礙物的時候,能反射相應的信號,根據單片機內部設定的程序,計算出相應的距離,并進行相應的語音提示【1】。在日常的生活中,我們經常能看到小汽車的各種磕磕碰碰的事情發生,安全距離控制不當甚至有可能產生非常嚴重的后果,所以開發一種語音報警的汽車防撞預警系統勢在必行,也是此次設計的主要努力方向,希望自己的產品有一天能真正應用到生活實際,造福全社會。無論是在施工的工地上,還
12、是在日常的停車場中,司機經常能聽到各種相應的提示聲音,比如,很快就到了,再倒一點,就差一點,從而對司機進行相應的指導,使司機師傅能正常的停在所在的位置,不至于造成不必要的損害。隨著社會的發展,有車一族的發展勢不可擋,尤其現在的女司機也是越來越多,由于女性開車本來就小心翼翼,而且駕車技術相比于男性還是有一定的差距,并且出于對婦女權益的保護,本設計還具有一定的人文情懷,從此出發點考慮,無論是在小汽車,還是在大客車,以至于在軍事用途上都可以得到相應的應用和發展。有需求,就有市場,就可以大規模的生產,所以此次研究具有一定的探索意義,對以后倒車雷達的發展具有開創性的意義,但本次設計只是從簡單的設計角度出
13、發,很多器件的選擇不夠精確,發展還有很多前景可挖掘。相信本設計在以后的實際生活中將會發生舉足輕重的作用,對社會交通安全發展也將有開創性的意義,對于日益頻發的交通事故有一定的抑制作用。系統電路主要采用集成器件構成,調試方便、外圍元件少,成本低、電路簡潔,利于商品化生產。 1.2國內外研究發展情況倒車雷達,是汽車停車的時候一種輔助泊車裝置,由探頭、控制芯片和顯示器件(或蜂鳴器)等部分組成。它能以語音提示告知駕車者周邊被測物的情況,消除了駕車者開車、停車的時候所引起的不便,改善駕駛的安全性能。現在市面上的倒車雷達大多采用超聲波測距原理,駕駛者在倒車時,將汽車的擋位推到R擋,啟動倒車雷達,在控制芯片的
14、作用下,由裝置于車尾保險杠上的探頭發送超聲波,遇到障礙物后,產生向回傳的一個信號,傳感器接收到此信號后經控制器進行數據處理,近而計算出車與被測物體之間的距離,判斷此物的位置,再由顯示器顯示距離并發出相應的語音提示,從而使駕駛者倒車時不至于撞上障礙物。整個過程,駕駛者無須回頭便可知車后的情況,使停車和倒車更容易、更安全。 超聲的研究和發展,與媒質中超聲波的產生以及接收的研究有著密切的關系。1883年Galton首次制成了超聲氣哨,其基本原理是經壓縮的氣體通過一次狹縫噴嘴就會形成氣流,圓形刀口由于氣流的振動形成共振腔,就會產生超聲波。自此之后,各種各樣的汽笛和液哨等機械型超聲換能器開始陸續出現。這
15、類換能器成本比較低,所以經過不斷改進,至今仍在超聲處理技術中廣泛應用。由于超聲波的速度相對于光速要小的多,其傳播時間就比較容易檢測,并且易于定向發射,方向性好,強度好控制,因而人類采用仿真技能利用超聲波測距。超聲波測距是一種利用聲波特性,電子計數,光電開關相結合來實現非接觸式距離測量的方法,它在很多距離探測應用中有很重要的用途,包括非損害測量,過程檢測,機器人檢測和定位以及流體液面高度測量等。在未來的發展中,超聲波傳感器作為一種新型的非常重要的工具在各方面都將有很大的發展空間,它將朝著更加高定位高精度多功能的方向發展,以滿足日益發展的社會需求,如聲納的發展趨勢基本為:研制具有更高定位精度的被動
16、測距聲納,以滿足水中武器實施全隱蔽攻擊的需要;繼續發展采用低頻線譜檢測的潛艇拖曳線列陣聲納,實現超遠程的被動探測和識別;研制更適合于淺海工作的潛艇聲納,特別是解決淺海水中目標識別問題;大力降低潛艇自噪聲,改善潛艇聲納的工作環境。無庸置疑,未來的超聲波傳感器將與自動化智能化接軌,與其他的傳感器集成和融合,形成多傳感器。隨著傳感器的技術進步,傳感器將從具有單純判斷功能發展到具有學習功能,最終發展到具有創造力。在新的世紀里,面貌一新的傳感器將發揮更大的作用。超聲波傳感器是本倒車雷達的核心部分,對倒車雷達預警系統的研究發展具有決定性的意義。目前市場上倒車雷達品牌多達二十幾種,價格從上百元到一兩千元不等
17、,選購倒車雷達可以從如下方面考慮:功能、性能、外觀、質量、安裝、價格等。1.3論文研究內容 在本次倒車雷達的預警系統的研究工作中,核心部分是超聲波測距系統、語音播報系統,另外自己添加溫度檢測系統,主要是考慮到人們出行,或是在車內休息時候經常關住溫度變化。另外自己選擇的語音模塊還可以進行任意錄音和播放,可以循環播放,點動播放等,還可以外接功率更大的喇叭,選擇直通模式,直接進行喊話功能,用于提示車外的行人,可以像警察那樣喊話,給有個性的年輕人一個張揚個性的機會。本文主要的工作有以下幾個方面:(1)緒論部分主要闡述論文研究的目的和意義,國內外倒車雷達預警系統的發展情況,使讀者對所研究的問題有初步的認
18、識,更好的理解本文做好鋪墊工作。(2)控制系統主要硬件的介紹,相當于介紹一個系統的主要外殼是如何構建的,主要包括單片機的選型以及STC89C52單片機的介紹,超聲波測距模塊HC_SR04的尺寸和性能的介紹,語音播報模塊 ISD1820的使用方法和功能的介紹,外加溫度傳感器DS18B20,用于測量車內溫度,給車主更人性化的提示。另外,還有四位一體數碼管的引腳和使用情況的介紹,對顯示系統有詳細介紹,讓使用者更加了解其相應的功能。(3)系統軟件部分介紹,主要包括使用到的軟件工具和編程思路的簡單介紹,對使用的畫圖軟件AD9、編程調試軟件KEIL、程序下載軟件STC_ISP的簡單介紹。(4)對本次設計進
19、行總結,對所有給予過幫助的老師同學致謝。2 控制系統主要硬件的介紹 本次硬件電路的設計采用模塊化設計思想,主要是由于在初次采用分立元件進行焊接的時候,最終沒能完成自己設想的功能,在仔細分析各方面問題之后,還是沒能找出問題的癥結,后來自己進行第二次嘗試采用模塊化的設計思想后,一次成功,所以最終自己設計出來的產品是各種模塊的組合,同時也為后面的軟件提供了方便,不用把各個部分全部編譯,只需要主驅動程序即可。下面首先介紹自己各種硬件芯片的選型問題,有些選型是在實際中經常用到的,在此不再贅述,只是介紹主要的硬件。2.1單片機STC89C52選型2.1.1 STC89C52簡介雖然STC89C52與AT8
20、9C52是兼容的,但是后者已經停產,并且前者價格便宜,適合學生使用,穩定性及可操作性都比后者要好,所以選擇后者,而且后者是在市場上比較流行的一種再用的芯片。STC89C52是STC公司生產的一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統可編程Flash存儲器。STC89C52使用經典的MCS-51內核,但做了很多的改進使得芯片具有傳統51單片機不具備的功能。在單芯片上,擁有靈巧的8 位CPU 和在系統可編程Flash,使得STC89C52為眾多嵌入式控制應用系統提供高靈活、超有效的解決方案。 具有以下標準功能: 8k字節Flash,512字節RAM, 32 位I/O 口線,看門狗定
21、時器,內置4KB EEPROM,MAX810復位電路,3個16 位定時器/計數器,4個外部中斷,一個7向量4級中斷結構(兼容傳統51的5向量2級中斷結構),全雙工串行口。另外 STC89C52 可降至0Hz 靜態邏輯操作,支持2種軟件可選擇節電模式??臻e模式下,CPU 停止工作,允許RAM、定時器/計數器、串口、中斷繼續工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。最高運作頻率35MHz,6T/12T可選。 其PDIP封裝如圖2-1。圖2-1 STC89C52 PDIP封裝圖2.1.2 STC89C52引腳介紹管腳說明:VCC:供電電壓
22、。GND:接地。I/O口引腳: P0口:8位漏極開路的雙向I/O口。P0口作為地址總線(低8位)以及數據總線的分時復用端口。P0口也可以作為通用的I/O口使用,但需加上拉電阻,P0口可以驅動8個LS型TTL負載。這次設計中用P0口作為數碼管段碼的發送端。 P1口是一個帶內部上拉電阻的8位雙向I/O 口。P1口的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。 P2口是一個帶有內部上拉電阻的8位雙向I/O 口,P2口的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。在本次設計當中利用P2.2-P2.5口四個端口作為四個數碼管的位選信號發射端。 P3口是一組帶有內部上拉電阻的8位雙
23、向I/O口。P3口輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。P3.2口作為報警上下限值調整信號產生中斷的端口。P3口也可作為AT89C51的一些特殊功能口。管腳備選功能如下:P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(記時器0外部輸入)P3.5 T1(記時器1外部輸入)P3.6 /WR(外部數據存儲器寫選通)P3.7 /RD(外部數據存儲器讀選通)P3口同時為閃爍編程和編程校驗接收一些控制信號。RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/P
24、ROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態ALE禁止,置位無效。PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數據
25、存儲器時,這兩次有效的/PSEN信號將不出現。EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。2.2 超聲波測距模塊選型2.2.1 HC-SR04介紹 HC-SR04超聲波測距模塊可提供2cm-400cm的非接觸式距離感測功能,測距精度可達高到3mm;模塊包括超聲波發射器、接收器與控制
26、電路?;竟ぷ髟恚撼暡y距模塊HC-SR04可以提供2cm-400cm的非接觸式距離感測功能,測量精度可達高3mm;模塊包括超聲波發射器、接收器與控制電路?;竟ぷ髟?1) 給trig口最少10us的高電平,用于觸發測距,。(2)觸發模塊后自動發送8個40khz的方波,自動檢測信號是否返回。(3)當有信號返回時,IO口ECHO就會輸出一個高電平,當超聲波返回后,ECHO由高電平變為低電平,超聲波從發射到返回的時間就是ECHO高電平持續的時間。測試距離=(ECHO保持高電平時間*聲速(350m/s)/2。超聲波電氣參數電氣參數HC-SR04超聲波模塊工作電壓DC5V工作電流15mA工作頻率
27、40kHz最遠射程4m最近射程2cm測量角度15度輸入觸發信號10uS的TTL脈沖輸出回響信號輸出TTL電平信號,與射程規格尺寸45*20*15mm超聲波時序圖如圖2-2。圖2-2 超聲波時序圖以上時序圖表明你只需要提供一個10uS 以上脈沖觸發信號,該模塊內部將 發出8個40kHz周期電平并檢測回波。一旦檢測到有回波信號則輸出回響信號。 回響信號的脈沖寬度與所測的距離成正比。由此通過發射信號到收到的回響信號 時間間隔可以計算得到距離。公式:距離= 高電平時間*聲速(340M/S)/2;建議測量周期為60ms以上,以防止發射信號對 回響信號的影響。HC_SR04實物圖2-3。圖2-3 HC_S
28、R04實物圖HC_SR04實物規格如圖2-4。圖2-4 HC_SR04實物規格圖2.2.2 超聲測距模塊構成其中主要芯片有TL074、MAX232,EM78P153。(1)MAX232介紹 該產品是由德州儀器公司(TI)推出的一款兼容RS232標準的芯片。由于電腦串口rs232電平是-10v10v,而一般的單片機應用系統的信號電壓是TTL電平05v,max232就是用來進行電平轉換的,該器件包含2驅動器、2接收器和一個電壓發生器電路提供TIA/EIA-232-F電平。該器件符合TIA/EIA-232-F標準,每一個接收器將TIA/EIA-232-F電平轉換成5-V TTL/CMOS電平。每一個
29、發送器將TTL/CMOS電平轉換成TIA/EIA-232-F電平。主要特點 1、5V電源工作。2、LinBiCMOSTM工藝技術(這種工藝特地發展來允許高速數字邏輯電路和精密模擬電路被集)。3、兩個驅動器及兩個接收器4、±30V輸入電平5、低電源電流:典型值是8mA(2)EM78153介紹 1、概括介紹 EM78P153是采用CMOS工藝制造的8位單片機。其內部有512*13位一次性ROM。因此,用戶可以方便的改進完善程序。程序代碼可用EMC編程器寫入芯片。有13位選項位可滿足用戶要求,其中的保護位用來防止程序被讀出。2、 功能特點 工作電壓范圍是2.0v-6.0v,工作溫度范圍是0
30、-70,工作頻率范圍是DC-8MHZ,低功耗,片內可按位編程,一個安全寄存器保護程序不被讀出,一個結構寄存器滿足用戶要求,2個雙向I/O口,5級堆棧,掉電模式,可編程自由運行的看門狗定時器,每個指令周期有兩個時鐘周期等功能。3.引腳分配 (3) TL074介紹 JFET輸入運算放大器TL07x系列TL08x系列相似,具有低輸入偏置和失調電流和快速壓擺率。低諧波失真和低噪聲使TL07x系列非常適合高保真音頻前置放大器應用。每個放大器采用JFET輸入(攀枝花鋼鐵集團高阻抗)加上集成在一個單芯片雙極性輸出級。C-后綴器件的特點是從0°C至70°C。 I-后綴器件的特點是從-40&
31、#176;C至85°C的操作,M - 后綴器件的特點是操作在整個軍用溫度范圍為-55°C至125°C。2.3顯示器件的選型考慮到使用成本和自己的功能需要采用四位一體的數碼管顯示,而未用1602,12864等LCD顯示,顯然后者顯示效果和功能更強大,但是出于練習而非商業化生產,沒必要使用精度和效果那么好的液晶顯示,下面簡單介紹四位一體數碼管的使用。2.3.1數碼管的選型led數碼管(LED Segment Displays)是由多個發光二極管封裝在一起組成“8”字型的器件,引線已在內部連接完成,只需引出它們的各個筆劃,公共電極。led數碼管常用段數一般為7段有的另加
32、一個小數點,還有一種是類似于3位“+1”型。位數有半位,1,2,3,4,5,6,8,10位等等,led數碼管根據LED的接法不同分為共陰和共陽兩類,了解LED的這些特性,對編程是很重要的,因為不同類型的數碼管,除了它們的硬件電路有差異外,編程方法也是不同的。圖2.3是共陰和共陽極數碼管的引腳圖,它們的發光原理是一樣的,只是它們的電源極性不同而已。顏色有紅,綠,藍,黃等幾種。led數碼管廣泛用于儀表,時鐘,車站,家電等場合。選用時要注意產品尺寸顏色,功耗,亮度,波長等。下面將介紹常用LED數碼管內部引腳圖片10引腳的LED數碼管。圖2-6為常用的LED 圖2-5 LED數碼管引腳圖 圖2-6常用
33、LED數碼管 圖2-5每一筆劃都是對應一個字母表示DP是小數點. LED數碼管要正常顯示,就要用驅動電路來驅動數碼管的各個段碼,從而顯示出我們要的數位,因此根據LED數碼管的驅動方式的不同,可以分為靜態式和動態式兩類。 在開始的選型過程中,既考慮到用液晶1602顯示,也考慮到四位一體的數碼管,最后結合本設計的顯示需要和成本的問題,還有編程的難易程度,最后綜合選定了四位一體的數碼管。1602液晶顯示,雖然顯示效果比較好,而且功能比較強大,但是編程相應的復雜些,且出于顯示功能的需要,主要用四位一體的數碼管即可滿足要求,故綜合各種考慮,最后選擇四位一體的數碼管。相應的功能介紹在此不再贅述,主要是由于
34、平常數碼管使用比較頻繁,大多數人對其功能比較了解,編程也比較簡單,主要注意分清共陰極,共陽極即可。2.4 ISD1820語音芯片介紹2.4.1管腳排列圖圖2-10 ISD1820管腳排列圖2.4.2 芯片錄音時間介紹 Rosc 80KO 100KO 120KO 160KO 200KO 錄放時間 8 秒 10 秒 12 秒 16 秒 20 秒 采樣頻率 8.0 KHZ 6.4 KHZ 5.3 KHZ 4.0 KHZ 3.2 KHZ 典型帶寬 3.4 KHZ 2.6 KHZ 2.3 KHZ 1.7 KHZ 1.3 KHZ2.4.3 實物圖及使用說明供電:3-5V,可以在排針或DC座上供電,DC座是
35、內正外負;錄放音控制方式:按鍵控制或單片機,板上的控制擴展口就是給單片機專用的;按鍵控制錄放音操作方法:REC鍵:錄音按鍵,按住就能錄音,松開按鍵停止錄音;RLAYE鍵:觸發模式放音,按一下就播放當前整段的語音;PLAYL鍵:點動模式放音,按住才放音,松開就停止放音;RPL撥動開關:循環播放模式控制,位于0N端就循環播放;FT撥動開關:直通模塊控制,位于ON端咪頭語音就直通到喇叭;喇叭接法:本模塊有2個喇叭接口,SP1和SP2,SP1是芯片直接輸出的音頻,SP2是經過LM386放大的語音。SP2的音量是通過板上的蘭白可調電位器來調節。如上圖放置,順時針旋轉為增加音量。在喇叭的直通模式下,可以直
36、接由麥克風實現相應的系統喊話功能,充分挖掘產品的性能,可以使更模塊的利用達到最大化,如果應用到生產的話,也可相應實現利益的最大化。另外語音模塊還具有循環播放,點動播放兩種方式,可以相應的應用到不同的場合,生產出相應的產品,是不同功能得到不同的開發和利用。另外在本次的設計應用中,還可以把SP2接功率更大喇叭,利用蘭白旋鈕調節電位器的阻值,實現音量的調節,在不同的場合可以靈活調節音量,使使用性能達到最優化。SP1處接相應配套的小喇叭,在較小的空間范圍內,即可滿足相應的語音提示作用,對于本設計中的倒車雷達預警系統,使用較小功率的喇叭即可滿足相應的功能,故在后面的設計中,只接了個小喇叭。3 硬件電路設
37、計 本部分介紹系統的硬件電路設計,包括單片機最小系統,超聲波傳感器采集電路,距離顯示電路,測溫電路以及語音播報電路設計。3.1單片機最小系統設計 最小系統是指能進行正常工作的最簡單電路。STC89C52最小應用系統電路如圖3-1所示。它包含五個電路部分:供電電路、時鐘復位電路、片內外程序存儲器選擇電路、輸入/輸出接口電路。其中電源電路、時鐘復位電路是保證單片機系統能夠正常工作的最基本的三部分電路,缺一不可。圖3-1 單片機最小系統下面簡單介紹下單片機最小系統的三個主要部分:電源電路 芯片引腳VCC一般接上直流穩壓電源+5V,引腳GND接電源+5V的負極,電源電壓范圍在45.5之間,可保證單片機
38、系統能正常工作。為了確定單片機是否供上電,在VCC和地之間連接了一個發光二極管和1K的電阻。時鐘電路 單片機引腳18和引腳19外接晶振及電容, STC89C52芯片的工作頻率可在233MHz范圍之間選,單片機工作頻率取決于晶振XT的頻率,通常選用11.0592MHz晶振。兩個小電容通常取值30pF,以保證振蕩器電路的穩定性及快速性。復位電路單片機復位功能和電腦的重啟功能很相似,電腦在使用過程中如果出現死機,在按下重啟按鈕后,電腦內部的程序會從頭重新執行。單片機也類似,當單片機系統在運行中,受到外部環境干擾而出現程序執行錯誤的時候,按下復位按鈕,單片機內部的程序就會從頭重新開始執行。復位電路的工
39、作原理:單片機的RST端接復位電路,高電平有效,當加在此引腳上的持續時間大于單片機的2個機器周期(24個時鐘周期)時,就可以完成復位操作。 上電自動復位是通過外部復位電路的電容充電來實現的。在電路圖中,電容的的大小是10uF,電阻的大小是10k。所以根據公式,可以算出電容充電達到電源電壓的0.7倍(單片機的電源是5V,所以充電到電源的0.7倍即為3.5V),需要的時間為10000*10UF=0.1S。所以當電源接通時,只要Vcc的上升時間不超過0.1s,就可以實現自動上電。但是一般情況下,為了獲得更安全,更方便的復位時就采用按鍵復位形式的復位電路,按鍵復位電路如圖3-5。當電源接通時,電容充電
40、從而實現上電復位。當運行出現故障時,按下按鈕,開關導通,這個時候電容兩端形成了一個回路,電容被短路,所以在按鍵按下的這個過程中,電容開始釋放之前充的電量。隨著時間的推移,電容的電壓在0.1S內,從5V釋放到變為了1.5V,甚至更小。根據串聯電路電壓為各處之和,這個時候10K電阻兩端的電壓為3.5V,甚至更大,所以RST引腳又接收到高電平。單片機系統自動復位。松開以后又回到低電平,從而能更簡單地完成對單片機的復位操作。其中C3的電容起到消除抖動的作用。3.2超聲波測距顯示電路系統設計圖3-2 數碼管顯示電路系統本設計采用了四位共陽極數碼管作為顯示的器件,6,8,9,12引腳是數碼管的位選信號端,
41、1,2,3,4,5,7,10,11控制數碼管的位選,四位數碼管分別用一個S9015三極管進行驅動。數碼管的顯示雖然不是特別高級,看起來已經有些落伍,但是考慮到經濟成本的問題,還是選擇了比較經濟實惠的數碼管,而沒有選用1602,相信在以后的學習生活中,我會嘗試使用類似1602,12864等更高級的顯示設備,此次設計只是簡單的嘗試,所以綜合考慮選用四位一體的數碼管顯示。3.3 超聲波系統設計圖3-3 超聲波測距電路系統本產品使用方法:一個控制口發一個10uS以上的高電平,就可以在接收口等待高電平輸出.一有輸出就可以開定時器計時,當此口變為低電平時就可以讀定時器的值,此時就為此次測距的時間。再由單片
42、機內部設定的公式進行相應的計算即可得到相應的結果。3.4 語音系統設計圖3-4 語音電路系統通過控制PLAYE引腳就可以控制模塊的錄音與放音。而且可以任意進行錄音與播放,隨心情設計自己喜歡的提示語,達到一種人性化設計的效果,并且語音模塊可以單獨的使用,SP2 外接功率較大的喇叭,還可以單獨的使用,進行相應的喊話操作,即使不用下車也可以方便提醒車前后方的行人,保證行人的人身安全,也是自己避免發生不應該的磕磕碰碰,達到一種安全雙保險的功效。4 系統軟件部分設計 汽車倒車雷達預警系統中,主要包括驅動的主程序及啟動超聲測距模塊子程序,延時子程序,數碼管掃描顯示子程序,中斷子程序,計算距離和語音報警子程
43、序,溫度測試子程序。本次軟件開發是基于Windows平臺下開發的,主要通過C語言為主要編程語言,使用的軟件是Keil編程軟件,Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發系統,與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。電路的繪制使用AD9.0軟件進行設計。Altium Designer包含所有設計任務所需的工具:原理圖和HDL設計輸入、電路仿真、信號完整性分析、PCB設計、基于FPGA的嵌入式系統設計和開發。另外可對Altium Designer工作環境加以定制,以滿足用戶的各種不同需求。主要的燒錄器使用ST
44、C的USB轉串口燒錄器STC_ISP_V480。STC_ISP_V4.80是由STC公司研發,可以向STC89C51、STC89C52等系列單片機內燒寫程序??梢栽O置波特率,串口等參數。同時STC_ISP_V4.80還可以作為串口調試工具,用于串口收發數據的調試軟件。4.1 預警系統主體部分流程圖根據硬件電路圖,綜合自己的設計思路,先畫出程序流程圖,再根據流程圖編好程序,經過整理后最后形成最終的程序。 由于本次系統設計采用模塊化設計,譬如超聲測距模塊和語音播報模塊本身內部的芯片都有燒好的程序,只需要主控機對各個模塊進行相應的觸發即可正常工作,所以編程總體來講比較容易實現,這也是本次模塊化設計的
45、一個出發點,下面主要對主控程序進行詳細的研究分析,研究怎樣用程序把各個模塊聯系在一起的。根據要求繪制的本設計的流程圖如圖4-1所示。4-1 程序流程圖4.2主程序及啟動超聲測距部分4.2.1 主程序的初始化在主程序當中首先要對系統環境初始化。STC89C52單片機的定時器/計數器工作方式寄存器TMOD用于選擇定時器的工作模式和工作方式,字節地址為89H,不能位尋址。其格式如圖4-2。圖4-2 TMOD工作方式寄存器其中,GATE為門控位。當GATE=0時,僅用運行控制位來控制定時器/計數器計數;當GATE=1時,用外部中斷引腳上的高電平與運行控制位共同控制。M1、M0來共同控制定時器的四種工作
46、方式。為計數模式和定時模式選擇位。在這里設置定時器T0和T1工作模式都為方式1。方式1為16位計數器,由THx高8位和TLx低8位構成(x=0,1)。定時器T0由0開始計數,由P3.2口中斷停止,用于超聲波測距計時。定時器T1被用來開啟一次測距過程以它的溢出為標志開始一個發射測量循環。根據設計量程,當超聲波測距超過700cm仍檢測不到反射信號時,視為超出測量距離,便開始重新發出超聲波。設超聲波的傳輸速度為340m/s,則傳輸700cm所用的時間為0.02s。則定時器T1的初始值根據 (65536-x)/1000000=0.02計算得出x=63536,轉換成十六進制數為f830。系統初始化程序為
47、:TMOD=0x11; /設定時器0為計數,設定時器1定時 ET0=1; /定時器0中斷允許 ET1=1; /定時器1中斷允許 TH0=0x00; TL0=0x00; TH1=0xf8; TL1=0x30;ET0=1; /允許T0中斷ET1=1; /允許T1中斷TR1=1; /開啟定時器EA=1; /開啟總中斷4.2.2 啟動超聲測距模塊及調用計算當單片機初始化程序結束后,開始啟動超聲測距模塊,當模塊引腳RX為低電平時等待,開啟模塊的同時即啟動定時器,當RX接收到高電平時,關閉內部計數器調用計算距離函數。while(1) while(!RX); /當RX(接收端)為零時等待 TR0=1; /開
48、啟計數 while(RX);/當RX為1計數并等待 TR0=0;/關閉計數 Count(); /計算4.3 延時子程序由于單片機所用的時鐘頻率很高,使得單片機的時鐘周期很短。因此在各種編程當中,經常會遇到延時程序。由于單片機的時鐘周期比較準確,所以用軟件編程即可很好地實現精確的延時功能。延時函數程序為:void delay ms(int n) int m=120; while (n-) while (m-); 在此程序中,可以根據實際的延時需要任意設定n的值,達到精確的延時目的,延時方法比較靈活,可以采用多種方法,還可以用for語句嵌套函數等,在平常學習中還要多加總結和練習。4.4 數碼管掃描
49、顯示程序P0口作為四位一體數碼管顯示的段碼控制位,P2口作為數碼管位碼控制位,本設計中采用多層嵌套,是掃描程序簡單有效的執行,并且最高位沒有使用,整體顯示為整數,單位是厘米,當第三位掃描完之后,posit位重新置零,為下次掃描做好準備。 void Display(void) P0=discodedisbuffposit; P2=positonposit; If (+posit>=3) posit=0;4.5 中斷子程序4.5.1 定時器T0計數溢出程序設計 void zd0() interrupt 1 /T0中斷用來計數器溢出,超過測距范圍 flag=1;/中斷溢出標志 當超過超聲波測距
50、模塊所能測量的范圍后,中斷溢出標志位置1,數碼管顯示“- - -”,作為相應的提示。4.5.2 定時器T1中斷掃描和啟動模塊 void zd3() interrupt 3 /T1中斷用來掃描數碼管和計800MS啟動模塊 TH1=0xf8; TL1=0x30; /定時器1內部定時2ms Display(); timer+; /用于計數的標志,定義多長時間測距模塊被觸發一次 if(timer>=400) timer=0; TX=1; /800MS 啟動一次模塊 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _no
51、p_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); TX=0; 4.6 距離計算和語音報警子程序void Count(void) / time=TH0*256+TL0; /計算發射超聲波到接收的時差 TH0=0; TL0=0; /計算完距離之后,繼續清零為下次做準備 S=(time*1.7)/100; /算出來是CM if(S<=50) sp=0; delay_ms(1); sp=1; / 啟動語
52、音播報模塊 else; /語音模塊等待觸發命令 if(S>=700)|flag=1) /超出測量范圍顯示"-" flag=0; disbuff0=10; /"-" disbuff1=10; /"-" disbuff2=10; /"-" else /在正常測量范圍之內正常顯示 disbuff0=S%1000/100; disbuff1=S%1000%100/10; disbuff2=S%1000%10 %10; 計算距離的時候,首先計算出超聲波發出到接收的時間差,然后由設定的公式進行相應的計算得出距離值,當小于
53、設定的報警距離時候,觸發語音報警模塊,進行相應的語音提示,如果在設定的距離范圍值之內,則進行相應的顯示。5 實物性能測試5.1 單片機測試判斷單片機是否處于正常工作的狀態,就要判斷單片機電源,復位電路及時鐘電路是否正常工作有一個簡單的辦法,首先打開電源觀察led是否亮起,如果亮起證明有電供應。接下來,用萬用表檢測單片機的20和40腳之間的電壓是不是為5V,這兩項測試表明單片機已經正常供電。接下來檢查復位電路是否正常工作,將萬用表的紅色針放在9號引腳上,黑色針放在20腳上,檢測電壓為0V,按下復位按鍵,測到的電壓為5V,說明復位電路工作正常。5.2 程序調試調試程序是意見非常鍛煉人的工作,寫程序是需要一步步來的,有時是缺個符號,少個分號,有時是大小寫的問題,有時候甚至不知道是什么問題,導致程序編譯出現問題。有時,程序進行不下去,耽誤很長時間。但是,經過不斷的寫程序,改程序,最后終于通過了編譯。如圖5-1所示,為編譯成功后的KEIL編程的界面。圖5-1 編譯成功的界面6 編程和下載軟件的介紹 6.1 Keil的簡介下面介紹KEIL的編程使用方法:1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 你什么的樣子真美中考語文作文
- 稻谷加工與糧食產后處理設備選型指導考核試卷
- 印刷業發展趨勢與前瞻考核試卷
- 碳酸飲料行業產品銷售渠道研究考核試卷
- 竹纖維復合材料制備與應用考核試卷
- 檢驗醫學在慢性腎病監測中的重要性考核試卷
- 文化娛樂活動策劃與組織考核試卷
- 硅冶煉過程中的熱力學分析與優化考核試卷
- 水產加工品安全風險監測與預警機制構建考核試卷
- 紡織品紗線市場趨勢分析考核試卷
- 精神科患者首次風險評估單
- 家庭、私有制和國家的起源-課件
- 跨學科實踐活動6 調查家用燃料的變遷與合理使用課件九年級化學上冊(人教版2024)
- TDT1056-2019縣級國土調查生產成本定額
- 2024年中國抗靜電阻燃非金屬托輥市場調查研究報告
- 地理10分鐘微課教案模板
- 2024年高考真題-政治(福建卷) 含解析
- DB36T+757-2024香料用樟樹培育技術規程
- 酒店服務員合作協議書范文模板
- 血液透析室工作手冊目錄
- ISO14644國際標準(中文版)
評論
0/150
提交評論