基于單片機汽車駕駛防瞌睡防疲勞報警器自動熄火設計

(一)系統功能設計
51單片機汽車駕駛防疲勞防瞌睡報警器自動熄火15
本系統由STC89C52單片機、蜂鳴器、ADXL345重力加速度傳感器、繼電器控制、按鍵、指示燈及電源組成。
1、通過按鍵點亮led燈,代表車輛啟動和熄火。
2、車輛啟動后,ADXL345采集方向變化,如果3s左右方向無任何變化,表示司機疲憊沒有動方向盤,此時報警并繼電器動作。
3、報警后除非系統復位取消報警,否則持續報警,強制司機需要休息。
4、如果車輛沒有啟動,則不進行檢測不會報警。
(二)系統硬件系統分析設計
1、STC89C52單片機核心系統電路設計
STC89C52RC是STC公司生產的一種低功耗、高性能CMOS8位微控制器,具有8K字節系統可編程Flash存儲器。STC89C52使用經典的MCS-51內核,但是做了很多的改進使得芯片具有傳統51單片機不具備的功能。在單芯片上,擁有靈巧的8 位CPU 和在系統可編程Flash,使得STC89C52為眾多嵌入式控制應用系統提供高靈活、超有效的解決方案。具有以下標準功能:8k字節Flash,512字節RAM, 32 位I/O 口線,看門狗定時器,內置4KB EEPROM,MAX810復位電路,3個16 位定時器/計數器,4個外部中斷,一個7向量4級中斷結構(兼容傳統51的5向量2級中斷結構),全雙工串行口。另外 STC89C52 可降至0Hz 靜態邏輯操作,支持2種軟件可選擇節電模式。空閑模式下,CPU 停止工作,允許RAM、定時器/計數器、串口、中斷繼續工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。最高運作頻率35MHz,6T/12T可選。
一、STC89C52主要特性如下:
(1)8K字節程序存儲空間;
(2)512字節數據存儲空間;
(3)內帶4K字節EEPROM存儲空間;
(4)可直接使用串口下載。
二、STC89C52主要參數如下:
(1)增強型8051單片機,6時鐘/機器周期和12 時鐘/機器周期可以任意選擇,指令代碼完全兼容傳統8051;
(2)工作電壓:5.5V~3.3V(5V單片機)/3.8V~2.0V(3V 單片機);
(3)工作頻率范圍:0~40MHz,相當于普通8051的0~80MHz,實際工作 頻率可達48MHz;
(4)用戶應用程序空間為8K字節;
(5)片上集成512 字節RAM;
(6)通用I/O 口(32個),復位后為:P1/P2/P3 是準雙向口/弱上拉,P0口是漏極開路輸出,作為總線擴展用時,不用加上拉電阻,作為 I/O口用時,需加上拉電阻;
(7)ISP(在系統可編程)/IAP(在應用可編程),無需專用編程器,無需專用仿真器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程序,數秒即可完成一片;
(8)具有EEPROM功能;
(9)共3個16 位定時器/計數器。即定時器T0、T1、T2;
(10)外部中斷4路,下降沿中斷或低電平觸發電路,Power Down 模式可 由外部中斷低電平觸發中斷方式喚醒;
(11)通用異步串行口(UART),還可用定時器軟件實現多個UART;
(12)工作溫度范圍:-40~+85℃(工業級)/0~75℃(商業級);
(13)PDIP封裝。
三、STC89C52單片機相關引腳說明:
(1)VCC:供電電壓。
(2)GND:接地。
(3)P3.0 RXD(串行輸入口)
(4)P3.1 TXD(串行輸出口)
(5)P3.2 /INT0(外部中斷0)
(6)P3.3 /INT1(外部中斷1)
(7)P3.4 T0(記時器0外部輸入)
(8)P3.5 T1(記時器1外部輸入)
(9)P3.6 /WR(外部數據存儲器寫選通)
(10)P3.7 /RD(外部數據存儲器讀選通)
(11)RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。
(12)ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態ALE禁止,置位無效。
(13)/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數據存儲器時,這兩次有效的/PSEN信號將不出現。
(14)/EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。
(15)XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。
(16)XTAL2:來自反向振蕩器的輸出。
單片機引腳圖如下圖所示:
在這里插入圖片描述

STC89C52單片機引腳圖
四、STC89C52單片機最小系統說明:
STC89C52單片機最小系統電路由復位電路、時鐘電路和電源電路。擁有這三部分電路后,單片機即可正常工作。單片機最小系統原理圖如下圖所示。
在這里插入圖片描述

