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

        返回頂部
        一本岛一区在线观看不卡| 国产成人精品视频在放| 久久免费国产精品一区二区 | 国产女主播精品大秀系列| freesexvideos精品老师毛多| 91亚洲精品自在在线观看| 欧美日韩在线精品一区二区三区激情综合 | 亚洲精品免费视频| 亚洲国产人成精品| MM1313亚洲国产精品| 久久精品国产亚洲7777| 久久这里只有精品18| 国产成人高清精品免费观看| 亚洲之色在线v中文字幕app| 国产精品岛国久久久久| 手机日韩精品视频在线看网站| 精品国精品无码自拍自在线| 国产精品成人国产乱一区| 黄+色+性+人免费| 日韩欧美精品不卡| 黄色影院免费观看| 高清在线国产午夜精品| 亚洲动漫精品无码av天堂| 国产成人1024精品免费| 日韩精品久久久久久免费| 精品国产三级a乌鸦在线观看| 精品国偷自产在线| 欧美亚洲日本久久精品| 99RE6热在线精品视频观看| 久久精品国产精品亚洲艾草网美妙| 精品偷自拍另类在线观看| 久久99精品久久久久久野外| 精品国产一区二区三区色欲| 久久久久99精品成人片| 国产精品麻豆高清在线观看| 亚洲?V无码乱码国产精品| 国内精品免费视频精选在线观看| 午夜男人女人爽爽爽视频| 中文字幕精品一区二区日本| 亚洲av午夜福利精品一区| 精品一区二区无码AV|