找回密码
 立即注册

QQ登录

只需一步,快速开始

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

DS18B20温度报警器

[复制链接]
跳转到指定楼层
楼主
ID:659982 发表于 2019-12-9 20:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/********************************************************************
* 程序名;  基于DS18B20的测温系统
* 功  能: 实时测量温度,超过上下限报警,报警温度可手动调整。K1是用来
* 进入上下限调节模式的,当按一下K1进入上限调节模式,再按一下进入下限
* 调节模式。在正常模式下,按一下K2进入查看上限温度模式,显示1s左右自动
* 退出;按一下K3进入查看下限温度模式,显示1s左右自动退出;按一下K4消除
* 按键音,再按一下启动按键音。在调节上下限温度模式下,K2是实现加1功能,
* K1是实现减1功能,K3是用来设定上下限温度正负的。         
* 编程者: ZPZ
* 编程时间:2009/10/2                   
*********************************************************************/
#include<AT89X52.h>                                   //将AT89X52.h头文件包含到主程序
#include<intrins.h>                                   //将intrins.h头文件包含到主程序(调用其中的_nop_()空操作函数延时)
#define uint unsigned int                      //变量类型宏定义,用uint表示无符号整形(16位)
#define uchar unsigned char                   //变量类型宏定义,用uchar表示无符号字符型(8位)

uchar max=0x00,min=0x00;                   //max是上限报警温度,min是下限报警温度

bit   s=0;                                                   //s是调整上下限温度时温度闪烁的标志位,s=0不显示200ms,s=1显示1s左右
bit   s1=0;                                                   //s1标志位用于上下限查看时的显示
void display1(uint z);                            //声明display1()函数(display.h头文件中的函数,ds18b20.h要用应先声明)
#include"ds18b20.h"                                   //将ds18b20.h头文件包含到主程序
#include"keyscan.h"                                   //将keyscan.h头文件包含到主程序
#include"display.h"                                   //将display.h头文件包含到主程序

/***********************主函数************************/
void main()
{
         beer=1;                                           //关闭蜂鸣器
         led=1;                                                   //关闭LED灯
         timer1_init(0);                           //初始化定时器1(未启动定时器1)
         get_temperature(1);                    //首次启动DS18B20获取温度(DS18B20上点后自动将EEPROM中的上下限温度复制到TH和TL寄存器)
         while(1)                                           //主循环
         {         
                 keyscan();                                   //按键扫面函数
                 get_temperature(0);           //获取温度函数
                 //keyscan();                                   //按键扫面函数
                 display(temp,temp_d*0.625);//显示函数
                 alarm();                                           //报警函数
                 //keyscan();                                     //按键扫面函数
         }
}

基于51单片机及DS18B20温度传感器的数字温度计设计.rar

704.05 KB, 下载次数: 44, 下载积分: 黑币 -5

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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