加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

基于51單片機的汽車倒車防撞報警系統(tǒng)

09/14 08:53
935
服務支持:
技術(shù)交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗、收獲成長和認同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當前內(nèi)容為數(shù)字版權(quán)作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論
放大
實物圖
  • 方案介紹
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

引言

結(jié)合電控技術(shù)、電氣技術(shù)構(gòu)建起機電一體化控制體系,并逐漸形成了獨立的、完整的技術(shù)體系成為一門獨立的應用技術(shù)體系。對于汽車設(shè)計制造而言,汽車電子技術(shù)水平將直接影響整車性能,是汽車運行安全性、舒適性以及動力性能的決定性影響因素之一。電子控制這一先進技術(shù)的科學應用能夠顯著提升汽車發(fā)動機等相關(guān)電力電子系統(tǒng)的控制質(zhì)量,從而實現(xiàn)更加安全、穩(wěn)定、舒適的行車環(huán)境,為車輛良好運行提供充分有效的保障。

發(fā)展車倆防撞技術(shù),對于提高車倆智能化水平具有很大的積極意義。防撞技術(shù)的出現(xiàn)和發(fā)展不僅有效提升了汽車行駛的安全性,也為汽車工業(yè)智能化發(fā)展做出了巨大貢獻。為了降低碰撞風險提高汽車行駛安全水平,除駕駛?cè)艘曈X判斷之外,還需借助相關(guān)測距技術(shù)裝置對車身與其他物體之間的距離進行實時測定與反饋。以此克服駕駛員疲勞駕駛、行為失當導致的碰撞風險,同時也提高緊急狀態(tài)下駕駛員的應對水平。對于防撞技術(shù)而言,難點和重點環(huán)節(jié)在于車輛測距技術(shù)。

  1. ? 汽車倒車防撞測距報警系統(tǒng)方案設(shè)計
    1. 系統(tǒng)設(shè)計方案分析

倒車防撞測距報警系統(tǒng)的硬件設(shè)計部分主要由數(shù)據(jù)獲取和控制系統(tǒng)兩大部分組成。數(shù)據(jù)獲取部分需要完成對傳感器獲取的數(shù)據(jù)參數(shù)輸入到單片機中進行分析操作;控制系統(tǒng)部分則是單片機對獲取到的數(shù)據(jù)分析之后和相應的預設(shè)數(shù)據(jù)進行對比從而做出相應的控制操作。

1.1.1系統(tǒng)方案比較

方案一:基于激光特性的測距技術(shù)。該測距方法具體包含脈沖法、相位法等不同技術(shù)類型。脈沖測距法的研究基本技術(shù)原理是:由測距技術(shù)設(shè)備產(chǎn)生并發(fā)射出的激光,在目標物體上就會對激光產(chǎn)生輻射,所發(fā)射激光由測距技術(shù)設(shè)備中的接受模塊負責接受被。然后根據(jù)激光發(fā)射與接收之間的時間差對其傳播時間進行計算確定,然后結(jié)合激光傳播速度用速度時間位移方程對距離進行計算;相位法測距法的技術(shù)原理為:以無線頻帶頻率為基礎(chǔ)在激光發(fā)射之前對其幅度進行調(diào)制,然后對調(diào)制激光完成一次往返運動中所表現(xiàn)出的相位延遲進行測量計算,然后結(jié)合激光波長參數(shù)對相位延遲所對應的運動距離進行計算從而獲得所需測距結(jié)果。

方案二:基于超聲波特性的測距技術(shù)。該測距方法的技術(shù)原理為超聲波在介質(zhì)傳播過程中發(fā)生反射并返回發(fā)射點所需時間。然后結(jié)合超聲波的傳播速度借助時間速度距離公式對距離取值進行計算。該測距技術(shù)的原理與雷達測距技術(shù)無顯著區(qū)別。當超聲波由發(fā)射裝置發(fā)出之后,將以空氣為介質(zhì)進行傳播,在遭遇障礙物后即發(fā)生反射然后反射波被接收裝置接收。在此基礎(chǔ)上對超聲波發(fā)出時間、接收時間之間的差值進行計算,以便確定該傳播時間對應的距離。超聲波的優(yōu)勢在于方向性強、能量消耗較慢、有效距離大、穿透性強等,能夠充分保證測距精度。

