基於51單片機的智能晾衣架系統設計

1.功能介紹
設計基於51單片機的智能晾衣架。主要功能如下:
(1)控制晾衣架的升降。
(2)具有限位開關功能。
(3)具有無線遙控功能。
(4)能夠指示運行狀態。
(5)具有智能模式,可以根據環境光線控制晾衣架的升降
(6)具有智能模式,可以根據環境溼度控制晾衣架的升降

2.硬件設計
(1)總體硬件框圖
原理:採用8位的STC89C51單片機做控制器,程序採用C語言編程。利用直流電機正反轉,實現控制晾衣架的開關。無線遙控是由SC2262/SC2272 編碼解碼芯片組成的無線發送接收模塊,通過SC2272接收輸出端D0、D1、D2、D3輸出信號控制單片機,再利用單片機控制繼電器的吸和驅動直流電機的正反轉,實現晾衣架的開合,同時用行程開關檢測晾衣架位置,實現晾衣架的防過卷。
在這裏插入圖片描述
(2)單片機最小系統
單片機最小系統主要由單片機、時鐘電路、復位電路組成。
在這裏插入圖片描述
(3)無線遙控電路
無線遙控主要由兩部分組成,一爲無線遙控電路,二爲無線解碼電路。
a.無線遙控電路
遙控電路採用sc2262芯片作爲編碼器,並採用用2V電池供電,按下按鍵後電池的正極纔會和芯片和發射模塊的電源端連通併發出信號,這樣設計也是爲了保證電池的耐用。遙控電路的作用是將每個按鍵定義的碼值編碼成無線傳輸信號,並通過紅外發光管將信號發送出去。
在這裏插入圖片描述
b.無線解碼電路
解碼電路由sc2272芯片作爲解碼器,接收電路輸出端通過npn三極管9013將輸出的高電平轉變成低電平,單片機可以更好的識別低電平變化。解碼電路的作用爲接收紅外無線信號,將光信號解析成電信號,並傳送給單片機
在這裏插入圖片描述
(4)光線檢測電路
光纖檢測電路採用了光敏傳感器,通過光敏電阻的特性,光線暗時電阻變大,三極管的基極電壓變低,三極管截止,發射極被10k電阻拉低電平,輸出低電平;光線亮時電阻變小,三極管的基極電壓變高,三極管導通,發射極被電源拉高,輸出高電平。
在這裏插入圖片描述
(5)溫溼度檢測傳感器
溫溼度檢測傳感器採用了常用的DHT11數字傳感器,它應用專用的數字模塊採集技術和溫溼度傳感技術,具有極高的可靠性與卓越的長期穩定性,而且應用廣泛,編程簡單。
在這裏插入圖片描述
(6)電機正反轉控制電路
採用兩個繼電器的吸和狀態控制直流電動機的旋轉方向,帶動晾衣架的開合,兩個繼電器採用5V繼電器,通過9012三極管驅動繼電器的吸和,原理圖如下。
在這裏插入圖片描述
(7)整體硬件原理圖
在這裏插入圖片描述
3.軟件設計
(1)軟件流程圖
在這裏插入圖片描述
(2)主函數代碼
由於源碼比較多,想詳細瞭解源碼可進行下載。

void main()//主函數 
{
	uc testnum;
	light=0;
	buzz=1;
	led_zhishi=0;
	Timer0_Init();
	while(1)//進入死循環
	{
		work();//調用工作函數 
		display();
		if (FlagStartRH == 1)	 //溫溼度轉換標誌檢查
		{
            testnum = RH();
 			FlagStartRH = 0;
			humidity = U8RH_data_H;	 //讀出溼度,只取整數部分
			if(humidity>=80)
			flag_HH=1;
			else 
			flag_HH=0;
			TR0 = 1;
		}
		display();
	}
}

//定時器0中斷
void Timer0_ISR (void) interrupt 1 using 0
{
	ui RHCounter;
	TL0 = 0xb0;
	TH0 = 0x3c;     //定時器賦予初值

	//每5秒鐘啓動一次溫溼度轉換
    RHCounter ++;
    if (RHCounter >= 20)
    {
       FlagStartRH = 1;
	   RHCounter = 0;
	   TR0=0;
    }
}

源碼+電路圖 下載:關注公衆號,首頁回覆“晾衣架”獲取資料
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章