标题: 单片机温度报警器简单学习 一路超限报警程序 [打印本页]

作者: 8980    时间: 2020-5-30 07:57
标题: 单片机温度报警器简单学习 一路超限报警程序
这是我只简单制作的温度报警器,供大家进行基础学习,请大家支持


单片机源程序如下:
#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)





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1