新聞中心

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

        單片機智能房間設計

        作者: 時間:2016-11-30 來源:網絡 收藏
        前幾天又加了個調時窗口,調時窗口的程序有檢測輸入時數據是否合法功能。對不合法的數據,將拒絕輸入。
        經過多次調試,現己實現了電腦對DS1302的調時。
        調時的過程是,電腦發把時間數據發給1號機,一號機再發給2號機,和電腦。
        研究到無線模塊這里,卡住了,這幾天電腦也出問題。打算先放一段時間。2012年6月3日
        這幾天又有新進展了,無線模塊,硬件實驗成功,昨天又在淘寶上買了一個遠距離的nRF24l01p,現在正在路上呢,我會盡把無線模塊部分的程序整合到智能房間中去的。2012年7月16日
        今天把PLC上模擬定時器功能給編出來了。
        PLC上有T0到Tn個定時器,在單片編程中有時也要用到好多定時器到延時或別的什么的。我一直想用C語言實現這樣的
        功能。今天給做出來了。并在實驗板上實驗通過了。現在發出來與愛好單片機有朋友們分享。
        #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實現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日
        智能房間硬件進展:

        關鍵詞: 單片機智能房

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 元谋县| 潮州市| 商洛市| 崇文区| 天柱县| 石首市| 沙雅县| 湄潭县| 天气| 广丰县| 新津县| 玛多县| 英超| 阿鲁科尔沁旗| 扎囊县| 阿瓦提县| 古蔺县| 浦县| 瑞金市| 金湖县| 三河市| 呼图壁县| 杂多县| 浦县| 凌源市| 九龙城区| 武威市| 湖南省| 宜章县| 鄂伦春自治旗| 深水埗区| 洪江市| 尚义县| 潼南县| 交城县| 扬中市| 镇雄县| 阿图什市| 清徐县| 新建县| 炎陵县|