214、仿真-基于51單片機溫度甲醛一氧化碳(co)電機凈化報警Proteus仿真設計(程序+Proteus仿真+配套資料等)

畢設幫助、開題指導、技術解答(有償)見文未

目錄

一、硬件設計

二、設計功能

三、Proteus仿真圖

四、程序源碼

資料包括:

需要完整的資料可以點擊下面的名片加下我,找我要資源壓縮包的百度網盤下載地址及提取碼。


方案選擇
單片機的選擇

方案一:STM32系列單片機控制,該型號單片機為LQFP44封裝,內部資源足夠用于本次設計。STM32F103系列芯片最高工作頻率可達72MHZ,在存儲器的01等等待周期仿真時可達到1.25Mip/MHZ(Dhrystone2.1)。內部128k字節的閃存程序存儲器,也就是說代碼量可以寫到128k字節,本次設計足夠,內部高達20K字節的SRAM。
?

方案二:51單片機STC89C52系列的指令系統和AT89C52系列的完全兼容,但實際操作起來卻存在很多問題:

(1)AT89C52不帶ISP下載,要用下載器才行,STC89C52可以用你的USB轉串口下載,下載軟件可以到STC廠家網上去下。

(2)STC單片機執行指令的速度很快,大約是AT的3-30倍,盡管快是好事,但這樣一來,你在AT上好使的程序在STC上不一定好用,最典型的例子就是那些對時序有嚴格要求的模塊,用STC時注意得加長延時,大約是AT的10—30倍就差不多,這一點自己調試就知道了。

(3)STC單片機對工作環境的要求比較低,電壓低于5伏時仍然正常工作,甚至3伏到4伏之間都還可以工作,然而這樣的環境下AT肯定不行了,所以當一個系統用STC單片機好用,但用AT的單片機不工作時,直接查最小系統,看單片機的供電是否正常。

比較這兩種方案,由于在學校期間學過數字電路、單片機原理、C語言程序設計,綜合考慮單片機的各部分資源和作為學生能夠獲得的資源,還有STM32價錢比較貴方面。經過對比此次設計要求,我選擇用51單片機中的STC系列芯片完成。而且學校也提供了相應的硬件操作平臺,實際操作起來比較方便,故STC為更合理的選擇。本系統選擇STC89C52單片機作為主控芯片。足夠本設計運行,且價格便宜,下載程序方便。

顯示器選擇方案

方案一:采用12864液晶顯示屏。液晶顯示模塊是128×64點陣的漢字圖形型液晶顯示模塊,可顯示漢字及圖形,內置8192個中文漢字(16X16點陣)、128個字符(8X16點陣)及64X256點陣顯示RAM(GDRAM)。可與CPU直接接口,提供兩種界面來連接微處理機:8-位并行及串行兩種連接方式。具有多種功能:光標顯示、畫面移位、睡眠模式等。

方案二:采用LCD1602液晶顯示屏。LCD1602是一種工業字符型液晶,能夠同時顯示16x02 即32個字符。(16列2行)。1602只能顯示字母、數字和符號能顯示16*2個字符,但寄存器不止32個,有一些顯示效果,如字符一個個顯示、字符從左到右或從右到左顯示等等,顯示效果簡單。

總結:在編程使用方面,兩者難度差不多,原理差不多,都是寫指令、寫地址、寫數據等等。當然12864液晶屏顯示更全面、字符更多。相比于1602液晶屏、12864能更形象具體的實現顯示功能。不過1602液晶屏也能實現設計的要求。網上買比較廉價,最低的六塊錢左右。而12864液晶顯示屏最便宜的也要四十塊錢。從造價方面考慮,當然是價格低廉的優先。而LCD1602就是最好的選擇。


?

一、硬件設計

硬件電路組成:51單片機+最小系統+甲醛傳感器采用滑動變阻器采集+一氧化碳(co)傳感器采用滑動變阻器采集+ADC0832+LCD1602液晶顯示屏+蜂鳴器報警器+DS18B20溫度傳感器+繼電器+電機凈化裝置+按鍵設置組成。

二、設計功能

本設計基于STC89C51/52(與AT89S51/52、AT89C51/52通用)。

1、通過DS18B20溫度傳感器進行體溫精準測量。

2、LCD1602液晶屏顯示溫度、甲醛和一氧化碳(co)的值。

3、通過滑動變阻器采集調節甲醛和一氧化碳(co)的值。

4、可以通過按鍵設置溫度、甲醛和一氧化碳(co)的閾值。

5、當溫度超過閾值,則蜂鳴器會報警。

6、當甲醛或者一氧化碳(co)超過閾值時,則蜂鳴器會報警,并且繼電器控制電機凈化裝置啟動。


?

三、Proteus仿真圖


?

?
單片機模塊設計

單片微型計算機是隨著微型計算機的發展而產生和發展的。自從1975 年美國德克薩斯儀器公司的第一臺單片微型計算機( 簡稱單片機)TMS-1000 問世以來,迄今為止,單片機技術已成為計算機技術的一個獨特分支,單片機的應用領域也越來越廣泛,特別是在工業控制中經常遇到對某些物理量進行定時采樣與控制的問題,在儀器儀表智能化中也扮演著極其重要的角色。

