標題: 單片機溫度報警器簡單學習 一路超限報警程序 [打印本頁]

作者: 8980    時間: 2020-5-30 07:57
標題: 單片機溫度報警器簡單學習 一路超限報警程序
這是我只簡單制作的溫度報警器,供大家進行基礎(chǔ)學習,請大家支持


單片機源程序如下:
#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;        //串口為高優(yōu)先級
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, 下載次數(shù): 10)





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1