在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > DS18B20延時函數(shù)版

            DS18B20延時函數(shù)版

            作者: 時間:2016-11-30 來源:網(wǎng)絡(luò) 收藏
            程序運行效果圖:



            //晶振12MHZ 常溫下測量0--99.9度

            本文引用地址:http://www.biyoush.com/article/201611/323912.htm

            #include
            #include
            #define uchar unsigned char
            #define uint unsigned int
            sfr wdtrst=0xa6;
            uchar code seg7[]={0x28, 0x7E, 0xA2, 0x62, 0x74, 0x61, 0x21, 0x7A, 0x20, 0x60}; //數(shù)碼管整數(shù)
            sbit dec=P0^5;//數(shù)碼管小數(shù)位
            sbit Dq=P3^4; //DS18B20讀寫口
            sbit alarm=P3^3; //喇叭報警位
            uint warning=0;//報警溫度變量
            //-------------------
            void rst() //看門狗系統(tǒng)復(fù)位函數(shù)晶振是12MHZ則看門狗自動復(fù)位時間為16ms
            {
            wdtrst=0x1e;
            wdtrst=0xe1;
            }
            //----------------------------
            void alarmstart()interrupt 3 //報警中斷子函數(shù)
            {
            if(warning>270)//溫度大于27度喇叭報警
            {alarm=~alarm;}
            TH1=0xff;
            TL1=0x60;
            TF1=0;
            EA=1;
            ET1=1;
            }

            //-----------------------------延時函數(shù)集---------------------
            void delay10us() //延時10us
            {
            _nop_(); _nop_(); _nop_(); _nop_();
            _nop_(); _nop_();
            }
            //----------
            void delay610us() //延時610us
            {
            uchar i,j;
            for(i=0;i<2;i++)
            for(j=0;j<100;j++);
            }

            //----------
            void delay34us() //延時34us
            {
            uchar i,j;
            for(i=0;i<2;i++)
            for(j=0;j<3;j++);
            }
            //----------
            void delay(uint k) //常用延時函數(shù)
            {
            uchar i,j;
            for(i=0;ifor(j=0;j<100;j++);
            }

            //-----------------DS18B20初始化函數(shù)----------
            uchar init18b20()
            {
            uint k=0;
            Dq=0;
            delay610us(); //延時610us
            Dq=1; //釋放總線
            delay10us(); //延時10us
            while(Dq==1) //18b20應(yīng)答信號判斷是否超時
            {
            if(k<800)k++;
            else return 1;
            }
            k=0;
            while(Dq==0) //18b20是否釋放判斷
            {
            if(k<800)k++;
            else return 2;
            }
            return 3; //啟動成功返回 3
            }


            上一頁 1 2 下一頁

            關(guān)鍵詞: DS18B20延時函

            評論


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

            關(guān)閉