找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4698|回复: 6
打印 上一主题 下一主题
收起左侧

NTC热敏电阻与MAX6675热电偶测温(51单片机代码+Proteus仿真)

  [复制链接]
跳转到指定楼层
楼主
ID:554500 发表于 2021-4-17 09:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)

完整代码,请下载附件!谢谢支持!!

51单片机NTC热敏电阻配合MAX6675热电偶测量温度的源程序如下:
  1. //2021-04-18

  2. #include "1602.h"
  3. #include "reg51.h"
  4. #include "MAX6675.h"
  5. #include "ADC1031.H"
  6. #include <math.h>

  7. //proteus仿真软件 ADC0831是8位的,测出来的温度有些偏差实属正常。
  8. //仿真毕竟不是真实的,如有兴趣,可自己搭电路验证。

  9. //NTC 10K  B3950
  10. //检测温度0-100
  11. //数组下标就是对应温度
  12. code u8 Temp_adc[101]={
  13. 196,        194,        191,        189,        186,        184,        181,        179,        176,        173,        170,        168,        
  14. 165,        162,        159,        157,        154,        151,        148,        145,        142,        139,        136,        134,        
  15. 131,        128,        125,        122,        120,        117,        114,        112,        109,        106,        104,        101,        
  16. 99,        96,        94,        91,        89,        87,        84,        82,        80,        78,        76,        74,        71,        70,        68,        66,        64,        62,        
  17. 60,        59,        57,        55,        54,        52,        51,        49,        48,        47,        45,        44,        43,        41,        40,        39,        38,        37,        
  18. 36,        35,        34,        33,        32,        31,        30,        29,        28,        27,        27,        26,        25,        24,        24,        23,        22,        22,        
  19. 21,        21,        20,        20,        19,        18,        18,        17,        17,        16,        16};


  20. //查找相近值,并返回下标
  21. u8 Find_data(u8 *a,u8 x,u8 len)
  22. {
  23.         u8 i,min,r=0;
  24.         
  25.         min=abs(*a-x);
  26.         for(i=0;i<len;i++)
  27.         {
  28.                 if(abs(a[i]-x)<min)
  29.                 {
  30.                         min=abs(a[i]-x);
  31.                         r=i;
  32.                 }
  33.         }
  34.         
  35.         return r;
  36. }


  37. void Timer0_init() //50MS
  38. {
  39.   TMOD=0X01;
  40.   TH0=0X4B;
  41.   TL0=0XFD;
  42.   TR0=1;
  43. }

  44. void ISR_init()
  45. {
  46.    EA=1;
  47.    ET0=1;
  48. }

  49. void isr_timer0() interrupt 1
  50. {
  51.   static u8 i;
  52.   TH0=0X4B;
  53.   TL0=0XFD;
  54.   i++;
  55.   if(i==6)  //300ms
  56.   {
  57.     i=0;
  58.           MAX6675_ReadTemper();  
  59.   }
  60. }

  61. void main()
  62. {
  63.         u8 ad;
  64.         
  65.   LCD_init();  //LCD初始化
  66.   Timer0_init(); //50MS
  67.   ISR_init();
  68.         Max6675_Init();
  69.   while(1)
  70.   {
  71.                 ad=read_0831();
  72.                
  73.                 Show_string(0,0,"MAX6675=");
  74.                 show_nuber(8,0,(u16)MAX6675_Temper);
  75.                 Show_string(12,0,"C");
  76.                
  77.                 Show_string(0,1,"10K NTC=");
  78.                 Show_string(12,1,"C");
  79.                
  80.                 show_nuber(8,1,Find_data(Temp_adc,ad,101));
  81.   }
  82. }
复制代码

Proteus仿真与代码下载:
NTC MAX6675 Proteus仿真.zip (577.88 KB, 下载次数: 246)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏11 分享淘帖 顶2 踩
回复

使用道具 举报

来自 2#
ID:262 发表于 2021-12-9 19:34 | 只看该作者
1ZZC 发表于 2021-12-9 10:36
为啥我打开仿真以后什么装置都没有啊

要用Proteus8.8才能打开这个仿真,你看我打开后的效果

51hei.gif (310.82 KB, 下载次数: 103)

51hei.gif
回复

使用道具 举报

板凳
ID:989025 发表于 2021-12-9 10:36 | 只看该作者
为啥我打开仿真以后什么装置都没有啊
回复

使用道具 举报

地板
ID:987373 发表于 2021-12-9 10:44 | 只看该作者
仿真打不开啊
回复

使用道具 举报

5#
ID:228452 发表于 2022-4-13 00:26 | 只看该作者
Simulation working ok
You must locate clock.hex file and put in proteus working dir

CLOCK.rar

4.48 KB, 下载次数: 10, 下载积分: 黑币 -5

回复

使用道具 举报

6#
ID:205485 发表于 2022-4-13 10:39 | 只看该作者
不错,AD6675的方案比较实惠
回复

使用道具 举报

7#
ID:982617 发表于 2022-4-13 17:20 | 只看该作者
最近就在做这个东西,很实用!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表