單片機最小系統原理圖
2、5V電源電路設計
本系統選擇5V直流電源作為系統總電源,為整個系統供電,電路簡單、穩定。DC為電源的DC插座,可以直接接USB電源線,一端插在DC插座上,另外一端可以插在5V電源上,如電腦USB、充電寶、手機充電器等等。LED為紅色LED燈,作為系統是否有點的指示燈,電阻為1K電阻,起到限流作用,保護LED燈,以防電流過大燒壞LED燈。SW為自鎖開關,開關按下后,紅燈亮,此時系統電源5V直流輸出。開關再次按下后,紅燈滅,此時系統電源無5V電源輸出。

5V電源電路原理圖
3、ADXL345傾角傳感器模塊電路設計
本設計選擇傾角傳感器ADXL345模塊實時檢測相關的狀態信息。ADXL345是一款小而薄的超低功耗3軸加速度計,分辨率高(13位),測量范圍達± 16g。數字輸出數據為16位二進制補碼格式,可通過SPI(3線或4線)或I2C數字接口訪問。ADXL345非常適合移動設備應用。它可以在傾斜檢測應用中測量靜態重力加速度,還可以測量運動或沖擊導致的動態加速度。其高分辨率(3.9mg/LSB),能夠測量不到1.0°的傾斜角度變化。該器件提供多種特殊檢測功能。活動和非活動檢測功能通過比較任意軸上的加速度與用戶設置的閾值來檢測有無運動發生。敲擊檢測功能可以檢測任意方向的單振和雙振動作。自由落體檢測功能可以檢測器件是否正在掉落。這些功能可以獨立映射到兩個中斷輸出引腳中的一個。正在申請專利的集成式存儲器管理系統采用一個32級先進先出(FIFO)緩沖器,可用于存儲數據,從而將主機處理器負荷降至最低,并降低整體系統功耗。低功耗模式支持基于運動的智能電源管理,從而以極低的功耗進行閾值感測和運動加速度測量。ADXL345模塊接口圖如下圖所示。
在這里插入圖片描述

ADXL345模塊接口圖
ADXL345模塊實物圖如下圖所示。
在這里插入圖片描述

ADXL345模塊實物圖

(三)51單片機系統軟件設計
完整的控制系統由硬件系統和軟件系統組成,若要充分發揮系統的設計功能,則需要支持硬件平臺的軟件程序,即燒寫到單片機內部的程序。
1、編程語言選擇
由于整個程序比較復雜,且計算量較大,用到了較多的浮點數計算,所以程序的編寫采用了C語言。
對于大多數51系列的單片機,使用C語言這樣的高級語言與使用匯編語言相比具有如下優點:
(1)不需要了解處理器的指令集,也不必了解存儲器結構。
(2)寄存器分配和尋址方式由編譯器進行管理,編程時不需要考慮存儲器的地址和數據類型等細節。
(3)指定操作的變量選擇組合提高了程序的可讀性。
(4)可使用與人的思維更相近的關鍵字和操作函數。
(5)與使用匯編語言相比,程序的開發和調試時間大大縮短。
(6)C語言的庫文件提供了許多標準的例程。
(7)通過C語言可實現模塊化編程技術,從而可將已編制好的程序加到 新程序中。
(8)C語言可移植性好且非常普及,C語言編譯器幾乎適用于所有的目標系統,己完成的項目可以很容易的轉換到其它的處理器或環境中與匯編語言相比,C語言在功能上、結構性、可讀性、可移植性、可維護性上有明顯的優勢,易學易用。
2、Keil程序開發環境
本設計中單片機開發環境是Keil,Keil是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發系統,與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。Keil提供了包括C編譯器、宏匯編、鏈接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境(μVision)將這些部分組合在一起。運行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環境、強大的軟件仿真調試工具也會令你事半功倍。其中Keil有以下特點:
(1)Keil軟件同時支持WINXP和WIN7等多種操作系統,提供了豐富的庫函數和功能強大的開發工具。
(2)Keil可以完成從編輯、編譯、到連接、調試的一套開發流程。
Keil軟件界面如下圖所示。
在這里插入圖片描述

Keil開發界面圖
3、STC-ISP程序燒錄軟件介紹
STC-ISP 是一款單片機下載編程燒錄軟件,是針對STC系列單片機而設計的,它是一款集成了代碼下載,在線仿真和串口查看于一起軟件備,在51系列智能產品研發過程中得到了廣泛使用,性能高,是目前51系列單片機控制系統研發中不可缺少的一部分。
可以通過下載器(即CH340等串口燒寫模塊)下載單片機程序。單片機開發板和下載器以及PC連接好后,首先需要在軟件中選擇單片機型號和串口號,以及設置波特率。然后選在項目程序“hex”文件所在的地址,最后就可以點擊程序下載按鈕了。具體下載界面如下圖所示。
在這里插入圖片描述

