新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機智能房間設(shè)計

單片機智能房間設(shè)計

作者: 時間:2016-11-30 來源:網(wǎng)絡(luò) 收藏
前幾天又加了個調(diào)時窗口,調(diào)時窗口的程序有檢測輸入時數(shù)據(jù)是否合法功能。對不合法的數(shù)據(jù),將拒絕輸入。
經(jīng)過多次調(diào)試,現(xiàn)己實現(xiàn)了電腦對DS1302的調(diào)時。
調(diào)時的過程是,電腦發(fā)把時間數(shù)據(jù)發(fā)給1號機,一號機再發(fā)給2號機,和電腦。
研究到無線模塊這里,卡住了,這幾天電腦也出問題。打算先放一段時間。2012年6月3日
這幾天又有新進展了,無線模塊,硬件實驗成功,昨天又在淘寶上買了一個遠距離的nRF24l01p,現(xiàn)在正在路上呢,我會盡把無線模塊部分的程序整合到智能房間中去的。2012年7月16日
今天把PLC上模擬定時器功能給編出來了。
PLC上有T0到Tn個定時器,在單片編程中有時也要用到好多定時器到延時或別的什么的。我一直想用C語言實現(xiàn)這樣的
功能。今天給做出來了。并在實驗板上實驗通過了?,F(xiàn)在發(fā)出來與愛好單片機有朋友們分享。
#include
#define uint unsigned int
#define uchar unsigned char
//uchar code SEG87[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//uchar code SEG7[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar jishu;
uint sec;//秒變量,可計大約18小時,
//加一個定時器就要加一個記錄當前時間的變量 jilu
//和Tnbz標致
uint jilu1,jilu2,jilu3,jilu4,jilu5;
bit t1bz,t2bz,t3bz,t4bz,t5bz;
sbit D1=P3^3;//定義按鍵輸入
sbit D2=P3^4;
sbit D3=P3^5;
sbit D4=P3^2;
/****************************/
void delay(uint k)
{
uint data i,j;
for(i=0;i{for(j=0;j<960;j++)
{;}}
}
/***********************************/
/***********************************/
void timer0(void) interrupt 1//用于計時
{
TH0=-(35000/256);
TL0=-(40000%256);
jishu++;
if(jishu==20)
sec++;//秒變量尚未考慮sec溢出情況
}
/***********************************/
void main(void)
{
TH0=-(50000/256);
TL0=-(50000%256);
ET0=1;
EA=1;
TR0=1;
sec=3600;
while(1)
{
//*****虛擬定時器1******
if(!t1bz)
{if(!D1)
{ delay(20);
if(!D1)
{jilu1=sec;
t1bz=1;
}
}
}
if(sec-jilu1==2)//這里的 2 為延時時間,改就此值可
//改變延時時間
{P2=0xef;
t1bz=0;
}
//*******************************
if(!t2bz)
{if(!D2)
{ delay(20);
if(!D2)
{jilu2=sec;
t2bz=1;
}
}
}
if(sec-jilu2==4)
{P2=0xdf;
t2bz=0;
}
//*********************************
if(!t3bz)
{if(!D3)
{ delay(20);
if(!D3)
{jilu3=sec;
t3bz=1;
}
}
}
if(sec-jilu3==6)
{P2=0xbf;
t3bz=0;
}
//*****下面是用虛擬定時器4,5實現(xiàn)P2^0位LED,閃爍。
if(!t4bz)
{ jilu5=0;
jilu4=sec;
t4bz=1;

}
if(sec-jilu4==1)
{
P2|=0x01;
t5bz=1;
}
//******************************
if(t5bz)
{
jilu4=0;
jilu5=sec;
t5bz=0;
}
if(sec-jilu5==1)
{P2&=0xfe;
t4bz=0;
}
}
}
自己感覺以上程序比較繞人,費腦子。有興趣有朋友看的時候一定要有耐心哦。
2012年7月22日
智能房間的硬件工作,從上個星期天正式開始了。這次為了確保能穩(wěn)定可靠的工作,我盡量的避免了用細如牛毛的細銅絲作跳線。下面的圖片是進展情況。











2012年8月5日
智能房間硬件進展:

關(guān)鍵詞: 單片機智能房

評論


技術(shù)專區(qū)

關(guān)閉