從以上兩種方案,方案二靈活性、可靠性比較強,計算簡單,容易做到實時控制,故采用了方案二。

    1. 系統(tǒng)硬件結(jié)構(gòu)框圖

圖1-1是系統(tǒng)硬件結(jié)構(gòu)框圖,主要為STC89C52單片機最小系統(tǒng),LCD1602顯示器集成電路,HC-SR04超聲波測距模塊,蜂鳴器報警集成電路和按鍵電路。由圖1-1可確定其功能模塊的具體設(shè)計情況與邏輯關(guān)聯(lián)。

接入5V直流穩(wěn)壓電流,按動自鎖按鈕給硬件系統(tǒng)上電,首先由超聲波測距模塊測量距離,單片機將所測的距離數(shù)值處理之后顯示在LCD1602上。利用按鍵裝置調(diào)整報警距離上限,若測量距離小于預先設(shè)定值,蜂鳴器發(fā)聲報警、LED燈閃爍。

67baf38a71fa49ea957b3692325ae4b3.png圖1-1系統(tǒng)硬件的結(jié)構(gòu)框圖

  1. ? 系統(tǒng)硬件電路設(shè)計
    1. STC89C52單片機
      1. STC89C52模塊的設(shè)計

STC89C52R是STC公司生產(chǎn)的一款低功耗、高性能的新型CMOS8位微控制器,STC89C52是一種帶八K字節(jié)閃爍可編程可檫除只讀存儲器的極低工作電壓,高性能COMOS8的微處理器,俗稱單片機。該器件采用ATMEL搞密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。同時,在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案。

3bf5c2fb641644c1986785f39d9dee53.png

圖2-1 STC89C52引腳

對于該單片機而言,其8位I/O接口的數(shù)量為4個,對應功能分別如下:

(1)P0口:該數(shù)據(jù)接口支持數(shù)據(jù)雙向傳輸,是8 位漏極開路的雙向 I/O 口。在充當輸出端口時,每一位能夠分別滿足8個TTL邏輯電平的控制需求,因此能夠同時實現(xiàn)64個邏輯電平的控制功能。該接口在提供為“1”的特征值時,接口作高電壓使用的狀態(tài)。但當存取外部程序或數(shù)據(jù)存儲器時,P0口被作為低 8 位地址/數(shù)據(jù)復用。在此模式下,P0口有內(nèi)部的上拉電阻。在flash 編程時,P0口也能夠來接收指令字節(jié)。

(2)P1口:P1口是內(nèi)置了上拉電阻以及具體數(shù)據(jù)雙向交互功能的8位雙向 I/O口,能夠滿足4個TTL的驅(qū)動控制需求。該接口可以通過 “1” 的內(nèi)部上拉電阻將端口拉高,代表著高電平狀態(tài),其功能將表現(xiàn)為數(shù)據(jù)輸入。此外,P1.0 、P1.2 依次可以作定時器/計量器的外部計算入口(P1.0/T2)和觸發(fā)入口(P1.1/T2EX)。

(3)P2口:P1口是內(nèi)置上拉電阻并具體數(shù)據(jù)雙向交互功能的8位雙向 I/O口,能夠滿足4個TTL的驅(qū)動需求。該端口寫入“1” 內(nèi)部上拉電阻把端口拉高,其功能將表現(xiàn)為輸入接口。此時,被外力所削弱的電容在內(nèi)部電壓的影響下,產(chǎn)生大電流。當存取的外圍程序存儲器用十六位數(shù)地址讀寫外圍數(shù)據(jù)寄存器時,P2口送出高八位地址。

