找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1810|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

單片機溫度報警器簡單學(xué)習(xí) 一路超限報警程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:764738 發(fā)表于 2020-5-30 07:57 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
這是我只簡單制作的溫度報警器,供大家進行基礎(chǔ)學(xué)習(xí),請大家支持


單片機源程序如下:
#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)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表