馮禮益++王來志
摘 要:此設(shè)計(jì)采用AT89S51單片機(jī)作為微控制器,采用按鍵和無線遙控兩種控制方式,用解碼芯片SC2262/SC2272組成無線發(fā)送接收模塊;通過控制直流電機(jī)的正反轉(zhuǎn)來控制窗簾的開關(guān),并且可以指示運(yùn)行狀態(tài),利用限位開關(guān)來控制窗簾停止,防止過卷。
關(guān)鍵詞:遙控窗簾;圖書館;AT89S52
隨著生產(chǎn)力發(fā)的高速發(fā)展,人們物質(zhì)條件的不斷改善,人們對(duì)家庭生活條件的要求越來越高,為了生活的更加舒適,對(duì)窗簾的操作便利性提出更高要求。窗簾的基本作用是遮陽及保護(hù)戶主的個(gè)人隱私,但傳統(tǒng)的窗簾您必須手動(dòng)操作,每天早開晚關(guān)也是挺麻煩的,特別是圖書館的窗簾,比較重,比較多,而且長,需要很大的力量才能開關(guān)窗簾,非常方便。
文章主要以利用單片機(jī)的無線遙控電路的設(shè)計(jì)來實(shí)現(xiàn)窗簾的自控控制。
1 智能遙控窗簾總體設(shè)計(jì)方案
文章是基于單片機(jī)的遙控窗簾,采用低功耗、高性能的STC89C52單片機(jī)做為控制器,用C語言編寫程序;窗簾的開關(guān)控制通過直流電機(jī)正反轉(zhuǎn)來實(shí)現(xiàn);無線收發(fā)模塊用編碼解碼芯片SC2262/SC2272組成,單片機(jī)由編碼解碼芯片四個(gè)輸出信號(hào)控制;再通過單片機(jī)來控制直流電機(jī);窗簾的是否過卷信號(hào)用傳感器來實(shí)現(xiàn)。系統(tǒng)框如圖1所示。
2 硬件電路設(shè)計(jì)
本系統(tǒng)主要由單片機(jī)最小系統(tǒng)、無線發(fā)射、接收模塊、按鍵部分、電機(jī)控制執(zhí)行部分和限位開關(guān)組成。
工作原理是基于STC89C52單片機(jī)的遙控窗簾。它采用無線遙控控制方式,其中SC2262/SC2272編碼解碼芯片組成無線發(fā)送接收模塊;通過控制直流電機(jī)的正反轉(zhuǎn)來控制窗簾的開關(guān),并且可以指示運(yùn)行狀態(tài);利用限位開關(guān)來控制窗簾停止,防止過卷。硬件電路設(shè)計(jì)如圖2、圖3所示。
解碼的芯用SC2272,編碼芯片用SC2262。編碼芯片發(fā)出編碼信號(hào),解碼芯片接收并進(jìn)行兩次驗(yàn)證后,把VT腳置為高電平,對(duì)應(yīng)數(shù)據(jù)腳輸出也是高電平。如果發(fā)射機(jī)無按鍵按下時(shí),編碼芯片不通電,其高頻發(fā)射電路停止工作;如果按鍵按下,編碼芯片通電,開始工作,高頻發(fā)射電路工作,向外發(fā)射高頻信號(hào)。
3 系統(tǒng)軟件設(shè)計(jì)
采用C語言編程,主要使用了if、while等判斷語句,按鍵設(shè)為高電平工作方式。如果有按鍵按下,有信號(hào)從無線發(fā)射模塊發(fā)出,相應(yīng)功能通過接收模塊解碼后響應(yīng),如果限位開關(guān)閉合,表示窗簾開關(guān)已到位,將不再轉(zhuǎn)動(dòng)。自動(dòng)模式部分程序如下:
#include
#include
#include
#define uc unsigned char
#define ui unsigned int
sbit in_go = P1^3;
sbit in_back = P1^2;//手動(dòng)前進(jìn)后退按鍵
sbit out_go = P3^0;
sbit out_back = P3^5;//電機(jī)控制輸出
sbit limit_go = P3^4;
sbit limit_back = P3^6;//前進(jìn)后退限位開關(guān)
sbit led_go = P1^4;
sbit led_back = P1^5;//前進(jìn)后退限位指示燈
sbit light = P1^0;//光線傳感器
sbit change = P1^1;//手動(dòng)自動(dòng)切換按鍵(默認(rèn)自動(dòng))
sbit led_zhishi = P1^7;
sbit buzz = P1^6;
bit bdata flag1,flag2,change_flag,flag_shan,flag_shan1,flag_shan2;
uc m,n,shan;
void delay(ui x)//延時(shí)函數(shù)
{
ui i,j;
for(i=0;i for(j=0;j<110;j++); } void work()//工作函數(shù) { if(change==0)//判斷切換是否按下 { buzz=1; delay(50); if(change==0) change_flag=~change_flag;//手動(dòng),自動(dòng)切換 buzz=0; while(!change);//釋放 } led_zhishi=change_flag; if(change_flag==0)//自動(dòng)模式 { if(light==0)//夜間(無光)時(shí)關(guān)閉窗簾 { delay(50); if(light==0) { if((limit_go==0)&&(flag_shan==0)) { out_go=1; out_back=1; led_go=1; for(shan=0;shan<6;shan++) { led_go=~led_go; buzz=~led_go; delay(500); } flag_shan=1; } else if(limit_go==1) { out_go=1; out_back=0; led_back=1; led_go=0; flag_shan=0; } } } 4 結(jié)語 此基于單片機(jī)的智能遙控窗簾是單片機(jī)應(yīng)用、無線遙控技術(shù)和傳感器技術(shù)的綜合應(yīng)用,這種窗簾操作簡單方便,用戶可以靈活控制,并且遙控距離遠(yuǎn)。該設(shè)計(jì)來自平時(shí)教學(xué)制作案例,如果稍加擴(kuò)展,將具有一定的實(shí)用價(jià)值。