找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机温度报警器简单学习 一路超限报警程序

[复制链接]
跳转到指定楼层
楼主
这是我只简单制作的温度报警器,供大家进行基础学习,请大家支持


单片机源程序如下:
#include <reg52.h>
#include <intrins.h>
#include "Delay.h"
#include <ds18b20mul.h>
#include <uart.h>
sbit LEDred=P1^5;
sbit LEDgreen=P1^6;
sbit LEDyellow=P1^7;
sbit Speaker=P1^4;        //报警扬声器
unsigned char m=0;//有m个50毫秒
void main()
{
UARTinit();//串口初始化
PS=1;        //串口为高优先级
ET0=1;TH0=(65535-10000)/256; TL0=(65535-10000)%256;
TMOD=0x21;TR0=1;//这一行与上一行,用T0计时控制指示灯
GetData(1);//先读一次温度
while(1)
{            
           while(buftmp>50)        //如果温度高于上限红灯报警
           {
             LEDgreen=1;//绿灯灭
                 if(m%2==0){LEDred=0;Speaker=1;} //红灯闪烁
                 else {LEDred=1;Speaker=0;}
                }
           while(buftmp<20)//如果温度低于下限黄灯报警
           {
              LEDgreen=1;//绿灯灭
                  if(m%2==0){LEDyellow=0;Speaker=1;}//黄灯闪烁
                  else {LEDyellow=1;Speaker=0;}
                }
            LEDgreen=0;//如果温度正常亮绿灯              
}
}


void T0int() interrupt 1
{
  TH0=(65535-50000)/256; TL0=(65535-50000)%256;
  m++;
  if(m==60)        //每3秒读一次温度
  {
   m=0;
   GetData(1); //读取温度放入dispBuf中,1指P1.0引脚,2指P1.1引脚
   sendstring("*1:");
   sendstring(dispBuf);sendstring("\r\n");//主动上传温度
  }
}

全部资料51hei下载地址:
一路超限报警.zip (72.47 KB, 下载次数: 10)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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