设计与开发

单片机温度显示程序 单片机实例分享,温度记忆杯垫

小编 2024-11-24 设计与开发 23 0

单片机实例分享,温度记忆杯垫

“记忆杯垫”是我利用身边的材料制作的,杯垫材料是一张光盘,导热材料是硬币,用502胶水和加厚双面胶粘合,制作起来十分简单。

这个作品的设计初衷是源自个人的生活经验,希望和我有着一样烦恼的“技术宅”们会喜欢这个设计。笔者作为“职业码农”,常常遇到这样的困扰:早上冲好的咖啡,放着放着就凉了;同事胃不好,需要喝温水,可一忙就忘记了……想必每个人都有这样的经历,这次的设计,就是给大家解决这一问题——可以及时提醒人们饮用热饮。喜欢喝热饮的朋友,以后不必再因为冷却的热饮而苦皱眉头了!

功能描述

“记忆杯垫”能实现以下功能:当我们把装有温度较高液体的杯子放到杯垫上时,杯垫上安装的温度传感器开始测量杯子的底部温度,只要杯子不是隔热材料的,那么杯子的表层温度就会和里面的液体温度成正比,当杯子内的液体降到了适合人的饮用习惯时,此时按下“记忆键”,杯垫就将永久记录下此时的杯子底层温度;当使用者再次将装有热饮的杯子放在杯垫上时,液体在降温过程中,只要杯子的底层温度与之前记忆的温度接近,杯垫就可以根据设计者的要求提示主人饮用,比如通过闪烁灯提示或者通过音乐提示。

工作原理

这次设计的核心就是围绕温度传感器DS18B20和单片机EEPROM的应用。

DS18B20采集温度,单片机负责数据的处理,当有温度需要记录时,单片机将待记录温度存储到单片机EEPROM中;当EEPROM中有了温度记录后,单片机将采集到的数据与EEPROM中数据随时进行比较,当数据接近时,就会做出相应输出,开启提示功能。

当下次冲好了一杯咖啡,就可以把杯子放到杯垫上面了,温度传感器会将采集到的温度T值与EEPROM里的数值A做比较,当A-1 < T < A+1 时,杯垫侧面的8个发光二极管就会闪烁,以此来提示主人喝咖啡或水。

温度的差值也可以根据设计者的需要自行改变,比如在比较寒冷的地区,T与A的差值可以通过改变程序来实现。笔者在南方,实际测试的时候发现T与A的值在±1之间就可以了。

记忆键在向单片机记录温度数据的时候,也会擦除之前的数据,这样一个按钮就可以完成需要的操作。

国产的STC单片机大多数都自带了一定大小的EEPROM,这就给设计者带来了极大的方便。为了让电路更加简洁,这次选用的是STC11F04E的1T单片机,其具备4KB的程序存储空间和1KB的EEPROM空间,20引脚的封装设计大大减小了PCB面积。图15.1为电路原理图,制作说明见图15.2、图15.3。

图15.1 电路原理图

图15.2

图15.2 光盘中间的圆孔用来放置温度传感器,上面用金属片导热材料固定,并涂上硅脂,增加导热效果,因为大多数杯子底部是凹进去的,也可以用硬币这种有一定厚度的材料导热。

图15.3

图15.3 杯垫的背面,用双面胶(电工固定线盒那种)粘住电池盒、电路板、流水灯,温度传感器已经粘在电路板下面了

程序设计

这里要作出说明的是,大多数DS18B20程序代码都是为12T单片机设计的,而1T单片机指令速度要比12T单片机快很多,这就导致了通常的DS18B20程序不能直接拿来调用。笔者根据STC的官方资料,通过计算指令外加逻辑分析仪测试的方式,得出的结论是,11系列的1T单片机指令要比12T单片机快6.5倍左右,根据这个数据来修改原始DS18B20程序的延时程序和EEPROM程序,就能保证系统的稳定性。

STC绝大多数芯片都集成了EEPROM,不同型号的擦写程序也是大同小异,使用起来十分方便,无需额外EEPROM的IC,更不需要IC通信程序。因为是内部集成的,程序代码简单,很好理解,节约了设计成本的同时,也给应用者节约了程序设计时间。

