基于51單片機的的雞籠補光和恒溫系統的設計與實現(源程序+Protues仿真+電路圖+元件清單+器件手冊)

編號:71

基于51單片機的的雞籠補光和恒溫系統的設計與實現

功能描述:

? ? ? ?本設計由89C52單片機+液晶12864顯示模塊+聲光報警電路+溫濕度傳感器電路+風扇電路+LED照明電路+光照檢測電路+GSM電路+DS1302時鐘電路

1.實現的功能
(1)采用DHT11溫濕傳感器、光敏電阻捕捉空氣中的濕度,溫度以及光照強度,把這些信息通過AT89C52在12864顯示溫度,濕度,光照強度并且顯示指導老師的姓名,當前日期,
(2)如果外接環境發生變化,比如光照太強(弱),濕度太潮(干),溫度過熱(低),則蜂鳴器開始報警,12864顯示當前溫度并顯示已發送報警消息;
并且通過GSM給手機發短信報警,短信顯示當前的溫濕度,光照強度;
發短信的同時并自動采取補救實施,比如溫度太高~散熱器轉動,溫度太低~小燈泡光照強度加強,光照強度太低~小燈泡的強度加強,
(蜂鳴器報警,顯示屏顯示當前參數,發短信報警,實施措施是幾乎同時完成的)
(3)如果系統能自動的消除這些問題,也一切恢復正常,并且給手機發短信,當前的參數以及恢復正常字樣

視頻演示鏈接:

71、基于51單片機的的雞籠補光和恒溫系統的設計與實現

仿真圖:

實物圖:

電路圖:

程序源碼:

/**********************************************************************************************/
#include "reg52.h"
#include "intrins.h"
#include "delay.h"
#include "lcd12864.h"
#include "adc0832.h"
#include "ds1302.h"
#include "PWM.h"
#include "uart.h"
#include "shtxx.h"sbit BEEP = P1^1;		//蜂鳴器
sbit FAN = P2^0;		//風扇
sbit Deng = P1^3;		//燈泡sbit JD = P1^2;			//繼電器sfr T2MOD = 0xc9;       //timer2 mode registervoid Timer2Init(void)	//50毫秒@11.0592MHz   用來報警
{T2MOD = 0;			//初始化模式寄存器T2CON = 0;			//初始化控制寄存器TL2 = 0x00;			//設置定時初值TH2 = 0x4C;			//設置定時初值RCAP2L = 0x00;		//設置定時重載值RCAP2H = 0x4C;		//設置定時重載值TR2 = 1;			//定時器2開始計時ET2 = 0;			//使能T2中斷
}void main(void)
{value humi_val,temp_val;		//定義兩個共同體,一個用于濕度,一個用于溫度unsigned char error;		    //用于檢驗是否出現錯誤unsigned char checksum;			//CRC			 unsigned int temp,humi;bit d_flag=1;xdata unsigned char dat[100];unsigned char res = 1;bit flag = 0;				   //DHT11 讀取標志unsigned char light;DS1302_Init();  			   //DS1302初始化
//  	DS1302_Set_Time(0x80,&Byte,7); //設置初始時間函數DisplayOn();clear();Disp_Init();delay_ms(200);clear();EA = 1;Timer0Init();				   //定時器PWM初始化Timer2Init();Uart_Init();				   //串口初始化PWM_Set(0);JD = 1;Deng = 1;DIS_top();s_connectionreset();			//啟動連接復位PWM_Set(4);while(1){error=0;					//初始化error=0,即沒有錯誤error+=s_measure((unsigned char*)&temp_val.i,&checksum,TEMP); //溫度測量error+=s_measure((unsigned char*)&humi_val.i,&checksum,HUMI); //濕度測量if(error!=0) s_connectionreset();                 	//如果發生錯誤,系統復位else{ humi_val.f=(float)humi_val.i;                   //轉換為浮點數temp_val.f=(float)temp_val.i;                   //轉換為浮點數calc_sth10(&humi_val.f,&temp_val.f);            //修正相對濕度及溫度temp=temp_val.f*10;humi=humi_val.f*10-40;							//補償	}  light=ADC0832(1,0)*100/255;DS1302_Get_Time(0x81,time_buf,7); //讀取時間
//		DS1302_Time();					  //格式化輸出日期時間信息dis_time(temp/10,humi/10,light);if((temp/10)>30){	FAN = 0;}elseFAN = 1;if((temp/10)>30||(humi/10)>80||light>80||(temp/10)<15||(humi/10)<20||light<20)	//溫濕度光照超標{ET2 = 1;				}else {BEEP = 1;ET2 = 0;}/********************這里只負責措施動作*************///風扇動作 溫度超標 或者濕度太高 開啟風扇if((temp/10)>30||(humi/10)>80)		//溫度或者濕度  太高{FAN = 0;				//溫度或者濕度  太高 開風扇}else{FAN =1;					//關風扇}//燈泡動作 溫度太低	燈泡打開if((temp/10)<15){Deng = 0;}else{Deng = 1;}//繼電器動作  if((humi/10)<20)					//濕度過低{JD = 0;}else{JD = 1;}//led燈光if(light>80)		//光照過高{PWM_Set(1);}else if(light<20){PWM_Set(4);}else{PWM_Set(2);}}
}
void tm2_isr() interrupt 5 using 1
{static unsigned char n = 0;TF2 = 0;TL2 = 0x00;			//設置定時初值TH2 = 0x4C;			//設置定時初值RCAP2L = 0x00;		//設置定時重載值RCAP2H = 0x4C;		//設置定時重載值n++;if(n>5){n = 0;BEEP =~BEEP;}
}

