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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

請教,為什么MAX6675讀取溫度不能實時顯示!

[復制鏈接]
跳轉到指定樓層
樓主
ID:218368 發表于 2018-3-29 16:43 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
用51通過MAX6675讀取溫度,并在1602上顯示。
現在的程序只能顯示開機讀取的溫度,溫度變化后,不能顯示在1602上,請大俠看看是程序什么地方出了問題。

單片機源碼:
  1. #include <reg51.h>
  2. #include <Intrins.h>
  3. #include <LCD1602.H>
  4. #include <math.H>


  5. #define uchar unsigned char
  6. #define uint unsigned int


  7. sbit MAX6675_SO=P1^0;
  8. sbit MAX6675_SCK=P1^1;
  9. sbit MAX6675_CS=P1^2;   



  10. bit ack,flag=0,flag1=0;

  11. uint  tz;
  12. int t_zhi=0;


  13. char code keytab[]={0xEE,0xDE,0xBE,0x7E,0xED,0xDD,0xBD,0x7D,0xEB,0xDB,0xBB,0x7B,0xE7,0xD7,0xB7,0x77};
  14. unsigned char code str3[]={"              "};
  15. unsigned char data disdata[5];





  16. unsigned int ReadMAX6675()
  17. {
  18. unsigned char count;
  19. unsigned int Value;
  20. MAX6675_CS=0;   
  21. MAX6675_SCK=0;
  22. Value=0;
  23. _nop_() ;_nop_();_nop_();_nop_();
  24. for(count=0;count<16;count++)
  25. {
  26.   Value=Value<<1;
  27.   MAX6675_SCK=1;
  28.   _nop_() ;_nop_();_nop_();_nop_();
  29.   if(MAX6675_SO==1)
  30.      Value|=0x01;
  31.      MAX6675_SCK=0;
  32. }
  33. MAX6675_CS=1;
  34. return Value;
  35. }

  36. unsigned int GetCurrentTemp(unsigned int CurrentValue)
  37. {
  38.   unsigned int TempValue;
  39.   TempValue=CurrentValue;
  40.   if(TempValue&0x8000)
  41.   return 0;
  42.   if(TempValue&0x0004)
  43.   return 1;
  44. }

  45. void tempdisp()         //ζèÖμÏÔê¾
  46. { unsigned char i;
  47.   unsigned int TempValue;
  48.   unsigned int testD2;
  49.   int xiaoshu;
  50.   TempValue=ReadMAX6675();
  51.   testD2=GetCurrentTemp(TempValue);
  52.   TempValue=ReadMAX6675();
  53.   TempValue&=0x7ff8;
  54.   TempValue>>=3;
  55.   xiaoshu= (TempValue*1023.75/4095)*10-262;
  56.   t_zhi=xiaoshu/10;
  57.   disdata[0]=xiaoshu/10000+0x30;
  58.   xiaoshu=xiaoshu%10000;
  59.   disdata[1]=xiaoshu/1000+0x30;
  60.   xiaoshu=xiaoshu%1000;
  61.   disdata[2]=xiaoshu/100+0x30;
  62.   xiaoshu=xiaoshu%100;
  63.   disdata[3]=xiaoshu/10+0x30;
  64.   xiaoshu=xiaoshu%10;
  65.   disdata[4]=xiaoshu/1+0x30;
  66.   LCD_set_position(68);
  67.   for(i=0;i<4;i++)
  68.   LCD_write_data(disdata[i]);
  69.   LCD_write_data('.');
  70.   LCD_write_data(disdata[4]);
  71.   LCD_write_data(0xDF);
  72.   LCD_write_data(0x43);

  73. }






  74. void main()
  75. {


  76.   LCD_initial();
  77.   LCD_cls();
  78.   LCD_set_position(0);
  79.   //LCD_prints(str1);
  80.   LCD_set_position(3);

  81.   MAX6675_CS=1;
  82.   while(1)
  83.   {
  84.     ReadMAX6675();
  85.      GetCurrentTemp();
  86.            tempdisp();


  87. }
  88. }
復制代碼


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

使用道具 舉報

沙發
ID:485731 發表于 2019-4-21 15:45 | 只看該作者
樓主你的問題解決了么?
回復

使用道具 舉報

板凳
ID:417092 發表于 2019-5-3 12:35 | 只看該作者
求同樣的問題。。。
回復

使用道具 舉報

地板
ID:417092 發表于 2019-5-3 12:41 | 只看該作者
求解,同樣的問題。我在網上找了幾個程序,都無法讀出溫度
回復

使用道具 舉報

5#
ID:471427 發表于 2020-11-22 15:45 來自觸屏版 | 只看該作者
一樣的問題
回復

使用道具 舉報

6#
ID:451718 發表于 2020-11-23 11:52 | 只看該作者
ReadMAX6675(); 這個函數要間隔一段時間運行一次。只有一次讀數,大概率是間隔時間太短了造成的。  有兩種解決方案:
1,把ReadMAX6675()放到定時器中運行,500ms運行一次。
2,在主程序while循環中加一個500ms的延遲函數。
回復

使用道具 舉報

7#
ID:731755 發表于 2022-12-5 20:38 來自觸屏版 | 只看該作者
robinsonlin 發表于 2020-11-23 11:52
ReadMAX6675(); 這個函數要間隔一段時間運行一次。只有一次讀數,大概率是間隔時間太短了造成的。  有兩種 ...

謝謝,你的方法好用
回復

使用道具 舉報

8#
ID:1049152 發表于 2023-1-12 14:52 | 只看該作者
max6675的數據轉換時間不能太近,間隔要在200ms左右,你可以加延時也可以用一個定時器,推薦使用定時器
回復

使用道具 舉報

9#
ID:444215 發表于 2023-8-28 22:56 | 只看該作者
問題解決了嗎?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 在线免费观看成年人视频 | 国产传媒在线观看 | 日韩成人在线看 | 欧美福利| 激情综合五月 | 国产农村一级片 | 午夜视频在线观看网站 | 91久久精品一区二区二区 | 久久精品a | 国产一区二区久久久 | 在线观看www高清视频 | 成人在线精品 | 尤物视频在线免费观看 | 久久成人一区 | 国产aⅴ精品 | 韩日在线观看视频 | 国产欧美一区二区久久性色99 | 日韩免费一区二区 | 9999在线视频 | 成人在线中文字幕 | 久久综合久久自在自线精品自 | 亚洲日韩中文字幕一区 | 亚洲一区二区久久 | 色综合色综合色综合 | 国产成人精品久久二区二区 | 国产美女一区二区 | 人人做人人澡人人爽欧美 | 欧美二级 | 精品亚洲永久免费精品 | 一区二区在线 | 精品一区二区三区在线观看 | 日本在线中文 | 欧美成人手机视频 | 久久看精品 | 色婷婷av777| 成人黄色三级毛片 | 日本久久久久久 | 午夜精品久久久久久久久久久久久 | 五月婷婷在线视频 | 精品国产一区二区三区久久狼黑人 | 91精品国产乱码久久蜜臀 |