如果將8位單片機的推出作為起點,那么單片機的發展歷史大致可以分為以下幾個階段:

第一階段(1976—1978):單片機的探索階段。以Intel公司的MCS-48為代表。MCS-48的推出是在工控領域的探索,參與這一探索的公司還有Motorola、Zilog等。都取得了滿意的效果。這就是SCM的誕生年代,“單片機”一詞即由此而來。

第二階段(1978—1982):單片機的完善階段。Intel公司在MCS-48基礎上推出了完善的、典型的單片機系列MCS-51。它在以下幾個方面奠定了典型的通用總線型單片機體系結構。

(1)完善的外部總線。MCS-51設置了經典的8位單片機的總線結構,包括8位數據總線、16位地址總線、控制總線及具有多機通信功能的串行通信接口。

(2)CPU外圍功能單元的集中管理模式。

(3)體現工控特性的地址空間及位操作方式。

(4)指令系統趨于豐富和完善,并且增加了許多突出控制功能的指令。

第三階段(1982—1990):8位單片機的鞏固發展及16位單片機的推出階段,也是單片機向微控制器發展的階段。Intel公司推出的MCS-96系列單片機,將一些用于測控系統的模數轉換器、程序運行監視器、脈寬調制器等納入片中,體現了單片機的微控制器特征。

第四階段(1990—):微控制器的全面發展階段。隨著單片機在各個領域全面、深入地發展和應用,出現了高速、大尋址范圍、強運算能力的8位/16位/32位通用型單片機,以及小型廉價的專用型單片機。

單片機是在集成電路芯片上集成了各種元件的微型計算機,這些元件包括中央處理器CPU、數據存儲器RAM、程序存儲器ROM、定時/計數器、中斷系統、時鐘部件的集成和I/O接口電路。由于單片機具有體積小、價格低、可靠性高、開發應用方便等特點,因此在現代電子技術和工業領域應用較為廣泛,在智能儀表中單片機是應用最多、最活躍的領域之一。在控制領域中,現如今人們更注意計算機的底成本、小體積、運行的可靠性和控制的靈活性。在各類儀器、儀表中引入單片機,使儀器儀表智能化,提高測試的自動化程度和精度,提高計算機的運算速度,簡化儀器儀表的硬件結構,提高其性能價格比。


?

四、程序源碼

Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發系統,與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。Keil提供了包括C編譯器、宏匯編、鏈接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境(μVision)將這些部分組合在一起。運行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環境、強大的軟件仿真調試工具也會令你事半功倍。

?

資料包括:

?

需要完整的資料可以點擊下面的名片加下我,找我要資源壓縮包的百度網盤下載地址及提取碼。
?

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

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

相關文章

It‘s likely that neither a Result Type nor a Result Map was specified.

問題: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: A query was run and no Result Maps were 原因: 由于傳遞參數給 mapper 映射文件,所以必須要指定參數數據格式 如…

Qt+Pyhton實現麒麟V10系統下word文檔讀寫功能

目錄 前言1.C調用python1.1 安裝Python開發環境1.2 修改Qt工程配置1.3 初始化Python環境1.4 C 調用Python 函數1.5 常用的Python接口 2.python虛擬環境2.1Python虛擬環境簡介2.2 virtualenv 安裝及使用2.3 在C程序中配置virtualenv 虛擬環境 3.python-docx庫的應用4.總結 前言 …

神經網絡基礎-神經網絡補充概念-23-神經網絡的梯度下降法

概念 神經網絡的梯度下降法是訓練神經網絡的核心優化算法之一。它通過調整神經網絡的權重和偏差,以最小化損失函數,從而使神經網絡能夠逐漸逼近目標函數的最優值。 步驟 1損失函數(Loss Function): 首先&#xff0c…

Springboot多路數據源

1、多路數據源配置 (1)SpringBootMyBatis-PlusOracle實現多數據源配置 https://blog.csdn.net/weixin_44812604/article/details/127386828 (2)SpringBootMybatis搭建Oracle多數據源配置簡述 https://blog.csdn.net/HJW_233/arti…

網絡安全 Day29-運維安全項目-iptables防火墻

iptables防火墻 1. 防火墻概述2. 防火墻2.1 防火墻種類及使用說明2.2 必須熟悉的名詞2.3 iptables 執行過程※※※※※2.4 表與鏈※※※※※2.4.1 簡介2.4.2 每個表說明2.4.2.1 filter表 :star::star::star::star::star:2.4.2.2 nat表 2.5 環境準備及命令2.6 案例01&#xff1a…

神經網絡基礎-神經網絡補充概念-31-參數與超參數

概念 參數(Parameters): 參數是模型內部學習的變量,它們通過訓練過程自動調整以最小化損失函數。在神經網絡中,參數通常是連接權重(weights)和偏置(biases),…

ChatGLM2-6B安裝部署(詳盡版)

