1 / 26
文档名称:

智能水杯软件设计.doc

格式:doc   大小:332KB   页数:26页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

智能水杯软件设计.doc

上传人:2286107238 2021/1/3 文件大小:332 KB

下载得到文件列表

智能水杯软件设计.doc

文档介绍

文档介绍:目 录
3
3
3
4
5
DS18B20简介 5
DS18B20的初始化 6
DS18B20写周期 7
DS18B20读周期 8
温度读取程序 9
11
LCD1602初始化 11
LCD1602写周期 12
5. 定时模块程序设计 13
14
定时器中断子程序 15
16
16
16
17
18
19

随着社会进步与经济发展,人们对生活质量的要求越来越高,每天的饮水量是衡量健康的重要指标。但有多少人因为忙碌的工作而全天忘记喝水?当你感到口渴想要喝水的时候,体的失水已经达到2%,口渴本身其实是体已经严重缺水的表现,这是造成 “亚健康”状态的致命****惯之一。同时,越不注意喝水,喝水的欲望就会越低,人就会变得越来越缺水。研究表明,通常情况下,正常人每次喝水应控制在300ml,间隔时间为30到60分钟。
本课程设计就此设计出一款智能水杯,用来智能显示水温和提醒喝水,既方便了生活,又保持了健康。本报告针对智能水杯的软件系统进行阐述,软件编程在keil上操作。


STC89C51
控制器
LCD温度显示
温度读入
温度提示灯
DS18B20
外部中断
定时开启按键
定时器中断
蜂鸣器提醒
设置
硬件结构框架图如图1所示。
图1 硬件结构简图
(1)水温检测
使用DS18B20温度传感器,完成水温的时时检测功能。
(2)水温及定时时间显示
使用LCD1602液晶显示屏,完成水温及定时时间的显示功能。
(3)智能提醒
使用定时器0,开启定时器中断,蜂鸣器提醒。
(4)定时时间设置
使用外部中断0扩展电路,用三个按键触发中断,完成对应定时开启和定时时间加减的功能。

总体程序流程图分为主程序和中断程序两部分,其中中断程序分为外部中断程序和定时器中断程序。流程图如下图所示。
开始
DS18B20检测水温
LCD1602显示水温
结束
水温>40℃?
高温提示灯红灯亮
适宜水温黄灯亮
低温提示灯蓝灯亮
Y
N
水温<20℃?
Y
N
初始化
外部0中断?
执行按键扫描程序
关闭计时器
定时时间减少,LCD显示
定时时间增加,LCD显示
按键1按下?
按键2按下?
按键3按下?
TR0=0?
开启计时器,LCD显示定时器符号
Y
Y
Y
N
N
Y
N
图2 主程序流程图 图3 外部按键中断流程图
蜂鸣器提醒,计数清零
LCD显示定时时间减1
中断计数加1
定时器中断?
一分钟时间到达?
定时时间到达?
Y
Y
Y
图4 定时器中断程序设计流程图

DS18B20简介
DS18B20 单线数字温度传感器,即“一线器件”,其具有独特的优点:
(1)采用单总线的接口方式,与微处理器连接时,仅需要一条口线即可实现微处理器与DS18B20的双向通讯。单总线具有经济性好,抗干扰能力强,适合于恶劣环境的现场温度测量,使用方便等优点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
(2)测量温度围宽,测量精度高 DS18B20 的测量围为 -55 ℃ ~+ 125 ℃ ; 在 -10~+ 85°C 围,精度为 ± °C 。
(4)持多点组网功能 多个DS18B20 可以并联在惟一的单线上,实现多点测温。
(5)供电方式灵活DS18B20 可以通过部寄生电路从数据线上获取电源。因此,当数据线上的时序满足一定的要求时,可以不接外部电源,从而 使系统结构更趋简单,可靠性更高。
(6)测量参数可配置DS18B20 的测量分辨率可通过程序设定 9~12 位。
DS18B20的初始化
主机首先发出一个480-960微秒的低电平脉冲,然后释放总线变为高电平,并在随后的480微秒时间对总线进行检测,如果有低电平出现说明总线上有器件已做出应答。若无低电平出现一直都是高电平说明总线上无器件应答。作为从
图5 DS18B20初始化时序图
器件的DS18B20在一上电后就一直在检测总线