軟件免費下載地址:

1、Proteus仿真軟件
文件內容:Proteus7.8安裝包、Proteus8.6安裝包、Proteus.8.10安裝包、Proteus Professional 8.11 SP0安裝包

鏈接:https://pan.baidu.com/s/11LNUZ9BJXWvXf1C4dPc3_w?
提取碼:2756

2、KEIL4 C51軟件安裝包

鏈接:https://pan.baidu.com/s/1CTZBqDsPsyIbjCIjI_birA?
提取碼:sy2a?

文件下載:

鏈接: https://pan.baidu.com/s/1dc3p6yAPAmNC-qTrbB3GJA?pwd=1234 提取碼: 1234

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

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

相關文章

Spring——Spring開發實戰經驗(1)

摘要 文章主要介紹了 Swagger 作為 API 文檔生成和測試工具的功能&#xff0c;包括自動生成 API 文檔、提供可視化調試界面、促進前后端協作、支持 OpenAPI 規范等。同時&#xff0c;還提及了 Spring Boot 與 Swagger3 的實戰應用&#xff0c;以及 Spring 開發中其他相關技術內…

SAP-ABAP:SAP的Screen Layout Designer屏幕布局設計器詳解及示例

在SAP中&#xff0c;Screen Layout Designer&#xff08;屏幕布局設計器&#xff09;是用于設計和維護屏幕&#xff08;Dynpro&#xff09;布局的工具。通過Screen Layout Designer&#xff0c;您可以創建和修改屏幕元素&#xff08;如輸入字段、按鈕、文本、表格控件等&#x…

安全筑基,智能賦能:BeeWorks IM引領企業協同新紀元

在數字經濟高速發展的今天&#xff0c;企業通訊系統已從單純的信息傳遞工具演變為支撐業務創新的核心平臺。傳統通訊工具在安全性、智能化、協同性等方面的不足&#xff0c;嚴重制約著企業的數字化轉型進程。BeeWorks IM系統以其創新的技術架構和智能化功能&#xff0c;正在重新…

SpringBoot實戰:高效獲取視頻資源

文章目錄 前言技術實現SpringBoot項目構建產品選取配置數據采集 號外號外 前言 在短視頻行業高速發展的背景下&#xff0c;海量內容數據日益增長&#xff0c;每天都有新的視頻、評論、點贊、分享等數據涌現。如何高效、精準地獲取并處理這些龐大的數據&#xff0c;已成為各大平…

【IoTDB 線上小課 11】為什么 DeepSeek 要選擇開源?

新年新氣象&#xff0c;【IoTDB 視頻小課】第十一期全新來臨&#xff01; 關于 IoTDB&#xff0c;關于物聯網&#xff0c;關于時序數據庫&#xff0c;關于開源... 一個問題重點&#xff0c;3-5 分鐘&#xff0c;我們講給你聽&#xff1a; 開源“加成”再次展現&#xff01; 現在…

宏任務和微任務

在前端開發中&#xff0c;**宏任務&#xff08;Macro Task&#xff09;**和**微任務&#xff08;Micro Task&#xff09;**是 JavaScript 事件循環&#xff08;Event Loop&#xff09;中的兩個重要概念。它們決定了異步代碼的執行順序。 --- ### 1. **事件循環&#xff08;Ev…

人工智能 - 機器學習、深度學習、強化學習是人工智能領域的理論基礎和方法論

機器學習、深度學習、強化學習是人工智能領域的三大核心方向,各自具有獨特的理論基礎和方法論。以下是它們的核心理論知識總結: 一、機器學習(Machine Learning, ML) 1. 基礎概念 目標:通過數據驅動的方式,讓機器從經驗中學習規律,完成預測、分類或決策任務。 核心范式…

java處理pgsql的text[]類型數據問題

背景 公司要求使用磐維數據庫&#xff0c;于是去了解了這個是基于PostgreSQL構建的&#xff0c;在使用時有場景一條圖片數據中可以投放到不同的頁面&#xff0c;由于簡化設計就放在數組中&#xff0c;于是使用了text[]類型存儲&#xff1b;表結構 #這是一個簡化版表結構&…

. Unable to find a @SpringBootConfiguration(默認軟件包中的 Spring Boot 應用程序)