(4)P3口:P3口同樣是內(nèi)置上拉電阻并具體數(shù)據(jù)雙向交互功能的8位雙向 I/O口,能夠滿足4個TTL的驅(qū)動需求。該端口寫入“1” 內(nèi)部上拉電阻把端口拉高,將充當輸入接口實現(xiàn)數(shù)據(jù)交互。此時會因內(nèi)部電阻的影響同時實現(xiàn)IIL電流輸出功能。

    1. 超聲波傳感器介紹

超聲波也是高頻聲音的一種,是人類聽覺接受范圍以外的音頻。從方向性較好,能量消耗較小和慢,傳播距離長等優(yōu)點來看,可以像測距儀那樣用于測距計。利用超聲波測距和超聲波探測更易于進行更快,簡便,簡單的計算和實時控制,因為測量的精度可以滿足工業(yè)實施的必要條件,被廣泛用于測量和控制系統(tǒng)的開發(fā)。

本設(shè)計中所選用的超聲波傳感器,是基于同頻率條件實現(xiàn)了電能向超聲波能量的轉(zhuǎn)換?,F(xiàn)階段應用水平相對較高的超聲波傳感器裝置主要分為電聲型、流體動力型等不同類型。

壓電傳感器,是指使用水平相對較高的一種電聲型超聲波傳感器。該傳感器裝置實現(xiàn)了電能、聲能之間的轉(zhuǎn)換,在超聲波檢測技術(shù)中體現(xiàn)出了明顯的應用優(yōu)越性。壓電晶片是該傳感器裝置的核心構(gòu)成要素,能夠在電脈沖的刺激下振動而形成聲脈沖并向外發(fā)射,表現(xiàn)出典型的逆電壓效應。晶片在超聲波的影響下而振動,振動過程中所發(fā)生的形變則可與特定的電信號保持對應關(guān)系,這就屬于典型的正壓電效應特征。兩種效應將分別作為超聲波發(fā)射與接收的技術(shù)基礎(chǔ)。而基于雙壓電陶瓷晶片的超聲波傳感器則因顯著的成本優(yōu)勢、耗材優(yōu)勢、性能優(yōu)勢在各類氣體、液體介質(zhì)條件下表現(xiàn)出更加顯著的應用價值。壓電陶瓷晶片所承受的交流電在發(fā)生電壓方向、大小等變化時,會在壓電效應的作用下導致晶片出現(xiàn)機械形變特征,其形變的方向與程度就將與電壓方向、大小呈現(xiàn)出特定關(guān)聯(lián)?;谏鲜鲫P(guān)聯(lián)可將電壓信號轉(zhuǎn)換為對應的振動信號,然后形成超聲波以空氣為介質(zhì)進行傳播。這種相互轉(zhuǎn)換的關(guān)系就將作為超聲波發(fā)射與接收的技術(shù)基礎(chǔ),具體實現(xiàn)的同頻率機械波與電信號之間的轉(zhuǎn)換。

1202a9e29ce541ad8a684b34dd29941a.png

圖2-2 時鐘電路設(shè)計圖

對于上述超聲波發(fā)生裝置而言,其技術(shù)基礎(chǔ)為壓電晶體諧振特性。該裝置的基本構(gòu)成為共振板(1個)、壓電晶片(2個)。裝置的內(nèi)部結(jié)構(gòu)詳見圖2-2。當脈沖信號由兩極輸入時,信號頻率將與晶片振蕩頻率相同,在共振作用下令共振板發(fā)生共振并實現(xiàn)了電信號向機械波的轉(zhuǎn)換并以超聲波的形式進行傳播。在無外部電壓的影響下,超聲波到達共振板時也會引發(fā)后者的共振效應,令壓電晶片基于超聲波等頻率發(fā)生振動形成相應的電信號。以上即超聲波傳感器的技術(shù)基礎(chǔ)。

壓電陶瓷晶片有一個固定的諧振頻率,即中心頻率f0射超聲波時,加在其上面的交變電壓的頻率要與它的固有諧振頻率一致。這就對傳感器靈敏度提出了相對較高的要求。為了滿足靈敏性要求,基于特定的壓電材料可對晶片尺寸進行設(shè)置和調(diào)整進而實現(xiàn)不同的諧振頻率,以此滿足不同超聲波傳感器的應用需求。

