找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2475|回复: 3
收起左侧

51单片机红外测温程序

[复制链接]
ID:906199 发表于 2021-4-16 23:43 | 显示全部楼层 |阅读模式
此程序可以适用于51单片机红外测温模块
无线测温模块附带原理图和数据手册和使用说明
如果大家有不懂的可以联系我
原理图是根据我自己的IO口改的
如果需求不一样,可以修改
还有protues仿真文件,都可以查看
都是原创,如果有问题,还请多多指正:

  1. #include "common.h"
  2. #include "key.h"


  3. //按键
  4. sbit Key_1 = P1^1;           
  5. sbit Key_2 = P1^2;
  6. sbit Key_3 = P1^3;
  7. sbit Bp   = P1^0;  //蜂鸣器

  8. extern uchar status;
  9. extern uint Tem;
  10. extern uint Max_Tem;//最大温度,100bei
  11. extern uint Min_Tem;//最小温度


  12. void beep()                                //蜂鸣器
  13. {
  14.                 Bp = 0;
  15.                 delay_ms(50);
  16.                 Bp = 1;
  17. }


  18. //=====================按键检测并返回按键值===============================

  19. void  key_det(void)
  20. {
  21.     uint T;
  22.     if(Key_1 == 0)
  23.     {
  24.         delay_ms(50);
  25.         if(Key_1 == 0)
  26.         {
  27.                     while(Key_1==0);
  28.             beep();
  29.             status++;
  30.             if(status>2)
  31.             {
  32.                 status = 0;
  33.             }
  34.         }
  35.     }
  36.     if(Key_2 == 0)
  37.     {
  38.         delay_ms(50);
  39.         if(Key_2 == 0)
  40.         {
  41.             beep();
  42.                         while(Key_2==0);
  43.             if(status==2)
  44.             {
  45.                 Max_Tem+=100;
  46.             }

  47.             if(status==1)
  48.             {
  49.                 if(Min_Tem<Max_Tem)
  50.                 {
  51.                     Min_Tem+=100;
  52.                 }

  53.             }

  54.         }
  55.     }

  56.     if(Key_3 == 0)
  57.     {
  58.         delay_ms(50);
  59.         if(Key_3 == 0)
  60.         {
  61.                     beep();
  62.                     while(Key_3==0);


  63.             if(status==1)
  64.             {
  65.                 if(Min_Tem>0)
  66.                     Min_Tem-=100;
  67.             }

  68.             if(status==2)
  69.             {
  70.                 if(Max_Tem>Min_Tem)
  71.                     Max_Tem-=100;
  72.             }
  73.         }
  74.     }
  75.     T=Tem*2;
  76.         T=T-27315;


  77.            if(T>Max_Tem)
  78.            {
  79.                   Bp=0;
  80.                   LCD_write_char(8,1,' ');
  81.                   delay_ms(150);
  82.                   LCD_write_char(8,1,'S');
  83.                   delay_ms(150);
  84.            }
  85.            else if(T<Min_Tem)
  86.            {
  87.               Bp=0;
  88.                   LCD_write_char(1,1,' ');
  89.                   delay_ms(150);
  90.                   LCD_write_char(1,1,'X');
  91.                   delay_ms(150);
  92.            }        
  93.            else
  94.            {
  95.               Bp=1;
  96.            }

  97. }

复制代码

回复

使用道具 举报

ID:499397 发表于 2021-5-4 19:13 | 显示全部楼层
怎么没有资料哦
回复

使用道具 举报

ID:247623 发表于 2021-5-13 09:10 | 显示全部楼层
楼主,你说的仿真资料呢,没有上传?
回复

使用道具 举报

ID:957243 发表于 2021-8-1 12:14 | 显示全部楼层
楼主可以上一下资料吗
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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