燒錄軟件對話框
4、CH340串口程序燒寫模塊介紹
本設計通過CH340串口燒寫模塊實現對單片機程序的燒寫。CH340串口燒寫模塊使用USB接口,十分方便的解決了筆記本電腦用戶對STC系列單片機的程序燒寫問題,本下載器低價格、高性能,是開發 STC 系列單片機的首選優秀工具。
一、CH340串口燒寫模塊特點:
(1)支持 USB1.1 或 USB2.0 通信;
(2)全面支持 WIN98、 WINME、 WIN2000、 WINXP、 VISTA、 WIN7 等操作系統;
(3)采用 USB 口供電;
(4)在對芯片編程時可以使用目標系統本身電源,也可以使用編程器從 USB 口取電供給目標板,但應保證目標板電流不大于500mA,以免不能正常編程;
(5)編程完成不影響目標板的程序運行;
(6)支持 STC 全系列芯片燒錄;
(7)編程器提供 3.3V 與 5V 的電壓輸出接口;
(8)速度比并口編程更快更穩定,更方便筆記本電腦用戶使用;
(9)采用進口原裝芯片, 能進行高速穩定編程;
模塊如下圖所示。
在這里插入圖片描述

CH340串口燒寫模塊

文章底部可以獲取博主的聯系方式,獲取源碼、查看詳細的視頻演示,或者了解其他版本的信息。
所有項目都經過了嚴格的測試和完善。對于本系統,我們提供全方位的支持,包括修改時間和標題,以及完整的安裝、部署、運行和調試服務,確保系統能在你的電腦上順利運行。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/89969.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/89969.shtml
英文地址,請注明出處:http://en.pswp.cn/web/89969.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

OpenCV中的卷積高斯模糊與中值模糊

目錄 一、卷積高斯模糊 (Gaussian Blur) 1. 原理與數學基礎 2. OpenCV函數實現 3. 關鍵參數說明 4. 代碼示例 5. 特點與應用 二、中值模糊 (Median Blur) 1. 原理與數學基礎 2. OpenCV函數實現 3. 關鍵參數說明 4. 代碼示例 5. 特點與應用 三、兩種模糊方法對比分析…

macbookpro m1 max本兒上速搭一個elasticsearch+kibana環境

一、找個目錄,新建一個: docker-compose.yml version: "3.9" services:elasticsearch:image: docker.elastic.co/elasticsearch/elasticsearch:8.13.0 # 與 Kibana 版本一致container_name: elasticsearchenvironment:- discovery.typesingle-node- xpa…

部署zabbix企業級分布式監控

一. 監控系統的功能概述監控、從中文的字義來看,有兩個內容,一是檢測,二是控制。重點在第一個字眼,即檢測、預防的意思。監控,對應的英文單詞是 Monitoring。在計算機領域,可以將其分為5種監控類型。應用性…

【重學MySQL】redolog binlog

目錄 Buffer Pool是什么? redo log(Innodb獨有) 為什么需要redolog? 類比的方式巧記redolog binlog(Server層獨有) binlog是干啥的? 為什么有了 binlog, 還要有 redo log&…

企業信息化建設技術底座建設解決方案

1、企業數字化底座與數字化綜述2、企業數字化底座與數字化總體架構3、企業數字化底座與數字化規劃設計4、企業數字化底座與數字化建設運營5、企業數字化底座與數字化未來展望篇幅有限以下只展示部分截圖:

Spring Cloud Alibaba 之 Nacos

Spring Cloud Alibaba 之 Nacos . Nacos官方文檔: https://nacos.io/docs/latest/overview/?spm5238cd80.47ee59c.0.0.770fcd36HoVbU6 1.什么是Nacos Nacos(Dynamic Naming and Configuration Service)是阿里巴巴開源的一款動態服務發現、…

Car Kit重構車機開發體驗,讓車載應用開發駛入快車道

在智能座艙成為汽車行業“新四化”核心戰場的今天,開發者們正面臨這樣的挑戰:如何讓手機應用快速適配車機場景?如何實現手機與車機無感流轉?如何在保障駕駛安全的前提下提供沉浸式交互體驗? HarmonyOS SDK 車服務&…

ruoyi-flowable-plus Excel 導入數據 Demo

📁 項目結構簡述 ruoyi-flowable-plus 是基于 RuoYi 的擴展項目,使用: 后端:Spring Boot MyBatis Flowable前端:Vue.js 📥 Excel 導入功能 Demo 以導入用戶數據為例,展示完整導入流程。 …

kafka 日志索引 AbstractIndex

AbstractIndexAbstractIndex 是 Kafka 日志(Log)子系統中一個至關重要的基礎類。它為 Kafka 的各種索引文件(如偏移量索引 .index 和時間戳索引 .timeindex)提供了一個統一的、抽象的框架。這個類的設計目標是實現極高的讀寫性能和…

