單片機(jī)智能房間設(shè)計(jì)
前幾天又加了個(gè)調(diào)時(shí)窗口,調(diào)時(shí)窗口的程序有檢測(cè)輸入時(shí)數(shù)據(jù)是否合法功能。對(duì)不合法的數(shù)據(jù),將拒絕輸入。
經(jīng)過(guò)多次調(diào)試,現(xiàn)己實(shí)現(xiàn)了電腦對(duì)DS1302的調(diào)時(shí)。
調(diào)時(shí)的過(guò)程是,電腦發(fā)把時(shí)間數(shù)據(jù)發(fā)給1號(hào)機(jī),一號(hào)機(jī)再發(fā)給2號(hào)機(jī),和電腦。
研究到無(wú)線模塊這里,卡住了,這幾天電腦也出問(wèn)題。打算先放一段時(shí)間。2012年6月3日
這幾天又有新進(jìn)展了,無(wú)線模塊,硬件實(shí)驗(yàn)成功,昨天又在淘寶上買(mǎi)了一個(gè)遠(yuǎn)距離的nRF24l01p,現(xiàn)在正在路上呢,我會(huì)盡把無(wú)線模塊部分的程序整合到智能房間中去的。2012年7月16日
今天把PLC上模擬定時(shí)器功能給編出來(lái)了。
PLC上有T0到Tn個(gè)定時(shí)器,在單片編程中有時(shí)也要用到好多定時(shí)器到延時(shí)或別的什么的。我一直想用C語(yǔ)言實(shí)現(xiàn)這樣的
功能。今天給做出來(lái)了。并在實(shí)驗(yàn)板上實(shí)驗(yàn)通過(guò)了?,F(xiàn)在發(fā)出來(lái)與愛(ài)好單片機(jī)有朋友們分享。
#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;//秒變量,可計(jì)大約18小時(shí),
#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;//秒變量,可計(jì)大約18小時(shí),
//加一個(gè)定時(shí)器就要加一個(gè)記錄當(dāng)前時(shí)間的變量 jilu
//和Tnbz標(biāo)致
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;
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 delay(uint k)
{
uint data i,j;
for(i=0;i
{;}}
}
/***********************************/
/***********************************/
void timer0(void) interrupt 1//用于計(jì)時(shí)
{
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)
{
//*****虛擬定時(shí)器1******
void timer0(void) interrupt 1//用于計(jì)時(shí)
{
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)
{
//*****虛擬定時(shí)器1******
if(!t1bz)
{if(!D1)
{ delay(20);
if(!D1)
{jilu1=sec;
t1bz=1;
}
}
}
if(sec-jilu1==2)//這里的 2 為延時(shí)時(shí)間,改就此值可
{if(!D1)
{ delay(20);
if(!D1)
{jilu1=sec;
t1bz=1;
}
}
}
if(sec-jilu1==2)//這里的 2 為延時(shí)時(shí)間,改就此值可
//改變延時(shí)時(shí)間
{P2=0xef;
t1bz=0;
}
//*******************************
{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;
}
//*****下面是用虛擬定時(shí)器4,5實(shí)現(xiàn)P2^0位LED,閃爍。
{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;
}
//*****下面是用虛擬定時(shí)器4,5實(shí)現(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;
{ 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;
}
}
}
}
if(sec-jilu5==1)
{P2&=0xfe;
t4bz=0;
}
}
}
自己感覺(jué)以上程序比較繞人,費(fèi)腦子。有興趣有朋友看的時(shí)候一定要有耐心哦。
2012年7月22日
智能房間的硬件工作,從上個(gè)星期天正式開(kāi)始了。這次為了確保能穩(wěn)定可靠的工作,我盡量的避免了用細(xì)如牛毛的細(xì)銅絲作跳線。下面的圖片是進(jìn)展情況。
2012年8月5日
2012年8月5日
關(guān)鍵詞:
單片機(jī)智能房
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開(kāi)關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開(kāi)發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論