久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1505|回復: 0
打印 上一主題 下一主題
收起左側

單片機智能房間設計

[復制鏈接]
跳轉到指定樓層
樓主
ID:342094 發表于 2018-5-31 13:07 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
概況:
1,可用鍵盤控制各個房間的用電器.
2,也可用無線遙控控制各個房間里的電器.
3,也可連接電腦,用電腦程序,控制各個房間里的電器.
4,帶一個大數碼管實時時鐘,用DS1302做.
只要時和分位,可代替大鐘.
  整點報時(蜂鳴一下),可設定2 個鬧鈴,
5,可用4*4鍵盤直接調整時間,設定鬧鐘.
6,用兩個單片機互相通訊.
7,一個單片機負責鍵盤,時鐘,數碼管顯示,蜂鳴器
取名2號機
8,另一個單片機負責檢測傳感器輸入,連接NRF24L01無線模塊。輸出控制各個房間用電器,(取名1號機
9,現在想到輸入傳感器有,2個光敏電阻傳感器,一個磁鐵干簧管傳感器。
10,輸出器件有,各房間的電燈,風扇,一個報警號筒。

功能將會不斷加.......
可學到的知識點:
我認最主要的是綜合各個模塊的能力。
1、DS1302的應用
2、鍵盤掃描程序、鍵盤輸入程序、。。。


工程進展:
2012年4月3日
做了有一個星期了,已完成時間顯示、4*4鍵盤直接調整時間、設定鬧鐘、整點報時。

2012年4月9日
現將一些變量、功能函數名摘錄如下。
bit tiaoshibz;//調時標示
uchar zhishuPointer;//調時 位指針

uchar xianshipointer;//顯示旋轉指針
uchar miaojilu;//秒記錄,用于秒位閃爍
uchar miaojishu;//秒位閃亮的時間
bit miaobz;//秒位閃亮結束的標致
uchar data xiancun[4];//顯示緩存 xiancun[0]為時的十位 xiancun[3]為分的個位

bit naozhongbz1,naozhongbz2;//鬧鐘啟動標致
bit naozhongnaolingbz;//鬧鐘鬧鈴開始標致
uchar naozhong1[4];//鬧鐘用定時用  naozhong[0]為時的十位 naozhong[3]為分的個位
uchar naozhong2[4];
uchar zhengdianbaoshi;//整點報時

/********鍵盤用***********/
uchar code SKEY[16]={10,11,12,13,3,6,9,14,2,5,8,0,1,4,7,15};
uchar code act[4]={0xfe,0xfd,0xfb,0xf7};
uchar code SEG7[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

/**********DS1302功能函數聲明**************/
void DS1302InputByte(unsigned char d);
unsigned char DS1302OutputByte(void);
void Write1302(unsigned char ucAddr, unsigned char ucDa);
unsigned char Read1302(unsigned char ucAddr);
void DS1302_SetProtect(bit flag);
void DS1302_SetTime(unsigned char Address, unsigned char Value);
void DS1302_GetTime(struct Clock *Time);
void TimeToStr(struct Clock *Time,bit bz);
/*void DateToStr(struct Clock *Time);*/
void Initial_DS1302(void);
//void BurstWrite1302(unsigned char *pWClock); //往DS1302寫入時鐘數據(多字節方式)
//void BurstRead1302(unsigned char *pRClock); //讀取DS1302時鐘數據(時鐘多字節方式)
//void DS1302_TimeStop(bit flag);           // 是否將時鐘停止

/***********功能函數聲明*******************/
char scan_key(void);
void ControlInput(uchar a);
uchar jianceshuzhi(uchar pointer,char n);//檢測輸入數值是否合法
void zhishu(void);//鍵盤直接輸入
void naozhong(uchar bz1,uchar bz2);//鬧鐘 內含整點報時(蜂鳴一下)
void baojing(uint);//鬧鈴聲
void shanshuo(uchar a);
/*********串口函數聲明**************/
void fasong (uchar a); //發送一字節
void huiying(void); //回應電腦,(發送輸入,輸出的狀態給電腦)   
void yingda(void);
void yueding(bit a);
void Stringfasong(uchar *p);


前天終于把兩個單片機用SPI接口通訊的試驗做成功了。
現在正在研究NRF24L01。把這個實驗做成功,再添加到智能房間程序中,就可以用無線遙控家里的用電器了。
2012年5月1日
NRF24L01 收發實驗己成功。
2012年5月6日
前幾天研究NRF2401時,一不小心接錯了線,燒壞了一塊。
昨天又在淘寶上買了兩塊,現在還在路上。
這幾天又研究了VB程序,就是在我去年編的那個人機界面上改的。取名叫“人機界面”。 下面是截圖:



能實現的功能有:
8個命令按鈕可控制P0的狀態,單擊一次,狀態取反。
綠色正方形指示P0各位狀態。
8個綠色圓點指示P2口各位狀態。
指示都是具有實時性的。只要端口狀態改變,單片機就會把狀態發給電腦指示出來。


前幾天又加了個調時窗口,調時窗口的程序有檢測輸入時數據是否合法功能。對不合法的數據,將拒絕輸入。
經過多次調試,現己實現了電腦對DS1302的調時。
調時的過程是,電腦發把時間數據發給1號機,一號機再發給2號機,和電腦。

研究到無線模塊這里,卡住了,這幾天電腦也出問題。打算先放一段時間。2012年6月3日

這幾天又有新進展了,無線模塊,硬件實驗成功,昨天又在淘寶上買了一個遠距離的nRF24l01p,現在正在路上呢,我會盡把無線模塊部分的程序整合到智能房間中去的。2012年7月16日

今天把PLC上模擬定時器功能給編出來了。
PLC上有T0到Tn個定時器,在單片編程中有時也要用到好多定時器到延時或別的什么的。我一直想用C語言實現這樣的
功能。今天給做出來了。并在實驗板上實驗通過了。現在發出來與愛好單片機有朋友們分享。
#include <REG51.H>  
#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<k;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實現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日
智能房間的硬件工作,從上個星期天正式開始了。這次為了確保能穩定可靠的工作,我盡量的避免了用細如牛毛的細銅絲作跳線。下面的圖片是進展情況。











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












2012年8月19日
昨天把傳感器輸入部分給做了一些。



用的是LM339 暫時接了3個傳感器,兩個光敏電阻,一個溫度電阻,剩下的1/4作備份。



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美一级三级在线观看 | 免费一区在线观看 | 欧美日韩一区二区三区不卡视频 | 久久久999精品 | 精品乱码一区二区三四区 | 欧美成人猛片aaaaaaa | 国产欧美精品一区二区色综合朱莉 | 国产一区视频在线 | 国产成人在线视频 | av毛片在线免费观看 | 久久99精品久久久久久 | 日韩电影一区二区三区 | 美女国产精品 | 国产美女精品视频 | 欧美激情精品久久久久久免费 | 久久成人综合 | 亚洲一区中文字幕 | 欧美日韩在线播放 | 97caoporn国产免费人人 | 久久久久久久久淑女av国产精品 | 亚洲一区二区中文字幕 | 国产精品一区一区三区 | 91深夜福利视频 | 全部免费毛片在线播放网站 | 成人亚洲精品 | 一级中国毛片 | 国产精品99久久久久久www | 欧美高清一区 | 国产精品一区二区在线播放 | 91免费福利在线 | 亚洲欧美精品久久 | 国产精品特级片 | 久久久久久综合 | 伊人激情综合网 | 伊人精品在线视频 | 欧美黑人激情 | 久久com| 午夜不卡福利视频 | 国产高清在线精品 | 全免费a级毛片免费看视频免费下 | 男女啪啪网址 |