找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1914|回复: 0
收起左侧

单片机温度控制报警项目,含源码和仿真图

[复制链接]
ID:384562 发表于 2020-3-22 10:25 | 显示全部楼层 |阅读模式
能完成测试室内室外温度,并且可以设计报警阈值,
用89c51单片机实现,
程序用操作系统写的,
供大家学习,内容都是原创,
如有不足之地,请多多指教。

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)

仿真

仿真

程序

程序


单片机源程序如下:
  1. #include "config.h"

  2. bit flag1s=0;
  3. uint threshold=600;//阈值
  4. void delay(uint x)//us级延时
  5. {
  6.         while(x--);
  7. }

  8. void init_TIM()//定时器初始化
  9. {
  10.         TMOD=(TMOD&0x0F)|0x10;         //初始化定时器
  11.     TH1=0xdc;//20ms
  12.     TL1=0x00;
  13.         TR1=ET1=1;//启动定时器1,开启定时器1中断
  14.         RCAP2H=0x4c;//50ms
  15.         RCAP2L=0x00;
  16.         ET2=TR2=1;//启动定时器2,开启定时器2中断
  17.         EA=1;//总中断打开
  18. }


  19. void main0() _task_ 0//任务0
  20. {
  21.         delay(20000);//上电等待单片机
  22.         init_TIM();//定时器初始化
  23.         beep=1;
  24.         os_create_task(1);//激活任务一
  25.         os_create_task(2);//激活任务二
  26.         os_delete_task(0);//删除任务0
  27.         while(1);
  28. }

  29. void TIM1() interrupt 3//定时器1中断
  30. {
  31.     TH1=0xdc;//20ms
  32.     TL1=0x00;
  33.         if(TC>threshold||TC1>threshold)
  34.         {
  35.                 beep=0;
  36.         }
  37.         else
  38.                 beep=1;
  39. }

  40. void TIM2() interrupt 5//定时器2中断
  41. {
  42.         static uchar num=0;
  43.         TF2=0;        
  44.         num++;
  45.         if(num==20)
  46.         {
  47.                 num=0;
  48.                 flag1s=1;
  49.         }
  50. }
复制代码

文件

文件


全部资料51hei下载地址:
温控项目.zip (166.47 KB, 下载次数: 18)

评分

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

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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