加入星計劃,您可以享受以下權益:

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

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

09/14 08:53
2586
服務支持:
技術交流群

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

虛擬商品不可退

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

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

引言

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

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

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

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

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

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

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

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

    1. 系統(tǒng)硬件結構框圖

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

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

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

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

STC89C52R是STC公司生產(chǎn)的一款低功耗、高性能的新型CMOS8位微控制器,STC89C52是一種帶八K字節(jié)閃爍可編程可檫除只讀存儲器的極低工作電壓,高性能COMOS8的微處理器,俗稱單片機。該器件采用ATMEL搞密度非易失存儲器制造技術制造,與工業(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ā)。

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

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

1202a9e29ce541ad8a684b34dd29941a.png

圖2-2 時鐘電路設計圖

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

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

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

超聲波時序圖2-3的基本條件為持續(xù)10us的脈沖信號。在該信號的觸發(fā)下模塊內(nèi)部發(fā)出8個檢測回波(頻率為40KHz)。當檢測到回波信號時,輸出回響信號。脈沖寬度與測量距離成正比。在確定返回波的基礎上進行接收并計算確定其傳播時間,然后結合超聲波傳播速度對傳感器與目標對象之間的距離進行計算。為避免發(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)定運行提供有效保障。在上電構成中,該電路將生成復位信號,該信號將持續(xù)至系統(tǒng)電源穩(wěn)定。在確定電源穩(wěn)定之后還需設計一個合理的延遲時間方結算復位信號,避免電源開關抖動導致的系統(tǒng)沖擊。若復位引腳所表現(xiàn)出的高電平特征持續(xù)時間超過兩個機器周期時,則表明復位功能啟動。若RST始終表現(xiàn)出高電平特征,則單片機將持續(xù)開展復位動作陷入死循環(huán)無法正常工作。所以,在設計復位電路時,通常令其電容取值相對較大,從而適當延長復位時間,避免高電平持續(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)正常運行。振蕩器的基本構成為晶振(1個)、陶瓷電容(2個),晶振和瓷片電容是沒有正負極之分,連接到兩個瓷片電容的端部必須接地。其基本結構詳見下圖2-5所示。

2d7fd77fef544027ac78b0fd91b99467.png

圖2-5 晶振電路

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

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ù)關系,是處理器運算的最基本時間單位。

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

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

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

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

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

2.4.11602液晶屏顯示電路

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

9c02c50579c74c27bd633f597ec079f6.png

圖2-6 顯示電路

2.4.2 蜂鳴器和LED報警

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

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

21cc7dd884824c9893b4f0a1a244213b.png

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

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

由上文分析論述可知,超聲波傳感器基于超聲波傳播與返回時間實現(xiàn)距離測定功能。在明確時間數(shù)據(jù)的基礎上,結合超聲波在空氣中的傳播速度對距離參數(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)目標對象反射之后返回至傳感器接收裝置進行識別和確定,在此基礎上可確定超聲波往返一次所需時間。該時間的1/2即超聲波在傳感器與目標對象之間的傳播時間,進而可計算相應的距離數(shù)據(jù)。

    1. 按鍵設置電路

在本系統(tǒng)設計工作中選擇獨立鍵盤設計結構。在該鍵盤模塊運行過程中,具體通過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毫秒左右,雖然從人體感知的層面來看這一抖動時間極為短暫,但是對于單片機時鐘周期而言則非常漫長。因此可結合硬件或軟件去抖動措施消除機械抖動的不利影響,具體分別通過硬件電路或者延遲程序等方式實現(xiàn)去抖效果。本設計以延遲程序為工具實現(xiàn)軟件去抖。即令I/O接口的信號檢測采集時間向后延遲,以確保其充分的持續(xù)時間之后方確認按鍵動作。

2.7 總體電路

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

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

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

    1. 主程序

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

cd35dda816b040d182d79edfb7ed850e.png

圖3-1主流程圖

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

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

adc549d0bd1e4844b9ddea5285a7ceb4.png

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

    1. 報警子程序

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

d996c6d22aab45efa1af12c8bed1a048.png

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

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

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

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

相關推薦

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