找回密碼
         注冊會員
        搜索附件  
        MCU資訊論壇 附件中心 單片機論壇 51單片機論壇 DS1620_www.ic37.com.pdf

        DS1620_www.ic37.com.pdf

         

        請教關于DS1620的C語言驅動的問題:
        請教關于DS1620的溫度算法問題
        各位大俠好:
        小弟單片機學的不怎么樣了,現在在做了一個關于DS1620溫度傳感器方面的畢業設計。還沒有做實物,現在在軟件仿真的時候,出現了問題。就是溫度讀出來,顯示不對,只是一個靜態的值,調節也不變,搞了一段時間了,沒有找到原因。我想是不是自己的程序出了問題,故向各位大俠求救!下面是一些程序,數碼管用MAX7219驅動。小弟的郵箱是andy_1985923@163.com
        void write_byte(uchar val) //寫字節子程序
        {
        uchar i;
        uchar b;
        b=1;
        for(i=0;i<8;i++)
        {
        CLK_CONV=0;
        DQ=(val&b);
        CLK_CONV=1;
        val=val>>1;
        }
        }
        uchar read_byte(void) //讀字節子程序
        {
        uchar i;
        uchar value,b;
        value=0;
        b=1;
        for(i=0;i<8;i++)
        {
        DQ=1;
        CLK_CONV=0;
        if (DQ)
        value|=b;
        CLK_CONV=1;
        b<<=1;
        }
        return(value);
        }
        uchar DS1620startConv(void) //DS1620 開始轉換
        {
        RST=1;
        write_byte(0xEE);
        RST=0;
        return 0x00;
        }

        uchar DS1620ReadConf(void) //DS1620讀配置 返回值為配置寄存器內容
        {
        uchar tmp;
        RST=1;
        write_byte(0xAC);
        tmp=read_byte();
        RST=0;
        return tmp;
        }
        //DS1620 寫配置,入回參數為配置寄存器新配置內容
        uchar DS1620SetConf(uchar val)
        {
        uchar tmp;
        RST=1;
        write_byte(0x0C);
        write_byte(val);
        RST=0;
        return tmp;
        }
        //DS1620 讀溫度轉換數據,在返回值的低9位
        uint DS1620read(void)
        {
        uchar hbyte,lbyte;
        uint temp;
        RST=1;
        write_byte(0xAA);
        lbyte=read_byte();
        hbyte=read_byte();
        RST=0;
        temp=hbyte;
        temp<<=8;
        temp|=lbyte;
        return temp;
        }

        void main() //主程序
        {
        SP=0xcf;
        EA=0;
        flag=0;
        val=0x0a;
        DS1620SetConf(val);
        val=DS1620ReadConf();
        DS1620startConv();
        temp1=DS1620read(); //把溫度值放入變量temp1中。
        temp1=temp1&0x01ff; //保留數值有用部分
        if (temp1>0xff) {
        flag=1;
        temp2=temp1-256;
        temp2=~temp2+1;
        temp1=temp2;
        }
        cc=temp1/2.0;//計算出溫度值
        write_7219(7,cc/10);
        write_7219(8,cc%10);
        while(1);
        }
        本文來自: 電子工程師之家http://www.eehome.cn
        [ 此貼被czypf在2009-05-24 11:50重新編輯 ]


        QQ|手機版|MCU資訊論壇 ( 京ICP備18035221號-2 )|網站地圖

        GMT+8, 2025-5-1 07:01 , Processed in 0.040092 second(s), 8 queries , Redis On.

        Powered by Discuz! X3.5

        © 2001-2025 Discuz! Team.

        返回頂部
        久久精品国产影库免费看| 亚洲精品理论电影在线观看| 国内精品视频九九九九| 日本aⅴ精品中文字幕| 久久久久久国产精品免费免费| 国产精品福利网站导航| 一本一本久久aa综合精品| 欧美日韩国产精品系列| 国产精品99久久久久久董美香| 久久精品成人免费网站| 国产综合精品女在线观看| 亚洲国产精品无码久久久蜜芽| 亚洲国产精品无码久久九九| 久久精品免费大片国产大片| 9re热国产这里只有精品| 国产精品亚洲精品观看不卡| 国产精品丝袜一区二区三区| 久久亚洲精品成人AV| 日韩精品无码一区二区中文字幕| 黄色资源在线观看| 亚洲精品国产精品乱码不卡 | 无码人妻精品一区二区在线视频| 久久99亚洲综合精品首页| 大伊香蕉精品一区视频在线| 亚洲国产精品SSS在线观看AV| 影院无码人妻精品一区二区| 影音先锋男人的网站| 无码国内精品久久人妻麻豆按摩| 精品日韩在线视频一区二区三区| 国产亚洲精品看片在线观看| 国产精品 视频一区 二区三区| 国产精品久久成人影院| 国产精品水嫩水嫩| 国产成人精品视频一区二区不卡| 精品亚洲aⅴ在线观看| 欧美精品亚洲精品日韩传电影| 亚洲av无码精品网站| 一本一本久久a久久综合精品蜜桃| 中文字幕在线精品视频入口一区| 亚洲精品亚洲人成在线观看| 亚洲AV成人精品一区二区三区 |