久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3321|回復(fù): 2
收起左側(cè)

分享一個MAX6675的程序,有修正版的,并指出原因

[復(fù)制鏈接]
ID:497468 發(fā)表于 2020-11-24 20:07 | 顯示全部樓層 |閱讀模式
前幾天因一個工程需要做了一個溫度采集,因還有好多庫存的MAX6675,所以用它,因原來用51單片機做的,現(xiàn)開始學(xué)32,所以用32做的,偷懶從網(wǎng)上找了個程序,如下所示:
//////////////////////////////
//u16 max6675_readRawValue(void)
//{
//  u16 tmp=0;
//  u16 i;
//  MAX6675_CS_L;//cs低
//  /*按位讀取電平*/
//  for(i=0;i<16;i++)
//          {  
//                          /*創(chuàng)建一個沿,按沿讀取PB7的端口電平*/
//                        MAX6675_CK_H;
//                        delay_us(10);
//                        if(MAX6675_SO)tmp|=0x0001;
//                    //printf("tmp%d---:%d\n",i,tmp);/*這是為了檢查錯誤時按位打印每個數(shù)*/
//                        tmp<<=1;//按位左移
//                    MAX6675_CK_L;
//                        delay_us(10);
//                  }
//              MAX6675_CS_H;//cs高                  
//   if (tmp&0x0004)
// {
//    M2 = 1; //未檢測到熱電偶
//        // printf("未檢測到熱電偶\n");//測試用
//  }
//  else
// {        
//    M2=0;
//        tmp<<=1;//去掉D15位
//        tmp>>=4;//去掉D0、1、2位
//  }
//        return tmp;
//}
//
//u16 max6675_readTemperature(void)
//{
//        u16 d,a;
//        float i,S;
//        S=2.142857;//實驗數(shù),用溫水和熱水 環(huán)境測得的一個實際差量
////        delay_ms(200);
//        d=max6675_readRawValue();
//        i=d*1023.75/4095/S;
//        a=i;
//    return a;
//}


這個程序總體來講,沒有多大的問題,用起來也可以用,但實際上是有問題的。
1,正常程序中不需要除所謂的系數(shù):如上所示產(chǎn)的S=2.142857,
2,斷線檢測不正常,可能好多朋友在做這個的時候,基本上沒有用到過斷線檢測。

經(jīng)過仔細分析,采用試的方法,發(fā)現(xiàn)了一個問題,就是時序圖里的數(shù)據(jù)傳輸問題,第一個數(shù)據(jù)實際上不需要CK-H,
就可以直接讀出來,如果加上一個CK-H的話,就導(dǎo)致了整個數(shù)據(jù)往左多移了1個位,所以上面的程序中取采用tmp>>=4;//去掉D0、1、2位
D0-2總共3個位,卻要移4個位的原因,  同時還有,//        tmp<<=1;//去掉D15位   這句話實際上把D14的值去掉了,實際值只有11位數(shù)據(jù)了,因為
一般人用于低溫,根本不會發(fā)現(xiàn), 我在試開路檢測時,輸出的數(shù)據(jù)不是最大值,而是個中間值就可以說明這個問題。
最重要的問題是,D2值一直沒有變化,我做開路沒有反應(yīng),原來是D2的位置變到了D3的位置,接下來就可以修改了。
1, if (tmp&0x0004) 變?yōu)?if (tmp&0x0008)
2,//        tmp<<=1;//去掉D15位 這句取消
3,S=2.142857;//實驗數(shù),用溫水和熱水 環(huán)境測得的一個實際差量   這句也取消。
4,i=d*1023.75/4095/S;  改為i=d*1023.75/4095;
經(jīng)過測試,實際的溫度值與標準溫度計相差0.5度,斷線檢測有反應(yīng),達到設(shè)計要求。
增加PID,實際控溫可達到正負0.3度波動。


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:294296 發(fā)表于 2020-11-25 00:21 | 顯示全部樓層
這芯片除了價格啥都好!
回復(fù)

使用道具 舉報

ID:497468 發(fā)表于 2020-11-26 09:14 | 顯示全部樓層
準備搞個OP07的試玩下,過段時間有空就做個玩一下,就有一點不好,要用+-電源.這個是個額外的支出.
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 免费观看色 | 成人在线网 | 日韩成人av在线 | 国产精品国产三级国产aⅴ中文 | 国产精品久久久久久亚洲调教 | 国产精品乱码一区二区三区 | 国产精品视频一区二区三 | 免费九九视频 | 欧美多人在线 | 国产三区四区 | 成人在线视频一区 | 九九热免费在线观看 | 久久免费视频网 | 国产人成精品一区二区三 | 欧洲精品在线观看 | 午夜爽爽爽男女免费观看影院 | 精品福利av导航 | 午夜精品久久久久久久星辰影院 | 欧美一区二区在线播放 | 在线视频一区二区三区 | av网站在线免费观看 | 国内精品视频在线观看 | 九色在线观看 | 一区二区不卡视频 | 久草免费在线视频 | 91不卡在线 | 涩在线 | 亚洲黄色网址视频 | 精品一区二区三区电影 | 一区二区三区欧美 | 国产一级一级国产 | 宅女噜噜66国产精品观看免费 | 欧美精品综合在线 | 天天操 夜夜操 | 午夜影院视频在线观看 | 成人午夜网站 | 欧美三级网站 | 亚洲精品免费在线观看 | 久久久久国产 | 久久99精品久久久久久国产越南 | 日本一区二区视频 |