本設(shè)計中所選擇的超聲波傳感器能夠在非接觸的條件下實現(xiàn)2~400cm的測距功能。該設(shè)備的測量結(jié)果精度高至3mm,具體由發(fā)射裝置、接收裝置、控制電路等主要元器件構(gòu)成。

超聲波時序圖2-3的基本條件為持續(xù)10us的脈沖信號。在該信號的觸發(fā)下模塊內(nèi)部發(fā)出8個檢測回波(頻率為40KHz)。當檢測到回波信號時,輸出回響信號。脈沖寬度與測量距離成正比。在確定返回波的基礎(chǔ)上進行接收并計算確定其傳播時間,然后結(jié)合超聲波傳播速度對傳感器與目標對象之間的距離進行計算。為避免發(fā)射出去的信號對回響信號產(chǎn)生的負面影響,影響測量的精確度,測量周期建議在60ms以上。

下面是一些參數(shù)介紹,電氣參數(shù)如表2-1所示。

表2-1 電氣參數(shù)表

電氣參數(shù)表
電氣參數(shù) HC-SR04超聲波模塊
工作電壓 DC 5V
工作電流 15mA
工作頻率 40Hz
最遠射程 4m
最近射程 2cm
測量角度 15度
輸入觸發(fā)信號 10us的TTL脈沖
輸出回響信號 輸出TTL電平信號,與射程成比例
規(guī)格尺寸 45*20*15mm

圖2-3超聲波時序圖

    1. 復位電路

為確保微機系統(tǒng)中電路穩(wěn)定可靠工作,復位電路是必不可少的一部分,其功能是為系統(tǒng)穩(wěn)定運行提供有效保障。在上電構(gòu)成中,該電路將生成復位信號,該信號將持續(xù)至系統(tǒng)電源穩(wěn)定。在確定電源穩(wěn)定之后還需設(shè)計一個合理的延遲時間方結(jié)算復位信號,避免電源開關(guān)抖動導致的系統(tǒng)沖擊。若復位引腳所表現(xiàn)出的高電平特征持續(xù)時間超過兩個機器周期時,則表明復位功能啟動。若RST始終表現(xiàn)出高電平特征,則單片機將持續(xù)開展復位動作陷入死循環(huán)無法正常工作。所以,在設(shè)計復位電路時,通常令其電容取值相對較大,從而適當延長復位時間,避免高電平持續(xù)時間不足導致的復位失效問題。在實際應用中,上述電容的取值一般為10UF或22UF。

復位電路與電源相連的瞬間,電容將由極低電阻、無電狀態(tài)發(fā)生變化,其電壓在0.3s以內(nèi)的時間里將由0變化至4V左右。由此可知,復位引腳電位上升的同時也將實現(xiàn)復位功能;在完成復位動作之后再次按下復位按鈕,則實現(xiàn)電容放電動作,電容又一次回到0V,再次進行復位動作。電路圖如圖2-4。

150fa90f12e84eeb8efdbc60e3141727.png

圖2-4 復位電路

2.3.1晶振電路

單片機的正常運行離不開晶振電路的支持。若振蕩器無法正常運行,則系統(tǒng)也將處于無法運行的狀態(tài);若振蕩器的運行特征混亂,則必然導致程序混亂的問題影響系統(tǒng)正常運行。振蕩器的基本構(gòu)成為晶振(1個)、陶瓷電容(2個),晶振和瓷片電容是沒有正負極之分,連接到兩個瓷片電容的端部必須接地。其基本結(jié)構(gòu)詳見下圖2-5所示。

2d7fd77fef544027ac78b0fd91b99467.png

圖2-5 晶振電路

一般來說, 晶振與單片機采取并聯(lián)方式并基于諧振關(guān)系運行。即晶振將作為諧振電容的構(gòu)成要素之一。在具體應用中,晶振需要與相應的負載電容配合使用,則可基于負載電容的容量對其頻率進行計算確定,以此降低測量結(jié)果的誤差提供其準確性。