STC的官方资料很明确地给出了EEPROM的原始程序,笔者根据自己的理解,为使程序更加简洁,对官方程序作了一些改动,应用了C语言的宏定义,自己也做了对应的库文件,方便实用。本程序是在Keil环境下编译的,使用时要添加我自己写的basic.h、STC11Fxx_IAP.h文件,同时要下载官方的单片机库文件,这样方可保证程序的正确编译。

■ 本制作的相关源文件可以到qq群657864614进行下载。

■介绍一个与众不同的淘宝店铺:首页-数码达人小二-淘宝网,不信你试试?

基于单片机温度检测报警系统时钟显示#仿真设计

大家好,今天给大家介绍一款gredme的window景泽控制报警器。

·这个删掉之后显示的是时间,时间现在是十一点零四三十分。

·按住了可以设置测量温度,温度值是通过ds18b20检测的,温度值会变化。

·这个是设置报警发值,这个是删减,这个减,这个加,这个是设置好了。

·再按下可以设置下线加键。

·接着来按上线,在测量温度超过上线的时候分别就会报警,记住下线分别也会报警。

·按压会返回到时间界面,时间界面按下设置可以设置十加结,再按一下可以设置分装加结。

·设置好了再按一下设置就是正常计时。

看一下,等下刷脸引流,这个是二零零六,本世纪的主要功能就这些,谢谢大家。

相关问答

请问怎么把 单片机 采集到的 温度 数据通过串口传到电脑的串口助...

1、制作一条RS232串口线,连接单片机和串口,,单片机如果采到温度数据,,,直接发送即可。2、如果不行,单片机可以外接RS485,也可以。查看原帖>>什么单片机需要...

protues7.8 单片机温度 检测?

Proteus7.8单片机温度检测是基于51单片机的温度监控仿真设计,程序编译器为keil4/5,编程语言为C语言。该设计主要功能有:显示温度0-99,上电默认高温报警35...

单片机 怎么判断 温度 稳定下来?

去找(购)一只温度传感器,帖在热水器的输出管道壁上,这时就可用它的信号来控制单片机对热水器(电磁阀)进行开关或大小的控制天气量了。再配上适当的显示示和...

单片机 内部测 温度 原理?

内部主要有ROM.RAM和温度传感器。DS18B20是使用一根数据线进行通信,首先你要先向它发送一系列脉冲信号。一般我们用的步骤大致为:初始化--跳过ROM操作--启动温...

单片机 可分为商用,工业用,汽车用以及军用产品,它们的使用 温度 范围各为多少?

按温度适应能力及可靠性分为四类:商业级(0~70摄氏度)、工业级(-40~85摄氏度)、汽车级(-40~120摄氏度)军工级(-55~150摄氏度)一般区分都是按芯片型号的后...按...

我需要stc89c52 单片机 ds18b20 温度 控制的c语言 程序 ,要求可显...

我这里刚好有2113,不过是用的串口现实的,5261能正确测试温度********************************************************/#include#...

DS18B20 温度 传感器如何与 单片机 相连接_汽配人问答

[最佳回答]1、DS18B20温度传感器与单片机的一个IO口连接。2、温度传感器(temperaturetransducer)是指能感受温度并转换成可用输出信号的传感器。温度传感器...

想用 单片机 测量 温度 ,热电阻 温度 计算公式为:T1=1/[ln(Rt / R)/B+1/T2],怎样用C语言表示此公式?

C语言里面有专门的数学库函数,写的时候带上头文件#includeC语言里面有专门的数学库函数,写的时候带上头文件#include这里选用函数doublelog(doublex)返回的...

单片机 恒温系统软件实现原理?

单片机采用PID算法的控制输出宽度可调的PWM波方式控制继电器的导通和关断用以调整输出加热功率,使之切断或接通加热器,从而控制水温稳定在预值上。根据温控的...

单片机 如何让按键控制 温度 加减?

要让单片机通过按键控制温度加减,首先需要连接一个温度传感器来获取当前温度值。然后,编写程序读取按键输入,并根据按键的不同操作进行相应的温度调节操作。例...

猜你喜欢