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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3374|回復: 2
打印 上一主題 下一主題
收起左側

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

[復制鏈接]
跳轉到指定樓層
樓主
ID:497468 發表于 2020-11-24 20:07 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
前幾天因一個工程需要做了一個溫度采集,因還有好多庫存的MAX6675,所以用它,因原來用51單片機做的,現開始學32,所以用32做的,偷懶從網上找了個程序,如下所示:
//////////////////////////////
//u16 max6675_readRawValue(void)
//{
//  u16 tmp=0;
//  u16 i;
//  MAX6675_CS_L;//cs低
//  /*按位讀取電平*/
//  for(i=0;i<16;i++)
//          {  
//                          /*創建一個沿,按沿讀取PB7的端口電平*/
//                        MAX6675_CK_H;
//                        delay_us(10);
//                        if(MAX6675_SO)tmp|=0x0001;
//                    //printf("tmp%d---:%d\n",i,tmp);/*這是為了檢查錯誤時按位打印每個數*/
//                        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;//實驗數,用溫水和熱水 環境測得的一個實際差量
////        delay_ms(200);
//        d=max6675_readRawValue();
//        i=d*1023.75/4095/S;
//        a=i;
//    return a;
//}


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

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


評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:294296 發表于 2020-11-25 00:21 | 只看該作者
這芯片除了價格啥都好!
回復

使用道具 舉報

板凳
ID:497468 發表于 2020-11-26 09:14 | 只看該作者
準備搞個OP07的試玩下,過段時間有空就做個玩一下,就有一點不好,要用+-電源.這個是個額外的支出.
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 99精品视频在线观看 | 国产一区二区三区在线视频 | 国产亚洲一区二区三区 | 蜜臀久久99精品久久久久宅男 | 国产精品久久免费 | 中文字幕1区| 日韩精品综合 | 国产三级在线免费观看 | 国产黄色免费网站 | 欧美在线激情 | 成人一级毛片 | 日韩精品免费一区二区夜夜嗨 | 在线视频99 | 爱福利视频网 | 国产一级18片视频 | 99久久精品国产一区二区三区 | 成年人国产 | 四虎久久久| 精品免费视频 | 免费在线看a| 成人免费网址 | www.黄色网 | 久久精品二区 | 特黄一级视频 | 成人在线小视频 | 在线观看黄色片 | 久久久夜色精品 | 国产美女福利 | 天天视频国产 | 天海翼在线视频 | 欧美成人激情视频 | 久久久国产一区二区三区 | 91看片在线观看 | 一级片在线观看视频 | 一区二区精品 | 欧美三级韩国三级日本三斤在线观看 | 黄色午夜 | 黄色综合网 | 日韩精品一二区 | 欧美国产日韩一区 | 国产亚洲一区二区三区 |