1、環境部署 安裝Anaconda3 安裝GIT 安裝GUDA 11.8 安裝NVIDIA 圖形化驅動 522.25版本,如果電腦本身是更高版本則不用更新 1.1、檢查CUDA 運行cmd或者Anaconda,運行以下命令 nvidia-smi CUDA Version是版本信息,Dricer Version是圖形化…

LeetCode 160.相交鏈表

文章目錄 💡題目分析💡解題思路🚩步驟一:找尾節點🚩步驟二:判斷尾節點是否相等🚩步驟三:找交點🍄思路1🍄思路2 🔔接口源碼 題目鏈接👉…

Ubuntu下mysql安裝及遠程連接支持配置

1.安裝 下載mysql-server(必須加sudo) sudo apt update sudo apt install mysql-server 查看mysql的狀態 sudo service mysql status 通過如下命令開啟mysql sudo service mysql start 2.配置 第一次安裝mysql后,為root設置一個密碼 …

Linux -- 進階 Autofs應用 : 光驅自動掛載 操作詳解

服務端自動掛載光驅 第一步 : 關閉安全軟件,安裝自動掛載軟件 [rootserver ~]# setenforce 0 [rootserver ~]# systemctl stop firewalld [rootserver ~]# yum install autofs -y 第二步 : 修改 autofs 主配置文件, 計劃掛載光…

C++之map的emplace與pair插入鍵值對用例(一百七十四)

簡介: CSDN博客專家,專注Android/Linux系統,分享多mic語音方案、音視頻、編解碼等技術,與大家一起成長! 優質專欄:Audio工程師進階系列【原創干貨持續更新中……】🚀 人生格言: 人生…

213、仿真-基于51單片機智能電表電能表用電量電費報警Proteus仿真設計(程序+Proteus仿真+原理圖+配套資料等)

畢設幫助、開題指導、技術解答(有償)見文未 目錄 一、硬件設計 二、設計功能 三、Proteus仿真圖 四、原理圖 五、程序源碼 資料包括: 需要完整的資料可以點擊下面的名片加下我,找我要資源壓縮包的百度網盤下載地址及提取碼。 方案選擇 單片機的選…

uniapp tabbar 瀏覽器調試顯示 真機不顯示

解決方案,把tabBar里面的單位全改為px,rpx是不會顯示的! 注意了,改完一定要重新運行,不然無效,坑爹 "tabBar": {"borderStyle": "black","selectedColor": &quo…

java-JVM內存區域JVM運行時內存

一. JVM 內存區域 JVM 內存區域主要分為線程私有區域【程序計數器、虛擬機棧、本地方法區】、線程共享區域【JAVA 堆、方法區】、直接內存。線程私有數據區域生命周期與線程相同, 依賴用戶線程的啟動/結束 而 創建/銷毀(在 HotspotVM 內, 每個線程都與操作系統的本地線程直接映…

SwiftUI 動畫進階:實現行星繞圓周軌道運動

0. 概覽 SwiftUI 動畫對于優秀 App 可以說是布帛菽粟。利用美妙的動畫我們不僅可以活躍界面元素,更可以單獨打造出一整套生動有機的世界,激活無限可能。 如上圖所示,我們用動畫粗略實現了一個小太陽系:8大行星圍繞太陽旋轉,而衛星們圍繞各個行星旋轉。 在本篇博文中,您將…

vue3實現防抖、單頁面引入、全局引入、全局掛載

文章目錄 代碼實現單頁面引入全局引入使用 代碼實現 const debounce (fn: any, delay: number) > {let timer: any undefined;return (item: any) > {if (timer) clearTimeout(timer);timer setTimeout(() > fn(item), delay);} };export default debounce;單頁面…

Python + Selenium 處理瀏覽器Cookie

工作中遇到這么一個場景:自動化測試登錄的時候需要輸入動態驗證碼,由于某些原因,需要從一個已登錄的機器上,復制cookie過來,到自動化這邊繞過登錄。 瀏覽器的F12里復制出來的cookie內容是文本格式的: uui…

【第二講---初識SLAM】

SLAM簡介 視覺SLAM,主要指的是利用相機完成建圖和定位問題。如果傳感器是激光,那么就稱為激光SLAM。 定位(明白自身狀態(即位置))建圖(了解外在環境)。 視覺SLAM中使用的相機與常見…

VB+SQL銀行設備管理系統設計與實現

摘要 隨著銀行卡的普及,很多地方安裝了大量的存款機、取款機和POS機等銀行自助設備。銀行設備管理系統可以有效的記錄銀行設備的安裝和使用情況,規范對自助設備的管理,從而為用戶提供更加穩定和優質的服務。 本文介紹了銀行設備管理系統的設計和開發過程,詳細闡述了整個應…

Flink之Task解析

Flink之Task解析 對Flink的Task進行解析前,我們首先要清楚幾個角色TaskManager、Slot、Task、Subtask、TaskChain分別是什么 角色注釋TaskManager在Flink中TaskManager就是一個管理task的進程,每個節點只有一個TaskManagerSlotSlot就是TaskManager中的槽位,一個TaskManager中可…