加入星計劃,您可以享受以下權(quán)益:

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

基于51單片機的自動澆花系統(tǒng)設(shè)計

12/16 09:11
977
服務(wù)支持:
技術(shù)交流群

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

虛擬商品不可退

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

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

畢業(yè)設(shè)計是設(shè)計一種51單片機控制的自動澆水系統(tǒng),實現(xiàn)室內(nèi)盆花澆水的自動化系統(tǒng)。該系統(tǒng)可對土壤的濕度進行監(jiān)控,并對作物進行適時適量的澆水。其核心是51單片機和土壤濕度檢測器YL-69和顯示電路以及澆水繼電器驅(qū)動電路構(gòu)成的檢測控制部分。主要研究土壤濕度與澆水時間之間的關(guān)系、澆灌控制技術(shù)及設(shè)備系統(tǒng)的硬件、軟件編程各個部分。

檢測部分,單片機選用AT89C51單片機,軟件選用C51語言編程。土壤濕度采集與顯示電路可將檢測到的土壤濕度模擬量放大轉(zhuǎn)換成數(shù)字量通過單片機內(nèi)程序控制精確的將溫度與濕度分別顯示在LED數(shù)碼管顯示屏上,通過單片機內(nèi)的中斷服務(wù)程序判斷是否要給盆花澆水,若需澆水,則單片機系統(tǒng)發(fā)出澆水信號,開始澆水,若不需要澆水,則進行下一次循環(huán)檢測。

在澆水系統(tǒng)中也同時設(shè)計一個定時澆水部分,通過按鍵開關(guān)設(shè)置不同的澆水時間段,在時間段以內(nèi)時,單片機驅(qū)動澆水系統(tǒng),開始澆水,如不在時間段內(nèi),則不澆水。

/ADC0809
sbit ST=P3^3;
sbit EOC=P3^4;
sbit OE=P3^2;
//按鍵
sbit Key1=P3^5;
sbit Key2=P3^6;
sbit Key3=P3^7;

//顯示數(shù)組		0-9+F
uchar Data_[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x71,0x3f};
sbit Wei1 = P2^7;
sbit Wei2 = P2^6;
sbit Wei3 = P2^5;
sbit Wei4 = P2^4;
//函數(shù)聲明
extern uchar ADC0809();
void Display(uchar X,uchar Data);
void delay(uint t);

//酒精含量變量
uchar temp=0;
//蜂鳴器變量
uchar FF=125;
//顯示模式
uchar Mode=0;
uchar p;

void main()
{

	while(1)
	{
		//正常模式
		if(Mode==0)
		{
			//讀取AD值
			temp=ADC0809();
			for(p=0;p<30;p++)
			Display(0,temp);
			//判斷是否報警
			if(temp>FF)
			{
				Feng=0;
			}
			else
			{
				Feng=1;
			}
		}
		//調(diào)整模式
		else
		{
			Display(1,FF);
		}
		//功能鍵
		if(Key3==0)
		{
			Feng=0;
			delay(100);
			while(Key3==0)
			{
				if(Mode==0)
					Display(0,temp);	
				else
					Display(1,FF);									
			}
			if(Mode==0)
				Mode=1;
			else
				Mode=0;
			Feng=1;
		}
		//增加
		if(Key2==0&&Mode==1)
		{
			Feng=0;
			delay(100);
			while(Key2==0)
			{
					Display(1,FF);									
			}
			FF++;
			if(FF==251)	
				FF=250;	
			Feng=1;
		}
		//減少
		if(Key1==0&&Mode==1)
		{
			Feng=0;
			delay(100);
			while(Key1==0)
			{
					Display(1,FF);									
			}
			FF--;
			if(FF==0xff)	
				FF=0;	
			Feng=1;
		}
	}
}
//ADC0809讀取信息
uchar ADC0809()
{
	uchar temp_=0x00;
	//初始化高阻太
	OE=0;
	//轉(zhuǎn)化初始化
	ST=0;
	//開始轉(zhuǎn)換
	ST=1;
	ST=0;
	//外部中斷等待AD轉(zhuǎn)換結(jié)束
	while(EOC==0)
	//讀取轉(zhuǎn)換的AD值
	OE=1;
	temp_=Data_ADC0809;
	OE=0;
	return temp_;
}
//延時
void delay(uint t)
{
	uint i,j;
	for(i=0;i<t;i++)
		for(j=0;j<10;j++);
}

//顯示       X表示狀態(tài)     Data表示數(shù)據(jù)
void Display(uchar X,uchar Data)
{
	Wei1=1;
	Wei2=1;
	Wei3=1;
	Wei4=1;
	P0=0xff;

	//正常模式
	if(X==0)
	{
		P0=~Data_[11];
	}
	//非正常
	else

資料借鑒于此紛傳

  • 有需要資料的可了解一下.docx

相關(guān)推薦

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