解決&#xff1a; 新建一個包即可 問題&#xff1a; 默認軟件包中的 Spring Boot 應用程序。 原因&#xff1a; 默認包的定義 &#xff1a; 如果一個 Java 類沒有使用 package 聲明包名&#xff0c;則該類會被放置在默認包中。Spring Boot 遵循 Java 的包管理約定&#xff…

C語言——排序(冒泡,選擇,插入)

基本概念 排序是對數據進行處理的常見操作&#xff0c;即將數據按某字段規律排列。字段是數據節點的一個屬性&#xff0c;比如學生信息中的學號、分數等&#xff0c;可針對這些字段進行排序。同時&#xff0c;排序算法有穩定性之分&#xff0c;若兩個待排序字段一致的數據在排序…

滲透利器:YAKIT 工具-基礎實戰教程.

YAKIT 工具-基礎實戰教程. YAKIT&#xff08;Yak Integrated Toolkit&#xff09;是一款基于Yak語言開發的集成化網絡安全單兵工具&#xff0c;旨在覆蓋滲透測試全流程&#xff0c;提供從信息收集、漏洞掃描到攻擊實施的自動化支持。其核心目標是通過GUI界面降低Yak語言的使用…

CRISPR spacers數據庫;CRT和PILER-CR用于MAGs的spacers搜索

iPHoP&#xff1a;病毒宿主預測-CSDN博客 之前介紹了這個方法來預測病毒宿主&#xff0c;今天來介紹另一種比較用的多的方法CRISPR比對 CRISPR spacers數據庫 Dash 在這可以下載作者搜集的spacers用于后期比對 CRT和PILER-CR 使用 CRT 和 PILERCR 識別 CRISPR 間隔區&#x…

模糊聚類分析方法:從模糊等價矩陣到動態分類

一、模糊聚類分析的核心思想 在實際工程技術和經濟管理問題中&#xff0c;我們常常需要對對象進行分類。例如&#xff0c;根據生物特征對物種分類、根據氣候特征對城市分類、根據用戶行為對客戶群體分類等。傳統的聚類分析基于清晰的分類邊界&#xff0c;但現實中許多分類問題…

DeepSeek從入門到精通:提示詞設計的系統化指南

目錄 引言&#xff1a;AIGC時代的核心競爭力 第一部分 基礎篇&#xff1a;提示詞的本質與核心結構 1.1 什么是提示詞&#xff1f; 1.2 提示詞的黃金三角結構 第二部分 類型篇&#xff1a;提示詞的六大范式 2.1 提示語的本質特征 2.2 提示語的類型 2.2.1 指令型提示詞 …

【EDA學習】嘉立創題庫

一、多選題 1.嘉立創題庫的作用是什么&#xff0c;以下描述正確的是&#xff1f; A.提供學習平臺&#xff0c;幫助客戶了解嘉立創工藝 B.可成為嘉立創客戶所在企業的內部培訓資料&#xff0c;打通設計與制造&#xff0c;提高產品研發效率&#xff0c;降本增效 C.可成為嘉立創客…

Python PyCharm DeepSeek接入

Python PyCharm DeepSeek接入 創建API key 首先進入DeepSeek官網&#xff0c;https://www.deepseek.com/ 點擊左側“API Keys”&#xff0c;創建API key&#xff0c;輸出名稱為“AI” 點擊“創建"&#xff0c;將API key保存&#xff0c;復制在其它地方。 在PyCharm中下…

對界面簡單易用封裝SDK

1.三大接口 1.CheckTuple package com.x.globalcommonservice.model.permissioncontrolservice.openfga.service;import com.x.globalcommonservice.global.exception.CodeException; import com.x.globalcommonservice.model.permissioncontrolservice.openfga.dto.tuple.Op…

【Pico】使用Pico進行無線串流搜索不到電腦

使用Pico進行無線串流搜索不到電腦 官串方式&#xff1a;使用Pico互聯連接電腦。 故障排查 以下來自官方文檔 請按照以下步騾排除故障&#xff1a; 確認電腦和一體機連接了相同的路由器WiFi網絡(相同網段) IP地址通常為192.168.XX&#xff0c;若兩設備的IP地址前三段相同&…

[免費]Springboot+Vue醫療(醫院)掛號管理系統【論文+源碼+SQL腳本】

大家好&#xff0c;我是java1234_小鋒老師&#xff0c;看到一個不錯的SpringbootVue醫療(醫院)掛號管理系統&#xff0c;分享下哈。 項目視頻演示 【免費】SpringBootVue醫療(醫院)掛號管理系統 Java畢業設計_嗶哩嗶哩_bilibili 項目介紹 在如今社會上&#xff0c;關于信息上…

【一文讀懂】WebRTC協議

WebRTC&#xff08;Web Real-Time Communication&#xff09;協議 WebRTC&#xff08;Web Real-Time Communication&#xff09;是一種支持瀏覽器和移動應用程序之間進行 實時音頻、視頻和數據通信 的協議。它使得開發者能夠在瀏覽器中實現高質量的 P2P&#xff08;點對點&…