新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 用DS18B20構(gòu)成測(cè)溫系統(tǒng)

        用DS18B20構(gòu)成測(cè)溫系統(tǒng)

        作者: 時(shí)間:2012-10-12 來(lái)源:網(wǎng)絡(luò) 收藏

        void main(void)

        {

        TMOD=0x01;

        TH0=(65536-4000)/256;

        TL0=(65536-4000)%256;

        ET0=1;

        EA=1;

        while(resetpulse());

        writecommandtods18b20(0xcc);

        writecommandtods18b20(0x44);

        TR0=1;

        while(1)

        {

        ;

        }

        }

        void t0(void) interrupt 1 using 0

        {

        unsigned char x;

        unsigned int result;

        TH0=(65536-4000)/256;

        TL0=(65536-4000)%256;

        if(displaycount==2)

        {

        P0=displaycode[displaybuf[displaycount]] | 0x80;

        }

        else

        {

        P0=displaycode[displaybuf[displaycount]];

        }

        P2=displaybit[displaycount];

        displaycount++;

        if(displaycount==8)

        {

        displaycount=0;

        }

        timecount++;

        if(timecount==150)

        {

        timecount=0;

        while(resetpulse());

        writecommandtods18b20(0xcc);

        writecommandtods18b20(0xbe);

        readdata[0]=readdatafromds18b20();

        readdata[1]=readdatafromds18b20();

        for(x=0;x8;x++)

        {

        displaybuf[x]=16;

        }

        sflag=0;

        if((readdata[1] 0xf8)!=0x00)

        {

        sflag=1;

        readdata[1]=~readdata[1];

        readdata[0]=~readdata[0];

        result=readdata[0]+1;

        readdata[0]=result;

        if(result>255)

        {

        readdata[1]++;

        }

        }

        readdata[1]=readdata[1]4;

        readdata[1]=readdata[1] 0x70;

        x=readdata[0];

        x=x>>4;

        x=x 0x0f;

        readdata[1]=readdata[1] | x;

        x=2;

        result=readdata[1];

        while(result/10)

        {

        displaybuf[x]=result%10;

        result=result/10;

        x++;

        }

        displaybuf[x]=result;

        if(sflag==1)

        {

        displaybuf[x+1]=17;

        }

        x=readdata[0] 0x0f;

        x=x1;

        displaybuf[0]=(dotcode[x])%10;

        displaybuf[1]=(dotcode[x])/10;

        while(resetpulse());

        writecommandtods18b20(0xcc);

        writecommandtods18b20(0x44);

        }

        }


        上一頁(yè) 1 2 3 下一頁(yè)

        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 慈溪市| 雷波县| 四子王旗| 灵山县| 周宁县| 日喀则市| 蛟河市| 当阳市| 金秀| 泰宁县| 兴仁县| 伊吾县| 邯郸市| 济源市| 安仁县| 汉川市| 中方县| 台州市| 霍邱县| 额尔古纳市| 广东省| 新沂市| 托克逊县| 芒康县| 会同县| 二连浩特市| 昌黎县| 广汉市| 保定市| 浠水县| 巩留县| 济宁市| 玛曲县| 凤阳县| 靖边县| 和顺县| 泗阳县| 长岛县| 洛宁县| 章丘市| 仙居县|