历史上的今天
返回首页

历史上的今天

今天是: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                                   //将AT89X52.h头文件包含到主程序

#include                                   //将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();                                     //按键扫面函数

         }

}   


推荐阅读

史海拾趣

Dau Semiconductor Inc公司的发展小趣事

随着技术的不断成熟和产品的不断升级,Dau Semiconductor Inc公司开始积极拓展市场。公司通过与全球知名的电子产品制造商建立合作关系,将自己的产品广泛应用于智能手机、平板电脑、可穿戴设备等领域。同时,公司还加大了品牌宣传力度,通过参加国际电子展会、举办技术研讨会等方式,提升了品牌的知名度和影响力。

ZTE高新兴(Gosuncn)公司的发展小趣事

在市场竞争日益激烈的今天,Dau Semiconductor Inc公司深知只有不断创新和升级技术,才能保持市场竞争力。因此,公司不断加大对研发的投入,引进先进的设备和人才,探索新的技术方向。近年来,公司成功研发出了多款具有创新性的半导体芯片产品,如基于人工智能技术的智能芯片、基于物联网技术的低功耗传感器芯片等。这些产品的推出,不仅为公司带来了更多的商业机会,也为行业的发展注入了新的活力。

Eurosil Electronics Ltd公司的发展小趣事

面对日益激烈的市场竞争,Eurosil始终保持对研发的投入和关注。公司不断引进新技术、新设备,加强研发团队的建设,推动产品升级和产业升级。通过持续的创新,Eurosil在电子行业中保持了领先地位,并为客户提供了更加先进、高效的产品解决方案。

CST Master Electronic Co Ltd公司的发展小趣事

随着市场的不断发展,CST Master意识到只有不断创新才能在激烈的竞争中立足。公司投入大量资源用于研发,积极探索新技术、新工艺和新材料。经过多次试验和失败,团队终于取得了一项重要的技术突破,推出了一款具有行业领先水平的新产品,赢得了客户的广泛认可。

东科半导体(DK)公司的发展小趣事

东科半导体(DK)公司一直将技术创新作为发展的核心驱动力。公司投入大量资金和资源用于研发,先后开发出AC/DC、同步整流、第三代半导体氮化镓芯片等先进技术。其中,东科半导体的同步整流芯片研发成功,其独特的两引脚封装技术为全球首创,为公司赢得了行业内的独家竞争优势。这一技术的成功应用,不仅提升了公司产品的性能,也进一步巩固了东科在电源管理芯片市场的领先地位。

法思特(FAST)公司的发展小趣事
随着使用环境和需求的变化,可能需要对控制电路进行调整和优化,以适应新的使用条件。

问答坊 | AI 解惑

中断执行完和什么也没做似的,郁闷

我用的是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的嵌入式研发 ...…

查看全部问答>

请教WinCE系统启动问题

我用的是一块2410的开发板,根据资料说明定制的系统下载到扳子上,系统能正确启动,但是当我使用自定义的系统编译时会提示ROM与RAM的地址冲突,提示错误为: Copy Section Offset:     8cef6f84 FileSys 4K Chunks/Mbyte: 12 ...…

查看全部问答>

什么是Arduino? 送给和我一样不明白的人

什么是Arduino?Arduino是一个比你的台式电脑更能够用来感应和控制现实物理世界的一套工具。 它由一个基于简易单片机并且开放源码的计算机平台,和一套为Arduino板编写程序 的开发环境组成。 Arduino可以用来开发交互产品,比如它可以读取大量 ...…

查看全部问答>

发帖纪念一下现代计算机之父——阿兰·图灵

今天闲来无事,在家看一本介绍二战期间密码破译的书,在看到有关图灵贡献一段时,突然意识到昨天是这位现代计算机之父的忌日,特发此帖纪念这位伟大的天才。下面是拜读百度上有关图灵的介绍:【概述】阿兰·麦席森·图灵(Alan Mathison& ...…

查看全部问答>

2812的工作频率

2812最高工作频率是150MHz,如果我只让它工作在15MHz,会不会有什么问题? 此外,外接晶体作为时钟源时,其频率和两个引脚的电容大小有什么关系吗?我看到开发板上用的是30MHz晶体和24pF电容。如果更改晶体频率,电容值也要作相应变动吗? 多谢!…

查看全部问答>

请问LPM0和LPM1区别

请问下各位: 本人用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 ...…

查看全部问答>

跪求电源中用到的过流过压,欠压保护电路

本帖最后由 paulhyde 于 2014-9-15 08:56 编辑 高手帮忙给个电路中用到的过流,过压保护,欠压保护电路,带个图啊  …

查看全部问答>

用手机DIY车库遥控器

几乎所有今天制造的设备是使用遥控器。这使我们的生活更容易,因为现在的趋势是使一切东西简单化,用户没有那么多时间和精力去研究较为复杂的设备。通过这一改造,现在可以用电话遥控家里的车库门,而不像以前一样只有一个遥控器装置,而且也不用再 ...…

查看全部问答>