重學前端008 --- 響應式網頁設計 CSS 無障礙 Quiz

文章目錄meta 總結html 頁面結構img 尺寸子選擇器 >a 錨點僅屏幕閱讀器可見li 元素的懸停設置小屏幕防止溢出meta 總結 <head><!-- 基礎字符編碼聲明 --><meta charset"UTF-8"><!-- 視口設置&#xff0c;響應式設計必備 --><meta nam…

C# 調用CodeSoft模板打印標簽,編輯模板覆蓋根目錄的文件,不能拷貝

C# 調用CodeSoft模板打印標簽&#xff0c;編輯模板覆蓋根目錄的文件&#xff0c;不能拷貝&#xff0c;報文件已經打開。 原因&#xff1a;C#窗體關閉時&#xff0c;沒有關閉LabelManager2.ApplicationClass labApp&#xff0c;別忘記寫labApp1.Quit(); if (labApp1 ! null) {la…

Logback簡單使用

Logback 日志框架介紹 正如你所知&#xff0c;開發者擁有大量日志工具可供選擇。本節中&#xff0c;我們將學習一個非常流行的日志庫 —— Logback。它是 Log4j 日志庫的繼任者&#xff0c;基于相似的理念構建。Logback 在同步和異步日志記錄方面都非常快速&#xff0c;并提供了…

Python爬蟲實戰:研究langid.py庫相關技術

一、引言 在當今全球化的網絡環境下,互聯網上的內容呈現出多語言的特點。對于許多自然語言處理 (NLP) 任務,如文本分類、情感分析和信息檢索,準確識別文本的語言是首要步驟。網絡爬蟲作為獲取互聯網內容的重要工具,結合語言識別技術,可以為多語言信息處理提供豐富的數據來…

打車代駕 app 派單接單系統模塊搭建

一、邏輯分析打車代駕 APP 的派單接單系統模塊是整個應用的核心部分&#xff0c;它需要高效、準確地處理訂單分配和司機接單流程&#xff0c;以確保用戶能夠快速得到服務&#xff0c;司機能夠合理地接到訂單。用戶端下單邏輯&#xff1a;用戶打開 APP&#xff0c;輸入出發地、目…

Java Stream API性能優化:原理深度解析與實戰指南

Java Stream API性能優化&#xff1a;原理深度解析與實戰指南 技術背景與應用場景 隨著大數據量處理和高并發場景的普及&#xff0c;傳統的集合遍歷方式在代碼可讀性和性能上逐漸顯現瓶頸。Java 8引入的Stream API&#xff0c;通過聲明式的流式編程極大提升了開發效率和可讀性&…

Nginx配置proxy protocol代理獲取真實ip

Nginx配置proxy protocol 文章目錄Nginx配置proxy protocol前言一、PROXY Protocol協議二、配置方法代理服務器配置http模塊代理??Stream 模塊?代理測試配置是否生效端口檢查測試ip記錄驗證http驗證tcp注意事項和理解誤區應用程序機器配置總結前言 在現代開發中有很多場景需…

什么是商業智能BI數據分析的指標爆炸?

指標爆炸這個詞大家可能都是第一次聽說&#xff0c;指標怎么會爆炸呢&#xff1f;其實這個是我們很多年前在一些商業智能BI項目上總結出來的一種場景或者現象&#xff0c;就是過于的開放給業務人員在BI自助分析過程中創造了很多衍生性的分析指標&#xff0c;結果就造成了前端指…

Spring AI 系列之十八 - ChatModel

之前做個幾個大模型的應用&#xff0c;都是使用Python語言&#xff0c;后來有一個項目使用了Java&#xff0c;并使用了Spring AI框架。隨著Spring AI不斷地完善&#xff0c;最近它發布了1.0正式版&#xff0c;意味著它已經能很好的作為企業級生產環境的使用。對于Java開發者來說…

Linux學習之Linux系統權限

在上一篇的內容中我們學習到了Linux系統命令相關的知識及其相關的擴展內容&#xff0c;本期我們將學習Linux基礎的另一個重要部分&#xff1a;Linux系統權限管理 作者的個人gitee&#xff1a;樓田莉子 (riko-lou-tian) - Gitee.com 目錄 權限概念及必要性 什么是權限 為什么要…

Web3.0 能為你帶來哪些實質性的 改變與突破

如今各種大廠裁員消息層出不窮&#xff0c;今年又添飛書、剪映、微軟、思科... 這有一張網友整理的去年互聯網大廠裁員裁員信息表&#xff1a; 目前國內很多大廠都在裁員&#xff0c;非常現實、且越來越多 35 技術人&#xff0c;正在面臨這樣的問題&#xff0c;那么Web3.0 確實…