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

<s id="cmphk"><label id="cmphk"></label></s>
    <span id="cmphk"><var id="cmphk"></var></span>
    <dfn id="cmphk"><var id="cmphk"></var></dfn>
    <menu id="cmphk"><thead id="cmphk"></thead></menu>

    <address id="cmphk"></address>

      <dfn id="cmphk"></dfn>
      
      
      <span id="cmphk"></span>

      <object id="cmphk"><tt id="cmphk"></tt></object>
      1. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > AVR單片機(jī)的DS18B20 C語言程序

        AVR單片機(jī)的DS18B20 C語言程序

        作者: 時(shí)間:2016-11-27 來源:網(wǎng)絡(luò) 收藏
        #include
        #include
        #define uchar unsigned char
        #define uint unsigned int
        //
        #define BIT_SET(a,b) a|=(1<
        #define BIT_CLR(a,b) a&=~(1<//清零位a.b
        #define BIT_INV(a,b) a^=(1<//翻轉(zhuǎn)位a.b
        #define BIT_STATUS(a,b) a&(1<//讀取位a.b
        /
        #define CLR_DS18B20 BIT_CLR(PORTC,PC7) //數(shù)據(jù)線強(qiáng)制拉低
        #define SET_DS18B20 BIT_SET(PORTC,PC7) //數(shù)據(jù)線強(qiáng)制拉高,上拉
        #define HLD_DS18B20 BIT_SET(DDRC,PC7) //Mega16控制總線
        #define RLS_DS18B20 BIT_CLR(DDRC,PC7) //釋放總線
        #define STU_DS18B20 BIT_STATUS(PINC,PC7) //數(shù)據(jù)線的狀態(tài)
        uchar const SEG7[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
        uchar const ACT[8]={0x08,0x04,0x02,0x01,0x80,0x40,0x20,0x10};
        uint T;
        //=============================
        void delayUs(uchar temp)
        {
        while(temp--);
        }
        uchar resetDS18B20(void);
        unsigned int readTempDS18B20(void);
        void port_init(void)
        {
        PORTA = 0xFF;
        DDRA = 0x00;
        PORTB = 0xFF;
        DDRB = 0xFF; //輸出
        PORTC = 0xFF;
        DDRC = 0xFF; //輸出
        DDRD = 0xFF;
        PORTD = 0xFF;
        }
        void delay_ms(uint k)
        {
        uint i,j;
        for(i=0;i
        {
        for(j=0;j<570;j++);
        }
        }
        //=============================
        void display(uchar counter)
        {
        uchar i;
        DDRA=0xff;
        DDRC=0xff;
        PORTA=0x00;
        PORTC=0xff;
        for(i=0;i<100;i++)
        {
        PORTA=SEG7[counter];
        PORTC=ACT[3];
        delay_ms(10);
        PORTA=SEG7[counter/10];
        PORTC=ACT[2];
        delay_ms(10);
        PORTA=SEG7[counter/100];
        PORTC=ACT[1];
        delay_ms(10);
        PORTA=SEG7[counter/1000];
        PORTC=ACT[0];
        delay_ms(10);
        }
        }
        void main()
        {
        port_init();
        while(1)
        {
        resetDS18B20();
        T=readTempDS18B20();
        T=T>>4; //去除ds18b20轉(zhuǎn)換的小數(shù)位(低四位)
        display(T);
        }
        }

        上一頁 1 2 下一頁

        評(píng)論


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

        關(guān)閉