CPU運算周期即機器周期,一般可理解為系統(tǒng)由內(nèi)存讀取一個指令字節(jié)所需時間的最小值,也就是基于內(nèi)外線路或外部總線所實現(xiàn)的一次信息傳輸操作。機器周期通常等于12個時鐘周期。其他周期的概念內(nèi)涵具體如下:

指令周期(Instruction Cycle):處理器完整完成一次指令讀取、執(zhí)行操作所耗費的時間;

總線周期(BUS Cycle):指完整的一個ROM或I/O端口使用的總時間。

時鐘周期(Clock Cycle):即節(jié)拍周期,與晶振頻率的乘積為1,即互為倒數(shù)關(guān)系,是處理器運算的最基本時間單位。

對于上述周期概念而言,若干個總線周期構(gòu)成一個指令周期,而若干個時鐘周期則構(gòu)成一個總線周期。

負載電容=[(Cd*Cg)/(Cd+Cg)]+Cic+△C,其影響因素與內(nèi)部時鐘電路等效電容有關(guān)。

通常情況負載電容、等效電容的取值并無顯著區(qū)別。若存在顯著區(qū)別則將導致諧振失衡問題導致傳感器共振性能下降甚至消失。因此可通過并聯(lián)諧振的方式讓其脈沖更加平穩(wěn)與協(xié)調(diào)。

    1. 驅(qū)動顯示電路及報警電路

本設(shè)計以1602液晶屏為顯示模塊的核心構(gòu)成。若測距結(jié)果小于安全閾值,則將通過LED與蜂鳴器實現(xiàn)聲光報警,提醒用戶及時進行處理。在具體應用中,可使用按鍵模塊對安全閾值進行設(shè)置和調(diào)整。

2.4.11602液晶屏顯示電路

本系統(tǒng)顯示模塊具體由一個LCD1602液晶屏幕作為系統(tǒng)的顯示器,顯示器上主要顯示測量的距離。主要顯示的是測量的距離。LCD1602體積小、耗電量低,攜帶方便,成本低。它有16個管腳,具體顯示電路如圖2-6。

9c02c50579c74c27bd633f597ec079f6.png

圖2-6 顯示電路

2.4.2 蜂鳴器和LED報警

蜂鳴器能夠基于電信號實現(xiàn)聲音輸出功能。該裝置的電源選擇直流電源,具體包含壓電式、電磁式等不同技術(shù)類型的產(chǎn)品。前者的基本構(gòu)成元器件為多諧振蕩裝置、阻抗匹配裝置、壓電蜂鳴片、共鳴箱、裝置外殼等。其中,多諧振蕩器件的基礎(chǔ)結(jié)構(gòu)一般是指晶體管、集成電路中的不同單元,可以根據(jù)外界電源壓力的不同進行共振,給壓電蜂鳴片的振蕩增加了驅(qū)動力從而產(chǎn)生一定的噪聲;它們的主要組成分別是震蕩器、電磁線圈、吸鐵石、振膜、殼體等。在上電后,溫度傳感器會產(chǎn)生聲音的輸出,當使用電磁線圈后會產(chǎn)生一定的磁性,并配合磁鐵令振膜規(guī)律性振動形成聲音。多諧振蕩器起振,輸出1.5~2.5kHZ的音頻信號,阻抗匹配器推動壓電蜂鳴片發(fā)聲。為了滿足蜂鳴器運行的電流需求,需要配備相應的放大電路對電流進行放大處理以實現(xiàn)發(fā)聲效果。該裝置的技術(shù)原理如圖2-7所示。

發(fā)光二極管、電阻是LED電路的基本構(gòu)成要素。通常需配合1K電阻將LED工作電流控制在5~20ma的合理水平。

21cc7dd884824c9893b4f0a1a244213b.png

圖2-7 蜂鳴器驅(qū)動電路

    1. HC-RS04超聲波測距原理

