历史上的今天
今天是:2024年12月08日(星期日)
2020年12月08日 | 51单片机+DS18B20温度上下限报警可调数字温度计
2020-12-08 来源:51hei

单片机源程序如下:
/********************************************************************
* 程序名; 基于DS18B20的测温系统
* 功 能: 实时测量温度,超过上下限报警,报警温度可手动调整。K1是用来
* 进入上下限调节模式的,当按一下K1进入上限调节模式,再按一下进入下限
* 调节模式。在正常模式下,按一下K2进入查看上限温度模式,显示1s左右自动
* 退出;按一下K3进入查看下限温度模式,显示1s左右自动退出;按一下K4消除
* 按键音,再按一下启动按键音。在调节上下限温度模式下,K2是实现加1功能,
* K1是实现减1功能,K3是用来设定上下限温度正负的。
* 编程时间:
*********************************************************************/
#include #include #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系列的单片机,做的一个在中断中执行键盘扫描的程序,用的LCD1602显示,但是当中断返回后,显示器上已经输入的东西会不见, 用的是外部中断,跳沿触发方式 请帮我看一下是什么问题啊 汇编语言的, MOV R0, ...… 查看全部问答> |
|
[转载].SSRAM、SDRAM和Flash简要介绍.[Memory] 转CalmBright兄的博文:http://www.cnblogs.com/CalmBright/archive/2009/07/19/1526569.html Abstract 在用NIos II 调试sdram遇到了其容量计算的问题,现介绍如下 Introduction 问题1:什么是DRAM、SRAM、SDRAM? 答: ...… 查看全部问答> |
|
http://www.jslc.org.cn/list.php?act1=do&tid=48&ttid=102 这上面有嵌入式培训的网址: 兄弟我像学习嵌入式开发,不知道这个培训班的内容怎么样啊?各位前辈给点意见啊,谢谢! 下面是一些课程介绍: 课程体系 基于ARM的嵌入式研发 ...… 查看全部问答> |
|
我用的是一块2410的开发板,根据资料说明定制的系统下载到扳子上,系统能正确启动,但是当我使用自定义的系统编译时会提示ROM与RAM的地址冲突,提示错误为: Copy Section Offset: 8cef6f84 FileSys 4K Chunks/Mbyte: 12 ...… 查看全部问答> |
|
什么是Arduino?Arduino是一个比你的台式电脑更能够用来感应和控制现实物理世界的一套工具。 它由一个基于简易单片机并且开放源码的计算机平台,和一套为Arduino板编写程序 的开发环境组成。 Arduino可以用来开发交互产品,比如它可以读取大量 ...… 查看全部问答> |
|
今天闲来无事,在家看一本介绍二战期间密码破译的书,在看到有关图灵贡献一段时,突然意识到昨天是这位现代计算机之父的忌日,特发此帖纪念这位伟大的天才。下面是拜读百度上有关图灵的介绍:【概述】阿兰·麦席森·图灵(Alan Mathison& ...… 查看全部问答> |
|
请问下各位: 本人用DCO倍频至8M, LPM0: MCLK OFF, SMCLK ON, ACLKON, DCO ON LPM1: MCLK OFF, SMCLK ON, ACLK ON, DCO ON(DCO用于MCLK和SMCLK) (1)不知两者到底有何区别,LPM1下是否会影响TIMER1(时钟选择为SM ...… 查看全部问答> |
|
几乎所有今天制造的设备是使用遥控器。这使我们的生活更容易,因为现在的趋势是使一切东西简单化,用户没有那么多时间和精力去研究较为复杂的设备。通过这一改造,现在可以用电话遥控家里的车库门,而不像以前一样只有一个遥控器装置,而且也不用再 ...… 查看全部问答> |




