• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    18b20測(cè)溫c51源程序

    作者: 時(shí)間:2010-12-09 來源:網(wǎng)絡(luò) 收藏

    #include reg51.h>
    #includeintrins.h>

    本文引用地址:http://www.czjhyjcfj.com/article/173091.htm

    #define BUSY1 (DQ1==0)
    sbit DQ1 = P0^4;

    unsigned char idata TMP;
    unsigned char idata TMP_d;
    unsigned char f;
    void wr_ds18_1(char dat);
    unsigned char rd_ds18_1();

    /***************延時(shí)程序,單位us,大于10us*************/
    void time_delay(unsigned char time)
    {

    time=time-10;
    time=time/6;
    while(time!=0)time--;
    }


    /*****************************************************/
    /* reset ds */
    /*****************************************************/
    void ds_reset_1(void)
    {
    unsigned char idata count=0;
    DQ1=0;
    time_delay(240);
    time_delay(240);
    DQ1=1;
    return;
    }

    void check_pre_1(void)
    {
    while(DQ1);
    while(~DQ1);

    time_delay(30);
    }


    void read_ROM(void)
    {
    int n;
    ds_reset_1();
    check_pre_1();
    wr_ds18_1(0x33);
    for(n=0;n8;n++){ROM[n]=rd_ds18_1();}
    }


    /*****************************************************/
    /* Read a bit from 1820 位讀取 */
    /*****************************************************/
    bit tmrbit_1(void)
    {
    idata char i=0;
    bit dat;

    DQ1=0;_nop_();

    DQ1=1;

    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();


    dat = DQ1;

    time_delay(50);

    return dat;
    }


    /*****************************************************/
    /* read a bety from ds 字節(jié)讀取 */
    /*****************************************************/
    unsigned char rd_ds18_1()
    {
    unsigned char idata i,j,dat=0;
    for(i=1;i=8;i++)
    {
    j=tmrbit_1();
    dat=(j(i-1))|dat;
    }
    return dat;
    }


    /*****************************************************/
    /* write a bety from ds 寫字節(jié) */
    /****************************************************/
    void wr_ds18_1(char dat)
    {
    signed char idata i=0;
    unsigned char idata j;
    bit testb;


    上一頁 1 2 下一頁

    關(guān)鍵詞: 源程序 c51 測(cè)溫 18b20

    評(píng)論


    相關(guān)推薦

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

    關(guān)閉
    主站蜘蛛池模板: 松溪县| 巴彦县| 濉溪县| 绵阳市| 绵阳市| 扎赉特旗| 安阳县| 肥东县| 化德县| 台州市| 安徽省| 梨树县| 新丰县| 丰都县| 拜泉县| 台山市| 普格县| 太康县| 岳阳市| 紫阳县| 古田县| 建水县| 喀什市| 顺昌县| 蕲春县| 临湘市| 汉阴县| 宝清县| 沁阳市| 景宁| 北宁市| 淅川县| 梧州市| 岳阳县| 汝南县| 徐汇区| 开原市| 丽江市| 临沂市| 阳高县| 勃利县|