新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機智能房間設計

        單片機智能房間設計

        作者: 時間:2016-11-30 來源:網絡 收藏
        概況:
        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口各位狀態。
        指示都是具有實時性的。只要端口狀態改變,單片機就會把狀態發給電腦指示出來。
        上一頁 1 2 3 下一頁

        關鍵詞: 單片機智能房

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 镇雄县| 工布江达县| 神农架林区| 托克逊县| 辰溪县| 洛南县| 海盐县| 自贡市| 乡宁县| 阿拉善盟| 东平县| 定西市| 英吉沙县| 融水| 黔西县| 松桃| 博罗县| 都江堰市| 扶余县| 通化市| 甘南县| 科尔| 海丰县| 宁阳县| 昌吉市| 修文县| 恩施市| 怀安县| 定日县| 太和县| 紫阳县| 昔阳县| 安阳县| 毕节市| 喀喇沁旗| 丹阳市| 京山县| 稻城县| 玛沁县| 庆城县| 武山县|