找回密碼
         注冊會員
        搜索附件  
        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.

        返回頂部
        精品人妻无码一区二区色欲产成人| 99久久精品国内| 亚洲国产精品lv| 亚洲精品私拍国产福利在线| 国产精品一级AV在线播放| 久久伊人精品青青草原日本| 日韩精品无码久久一区二区三 | 欧美日韩国产精品| 日本在线观看一级高清片| 国产精品亚洲成在人线| 高清日韩精品一区二区三区 | 国产精品日韩AV在线播放 | 精品久久久久久无码人妻热| 免费无遮挡禁18污污网站| 成人精品视频一区二区三区| 成人精品一区二区久久久| 影音先锋每日资源| 国产成人精品免费视| 精品国产福利盛宴在线观看| 亚洲av午夜成人片精品网站| 国产原创精品视频| 免费看污污的网站欧美国产精品不卡在线观看 | 视频二区国产精品职场同事| 无码人妻精品一区二区蜜桃百度| 国内揄拍高清国内精品对白| 国语自产精品视频在线观看| 亚洲av无码精品网站| 国产成人精品大尺度在线观看| xxxxx爽日本护士在线播放| 亚洲欧洲国产精品你懂的| 最近免费中文在线电影成人 | 亚洲国产精品尤物yw在线 | 久久精品亚洲精品国产欧美| 精品人妻va出轨中文字幕| 国产伦精品一区二区免费| 久久丫精品国产亚洲av不卡| 国产精品国产高清国产专区| 亚洲精品成人网站在线观看| 国产午夜精品一本在线观看| 精品午夜福利在线观看| 久久久久99精品成人片牛牛影视|