由上文分析論述可知,超聲波傳感器基于超聲波傳播與返回時間實現(xiàn)距離測定功能。在明確時間數(shù)據(jù)的基礎(chǔ)上,結(jié)合超聲波在空氣中的傳播速度對距離參數(shù)進行計算。其具體的技術(shù)原理詳見圖2-8所示。實現(xiàn)思路:第一種,直接給trig高電平,然后讀取ECHO引腳是否為高電平,若為高電平,則開啟定時器,然后繼續(xù)檢測等待其為低電平的時候,獲取計數(shù)器值,然后進行計算。第二種,開啟外部中斷,先將ECHO配置上升沿中斷,當中斷來臨的時候,在中斷函數(shù)里面開啟定時器,再將其配置為下降沿中斷,等待下降沿中斷來臨的時候,獲取計數(shù)器值。

其實上面的兩種方法,其思路都是通過計算定時器的counter值,來計算距離。

第三種是讓定時器一路PWM控制觸發(fā)以及觸發(fā)周期,超聲波返回信號高電平時間用定時器通道捕捉功能獲取。

b4a7fa3486d148d482782cd48b645392.png

圖2-8 超聲波測距系統(tǒng)框圖

基于上述工作原理,超聲波將由發(fā)射裝置發(fā)出長約6mm和頻率為40kHz的超聲波信號并經(jīng)目標對象反射之后返回至傳感器接收裝置進行識別和確定,在此基礎(chǔ)上可確定超聲波往返一次所需時間。該時間的1/2即超聲波在傳感器與目標對象之間的傳播時間,進而可計算相應的距離數(shù)據(jù)。

    1. 按鍵設(shè)置電路

在本系統(tǒng)設(shè)計工作中選擇獨立鍵盤設(shè)計結(jié)構(gòu)。在該鍵盤模塊運行過程中,具體通過I/O接口的電平特征對按鍵狀態(tài)進行判斷,鍵盤兩端分別與I/O接口、接地相連。在程序正常運行過程中,I/O接口將呈現(xiàn)出高電平特征。當按下按鍵時,對應I/O接口的電平狀態(tài)將轉(zhuǎn)變?yōu)榈碗娖?,則恢復按鍵初始狀態(tài)時I/O接口的電平也將自動恢復至高電平狀態(tài)。因此,僅需對I/O接口的電平特征進行檢測即可確定按鍵動作狀態(tài)。但是在具體應用中需要考慮鍵盤去抖動問題才能確保功能的穩(wěn)定性與可靠性。所需消除的抖動干擾具體表現(xiàn)為機械抖動,即按鍵在按下過程中所形成的不穩(wěn)定電壓特征,是按鍵動作不可避免的一個問題。通常情況下,機械抖動的持續(xù)時間多位于10~200毫秒左右,雖然從人體感知的層面來看這一抖動時間極為短暫,但是對于單片機時鐘周期而言則非常漫長。因此可結(jié)合硬件或軟件去抖動措施消除機械抖動的不利影響,具體分別通過硬件電路或者延遲程序等方式實現(xiàn)去抖效果。本設(shè)計以延遲程序為工具實現(xiàn)軟件去抖。即令I(lǐng)/O接口的信號檢測采集時間向后延遲,以確保其充分的持續(xù)時間之后方確認按鍵動作。

2.7 總體電路

利用單片機的接口進行發(fā)射輸出來檢查超聲波的發(fā)出,同時不斷檢查外中斷口與INT0插針,一旦INT0插針的電平從高電平轉(zhuǎn)為低電平,即表示發(fā)出的超聲波已經(jīng)開始返回。利用數(shù)據(jù)對結(jié)果信息的分析可以獲取傳感器和障礙物間的差距,LCD1602實時顯示測量的數(shù)據(jù)結(jié)果。當距離小于等于預先設(shè)定值時,蜂鳴器報警。

  1. ? 系統(tǒng)程序的設(shè)計

本測距系統(tǒng)的軟件程序具體由主程序、顯示程序、報警程序、按鍵程序等子程序構(gòu)成。

    1. 主程序

