欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
單片機(jī)智能窗簾控制系統(tǒng)keil5工程及原理圖
[打印本頁(yè)]
作者:
capation
時(shí)間:
2024-12-18 22:42
標(biāo)題:
單片機(jī)智能窗簾控制系統(tǒng)keil5工程及原理圖
2d9d7f7bd6e8cfa02771d88d23a87fd.png
(76 KB, 下載次數(shù): 0)
下載附件
2024-12-18 22:42 上傳
/*
控制窗簾開(kāi)關(guān)主函數(shù)
*/
#include<reg52.h>
#include<intrins.h>
#include"define.h"
#include"delay.h"
#include"LCD1602.h"
#include"DS18B20.h"
#include"ADC0832.h"
#include"L298.h"
unsigned char AuMa; //Au自動(dòng),Ma手動(dòng)。自動(dòng)手動(dòng)切換變量
unsigned char StSp; //sr=start,sp=stop。開(kāi)\關(guān)
unsigned char light; //光照強(qiáng)度
//***********************************************************************/
void Automatic();
void Manual();
void main()
{
LCD_init();
DS_read_temperature();
if(DS_OK==0)
return;//如果讀取錯(cuò)誤,返回從新再讀
display_temperature();
IE=0x85;
PX0=1; //中斷優(yōu)先
IT0=1;
AuMa=1; //0為自動(dòng),1為手動(dòng)(初始為手動(dòng))
StSp=1; //0表示開(kāi),1表示關(guān)(初始為關(guān))
while(1)
{
DS_read_temperature();//讀取溫度
if(DS_OK==0)
return;//如果讀取錯(cuò)誤,返回從新再讀
display_temperature();
//MotorData=0x00; //設(shè)電機(jī)轉(zhuǎn)動(dòng)初值
//MA=0;MB=0; //初始不轉(zhuǎn)動(dòng)
//status=1; //初始窗戶關(guān)閉
light = Get_ADC0832();//讀取光照強(qiáng)度
light = light/2.5; //縮小光照檢測(cè)結(jié)果在(0-99)
if(light>99) //如果大于99
light=99; //則依然保持99
if(AuMa == 0) { //進(jìn)入自動(dòng)模式
Automatic();
delay(1);
}
else { //進(jìn)入手動(dòng)模式
IT1=1;
buffer_line1[10]='M';//*********修改成MAN
buffer_line1[11]='A';//*********修改成MAN
buffer_line1[12]='N';//*********修改成MAN
buffer_line1[13]=' ';//*********修改成MAN
buffer_line1[14]=' ';//*********修改成MAN
Manual();
delay(1);
}
}
}
/*******************手動(dòng)模式***********************/
/*首先選擇手動(dòng)模式,再手動(dòng)選擇開(kāi)還是關(guān)窗簾*/
void Manual()
{
if(StSp == 0 ) {//命令開(kāi)并且當(dāng)前窗戶是關(guān)閉的
buffer_line1[14]='0';//*********修改成0,表示開(kāi)
zhengzhuan();//電機(jī)正轉(zhuǎn),打開(kāi)窗簾
}
else if(StSp == 1 ) {//命令關(guān)并且窗戶當(dāng)前是打開(kāi)的
buffer_line1[14]='1';//*********修改成1,表示關(guān)
fanzhuan();//電機(jī)反轉(zhuǎn),關(guān)閉窗簾
}
//MA=0;MB=0;
}
/*******************自動(dòng)模式*************************/
/*
首先選擇自動(dòng)模式
光照太強(qiáng)自動(dòng)關(guān)窗簾,溫度太高太低都會(huì)自動(dòng)關(guān)窗簾;
只有在溫度范圍(15-30)且光線不強(qiáng)才會(huì)自動(dòng)打開(kāi)窗簾。
*/
void Automatic()
{
uchar gLight = 40; //窗簾開(kāi)關(guān)的閾值
buffer_line1[10]='A';//*********修改成AUT
buffer_line1[11]='U';//*********修改成AUT
buffer_line1[12]='T';//*********修改成AUT
buffer_line1[13]=' ';//*********修改成AUT
buffer_line1[14]=' ';//*********修改成AUT
if((sign_temp<=15 || sign_temp>=30 || light>=gLight) ) { //當(dāng)前狀態(tài)為開(kāi),執(zhí)行關(guān)命令
buffer_line1[14]='1'; //*********修改成1,表示關(guān)
fanzhuan();//電機(jī)反轉(zhuǎn),關(guān)閉窗簾
}
else { //當(dāng)前狀態(tài)為關(guān),執(zhí)行開(kāi)命令
buffer_line1[14]='0'; //*********修改成0,表示開(kāi)
zhengzhuan();//電機(jī)正轉(zhuǎn),打開(kāi)窗簾
}
}
//INT0中斷函數(shù)--控制模式切換:自動(dòng)/手動(dòng)
void EX_INT0() interrupt 0
{
AuMa = (AuMa+1)%2;
}
//INT1中斷函數(shù)--手動(dòng)控制開(kāi)關(guān)切換:開(kāi)/關(guān)
void EX_INT1() interrupt 2
{
StSp = (StSp+1)%2;
}
復(fù)制代碼
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1