标题:
数码管显示温度及报警的单片机源程序
[打印本页]
作者:
七个小矮人
时间:
2017-10-4 09:38
标题:
数码管显示温度及报警的单片机源程序
本设计是基于单片机的数码管显示的温度(使用的为DS18B20传感器)和报警装置,仅供单片机初学者借鉴学习!
单片机源程序如下:
#include "main.h"
#include "alarm.h"
#include "display.h"
#include "18b20.h"
extern unsigned char idata flag; //定义外部变量,温度正负标志
uint HNum = 50,LNum = 10; //报警温度的高低值
uint Tem;
/***************
* 函 数:显示温度函数
* 参 数:无
* 返 回: 无
****************/
void ShowTem()
{
Tem = gettemp(); /* 读取18b20温度*/
if(flag == 1) //显示负温度
display(16,(Tem%100)/10,Tem%10,(Tem*10)/10);
if(flag == 0) //显示正温度
display(Tem/100,(Tem%100)/10,Tem%10,(Tem*10)/10);
}
/***************
* 函 数:设置低温温度报警值函数
* 参 数:无
* 返 回: 无
****************/
void SetLowTem()
{
while(1)
{
display(18,(LNum%100)/10,LNum%10,(LNum*10)/10);
if(k2 == 0)
delay_ms(50); //按键消抖
if(k2 == 0)
{ while(!k2); //等待按键释放
LNum++;
}
if(k3 == 0)
delay_ms(50); //按键消抖
if(k3 == 0)
{ while(!k3); //等待按键释放
LNum--;
}
if(k4 == 0)
delay_ms(50); //按键消抖
if(k4 == 0)
{ while(!k4); //等待按键释放
break;
}
}
}
/***************
* 函 数:设置高温温度报警值函数
* 参 数:无
* 返 回: 无
****************/
void SetHighTem()
{
if(k1 == 0) //按键消抖
delay_ms(10);
if(k1 == 0)
{
while(!k1); //等待按键释放
while(1)
{
display(17,(HNum%100)/10,HNum%10,(HNum*10)/10);
if(k1 == 0)
delay_ms(50); //按键消抖
if(k1 == 0)
{ while(!k1); //等待按键释放
SetLowTem(); //设置低温报警温度
break;
}
if(k2 == 0)
delay_ms(50); //按键消抖
if(k2 == 0)
{ while(!k2); //等待按键释放
HNum++;
}
if(k3 == 0)
delay_ms(50); //按键消抖
if(k3 == 0)
{ while(!k3); //等待按键释放
HNum--;
}
if(k4 == 0)
delay_ms(50); //按键消抖
if(k4 == 0)
{ while(!k4); //等待按键释放
break;
}
}
}
ShowTem();
}
/***************
* 函 数:led和蜂鸣器初始化
* 参 数:无
* 返 回: 无
****************/
void initalarm()
{
led1 = 0;
led2 = 0;
led3 = 0;
buzzer = 1;
}
/***************
* 函 数:led和蜂鸣器控制
* 参 数:无
* 返 回: 无
****************/
void alarm()
{
Tem = gettemp();
if(Tem > HNum)
{
led2 = 1;
led1 = 0;
led3 = 0;
buzzer = 0; //蜂鸣器工作
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
数码管显示温度及报警(最新).zip
(151.87 KB, 下载次数: 76)
2017-10-4 09:38 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
Zhuzj1111
时间:
2018-6-30 00:23
令人豁然开朗
作者:
收到风
时间:
2018-10-23 21:20
不错,懂了,懂了
作者:
路还要走
时间:
2018-10-29 14:07
参考一下
作者:
finezwl
时间:
2019-12-8 15:25
好东东!顶!
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1