主程序具體負責相關(guān)數(shù)據(jù)的處理和分析工作,并為各個功能模塊的正常運行提供必要的程序指令支持和保障。該程序的技術(shù)流程詳見圖3-1所示。

cd35dda816b040d182d79edfb7ed850e.png

圖3-1主流程圖

    1. 顯示數(shù)據(jù)子程序

顯示數(shù)據(jù)程序具體實現(xiàn)了測距結(jié)果的可視化顯示數(shù)據(jù)。將超聲波模塊所測量后的數(shù)據(jù)結(jié)果經(jīng)單片機處理后顯示在1602液晶屏上。其技術(shù)流程詳見下圖3-2。

adc549d0bd1e4844b9ddea5285a7ceb4.png

圖3-2顯示數(shù)據(jù)子程序流程圖

    1. 報警子程序

報警程序則基于測距數(shù)據(jù)結(jié)果對蜂鳴器的動作狀態(tài)進行控制。在測距數(shù)據(jù)高于安全閾值時啟動蜂鳴器實現(xiàn)報警功能。其技術(shù)流程詳見下圖3-3所示

d996c6d22aab45efa1af12c8bed1a048.png

圖3-3 報警子程序流程圖

      1. 系統(tǒng)調(diào)試

此次設(shè)計中,調(diào)試出現(xiàn)了兩個大的問題。將作品焊接完成后開始測試電路,使用串口下載器連接充電寶為整個系統(tǒng)硬件供電,提供的電源是+5V,用萬用表正負極測芯片的20,40管腳看是否為+5V,測液晶1602的1,2管腳看是否為+5V,檢測時防止因電壓過高而燒壞芯片,應該將芯片拆下來。現(xiàn)在作品的電路是通的,但是在測試功能是發(fā)現(xiàn)蜂鳴器不響,換芯片重新下載程序還是不能決絕這個問題,本人就懷疑是引腳的問題。用LED燈測試那個引腳,LED燈只發(fā)出微弱的燈光萬用表測量發(fā)現(xiàn)只有很小的輸出,更換引腳后確實實現(xiàn)了功能超過設(shè)定值時蜂鳴器發(fā)聲報警。

另一個問題是發(fā)現(xiàn)按下按鍵功能并不精確,然在經(jīng)過查找資料以及同學幫助之下,知道了系統(tǒng)之中有過多的按鍵,系統(tǒng)沒有正確檢測到該按鍵被使用,所以自己設(shè)計在每個按鍵的子程序之中加了一個消抖功能,這樣就可以解決按鍵沒有被檢測的問題。實物展示如圖4-1。

a9dc8364b1a3445f831f8ef8b1ff4d10.png

圖4-1 電路板實物圖

部分程序:

#include <reg52.h>

#include <intrins.h>

#include <stdio.h>

#define uchar unsigned char

#define uint? unsigned int

sfr ISP_DATA? = 0xe2;

sfr ISP_ADDRH = 0xe3;

sfr ISP_ADDRL = 0xe4;

sfr ISP_CMD?? = 0xe5;

sfr ISP_TRIG? = 0xe6;

sfr ISP_CONTR = 0xe7;

sbit LcdRs_P?? = P2^7;

sbit LcdRw_P?? = P2^6;

sbit LcdEn_P?? = P2^5;

sbit Trig_P??? = P2^2;

sbit Echo_P??? = P2^3;

sbit KeySet_P? = P3^2;

sbit KeyDown_P = P3^3;

sbit KeyUp_P?? = P3^4;

sbit Buzzer_P? = P2^1;

sbit Led_P???? = P2^0;

uint gAlarm;

// 單片機內(nèi)部EEPROM不使能

void ISP_Disable()

{

ISP_CONTR = 0;

//

LcdEn_P = 0;

}

// 1602液晶寫數(shù)據(jù)函數(shù),dat就是要寫入的命令

void LcdWriteData(uchar dat)

3946680a0a0e49c7b7b3ace1267b9960.png

  • 有需要資料的可了解一下.docx

相關(guān)推薦

電子產(chǎn)業(yè)圖譜