**單片機設計介紹, 基于51單片機超聲波測距汽車避障系統
文章目錄
- 一 概要
- 二、功能設計
- 設計思路
- 三、 軟件設計
- 原理圖
- 五、 程序
- 六、 文章目錄
一 概要
??基于51單片機的超聲波測距汽車避障系統是一種用于幫助汽車避免碰撞和發生事故的設備,以下是一個基本的設計介紹:
硬件部分:
- 51單片機:選擇適合的51系列單片機,如AT89S52。
- 超聲波傳感器:使用超聲波傳感器模塊(如HC-SR04),用于測量與障礙物的距離。
- 轉向電機:用于控制汽車的方向,使其能夠自動避開障礙物。
- 驅動電路:用于驅動轉向電機和超聲波傳感器。
- 其他組件:電源、連接線、繼電器等。
軟件部分:
- 程序設計:使用匯編語言或C語言編寫嵌入式程序。
- 超聲波測距:通過超聲波傳感器模塊測量與障礙物的距離。
- 障礙物檢測:根據測量到的距離數據,判斷是否存在障礙物,并確定障礙物的位置和距離。
- 轉向控制:根據障礙物的位置和距離,通過控制轉向電機調整汽車的方向,使其自動避開障礙物。
- 報警策略:在接近障礙物時,可以通過蜂鳴器或LED燈發出報警信號,提醒駕駛員注意。
系統工作流程:
- 超聲波傳感器發送超聲波信號,并接收回波。
- 單片機獲取傳感器返回的回波信號,并計算與障礙物之間的距離。
- 判斷距離是否小于設定的安全距離,如果小于,則認為有障礙物存在。
- 根據障礙物的位置和距離,調整轉向電機使汽車避開障礙物。
- 若距離過近或存在危險情況,可以觸發報警信號或緊急制動系統。
需要注意的是,汽車避障系統的設計應考慮到系統的靈敏性、準確性和可靠性,以確保及時準確地檢測和避開障礙物。同時,還應根據實際情況調整安全距離和轉向控制策略,確保系統能夠在多種情況下有效工作。此外,確保駕駛員仍然保持警覺,不完全依賴避障系統,仍然需要進行自主駕駛。
二、功能設計
一、設計要求
1、提供2cm—400cm的非接觸式距離測量功能,測距精度達到3mm。
2、測量結果通過液晶屏實時顯示。
3、當測量距離小于20cm時,進行聲音和燈光報警。
二、超聲波測距原理
測量距離的方法有很多種,短距離的可以用米尺,遠距離的有激光測距等,超聲波測距適用于高精度的中長距離測量。因為超聲波在標準空氣中的傳播速度為331.45米/秒,由單片機負責計時,系統的測量精度理論上可以達到毫米級。
設計思路
設計思路
文獻研究法:搜集整理相關單片機系統相關研究資料,認真閱讀文獻,為研究做準備;
調查研究法:通過調查、分析、具體試用等方法,發現單片機系統的現狀、存在問題和解決辦法;
比較分析法:比較不同系統的具體原理,以及同一類傳感器性能的區別,分析系統的研究現狀與發展前景;
軟硬件設計法:通過軟硬件設計實現具體硬件實物,最后測試各項功能是否滿足要求。
三、 軟件設計
本系統原理圖設計采用Altium Designer19,具體如圖。在本科單片機設計中,設計電路使用的軟件一般是Altium Designer或proteus,由于Altium Designer功能強大,可以設計硬件電路的原理圖、PCB圖,且界面簡單,易操作,上手快。Altium Designer19是一款專業的整的端到端電子印刷電路板設計環境,用于電子印刷電路板設計。它結合了原理圖設計、PCB設計、多種管理及仿真技術,能夠很好的滿足本次設計需求。
————————————————
仿真實現
本設計利用protues8.7軟件實現仿真設計,具體如圖。
Protues也是在單片機仿真設計中常用的設計軟件之一,通過設計出硬件電路圖,及寫入驅動程序,就能在不實現硬件的情況進行電路調試。另外,protues還能實現PCB的設計,在仿真中也可以與KEIL實現聯調,便于程序的調試,且支持多種平臺,使用簡單便捷。
————————————————
原理圖
五、 程序
本設計利用KEIL5軟件實現程序設計,具體如圖。作為本科期間學習的第一門編程語言,C語言是我們最熟悉的編程語言之一。當然,由于其功能強大,C語言是當前世界上使用最廣泛、最受歡迎的編程語言。在單片機設計中,C語言已經逐步完全取代匯編語言,因為相比于匯編語言,C語言編譯與運行、調試十分方便,且可移植性高,可讀性好,便于燒錄與寫入硬件系統,因此C語言被廣泛應用在單片機設計中。keil軟件由于其兼容單片機的設計,能夠實現快速調試,并生成燒錄文件,被廣泛應用于C語言的編寫和單片機的設計。
————————————————
六、 文章目錄
目 錄
摘 要 I
Abstract II
引 言 1
1 控制系統設計 2
1.1 主控系統方案設計 2
1.2 傳感器方案設計 3
1.3 系統工作原理 5
2 硬件設計 6
2.1 主電路 6
2.1.1 單片機的選擇 6
2.2 驅動電路 8
2.2.1 比較器的介紹 8
2.3放大電路 8
2.4最小系統 11
3 軟件設計 13
3.1編程語言的選擇 13
4 系統調試 16
4.1 系統硬件調試 16
4.2 系統軟件調試 16
結 論 17
參考文獻 18
附錄1 總體原理圖設計 20
附錄2 源程序清單 21
致 謝 25